mirror of
https://github.com/olehomelchenko/astrolabe.git
synced 2026-08-08 02:02:33 +00:00
693f5d7073034a3a7c9ee53a74f1a6f6bf8e4f47
- Prune the data payload and top-level datasets keys in all three ref walks (extractDatasetRefs, renameDatasetInSpec, resolveDatasetRefs) so a data row carrying a field named "data" is no longer misread as a library reference, spuriously rewritten, or made to throw DatasetNotFoundError. Adds tests, including a guard that lookup-transform refs (from.data) still resolve. - Wire the deferred success toasts now the Toaster has landed: publish, revert, extract-to-dataset, and snippet/dataset delete. Copy follows the council title-vs-message rule (title states the action, message adds the consequence). - Reconcile the spec's blanket toast mandate to "toast only what the user can't already see": no toast on visible-result creates (snippet, dataset form); Copy Reference stays inline and gains an aria-live announcement (new shared .visually-hidden utility) instead of a toast-per-copy. - Move the toast region to bottom-right so it stops covering the header action cluster (Publish/Revert, theme/datasets). - Update docs/spec 01F/02/05 and docs/architecture/07 + 10 to match.
Astrolabe
A browser-based snippet manager for Vega-Lite visualizations. Author chart specs as JSON, watch them render live, and keep a personal, searchable library — fully local, offline-capable, no account.
Astrolabe is a spec-driven rebuild on an architecture adapted from its sibling project Syto. The authoritative behavioral contract lives in
docs/spec/. See SOUL.md for the philosophy and docs/IMPLEMENTATION-PLAN.md for the build sequence.
Stack
Vite · TypeScript · React + Zustand · Monaco · Vega-Lite + vega-embed · IndexedDB · PWA (offline + installable).
Develop
npm install
npm run dev # dev server
npm run build # typecheck + production build (+ service worker)
npm run typecheck
npm test # Vitest
Status
M0 — Skeleton. Toolchain green (typecheck, tests, build, PWA). The three-pane shell renders; features land milestone by milestone per the implementation plan (MVP at end of M1).
License
TBD.
Description
Languages
TypeScript
92%
CSS
7.7%
JavaScript
0.2%
HTML
0.1%