π Whitelist & Layering Rules¶
π‘οΈ Whitelist¶
conf/whitelist.yaml is the single source of truth for valid component codes.
π Categories¶
- π§ STA (Stance/Pose): Character body pose
- π EXP (Expression): Facial expression overlay
- β ACT (Action): Character action animation
- π BG (Background): Scene background
- β¨ CG (CG illustration): Full-scene illustration that replaces the entire layered composition (like a CG scene in visual novels/games). When CG is not
CG_None, BG/STA/ACT/EXP are all hidden.
β Valid Codes¶
| Category | Codes |
|---|---|
| π§ STA | STA_Stand_Front, STA_Stand_Side, STA_Stand_Lean |
| π EXP | EXP_Neutral, EXP_Thinking, EXP_Astonished, EXP_Concerned, EXP_Laugh, EXP_Smile_EyesClosed, EXP_PretendClueless |
| β ACT | ACT_None, ACT_ArmsCrossed, ACT_PalmOpen, ACT_GlassesPush, ACT_HandOnHip, ACT_HeadTilt, ACT_MouthCover, ACT_ObjectPresent, ACT_WaveGreeting, ACT_WaveFarewell |
| π BG | BG_Lab_Modern, BG_Garden_Rooftop, BG_Cafe_Starbucks |
| β¨ CG | CG_None, CG_PandorasTech |
π οΈ Validation¶
All scene events are validated against the whitelist. Invalid codes are auto-repaired to the default (first) code in each category.
π° Layering Order¶
Normal mode (CG_None)¶
flowchart LR
BG -->|bottom| STA --> ACT --> EXP[EXP\ntop]
CG mode (any CG other than CG_None)¶
flowchart LR
CG["CG (replaces all layers)"]
This order is enforced in both the renderer and the frontend.