Skip to content

Graph Editor

Generated artifact. Do not edit manually.

Generated by: scripts/build_compendia.py Regenerate with: python3 scripts/build_compendia.py --compendium dev-handbook --web-and-tex Source 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)


5. Graph Editor

The local Graph Editor (/graph-editor, implemented in GraphEditorView.tsx backed by Vite dev middleware /__graph-editor/{list,load,save}) is a focused refactoring workbench for requires prerequisites in SkillLandscape JSON files.

5.1. Focused requires Refactoring Workflow

Rather than acting as a free-form canvas, the editor targets canonical requires hygiene (\(R \subseteq A \times A\); see Graph Definition):

  • Split prerequisite inspection: Separates every selected goal's requires edges into atomic prerequisites, legacy cluster prerequisites, and unresolved/external IDs so legacy cluster links stand out immediately.
  • Guided cluster-to-atomic expansion: Inspects the atomic descendants of a required cluster so authors can select the exact required atomic competencies before removing the legacy cluster edge and running transitive reduction.
  • In-place 2-space JSON persistence: /__graph-editor/save writes formatted 2-space UTF-8 JSON directly back to the source file under curricula/ without mirroring to app/public/data/.
cd app
npm run dev
# After saving changes in http://localhost:5173/graph-editor:
npm run validate:graph