Skip to content

HUD in four groups, every control named on hover; versions wears the autosave dot; duplicate button; C = sheet, G = guides - #15

Merged
grunion-ai merged 2 commits into
mainfrom
feat/hud-groups-spell
Sep 8, 2026
Merged

HUD in four groups, every control named on hover; versions wears the autosave dot; duplicate button; C = sheet, G = guides#15
grunion-ai merged 2 commits into
mainfrom
feat/hud-groups-spell

Conversation

@grunion-ai

Copy link
Copy Markdown
Owner

What changed

The HUD is four groups after the spacer, a hairline between them, and every control names itself and its key on hover.

Group Controls Keys
navigate ‹ › ← →
save state versions; the autosave dot is its badge (green the file has everything · amber saved in this browser · red nothing persists). Click opens the menu; its first row is the full save status and a Save ⌘S button, then pin · restore ⌘S
edit + · duplicate (new: the selected rows offset 16px and re-selected, else the slide after itself, in the sheet the selected slides) · guides + snap · spellcheck G toggles guides
file save a copy (shown only when storage is blocked) · PDF none
view contact sheet · full screen · shortcuts C · F
  • Tooltips are data-tip, instant, one CSS rule for the whole HUD. The OS title delay is gone from every HUD control. No tooltip while a menu is open.
  • The versions tooltip is short (Versions · autosaved hh:mm:ss); the full sentence sits in the menu's first row and on the dot's aria-label.
  • C opens the contact sheet (was G). G toggles guides + snap. ⌘P and ⌘D leave the shortcut list; the sheet's ⌘D handler is removed (the duplicate button is the door). Plain-letter keys ignore ⌘/⌃/⌥ so ⌘C stays the browser's copy.
  • The ⓘ popover is three columns by what a key acts on: slides · rows · file, with one dim line naming the button-only tools.
  • fileHtml resets the guides toggle through data-tip, not title.

Why

Kyle's review of the toolbar (mockup: today vs proposed A/B, picked B): tools that belong together sat apart, the autosave dot floated alone, nothing said what a button did until the OS tooltip arrived a second later, and the versions menu clipped off the right edge.

Verification

  • New gate test/hud.test.mjs (5 tests: order + dividers, tooltips, dot inside versions + popover contents, C/G/tooltip/menu live, duplicate rows/slide/sheet live).
  • Gate and editor assertions moved with the contract (HUD id set and order, SKILL.md manifest, spell/snap tips, versions row count, moveBy call count, popover lines).
  • deck.html rebuilt from the explainer example.
  • Full suite on the branch: node --test test/**/*.test.mjs → 159 pass, 0 fail, 0 skipped (Playwright live tests included).
  • Eyeballed in the desktop pane: strip order, hover tooltips, the open ⓘ popover, the versions menu fitting inside the window with the Save row.

Follow-up owned by Kyle: adriany task 1943 (test the versions button with multiple versions).

🤖 Generated with Claude Code

Your Name and others added 2 commits September 7, 2026 22:43
…autosave dot; a duplicate button; C = sheet, G = guides; ⌘P/⌘D retired

After the spacer: save state (versions + autosave badge, menu opens with the full status and a Save ⌘S row) · edit (+, duplicate, guides, spellcheck) · file (save a copy, PDF) · view (contact sheet, full screen, shortcuts), a hairline between groups. Tooltips are instant data-tip labels with the key; the OS title delay is gone. The ⓘ popover is three columns: slides · rows · file. The sheet's ⌘D handler is removed; the duplicate button is the door. Gate: test/hud.test.mjs; SKILL.md manifest and CHANGELOG move with it; deck.html rebuilt.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…'s ⌘-click link line; deck.html and library.html rebuilt

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@grunion-ai
grunion-ai merged commit 3d0cc02 into main Sep 8, 2026
2 checks 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