Kind tabs alone don't deliver "every machine hotkey-reachable at any catalog size": REFINE holds 14 crafters and 1-9 reaches nine. So a page caps at nine and an oversized kind spills into numbered pages (REFINE 1/2, REFINE 2/2). The 21-machine catalog lands as 1+3+9+5+2+1 across six pages, every slot hotkeyed. Pagination is pure (pages.ts) so the invariant can be tested rather than eyeballed. Selecting a machine from anywhere pulls the bar to the page that holds it, so the hot button is always the visible one. hotkeys.ts splits into a pure KeyRouter (map + dispatch, no window) and a thin window binding, which lets the keymap be tested in node. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| data | ||
| lanes | ||
| src | ||
| CONTRACTS.md | ||
| index.html | ||
| MASTERPLAN.md | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||