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

Several panels

Lives in: theme presets + story panel_id / panel commands

Use more than one panel when two conversations should stay visible, or a side box holds a note while main advances.

Create another box

Ask for a new id on a node or command:

{ "id": "aside", "panel_id": "side", "panel": "side", "talking": ["hana"], "text": "…" }
{ "type": "panel", "panel_id": "side", "preset": "side", "show": true }

If theme panel.side exists, routing can pick that preset by matching the id name. Otherwise set "panel": "…" or pack default_panel_preset explicitly.

main always exists. Extra ids are created when first used (capped — keep the cast of boxes small).

Stacking

FieldEffect
z on a panel commandDraw order among panels; also feeds which visible panel gets input

Higher z draws above. Keep the active reading box easy to see.

Patterns that work

PatternIdea
WhisperSame main id, different preset — no second box
Side commentarypanel_id: "side" + smaller preset; main keeps the primary line
Sticky noteKeep side visible while focus returns to main — Presence and quiet panels
Side / phone logTall preset + sticky append — see below

Stage character places (left / center) are a different system — Places on stage. Drawing characters above/behind the box is draw_layer, not a second panel.

Side log (append + scroll)

A common second box: full-height (or tall) side panel that collects lines and scrolls inside the plate.

  1. Theme preset with "max_height": "full" (or "80%") and "scrollbar_layout": "reserve" — How a panel looks
  2. Sticky { "type": "panel", "panel_id": "side", "preset": "side_log", "text_mode": "append" }
  3. Moments that write to "panel_id": "side" (or pack default_panel_id)
  4. Optional [panel panel_id side clear_append] when the thread should restart — Appending text

Keep main on normal replace dialogue while the log accumulates.

Usually you need

WantDo
Soft look onlyOne id, second preset
Two texts at onceTwo ids + presence / readonly policy
Force a side box uppanel command show: true on that id
Scrollable logTall max_height + sticky text_mode: append

Next

Presence and quiet panels