mirror of
https://github.com/olehomelchenko/astrolabe-nvc.git
synced 2025-12-21 21:22:23 +00:00
- Introduced a new modal for managing datasets, including options to create, view, and delete datasets. - Implemented IndexedDB for persistent storage of datasets, allowing for efficient data retrieval and management. - Added UI components for dataset details, including statistics and preview. - Enhanced the app's JavaScript to handle dataset operations such as saving, updating, and deleting datasets. - Integrated dataset reference resolution in the visualization editor to support dynamic data sources. - Updated styles for the new modal and dataset management UI for improved user experience.
35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# CLAUDE.md
|
|
|
|
Instructions for Claude Code when working on this project.
|
|
|
|
## Project Overview
|
|
|
|
**Astrolabe** is a lightweight, browser-based snippet manager for Vega-Lite visualizations. Pure vanilla JavaScript, no build tools, retro Windows 2000 aesthetic.
|
|
|
|
## Architecture
|
|
|
|
- **Frontend-only**: HTML/CSS/JavaScript with CDN dependencies (Monaco Editor, Vega-Embed)
|
|
- **Storage**:
|
|
- **Snippets**: localStorage with Phase 0 schema (id, name, created, modified, spec, draftSpec, comment, tags, datasetRefs, meta)
|
|
- **Datasets**: IndexedDB (unlimited size, multi-format: JSON/CSV/TSV/TopoJSON, inline & URL sources)
|
|
- **Structure**: Three resizable panels (snippet library, Monaco editor, live preview) + Dataset Manager modal
|
|
- **No build tools**: Open `index.html` directly in browser (needs local server for IndexedDB)
|
|
|
|
## Current Status
|
|
|
|
**Completed**: Phases 0-10 (Core functionality + Dataset Management)
|
|
**Next**: Phase 11 - Advanced Dataset Features (optional enhancements)
|
|
|
|
### Key Features Implemented
|
|
- ✅ Snippet management with draft/published workflow
|
|
- ✅ Multi-field sorting and real-time search
|
|
- ✅ Storage monitoring and import/export
|
|
- ✅ **Dataset management with IndexedDB**
|
|
- Multi-format support (JSON, CSV, TSV, TopoJSON)
|
|
- Multi-source support (inline data, URL references)
|
|
- Automatic metadata calculation and URL fetching
|
|
- Dataset reference resolution in Vega-Lite specs
|
|
- Modal UI with button-group selectors
|
|
|
|
See `docs/dev-plan.md` for complete roadmap and technical details.
|