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
}
}
}
| Mode | Meaning |
|---|---|
adaptive | Even row; player names places for you (or you set aliases) |
explicit | You 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.
| Setting | Effect |
|---|---|
behind_panel | Default — under the dialogue box |
above_panel | Over 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
| Want | Do |
|---|---|
| Three standing spots | adaptive + slot_count: 3 |
| Custom names / positions | explicit profiles |
| Portrait over the box | draw_layer: "above_panel" |