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

Places on stage

Lives in: game.json → layout.characters, plus char / char_layout in the story

Where people stand, and whether they draw under or over the dialogue box.

Default places

[hana left]
[sora center]
[emi right]

By default the project offers an even row of places — usually left, center, right. Counts, sizes, and names come from:

"layout": {
  "characters": {
    "mode": "adaptive",
    "adaptive": {
      "slot_count": 3,
      "slot_width": 400,
      "slot_height": 720
    }
  }
}
ModeMeaning
adaptiveEven row; player names places for you (or you set aliases)
explicitYou define each place’s position in a named profile

Project defaults: Choice and character layout. Full key list: game.json map.

Change arrangement mid-story

Use a char_layout command (usually from a direction file) to switch to another profile — close-up, three-wide, off-stage row, and so on — when you have named those profiles in layout.characters.

Behind or above the dialogue box

Characters usually draw behind the dialogue panel so text stays readable. Panel system: What a panel is.

SettingEffect
behind_panelDefault — under the dialogue box
above_panelOver the box (rare; big portraits, special beats)

Set it on the pack (ui.draw_layer) or on a single char command.

This is not the same as sprite/object layer bands (bg_front / fg / overlay) — those are for props — Sprites and objects.

A character shader applies to the whole slot (all layers composited), not to one layer.

Usually you need

WantDo
Three standing spotsadaptive + slot_count: 3
Custom names / positionsexplicit profiles
Portrait over the boxdraw_layer: "above_panel"

Next

Motion and frames