oleh
20e70bee0e
Learn: per-lesson URLs, a :::data shared-dataset construct, and a linked-views deep dive
2026-06-28 12:34:30 +03:00
oleh
43d3b480d9
Copy: pare product claims to what we can certify, cut rule-of-three cadence, record arch 10 §10
2026-06-26 23:09:47 +03:00
oleh
c19857b0a7
Learn: a /learn/ deep-dive section — markdown lessons as before/after spec progressions
2026-06-25 12:02:39 +03:00
oleh
d76a7a5014
Theme Builder: accordion panels across the full config surface, vertical-tab nav, reflective gallery
2026-06-21 17:14:58 +03:00
oleh
318a0919c6
Support: add a feedback email, rebrand from Donate, tighten privacy copy
2026-06-21 01:46:19 +03:00
oleh
be8cfc402d
Chart Builder: open a snippet in the builder to edit it in place
2026-06-20 12:36:37 +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
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
713f396c5c
Docs: trim arch 05 debounced-renderer sketch to its generation-guard insight
2026-06-15 00:51:30 +03:00
oleh
66c123e15e
Docs: move point-in-time records to exploration/, trim build-narration, lift open items to plan
2026-06-14 23:58:06 +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
df6a0b3845
ColorField: shared color-input primitive, Theme Builder + Chart Builder migration
2026-06-14 11:02:20 +03:00
oleh
e4d1466ab0
Theme Builder: structured color/type controls, scheme catalog, diverging preview
2026-06-14 01:25:44 +03:00
oleh
0470389b41
Chart builder: intent front door, Heatmap mark, role-aware guidance
2026-06-13 12:08:11 +03:00
oleh
4e5108f434
Snippet naming: content-derived on publish, frozen on explicit rename
2026-06-13 10:13:57 +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
e0806bf3db
Quiet fields: base.css field baseline, --field tokens, 3:1 border-strong, app-wide migration
2026-06-13 00:06:33 +03:00
oleh
7d4906ec38
Control scale: Button/IconButton primitives, two-height tokens, app-wide migration
2026-06-12 23:13:13 +03:00
oleh
af9cc8a716
Docs: build hash grammar, theme rollback, reference-identity change detection, option-list boundary rule
2026-06-12 21:53:42 +03:00
oleh
ca70b3e491
Chart builder: discoverable entry points — Build Chart door, dataset picker, no-datasets state
2026-06-12 21:46:25 +03:00
oleh
dbb4522d78
Workspace transfer: custom themes ride the export/import envelope
2026-06-12 21:45:44 +03:00
oleh
80d13c9b6f
Prettier: reflow visual-specimen.html
2026-06-12 19:46:46 +03:00
oleh
9a8b44380d
Services: delete dead RelationshipService; rename persistence to snippet-persistence
2026-06-12 19:46:14 +03:00
oleh
538882b342
Modal system: break import cycles — component map moves to the shell
2026-06-12 19:45:50 +03:00
oleh
887de7412e
Docs: new-entity persistence stack, modal size tiers, spec anchor stability, test harness notes
2026-06-12 18:16:34 +03:00
oleh
b193464f55
Chart theming: custom named themes + Theme Builder
2026-06-12 18:15:54 +03:00
oleh
44a601affd
Chart theming: selectable chart theme + spec↔config merge/extract
2026-06-12 16:48:48 +03:00
oleh
ed66fe9c05
Chart builder: SelectControl pickers, channel chooser, per-type aggregates
2026-06-12 14:45:31 +03:00
oleh
4dcff4601d
Chart builder: field-first shelf + value-or-field channels
2026-06-11 23:56:40 +03:00
oleh
fe2b039698
Remote datasets: cap fetch body size
2026-06-11 19:21:51 +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
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
7599acd25e
Redesign the Storage Monitor as a storage-composition breakdown (snippets · datasets · app)
2026-06-10 01:32:22 +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
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
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
30ff7ae357
Roll back import atomically on storage-quota failure (M6, §08)
2026-06-07 20:03:47 +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
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