Keep workspace geometry at native scale - #480
Conversation
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
Review synthesisVerdict: approve with one thing to check first — a genuinely good deletion; one behavioural consequence is worth confirming deliberately rather than discovering later. Removing [MAJOR] Pane capability thresholds now sit right on the default desktop configurationWhere:
Failure: a laptop that previously tiled a chat beside its app now falls back to a narrower mode at the same window size — the workspace behaves differently after an upgrade with no setting changed. That is a real product change, not a rendering detail. Fix: either scale the thresholds by the same factor the zoom was providing (≈0.9) so behaviour is preserved, or state in the PR body that the affordance boundary is deliberately moving and this is the intended new geometry. Both are defensible; silently shifting it is the one option that is not. Smaller items
Two independent model reviews (Claude Opus 5, GPT-5.6 Sol) run against this exact head with no shared context, then synthesized. The second cleared it outright; the threshold shift is the difference between the two reads and is easy to confirm directly. |
|
Follow-up on my own major — I went to fix it and concluded I was half-wrong. The arithmetic holds: with But calling that a regression was the wrong framing. The zoom was shrinking content 10%; at native scale a 900 px window genuinely has less usable room for two panes than it did when everything was 10% smaller. The thresholds are in CSS pixels and they still mean what they say — the affordance boundary tracking real space is arguably the correct outcome of removing the zoom, not a side effect to compensate for. So I'm not proposing a constant change, and I'm not touching it. Two things still worth a moment:
The two smaller notes from my review stand: the contract test now forbids the divider drag from reusing the shared translation helper, and two assertions pin comment prose. No objection to this merging. |
Summary
Desktop density used a document-wide 90% root zoom. That created two coordinate systems: pointer events and frame bounds arrived in painted client pixels, while workspace layout, transforms, fixed menus, iframe actionability, and scroll geometry consumed layout pixels. Each interaction then needed a scale bridge, and browser tests needed a direct DOM-click bypass for controls inside frames.
The shell now remains at native document scale. Density still comes from the compact rail and reduced chrome, while viewport, pointer, iframe, menu, and layout geometry share one coordinate system.
Changes
#434 deliberately preserved 90% density during the broader maintenance reconciliation. This PR revisits that choice because the compensating geometry and test bypasses became recurring maintenance weight. #458 separately owns the deeper reader/spacer/streaming state machine; this change deliberately does not duplicate or modify that work.
Testing
maingit diff --checkpassed