feat(mobile): Figma-like hide-UI toggle — Cmd/Ctrl+\ hotkey + floating button, snapshot-exact chrome restore
Chrome visibility is now a runtime toggle on any device instead of being device-wired: mobile defaults to canvas-only, desktop to full UI, and the floating top-right button (or Figma's Cmd/Ctrl+\ chord — free in KiCad, only bare \ is bound) flips between them live. - chrome-visibility.ts: module-global store (default isMobileMode(), session-only) + pure hotkey matcher (rejects AltGr backslash + repeats) - WasmTool: capture-phase hotkey (stopped before the wx layer), floating toggle pill (matches the comment FAB design), useLayoutEffect apply with sync first call + retry; overlays follow the toggle, capability-gated on the kicad_editor bundle's kicadSetChrome export - boot.ts mobile opt now installs touch gestures only - kicadSetChrome: frame-keyed hide-time snapshot so restore re-shows ONLY what hide took away (blanket Show(true) surfaced KiCad's default-hidden Search/Properties/Net-Inspector panes); toolbars-only fallback otherwise - tests: chrome-toggle.spec.ts (desktop hide/restore + geometric restore-exactness ±3px), mobile toggle round-trip, 12 new unit tests, test:web:mobile npm script Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
dc7c60f723
commit
d44ba9bdfb
9 changed files with 558 additions and 66 deletions
|
|
@ -13,6 +13,7 @@
|
|||
"setup:kicad": "./scripts/setup-kicad-wasm.sh",
|
||||
"test:web": "npm run setup:kicad && playwright test --config=playwright-web.config.ts --project=firefox",
|
||||
"test:web:headed": "npm run setup:kicad && playwright test --config=playwright-web.config.ts --project=chromium --headed",
|
||||
"test:web:mobile": "npm run setup:kicad && playwright test --config=playwright-web.config.ts --project=mobile-chromium --headed",
|
||||
"test:kicad:firefox": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox",
|
||||
"test:kicad:chrome": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=chromium --headed",
|
||||
"test:kicad": "npm run test:kicad:firefox",
|
||||
|
|
|
|||
Loading…
Reference in a new issue