Commit Graph

84 Commits

Author SHA1 Message Date
oleh 9ebe398e75 Onboarding: re-fit container-width thumbnails on resize 2026-06-11 19:28:27 +03:00
oleh 1de8682b61 Datasets: make preview scroll region keyboard-reachable 2026-06-11 19:28:12 +03:00
oleh 2a0b4794df Chart builder: fold render diagnostic behind a disclosure 2026-06-11 19:27:03 +03:00
oleh 181b9da8ab Datasets: URL→inline conversion drops url/fetchedAt 2026-06-11 19:26:47 +03:00
oleh fe2b039698 Remote datasets: cap fetch body size 2026-06-11 19:21:51 +03:00
oleh 983c052f3b Chart builder: escape ./[/] in built field names 2026-06-11 19:21:28 +03:00
oleh d666599a58 Chart builder: drop unparseable expressions mid-edit, polite glyphed inline feedback 2026-06-11 16:08:03 +03:00
oleh 05df0cd7d3 Chart builder: filter/calculate transforms, data preview, and inline expression validation 2026-06-11 13:01:23 +03:00
oleh 1791ee9f8d Per-chart export: copy/download spec and PNG/SVG from the preview header 2026-06-10 18:30:31 +03:00
oleh cad19445b0 Add matter-of-fact comment/doc voice rule to alignment and doc-update skills 2026-06-10 17:11:15 +03:00
oleh 62d0697f0e Chart builder: data-aware defaults, one-click hint fixes, canvas preview, fullscreen modal 2026-06-10 17:10:18 +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 2410c6e965 Snapshot URL datasets locally on add; preview tabular data as a table 2026-06-10 10:24:42 +03:00
oleh eb5e7ac53a Add vega/lyra review notes for chart-builder ideas 2026-06-10 10:07:10 +03:00
oleh 0b8c1785fe Capture the monetization & sync exploration as a standing memo 2026-06-10 01:33:24 +03:00
oleh bc23f15c98 Add a standing manual-verification QA checklist for what tests can't cover 2026-06-10 01:33:17 +03:00
oleh 54d68af7e0 Prune resolved seating notes from the council skill and generalize the backfill rule 2026-06-10 01:33:10 +03:00
oleh a5e5d1a2ad Ship PWA app icons and correct the manifest theme color 2026-06-10 01:32:52 +03:00
oleh 7599acd25e Redesign the Storage Monitor as a storage-composition breakdown (snippets · datasets · app) 2026-06-10 01:32:22 +03:00
oleh e7de0cbb8a Mark M4 (Chart Builder) and M5 (Settings + Import/Export) done in the plan 2026-06-09 23:54:32 +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 418bf23cd8 Fix documentation drift surfaced by the full-docs consistency review 2026-06-09 16:51:43 +03:00
oleh 0a652cf04b Remove the stale spec-implementation audit (superseded by tests + the live spec) 2026-06-09 16:50:28 +03:00
oleh 29b0d1adb0 Codify the spec-vs-playbook boundary: cite behavior, don't restate it 2026-06-09 15:02:12 +03:00
oleh 81f563a3e7 Replace the first-run placeholder seed with an onboarding canvas 2026-06-09 14:03:47 +03:00
oleh 7d247e8d2c Track datasetRefs against the live draft so manual edits and extract link immediately 2026-06-07 23:54:01 +03:00
oleh cdd5cf149f Emit pane aria-controls only while the pane is mounted 2026-06-07 23:11:32 +03:00
oleh 1d7798abc5 Serialize live-preview renders to prevent concurrent embeds (M3) 2026-06-07 23:08:56 +03:00
oleh 5ea2a0d038 Make DatasetStore the collision-free id authority 2026-06-07 23:05:51 +03:00
oleh 1cad9ba140 Extract reverse-lookup scan to core/relationships (one shared impl) 2026-06-07 23:04:20 +03:00
oleh 39555322e4 Profile per-column cardinality and extent; add data-aware chart warnings (M4, A3/A4) 2026-06-07 23:03:17 +03:00
oleh dcb7037a71 Seat web.dev on the design council; record PWA backfill 2026-06-07 20:39:56 +03:00
oleh d94480f56d Wire SW update prompt and request persistent storage (M6, web.dev) 2026-06-07 20:39:07 +03:00
oleh 5dc5ef8724 Add durable toasts with an inline action button 2026-06-07 20:37:55 +03:00
oleh 50d3079b24 Update plan: mark M6 library/monitor/preview/import/modals delivered 2026-06-07 20:05:29 +03:00
oleh 123f1498b4 Add About & Privacy and Donate modals (M6, §01) 2026-06-07 20:04:08 +03:00
oleh 30ff7ae357 Roll back import atomically on storage-quota failure (M6, §08) 2026-06-07 20:03:47 +03:00
oleh 1bead4d004 Add toast fade-out animation (M6, §01F) 2026-06-07 20:01:53 +03:00
oleh 14f34712b2 Add live-preview busy indicator for slow renders (M6, §04/§10) 2026-06-07 20:01:39 +03:00
oleh 800a313be2 Add snippet-library search, sort, empty states, storage monitor (M6, §02/§09D) 2026-06-07 20:00:40 +03:00
oleh 9f7bf27b7a Add compact JSON formatter with format-on-paste (§03A) 2026-06-07 18:45:17 +03:00
oleh a62e2c6128 Disable dataset Save until the form is valid (§05) 2026-06-07 18:45:08 +03:00
oleh c7306929cc Reconcile §01/§03A spec wording with implemented behavior 2026-06-07 18:44:49 +03:00
oleh 48c39a600f Add spec-vs-implementation audit report 2026-06-07 18:44:33 +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 f365258fcc Add URL hash view-state routing with Back/Forward and restore (M6, §01E)
The hash becomes the single serialized view (snippet / Datasets list / a dataset
/ new-dataset form / Chart Builder). url-hash is the sole reader/writer of
location+history (total, never-throwing parse; hash-only canonical URLs).
UrlStateSync grows from the modal↔URL seam into the full router: state→hash is
derived from the stores (so in-modal dataset sub-views reach the hash), hash→state
restores on load and on Back/Forward, validating ids and cleaning stale links.
startRouting() runs after store hydrate.
2026-06-07 17:18:10 +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 f92118712c Add storage-estimate core and adapter (M6 Storage Monitor groundwork)
Portable summarizer (clamped fraction, ok/warning/critical level, availability
flag, humanizeBytes) with the browser StorageManager.estimate() feature-detect
isolated to the infrastructure adapter. No UI consumer yet — core-first per the
AI developer protocol; the Storage Monitor panel (spec §02) wires to it next.
2026-06-07 17:14:07 +03:00
oleh 548aa199d9 Add distributed settings and workspace import/export (M5) 2026-06-07 15:51:00 +03:00
oleh 80bedd2a8d Add snippet metadata panel, duplicate, and immediate-load preview (M4.5) 2026-06-06 23:54:59 +03:00