Name plate
Lives in: themes/default.json → labelplate.*, plus character packs (display_name / ui)
The box that shows who is speaking.
What the character pack sets
| Pack key | Effect |
|---|---|
display_name | Text on the plate for that speaker (usual) |
display_name_key | Catalog key when you translate names |
ui.default_labelplate_style_key | Which name-plate style from the theme this character prefers |
ui.default_panel_id / default_panel_preset | Which dialogue panel this character prefers |
Packs: Expressions and packs. Which box shows the name: How text finds a panel. Speakers and joint labels: Lines and speakers.
Theme styles
Named looks under labelplate.<style_key>:
"labelplate": {
"default": {
"font_color": "#ffffff",
"font_size": 20,
"bg": "#00000099",
"padding_left": 12,
"padding_right": 12,
"padding_top": 6,
"padding_bottom": 6
},
"whisper": {
"font_color": "#cccccc",
"bg": "#00000066"
}
}
| Key | Effect |
|---|---|
font_color / font_size / font | Name text |
bold | Bold face when the font provides it |
bg | Flat plate colour |
bg_texture / bg_9slice | Image plate |
padding_* | Inner margins |
Resolution: start from labelplate.default (if present), then overlay labelplate.<style_key>.
Who picks the style
First match wins:
- Explicit
style_keyon alabelplatecommand / moment field - Panel preset
labelplate_style_key - Character pack
ui.default_labelplate_style_key
Inline vs docked
By default the name sits inline above the dialogue text. If the panel preset sets labelplate_layout (anchors + offsets), the plate can dock to a panel edge instead — How a panel looks.
Story override
A direction labelplate command (or moment field) can change text, style, or visibility for a beat:
{
"type": "labelplate",
"panel_id": "main",
"text": "???",
"style_key": "whisper",
"apply": "persistent"
}
| Field | Effect |
|---|---|
text / text_key | Plate body ({@auto} expands to the speaker) |
style_key | Theme style name |
visible | Show / hide |
mode | "inline" or "docked" |
apply | "persistent" (sticky) or "node_local" (this moment) |
reset | Clear sticky override |
Prefer pack display_name for everyday cast names; use the command for mystery labels and one-off looks.
Usually you need
| Want | Do |
|---|---|
| Show “Hana” | Pack "display_name": "Hana" |
| Special colour for one cast member | Theme style + ui.default_labelplate_style_key |
| Hide the plate for a beat | labelplate with "visible": false |
| “???” then reveal | Sticky text: "???", later reset or new text |