oleh 26b383ff33 Editor: render a layer as one framed row of mark glyphs
A layer is one plotting space with several marks stacked in z-order, so it now renders as a single frame holding its child marks as a row of glyphs, badged with a new 'layers' glyph — instead of offset stacked cards that read as separate spaces and hid the lower glyphs. Each mark stays an individual treeitem, so selection and Alt+up/down z-order reorder are unchanged.
2026-06-29 14:59:01 +03:00

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 — 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

What it does

  • Editor + live preview — write Vega-Lite specs as JSON in Monaco with schema-aware validation and autocomplete; the chart re-renders as you type.
  • Snippet library — save, search, tag, and organize specs. Each snippet carries a stable published version plus a separate editable draft, so you can tinker without losing a known-good copy.
  • Reusable datasets — store data once (inline, or fetched once from a URL and snapshotted) and reference it by name from many snippets.
  • Chart Builder — a no-JSON on-ramp that generates a spec from field, mark, and encoding choices. The JSON stays the source of truth and is always editable.
  • Theming & fonts — custom chart themes with a visual Theme Builder, a curated font roster, and your own uploaded font faces.
  • Local-first — your library lives in the browser (IndexedDB); offline-capable and installable (PWA), with import/export for backup and transfer. No account, no server, no AI — with no backend to send it to, your library stays on your device, so it's safe for confidential work from the first chart.

Status

Active development, pre-1.0 and not yet publicly released — well past the initial milestones and usable day to day; the first public release will be 1.0.0. Behavior is specified in docs/spec/ and the architecture patterns in docs/architecture/.

License

TBD.

S
Description
An IDE / snippet manager for your vega & vega-lite visualizations
Readme 2.3 MiB
Languages
TypeScript 92%
CSS 7.7%
JavaScript 0.2%
HTML 0.1%