Repository navigation
[feat] 41b-bar: toolbar follows sheets, Connect text, phone Edit bar/More/Play, profile header, peers panel (H3 H4 H6 H7 H11 H15) - #362
Merged
Conversation
…d in the same frame
- $lib/ui/bottomEdge.js: ONE live bottom edge — the bottom bar and whatever is open along it
(framed sheet, Inspector, notes sheet + note card, toolbox sheet, dock + its tab row, Add list),
read once per animation frame; `followBottomEdge(fn)` calls back only on change.
- PhoneShell: the strip sits at bottom 0 and is lifted by a TRANSFORM written in that rAF (no
layout), replacing a 120 ms poll that moved `bottom` — the strip held a stale place for frames,
then jumped ("inspect toolbar stutter when I resize drawers").
- strip-follow-41b (new): CDP touch drags of the dock grip, a framed sheet's handle and the
Inspector's grab bar with a per-frame sampler. Counterfactual on feat/41-int: 95-102 of ~169
frames more than one frame behind and 17-18 jumps per drag (7 reds); after: 0 / 0, 16 pass.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… is room; no avatar in the profile sheet - H4 (refines G21): the chip shows "Connected" / "Connecting…" / "Offline" (connectionLabel(tone), $lib/connectionStatus) beside its dot when the chip's slot between the logo and the right-hand chrome has room, and drops to the dot alone only when it is crowded (the peers button and a call's mic narrow it) — a ResizeObserver container-width rule, not a device rule. The label's natural width comes from an always-laid-out hidden copy (a hidden label measures 0). The full sentence stays the tooltip and accessible name. Phone only: the screenshots and G21's complaint are phone. - H11: the phone profile sheet drops the notch avatar from its header (the avatar is already top right); the name takes the row. Desktop keeps the notch circle. - signaling-reconnect: its "the chip carries no text" check follows H4 (one state word; the chip fits its slot). vitest connectionLabel. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ay's own menu; Play defaults to Play
- H6: More may leave the bar ($lib/ui/phoneBar: no forced More; More comes back at the end). The
first removal opens a kit modal "To get More back, press and hold any item on the bottom bar"
("Keep More" undoes it; one-time, `phoneBarMoreHint`). The editor's header reads
"More ▸ Edit bar…" and "More" returns to the More menu.
- H6: a long press on Play opens PLAY'S OWN phone menu instead of forwarding to the desktop
toolbar's (whose Move left/right walked a bar a phone does not draw, plus Always on top / Move
toolbar / Collapse / Customize): the shared "Play as" rows, Test play in a game, Move left /
Move right (Play walks along the bar, `phoneBarPlayAt`; the middle is forgotten) and Edit bar…
(so a bar emptied down to Play stays editable). Reset to default also re-centres Play.
- H7: `vrOverride` is three-state — 'true' / 'false' are a choice, absent is the DEVICE default
(sceneStore `readVrOverride`; inputDevice `handheldDevice` = a coarse pointer that is not a
headset browser): a phone plays on its screen like desktop, a headset still enters VR.
`choosePlayAs` / `playAsItems` ($lib/playMode) are the one write for both play buttons'
menus; Settings ▸ VR writes OFF as 'false'; resetting VR settings returns to the device default.
The phone Play glyph follows the choice like desktop (triangle / headset / headset with A R).
- Suites: phone-bar-41b (new, 34: H4 / H6 / H7 / H11 on the folded N6 + desktop parity);
mobile-map's "More cannot be taken off" follows H6; play-mode-menu counts the menu it gets (41 G1
grew the toolbar tail — red on feat/41-int before this, A/B'd). vitest phoneBar.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…r on a phone - Desktop / unfolded N6: the panel is the notification centre's tool window (ui/WindowChrome: "Connected" + count + the All|Rooms switch + close — same 40 px header), 320 px at least and as wide as its rows up to 420 px. Each peer is ONE row: avatar · name (ellipsis, full name as the tooltip) over one muted line (where they are, their role, mode / mute / VR / quality, the short id — the place ellipsizes first, nothing wraps) · actions on the right (role picker, Watch / Go to / Join / Request access). - Phone: `peersPanelOpen` (appStore) replaces the component's own flag, so PhoneShell frames the panel like the notification centre: the shell's sheet with its grab bar, a scrim, swipe down to close (G5); the desktop click-catcher stands down there; the selection strip hides under it (G20). - peers-panel-41b (new, 25): four long-named peers in long-named scenes with roles, on desktop, the unfolded and the folded N6 (real touch swipe). Counterfactual on feat/41-int: 288 px, every row's second line wraps, no full-name tooltip, no header — then no drawer. peers-popover reads the new header. Shot drivers peersShots41b / phoneShots41b (evidence, not suites). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Roadmap 41 round 2 lane 41b-bar. Details, proof and touch points: ~/.code/handovers/done/STATUS-41b-bar.md; forks: QUESTIONS-41b-bar.md.
🤖 Generated with Claude Code