Skip to content

The hierarchy button sits under chat, and going back returns a view to where it was - #68

Merged
endrix merged 1 commit into
mainfrom
fix/outline-button-and-viewport
Oct 2, 2026
Merged

endrix merged 1 commit into
mainfrom
fix/outline-button-and-viewport

Conversation

@endrix

@endrix endrix commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Two fixes to the single-editor hierarchy navigation (#64, #67).

The hierarchy button was a toggle floating on its own at the top left. It is now a button of the floating stack, directly under the chat button. The stack is a reversed column, so "under chat" means just before it (placeInButtonStack). It is placed again on every model change, because the stack and the chat button may be put in place after the outline's listener runs. Until a stack exists it floats where the stack will be.

Navigating back put the graph off-center. A view was centered only the first time it was shown, and kept its viewport only across a refresh. Returning to a view seen before therefore landed it at the default scroll. Now each view remembers where it was left. A view is its file, workflow and instance path, so two instances of one workflow are two views (modelViewportKey).

  • navigating back returns to that viewport;
  • a view never shown is centered;
  • a refresh (a save, a run, a live preview) keeps its viewport as before.

The decision is the pure settleViewport, and InitialViewportService is reduced to centerSoon.

Tests: outline-button-and-viewport.test.ts (7). It covers the button under chat, a second placement leaving it put, the floating fallback, two instances being two views, a new view centered, navigating back restoring the viewport left, and a refresh keeping it. All workspaces pass, with neutrality 5/5 and typecheck 5/5. The container-parity baseline is unchanged.

https://claude.ai/code/session_015VK7fH1c4aKbexnq2QcuKU

…o where it was

The hierarchy outline's toggle floated on its own at the top left. It is
now a button of the floating stack, directly under the chat button.

Navigating back up a hierarchy put the graph off-center. A view was
centered only the first time it was shown and kept its viewport only
across a refresh, so returning to a view seen before landed it at the
default scroll. Each view -- its file, workflow and instance path, so two
instances of one workflow are two views -- now remembers where it was
left: navigating back returns there, a view never shown is centered, and
a refresh keeps the viewport as before (`settleViewport`).

Claude-Session: https://claude.ai/code/session_015VK7fH1c4aKbexnq2QcuKU
@endrix
endrix merged commit 627070b into main Oct 2, 2026
1 check passed
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