Branching, State Replay & Studio API
REST-Endpunkte für multidimensionale Handlungsverzweigungen, DAG-Zustandsakkumulation und kreative Generierung.
Branching & Studio API
Die Branching- und Studio-Endpunkte ermöglichen das Erschaffen und Durchlaufen von nicht-linearen Geschichten mit interaktiven Entscheidungen und dynamisch akkumulierten Entitätszuständen (z. B. sichtbare Verletzungen, Requisiten und Stimmungswechsel entlang spezifischer Pfade).
1. Pfad-Zustandsauflösung (State Replay)
POST /api/books/:id/traversals/resolve-state
Akkumuliert alle Lore-State-Patches entlang des übergebenen Pfades von der Wurzel bis zur Ziel-Szene.
Request Body:
{
"traversalPath": ["scene_intro", "scene_thorns_fight"],
"targetSceneId": "scene_thorns_fight",
"perspectiveEntityId": "entity-uuid-1"
}Response (200 OK):
{
"success": true,
"bookId": "book-uuid",
"targetSceneId": "scene_thorns_fight",
"resolvedCount": 1,
"profiles": {
"entity-uuid-1": {
"entityId": "entity-uuid-1",
"canonicalName": "Protagonist",
"appliedPatchesCount": 1,
"physicalCondition": "injured",
"activeInjuries": [
{
"location": "left_arm",
"severity": "moderate",
"bandage_visible": true,
"limping_or_favoring": true
}
],
"activeProps": ["Holzstab als Stütze"],
"mood": "exhausted",
"resolvedPromptDescriptor": "white linen bandage wrapped around left arm, limping or favoring posture, holding Holzstab als Stütze"
}
}
}2. Pfad-Simulation & Delta-Inspektion
POST /api/books/:id/traversals/simulate
Simuliert die Ausführung eines vollständigen Pfades und liefert für jeden Zwischenschritt den akkumulierten Zustand.
3. Entitäts-Zustandspatches
POST /api/entities/:id/states
Registriert einen neuen Delta-Patch für eine Figur an einem bestimmten Szenen- oder Abzweigungsknoten.
Request Body:
{
"originNodeId": "scene_thorns_fight",
"branchId": "branch_danger",
"layerType": "physical",
"patch": {
"physical_condition": "injured",
"injury": {
"location": "left_arm",
"severity": "moderate",
"bandage_visible": true,
"limping_or_favoring": true
},
"visual_patch": {
"temporary_props": ["Holzstab als Stütze"],
"mood": "exhausted"
}
}
}4. Kreativ-Architekt Generierungs-Endpunkte
POST /api/architect/generate-book
Generiert ein ganzes Buchkonzept mit Kapiteln, Verzweigungen und Figuren-Roster.
Request Body:
{
"premise": "Ein mutiger kleiner Drache, der das Fliegen erst lernen muss",
"genre": "Kinderbuch / Fantasy",
"targetAudience": "Kinder & Familie",
"language": "Deutsch",
"chapterCount": 4,
"persistToDirectus": true
}POST /api/architect/generate-character
Erschafft eine konsistente Figur mit Farbankern, Negativ-Regeln und 4-Kachel Turnaround Model-Sheet Prompt.
POST /api/architect/generate-branch-scene
Generiert eine dynamische Fortsetzungsszene basierend auf einer Entscheidung und liefert Pfad-spezifische Bildprompts und Zustandsdeltas.
5. DAG-Graph & Branch-Visualisierung
Ermöglicht das visuelle Nachvollziehen, wie sich ein Charakter über die einzelnen Verzweigungsknoten, Szenen und Handlungsstränge hinweg physisch und emotional verändert.
GET /api/lore-entities/:entityId/graph
Liefert das vollständige Graph-Visualisierungsobjekt mit ASCII-Tree, Mermaid-Diagramm, Knoten und Kanten.
Query-Parameter
bookId(optional): Buch-UUID zur Eingrenzung von Kapiteln und Szenen.path(optional): Komma-separierte Szenen-IDs zur selektiven Pfad-Visualisierung.
CLI-Befehle
# Terminal ASCII-Baum ausgeben
npm run cli -- branch graph -e "Oma Ingrid"
npm run cli -- lore graph "Oma Ingrid"
# Mermaid-Syntax für Markdown generieren
npm run cli -- branch graph -e "Oma Ingrid" --mermaid
# Rohes Graph-JSON
npm run cli -- branch graph -e "Oma Ingrid" --jsonMCP-Tool
visualize_entity_graph: Erzeugt für LLM-Agenten direkt visualisierte Mermaid-Diagramme und Terminal-Bäume für jede Entität.