oleh
6656811b8e
Editor: view-scoped Extract-to-Dataset for inline and self-defined data
2026-06-29 02:08:59 +03:00
oleh
8cad80f738
Inspector: multi-view data inspection with a per-table view picker
2026-06-28 22:16:59 +03:00
oleh
a75ea5b59e
Editor: view-scoped data context — per-view dataset columns in hints and transforms
2026-06-28 20:54:46 +03:00
oleh
31458114fb
Editor: spec transforms (wrap/simplify/add-view) and dataset-aware hints
2026-06-28 16:56:20 +03:00
oleh
efb5a9bbe0
Data inspector: input/resolved rows below the chart, with a resizable divider
...
A collapsible Data panel under the Live Preview and Chart Builder charts shows the rows the chart actually uses, switching between Input (parsed source) and Resolved (post-transform) views read from the live Vega view. Collapsed by default; the open-state and a draggable height divider persist.
Rows come through a new RenderHandle.inspectData() accessor, so no component touches the view: core/result-data picks the most-upstream source and most-downstream result from the compiled dataflow, read lazily. The divider reuses the window-splitter pattern (horizontal variant).
Consolidations: a shared DataTable primitive replaces the inspector's and the builder's duplicate read-only tables; useResizeDrag merges the col/row drag-gesture twins.
Docs: spec 04/06 and arch 05/10 updated; the now-shipped exploration memo removed.
2026-06-18 02:22:03 +03:00
oleh
d8a7bcb7c1
Fonts: carry uploaded faces through export/import + embed in SVG export
2026-06-16 23:52:16 +03:00
oleh
2ed9db3792
Persistence: share entity write-through helper; normalize quota at db.put
2026-06-16 23:06:37 +03:00
oleh
5d3aba608a
Chart theming: user font upload (FontFace-from-IndexedDB) + variable-font weight support
2026-06-16 21:41:04 +03:00
oleh
91b8b1e7fe
Theme Builder: Layout/Axes/Legend/Type panels, scheme-render fix, fail-loud gallery
2026-06-14 13:08:29 +03:00
oleh
b03c3b08ab
Chart fonts: self-hosted roster + document.fonts.load render gate
2026-06-14 13:08:16 +03:00
oleh
236b1c8a37
Chart tooltip: app-owned token styling, drop vega-tooltip's default sheet
2026-06-14 01:25:58 +03:00
oleh
dbb4522d78
Workspace transfer: custom themes ride the export/import envelope
2026-06-12 21:45:44 +03:00
oleh
9a8b44380d
Services: delete dead RelationshipService; rename persistence to snippet-persistence
2026-06-12 19:46:14 +03:00
oleh
0e225d7d5c
Eng-council sweep: export hygiene, dead code, helper dedup, declare vega-expression
2026-06-12 19:39:54 +03:00
oleh
0baac3c64b
Editor: Extract Config to New Theme as a third Config action
2026-06-12 18:16:15 +03:00
oleh
44a601affd
Chart theming: selectable chart theme + spec↔config merge/extract
2026-06-12 16:48:48 +03:00
oleh
fe2b039698
Remote datasets: cap fetch body size
2026-06-11 19:21:51 +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
62d0697f0e
Chart builder: data-aware defaults, one-click hint fixes, canvas preview, fullscreen modal
2026-06-10 17:10:18 +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
7d247e8d2c
Track datasetRefs against the live draft so manual edits and extract link immediately
2026-06-07 23:54:01 +03:00
oleh
1cad9ba140
Extract reverse-lookup scan to core/relationships (one shared impl)
2026-06-07 23:04:20 +03:00
oleh
30ff7ae357
Roll back import atomically on storage-quota failure (M6, §08)
2026-06-07 20:03:47 +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
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