Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

panel

Controls dialogue panel instance look, visibility, content mode, and presence policy.

{ "type": "panel", "preset": "whisper", "panel_id": "main", "apply": "persistent" }
[panel whisper]
[panel reset]
[panel clear_append]
[panel panel_id phone clear_append]

Usually you need

FieldTypeDefaultEffect
presetstring—Theme preset name
panel_idstring"main"Panel instance
text_mode / clear_append / plate——Append or plates mode, wipe history, or sticky plate name
showbool—Visibility (true on an off-route panel sticks against policy hide until cleared)
apply"persistent" | "node_local""persistent"Scope

All fields

FieldTypeDefaultEffect
panel_idstring"main"Instance
presetstring—Layout preset
showbool—Visibility. Off-route true sticks against policy hide until show: false, reset, or policy_reset
apply"persistent" | "node_local""persistent"Scope
resetbool—Reset panel (clears sticky max_height, append state, policy, shaders)
transition / transition_in / transition_outkindper contractShow/hide
transition_duration / durationnumber ≥ 0—Seconds
text_mode"replace" | "append" | "plates""replace"Content mode
clear_appendbool—Wipe append/plates history only (keeps text_mode, direction, preset, policy)
append_direction"down" | "up""down"Append / plates direction
append_gap_lines / append_gap_px≥ 00Gaps (append_gap_lines ignored in plates)
platestring or null—Sticky plate name for text_mode plates (null / clear clears)
max_heightnumber, "NN%", or "full"theme / legacySticky height ceiling for this panel
znumber0Draw order
mode"adv"—Panel mode
shaderobject or nullomit = keepPanel shader
presence_mode"talk_only" | "visible_with_char" | "always_visible""talk_only"Persistent policy
non_talking_mode"hide" | "readonly_last_text""hide"
readonly_style_keystring—Readonly style
policy_resetbool—Clear policy to defaults
linked_char_idstring—Explicit character link
bindobject—Flag binds
interactionobject—Hooks
whenexpression—Skip when falsy

Node panel_* fields are one render cycle; this command is sticky unless node_local. Same-node text_mode / preset / append_* / clear_append also apply to that node’s first paint (explicit node fields win). Sticky text_mode: replace, clear_append, or reset clears that panel’s append history; a node-only text_mode: replace does not. Presets: Theme: panel. Routing: Panel routing.