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

Presence and quiet panels

Lives in: panel policy on pack / panel command / node fields

The routed panel is the one receiving this moment’s text. Other panels are non-talking — policy decides whether they hide or stay as a dim reminder.

Policy fields

FieldValuesDefaultEffect
presence_modetalk_only, visible_with_char, always_visibletalk_onlyHow strongly a panel stays when it is not routed
non_talking_modehide, readonly_last_texthideWhat a non-routed panel shows
readonly_style_keystyle name—Look for readonly text

Practical recipe: keep a side box around without the speaker → always_visible + readonly_last_text. Plain hide when unused → leave defaults.

Today talk_only and visible_with_char do not differ for show/hide; prefer always_visible when you need “stay up.”

Where policy is set

Order (later wins for sticky layers as noted in the live rules):

  1. Built-in defaults
  2. Character pack ui.panel_policy
  3. Sticky fields from a panel command (presence_mode, non_talking_mode, …) — beat the pack
  4. Node fields panel_presence_mode, panel_non_talking_mode, panel_readonly_style_key — this node only

policy_reset or full reset on a panel command clears sticky policy.

Show hold

show: true on an off-route panel sticks: policy cannot instantly hide it until show: false, reset, or policy_reset. Use that for a deliberate “pin this box.”

Node hide_panel hides the routed panel for that node only — different from non_talking_mode: "hide" on other panels.

Text modes

Default is replace — each line clears the panel. To stack lines in the same box, use append — full fields and sticky vs node: Appending text.

Usually you need

WantDo
Hide unused boxesDefaults (hide)
Leave last side line visiblenon_talking_mode: "readonly_last_text" (+ often always_visible)
Pin a box against policyOff-route panel with show: true

Next

Appending text · Speaker art on the panel