Curriculum Authoring Editors
Generated artifact. Do not edit manually.
Generated by:
scripts/build_compendia.pyRegenerate with:python3 scripts/build_compendia.py --compendium dev-handbook --web-and-texSource of truth:docs/dev/source/
Language / Sprache: English (EN) · Deutsch (DE) | PDF: English PDF · Deutsches PDF
Compendium: §1 Documentation Guidelines · §2 Landscape JSON Reference · §3 Minimal Schema & Fallback · §4 Authoring Editors · §5 Graph Editor · §6 Flashcard Editor · §7 Node Ordering · §8 Liquibase · §9 Auto-Update (SSE)
4. Curriculum Authoring Editors
SkillPilot separates local Vite development-server authoring tools by semantic layer rather than mixing canonical graph editing, flashcard curation, and scope-view composition into one monolithic UI.
4.1. Four Local Vite Editors and Route Architecture
| Editor | Frontend Route & Dev Middleware | Owned Artifact Layer | | –- | –- | –- | | Flashcard Editor (6) | /flashcard-editor · /__deck-editor/* | *_deck*.json flashcard decks (curricula/... + app/public/data/). | | Graph Editor (5) | /graph-editor · /__graph-editor/* | Narrow requires refactoring and cluster-to-atomic prerequisite normalization on landscape JSONs. | | Canonical Cluster Editor | /canonical-cluster-editor · /__canonical-cluster-editor/* | Canonical contains cluster hierarchy, sibling order, and cluster metadata in curricula/DE/Gymnasium/canonical/. | | Composition View Editor | /composition-view-editor · /__composition-view-editor/* | Scope-specific *.view.json upper trees (structure nodes + cluster-only canonicalSubtree attachments). | {cols="26%,34%,40%"}
All /__* file-mutation endpoints exist exclusively inside local Vite dev-server middleware (vite.config.ts) and are never exposed in production builds.
4.2. Three-Pane Layout, Blocking vs. Warning Validations, and Rollout Order
Both V1 structural editors use a three-pane layout (left tree navigator, center node/attachment inspector, right live compiled-preview & diagnostics pane):
- Blocking save validations (reject write): Malformed JSON, duplicate IDs,
containscycles, danglinggoalIdreferences, authoring atomic goals inline inside.view.json, or overlappingcanonicalSubtreeexpansions violating single-occurrence projection (View Projection). - Non-blocking warnings (allow save with diagnostic badge): Unreferenced canonical clusters in a partial draft view,
unplacedInScopecandidates, or pending downstream QA reruns (npm run validate:graph,validate:views). - Four-phase implementation sequence: (1) Read-only compiled tree & diagnostic inspector \(\to\) (2)
Canonical Cluster Editorsave pipeline \(\to\) (3)Composition View Editor.view.jsonauthoring \(\to\) (4) cross-view coverage diffing (deliberate non-goals: multi-user cloud editing, automatic AI graph rewriting, or editing learner state).