Extract character slot policy

This commit is contained in:
2026-06-27 08:30:41 +02:00
parent 3f251a6bb7
commit e9cc75bd5f
7 changed files with 484 additions and 244 deletions
+6 -1
View File
@@ -140,7 +140,12 @@ Already isolated:
- character choice lists, descriptor detail/presence/slot-seed normalization,
characteristic-list JSON builders/parsers, eye labels, hair config
builders/parsers, and hair phrase helpers live in `character_config.py`;
`prompt_builder.py` still resolves full character slots.
`prompt_builder.py` keeps public delegate wrappers.
- character slot JSON construction, character-cast parsing, slot normalization,
slot summary text, slot expression override policy, slot seed helpers, and
slot figure/ethnicity normalization live in `character_slot.py`;
`prompt_builder.py` keeps public delegate wrappers and still resolves
generation-time appearance context from normalized slots.
- character manual-detail config, profile name/path policy, profile JSON
normalization, descriptor assembly, save/load/rename/delete operations,
fallback profile loading, and context override application live in
+4 -2
View File
@@ -74,6 +74,7 @@ Core helper ownership:
| `camera_config.py` | Camera option schema, direct/orbit/Qwen camera JSON builders, camera config parsing, plain camera directive text, and camera caption labels. |
| `character_config.py` | Character choice lists, descriptor detail/presence/slot-seed normalization, characteristic-list JSON builders/parsers, eye labels, hair config builders/parsers, and hair phrase helpers. |
| `character_profile.py` | Character manual-detail config, profile name/path policy, profile JSON normalization, descriptor assembly, save/load/rename/delete operations, fallback profile loading, and context override application. |
| `character_slot.py` | Character slot JSON construction, character-cast parsing, slot normalization, slot summary text, slot expression override policy, slot seed helpers, and slot figure/ethnicity normalization. |
| `filter_config.py` | Ethnicity/filter choices, advanced filter JSON, ethnicity-list JSON, filter parsing, and ethnicity normalization used by builder and character routes. |
| `generation_profile_config.py` | Generation profile presets, profile option overrides, trigger policy, expression/pose/clothing config normalization, and profile config parsing. |
| `seed_config.py` | Seed axis salts/aliases, seed mode choices, global/axis lock JSON builders, seed config parsing, row seed math, and deterministic axis RNG construction. |
@@ -389,8 +390,9 @@ Important behavior:
Edit targets:
- Appearance field generation: `_context_from_character_slot`,
`_character_context_for_label`; character-slot label assignment:
- Character slot JSON/parsing/summary: `character_slot.py`; appearance field
generation: `_context_from_character_slot`, `_character_context_for_label`;
character-slot label assignment:
`cast_context.character_slot_label_map`; pair cast descriptor entry assembly:
`pair_cast.cast_descriptor_entries`.
- Profile save/load: `SxCPCharacterProfileSave`,