Playbook Mission Tree Viewer
Editor extension that renders a **visual node graph** of all career missions, showing unlock states and star progress at each playbook step.
Editor extension that renders a visual node graph of all career missions, showing unlock states and star progress at each playbook step.
Overview
Uses ui_flowgraph_editor to draw an interactive node graph where each node represents a career mission. Node colours reflect unlock state (red = invisible, yellow = visible, green = startable). Links show unlock dependencies. Star icons indicate earned/unearned stars.
Module Interface (M)
| Function | Description |
|---|---|
M.onEditorInitialized() | Registers window (500×500) and menu item under "Missions". |
M.onEditorGui() | Draws the node graph (only if Mission Playbook is visible). |
M.show() | Shows both the playbook and this viewer window. |
M.onPlaybookLogAfterStep(resultData) | Hook: snapshots unlocked stars and unlock states for all career missions. |
Node Colours
| Colour | State |
|---|---|
| Red | Invisible (locked) |
| Yellow | Visible but not startable |
| Green | Startable |
Node Content
- Mission name (translated)
- Star icons: ★ (unlocked), ☆ (locked), ✦ (unlocked this step)
- Default stars in yellow, bonus stars in cyan
- Branch level badge on the left
Graph Structure
- Nodes positioned by
mission.unlocks.depth(x) and index (y) - Links drawn from each node's output pin to forward-dependency input pins
- Uses flowgraph editor's pan/zoom for navigation
Data Snapshot Format
resultData.unlockedStars = { ["mission/id"] = { timeBronze = true } }
resultData.unlockedThisStep = { ["mission/id"] = { timeSilver = true } }
resultData.unlocksById = { ["mission/id"] = { startable = true, visible = true, ... } }Usage Example
editor_missionPlaybook_missionTreeViewer.show()
-- Generate nodes for the graph
-- Click "Generate" button in the viewer windowModule Variables
nodes(table) - Array of graph node objects, one per career mission.nodesByMId(table) - Map from mission ID to graph node object.previewEctx(any) - Preview execution context.onEditorRegisterPreferences(function) - Registers editor preferences for this viewer.
Additional Exports
M.nodesM.nodesByMIdM.onEditorRegisterPreferences
See Also
- Playbook Attribute Viewer - Related reference
- Playbook Unlocked Missions Viewer - Related reference
- World Editor Guide - Guide
Playbook Attribute Viewer
Editor extension that displays **player attribute values and changes** at each step of a Mission Playbook execution. Includes a multi-series plot.
Playbook Unlocked Missions Viewer
Editor extension that displays a **three-column view** of mission unlock states (startable / visible / invisible) at each playbook step.