Write·For narrative designers
Write dialogue that branches.
A visual canvas for dialogue graphs with a writing-first syntax. Choices, conditions, events — all authored as text, rendered as a graph.
Visual Canvas
Node-based graph editor
Drag and drop dialogue nodes on an infinite canvas. Connect edges between choices, conditions, and events. Navigate subgraphs with a breadcrumb trail — every graph is structurally complete at every level.
# Arthur reveals the house.
Arthur: "Welcome to your new home!"
Mary: "Ok, enough joking. What's the deal?"
when mary.suspicious == true
set mary.knows_about_house = true
Writing-First Syntax
Type dialogue, add logic inline
Write dialogue as plain text. Add set, run, and when lines for game logic. Mark choices with an exit block. The editor classifies lines as you type — no mode switching, no block pickers.
Branching
Choices, conditions, and events
Author player choices with amber-coded handles, condition gates with when expressions, and event blocks that pause for game triggers. All inline in the same node, all with autocomplete and syntax highlighting.
Graph
Act II — Discovery
Subgraph
House Tour
Composition
Subgraphs
Nest graphs within graphs to any depth. Each subgraph is structurally complete with its own begin and end nodes. Navigate with breadcrumbs, scope variables locally or share them globally.
Act I
Mary arrives at the house. Arthur gives the tour.
Act II
Suspicion grows. Mary discovers the closet.
Act III
Confrontation. Three possible endings.
Pre-production
Start before your first line of code
Character profiles, relationship maps, and beat sheets — all in NarrativeStack. When you're ready to write, beats promote into dialogue graphs. No migration, no copy-paste. The team never migrates to NS — they start in NS.
Roadmap
Write·Node-based graph editor
ShippedInfinite canvas with drag-and-drop dialogue nodes and connected edges.
Write·Writing-first syntax
ShippedPlain text dialogue with inline set, run, and when lines for game logic.
Write·Choices, conditions, and events
ShippedPlayer choices, condition gates, and event blocks with autocomplete and validation.
Write·Subgraphs
ShippedNested graphs that are structurally complete at every level, with breadcrumb navigation and scoped variables.
Write·Pre-production
PlannedBeat sheets, character profiles, and relationship maps that promote directly into dialogue graphs.