Commit Graph

6 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 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 3839f92f1d Add notification toasts and surface persistence failures instead of failing silently 2026-06-05 11:19:50 +03:00
oleh 411bfbc6c2 Implement fit-mode rendering contract with container sizing and pane re-fit 2026-06-05 10:45:41 +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