Repository navigation
Put Chat on the ground and the document on a raised sheet - #465
Merged
Merged
Conversation
MaggieAppleton
force-pushed
the
nested-documents-ia
branch
from
October 11, 2026 07:49
f09301b to
ff20162
Compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ayout spec Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…spec Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ators Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The top bar now spans only the Chat column, so clicking 600px into the banner landed on the document sheet; click the banner's trailing padding. Chat no longer has a header, so Tab from the resize handle reaches the composer (exempt from the focus ring); walk on to the next non-text control. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… harden child CSS The top bar now hides with Chat only when no child covers the document, so a child keeps its breadcrumb and Return control. The Chat shortcut moves focus to the toggle when pressed from the top bar. The expanded-frame sidebar gutter skips the child surface, and child overrides no longer depend on stylesheet order. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed data flow:
- workspace.tsx: SurfaceToggle replaces ChatToggle. Its feedback class is the
same motionContract("feedback").className the reviewed ChatToggle used, now on
two spans (icon wrapper and unread dot) instead of a span plus img. The
forwarded className prop was removed, so its exception is dropped.
chatPresence.className on the Chat aside is unchanged; the --chat-width style
moved to the root with the same measured pane width.
- line.tsx: ExpandIcon and CollapseIcon forward props to LineIcon like their
siblings; exact cases added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaggieAppleton
force-pushed
the
nested-documents-ia
branch
from
October 11, 2026 08:16
ff20162 to
1dba784
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Chat stops looking like part of the document. In the split workspace, Chat and its top bar now sit directly on the app background, and the document is the only raised sheet, rising to the top margin.
--color-insetwith no shadow, in every mode.This is the first slice of the nested-documents work. The next PR stacks Lift and Zoom transitions for child documents on top of this sheet.
Before and after
Before (main)
After: Chat on the ground, document as a sheet, presence in the tab row
Expanded document, with the Chat restore button
Expanded, Projects sidebar collapsed
A research child opened while the parent is expanded. The parent's top bar stays visible for the child's breadcrumb.
Compact (600px)
Behaviour notes
inertandaria-hidden, so Tab never lands in it. It stays visible while a research child is open, because the child relies on it.<body>.Testing
e2e/paper-layout.e2e.tscovers expand and restore, the header being gone, presence position, sheet geometry, persistence, reduced motion, sidebar-trigger clearance, the compact and split round trip, and shortcut focus.bun run types,bun testand oxlint on the changed files pass. The targeted e2e suites pass on the rebased head, and the fullbun run e2epassed before the rebase.Design-contract review
Renewed in "Renew design-contract review for the paper layout" after a data-flow review, with the maintainer's approval:
workspace.tsx: theSurfaceTogglefeedback spans reuse the reviewedmotionContract("feedback")class. The ChatToggle exception was removed.line.tsx:ExpandIconandCollapseIconfollow the existingLineIconpattern.The child panel's sheet hairline is scoped away rather than suppressed with
outline: none, whichfocus.test.tsforbids.🤖 Generated with Claude Code