mirror of
https://github.com/olehomelchenko/astrolabe.git
synced 2026-08-08 02:02:33 +00:00
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/
This commit is contained in:
Vendored
+14
@@ -7,3 +7,17 @@ declare module '*.module.css' {
|
||||
const classes: { readonly [key: string]: string };
|
||||
export default classes;
|
||||
}
|
||||
|
||||
// The bundled Vega-Lite JSON schema is ~1.5 MB. Declaring it as a generic object
|
||||
// stops `tsc` from inferring a giant literal type (slow/memory-heavy) on import.
|
||||
declare module 'vega-lite/vega-lite-schema.json' {
|
||||
const schema: Record<string, unknown>;
|
||||
export default schema;
|
||||
}
|
||||
|
||||
// `edcore.main` (full editor features, no bundled languages) ships no types of
|
||||
// its own; at runtime it re-exports the editor API, so map its types there.
|
||||
// This also re-pulls monaco's global `MonacoEnvironment` augmentation.
|
||||
declare module 'monaco-editor/esm/vs/editor/edcore.main' {
|
||||
export * from 'monaco-editor/esm/vs/editor/editor.api';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user