Skip to content

Navigator above the Layers panel - #199

Open
Fvzion wants to merge 1 commit into
robbietilton:mainfrom
Fvzion:feature/navigator
Open

Fvzion wants to merge 1 commit into
robbietilton:mainfrom
Fvzion:feature/navigator

Conversation

@Fvzion

@Fvzion Fvzion commented Sep 30, 2026

Copy link
Copy Markdown

The problem today

Zoomed in on a large image, there's no overview of where you are or quick way to jump elsewhere: you pan by hand, or zoom out and back in.

What changes for the user

A Navigator panel above Layers, as in Photoshop:

  • the whole document in small, with a red box around what the canvas shows;
  • click or drag in it to move the view there;
  • zoom −/+ buttons and a slider from 1% to 3200%;
  • it collapses from its header, its height is dragged from its bottom edge (it gives way so Layers keeps room), and View › Navigator hides it; all remembered.

How to try it

  1. Open a large photo and zoom to 400%: the red box frames the visible part.
  2. Drag in the Navigator: the canvas follows.
  3. Paint a stroke: the picture updates a moment after the stroke ends.

In the code

  • Rendering/NavigatorGeometry.swift: where the picture and the box go; centring the view clears "follow Fit", as any scroll does.
  • Document/EditorSession+Navigator.swift: the picture is the same live composite the Magic Wand samples, so adjustments and masks show as on the canvas. It's drawn at the picture's own size (placing layers, not scaling the context), so a large document with adjustment layers stays quick.
  • UI/NavigatorPanel.swift: redrawn a quarter second after edits settle, and only while open.
  • NavigatorTests (11 tests), including a document over the surface limit with an adjustment layer.

Can be trimmed

View › Navigator can go; the panel's header still collapses it.

Tested on macOS 26.6 (Apple silicon): the full test suite passes. Not yet tried on macOS 27.

🤖 Generated with Claude Code

The whole document in small, with a red box around what the canvas
shows. Clicking or dragging in it moves the view there; its row of
buttons and slider (1%–3200%) zooms. It collapses from its header, its
height is dragged from its bottom edge and gives way so the Layers list
keeps room, and View › Navigator hides it. The picture is redrawn a
moment after edits settle, only while it's open, and drawn at its own
size so large documents stay quick.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant