Skip to content

Polish drawer open state and transition - #127

Merged
austin-smith merged 1 commit into
mainfrom
polish-drawer-open-state
Jul 12, 2026
Merged

Polish drawer open state and transition#127
austin-smith merged 1 commit into
mainfrom
polish-drawer-open-state

Conversation

@austin-smith

Copy link
Copy Markdown
Owner

What Changed

  • Fixed the drawer open/close transition: the card scrim is now permanently in the view tree with opacity-only changes, and the card subtree animates as one geometric unit via geometryGroup(). Previously the scrim was inserted structurally when the drawer opened, which rendered it at the animation's destination while the card slid underneath, producing visibly detached layers mid-transition.
  • Dark mode open state: replaced the black dim and 1pt edge stroke with a mid-gray veil (Color(white: 0.2) at the same 55% strength as light mode) that lifts the card to an elevated surface and dims its content in a single overlay.
  • Top-bar glyphs now fade to half alpha while the drawer is open in light mode, applied through tint/foreground-style alpha since the toolbar's template renderer discards plain view opacity. Dark mode keeps full-strength glyphs, which read correctly under the veil.

Why

The initial drawer implementation shipped with a broken open/close transition and a dark-mode open state that lost all layer separation. These were found while comparing both appearances against the design target after merge.

Validation

  • Transition verified frame-by-frame: recorded the simulator during scripted open/close cycles, extracted frames with ffmpeg, and confirmed the card surface, nav bar items, banner, and scrim stay attached through every frame in both directions
  • Open-state fade levels pixel-measured in both appearances (glyph at 197/255 in light, 143/255 in dark, matching the design target)
  • iOS build clean; exercised on iPhone 17 Pro simulator in light and dark mode against a live Transmission server

UI Changes

Drawer open state only: dark mode gains an elevated-gray card veil instead of a black dim, light mode top-bar glyphs ghost while open, and the open/close animation no longer shows detached layers.

@austin-smith
austin-smith merged commit 968ddd7 into main Jul 12, 2026
3 checks passed
@austin-smith
austin-smith deleted the polish-drawer-open-state branch July 12, 2026 15:37
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