Commit Graph

12 Commits

Author SHA1 Message Date
oleh 807d3c8e3c Add global keyboard EventRouter and unify publish (M6, §01D)
One module owns the document keydown listener and dispatches the shortcut map
(Cmd/Ctrl+Shift+N / +K / +S / +, / Escape), platform-aware, via the single-source
focus-utils interactive-context gate. Escape and Cmd/Ctrl+S run before the gate so
save works while editing; the rest are suppressed mid-typing. Publish + its toast
move into services/snippet-actions so the button and Cmd/Ctrl+S behave identically.
Removes the ad-hoc keydown handler from App and Monaco's Cmd+S command.
2026-06-07 17:18:55 +03:00
oleh 8c0a6b9239 Add pane show/hide toggle strip with persisted visibility (M6, §01A)
A persistent left-rail toolbar (APG toolbar + roving tabindex) toggles the
library / editor / preview panes; a hidden pane frees its space and the rest
redistribute proportionally to their remembered widths. Visibility persists to
astrolabe:ux-prefs (separate key from widths, so a hidden pane keeps its width).
Adds the positional pane-* glyph sub-family to Icon and a Datasets shortcut
button in the strip.
2026-06-07 17:15:58 +03:00
oleh 548aa199d9 Add distributed settings and workspace import/export (M5) 2026-06-07 15:51:00 +03:00
oleh a4e4d96d3b Add dataset library, extract-to-dataset, and render-time reference resolution 2026-06-05 15:49:40 +03:00
oleh 109c33e2cd Add app-shell heading and skip link (WCAG 2.4.1 / GOV.UK) 2026-06-05 12:58:54 +03:00
oleh 8ef749c2d0 Report pane resize handle size to assistive tech (APG window splitter) 2026-06-05 12:33:19 +03:00
oleh 3839f92f1d Add notification toasts and surface persistence failures instead of failing silently 2026-06-05 11:19:50 +03:00
oleh c50f141d57 Add resizable panes with drag handles, min widths, and persistence 2026-06-05 10:46:07 +03:00
oleh 7d7034ef1a Add in-app confirmation dialog replacing window.confirm 2026-06-05 02:28:37 +03:00
oleh 22f0556ef8 Implement M1.5 visual design foundation: tokens, IBM Plex, theme toggle, chart themes 2026-06-05 01:29:10 +03:00
oleh ca54bb66b1 Implement M1 authoring loop: library, editor, live preview, persistence
M1 MVP from docs/IMPLEMENTATION-PLAN.md, with the /alignment pass applied.

- core: Snippet model + factory; prepareSpecForRender (copy-not-mutate); per-theme Vega chart config
- state/orchestration: SnippetStore with debounced auto-save; IndexedDB adapter + read-time migration; startup hydration + write-through persistence
- ui: SnippetLibrary, SpecEditor (Monaco edcore.main — full editor features, JSON-only languages), LivePreview
- build: Monaco/Vega manual chunks; raised PWA precache ceiling
- alignment: flush a valid draft on snippet switch (+regression tests); TODO breadcrumbs for the preview render race and the window.confirm delete
- housekeeping: gitignore .claude/projects/
2026-06-05 00:16:24 +03:00
oleh 056644450c Initial scaffold: spec, architecture playbook, and M0 skeleton 2026-06-04 22:14:33 +03:00