oleh
318a0919c6
Support: add a feedback email, rebrand from Donate, tighten privacy copy
2026-06-21 01:46:19 +03:00
oleh
778b4d848a
Donate: redirect to Ukraine's defense (savelife.in.ua)
2026-06-16 23:05:05 +03:00
oleh
92bfe888b5
UX second pass: icon-only header, pane-toggle cue, schema columns, facet cleanup
2026-06-13 10:13:40 +03:00
oleh
7d4906ec38
Control scale: Button/IconButton primitives, two-height tokens, app-wide migration
2026-06-12 23:13:13 +03:00
oleh
68a044752f
Refine header emphasis, field-on-layer treatment, and narrow-pane control collapse
2026-06-10 14:14:02 +03:00
oleh
3c053310ac
Re-split library and preview when the editor is hidden; remember the editor's width
2026-06-09 23:54:20 +03:00
oleh
81f563a3e7
Replace the first-run placeholder seed with an onboarding canvas
2026-06-09 14:03:47 +03:00
oleh
123f1498b4
Add About & Privacy and Donate modals (M6, §01)
2026-06-07 20:04:08 +03:00
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