Basic Concepts

Understanding the fundamental building blocks of interactive storytelling in TellsTree.

📚

Basic Concepts

Verstehen Sie die Grundlagen interaktiven Storytellings

1
Edge Types
2
Node Types
3
Graph Structure
🎯

Wichtige Konzepte

Edge-Semantik
3 Typen: contains, flow, link
Validierung
Nur flow-Edges sind testbar
Hierarchie
contains für strukturelle Zugehörigkeit
Referenzen
link für lose, nicht-testbare Verbindungen
💡

Warum das wichtig ist

Klare Semantik
Jeder Edge-Typ hat eine eindeutige Bedeutung
Bessere Validierung
Automatische Tests prüfen flow-Completeness
Intuitive UI
Unterschiedliche Darstellung je nach Typ
Saubere Architektur
Trennung von Struktur, Ablauf und Referenzen

🔗 Edge Types

In TellsTree unterscheiden wir drei grundlegende Edge-Typen, die jeweils unterschiedliche semantische Bedeutungen haben und sich in ihrer Darstellung und Validierung unterscheiden.

💡 Wichtig: Die richtige Wahl des Edge-Typs ist entscheidend für die Validierung und Darstellung Ihrer interaktiven Geschichten. Nur flow-Edges können getestet werden und bilden den logischen Ablauf.

📦 1️⃣ contains — Strukturelle Zugehörigkeit

Beschreibt hierarchische Beziehungen und Besitz. Dieser Edge-Typ definiert, dass ein Element Teil eines anderen ist.

Eigenschaften:

  • Beschreibt Besitz, Teilmenge, Einbettung
  • Keine zeitliche Komponente
  • Keine Richtung im Sinne von Ablauf
  • Keine Bedingungen möglich
  • Nicht test-relevant

Semantische Aliase:

located_in appears_in owns wears has_trait

Beispiele:

Chapter Scene
Scene Story-Segment
Dialog Dialog-Entry
Inventory Item
Character Trait
Stage Gameplay-Segment

Alle diese Beziehungen bedeuten: "A gehört zu B"

➡️ UI-Darstellung:

  • ✗ Kein Pfeil
  • ✓ Sidelane / Grouping / Umrandung
  • ✓ Rein organisatorisch

🌊 2️⃣ flow — Gerichtete, bedingte Abfolge

Dies ist der einzige Edge-Typ, der zeitlich, testbar und logisch relevant ist. Flow-Edges definieren den tatsächlichen Ablauf Ihrer Geschichte.

Eigenschaften:

  • Immer gerichtet
  • Optional: Bedingungen (conditions)
  • Optional: Effekte / Events
  • Relevant für Validierung
  • Kann "offene Enden" erzeugen

Semantische Varianten:

follows branches_to unlocks requires blocks completes fails talks_to

✅ Kritische Regel:

Alle flow-Verbindungen müssen von Start bis Ende gehen. Nur flow-Edges bilden Graphen, die man testen kann.

Beispiel-Ablauf:

Start Scene 1
follows
Scene 1 Choice A
Scene 1 Choice B
branches_to (mit Bedingungen)
Choice A End

➡️ UI-Darstellung:

  • ✓ Gerichteter Pfeil
  • ✓ Bedingungen anzeigen
  • ✓ Highlighting bei Validierung
  • ✓ "Offene Enden" rot markieren

🔗 3️⃣ link — Lose, nicht-sequenzielle Verbindung

Ein Edge-Typ, den viele Systeme nicht sauber trennen. Links sind rein referenziell und haben keine logische oder zeitliche Bedeutung.

Eigenschaften:

  • Keine zeitliche Komponente
  • Keine Reihenfolge
  • Keine Validierungslogik
  • Rein semantisch / referenziell
  • Optional ein-/ausblendbar

Semantische Varianten:

mentions connects_to references related_to

Beispiele:

Character A ⋯→ Character B

mentions (in dialogue)

Location A ⋯→ Location B

connects_to (map reference)

Scene 5 ⋯→ Scene 12

references (callback)

⚠️ Wichtig:

Link-Edges sind niemals testrelevant. Sie dienen nur der Dokumentation und semantischen Verbindung, nicht dem logischen Ablauf.

➡️ UI-Darstellung:

  • ✓ Gestrichelte Linie oder Pfeil
  • ✓ Label / Beschreibung anzeigen
  • ✓ Optional ein-/ausblendbar
  • ✗ Niemals in Validierung einbeziehen

📊 Vergleichstabelle

Eigenschaft contains flow link
Zeitlich
Gerichtet ➖ (optional)
Bedingungen möglich
Testrelevant
UI-Darstellung Grouping Pfeil → Gestrichelt ⋯→
Validierung Organisatorisch Vollständig Keine

📦 Nodes

Coming soon...

🕸️ Graph Structure

Coming soon...