Zoom-into-folder navigation, NW back tile, and count-sized folders #3

Merged
bnied merged 0 commits from refs/pull/3/head into main 2026-06-07 20:17:14 +00:00
bnied commented 2026-06-07 20:16:40 +00:00 (Migrated from codeberg.org)

Rework folder navigation as a zoom, add a dedicated back control, and size
folder tiles by how much they hold.

Navigation:

  • Descending into a folder now anchors the new level on the folder tile that
    was entered and flies the camera in while it cross-fades up; the parent
    level fades out and is hidden (kept in the stack so going back is a true
    reverse). Going back up fades the deeper levels out and the target back in.
  • Replaces the previous beside-and-below "staircase" placement.

Back control:

  • A glowing amber back tile (dark back-arrow glyph + "back" label) sits at the
    plate's NW corner, out of the content grid. Shown whenever there's a parent
    to navigate to; clicking zooms out a level.

Framing:

  • Level framing folds in the NW back tile so it's never clipped, and floors the
    zoom (minLevelFramingExtent) so sparse folders don't end up uncomfortably
    close. makeLevelNode reports hasBack for this.

Folder sizing:

  • Folder tiles scale (log) with their item count (subdirTileWidth), from
    file-sized when empty up to ~2.4x, clamped so one dense folder can't blow out
    the grid. The grid step tracks the widest folder on the level.

Also: label renderer gains a dark option (dark text + light halo) for the
amber back tile.

Rework folder navigation as a zoom, add a dedicated back control, and size folder tiles by how much they hold. Navigation: - Descending into a folder now anchors the new level on the folder tile that was entered and flies the camera in while it cross-fades up; the parent level fades out and is hidden (kept in the stack so going back is a true reverse). Going back up fades the deeper levels out and the target back in. - Replaces the previous beside-and-below "staircase" placement. Back control: - A glowing amber back tile (dark back-arrow glyph + "back" label) sits at the plate's NW corner, out of the content grid. Shown whenever there's a parent to navigate to; clicking zooms out a level. Framing: - Level framing folds in the NW back tile so it's never clipped, and floors the zoom (minLevelFramingExtent) so sparse folders don't end up uncomfortably close. makeLevelNode reports hasBack for this. Folder sizing: - Folder tiles scale (log) with their item count (subdirTileWidth), from file-sized when empty up to ~2.4x, clamped so one dense folder can't blow out the grid. The grid step tracks the widest folder on the level. Also: label renderer gains a `dark` option (dark text + light halo) for the amber back tile.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
spaceduck/neofsn!3
No description provided.