Extract hardcore position config policy

This commit is contained in:
2026-06-27 00:45:37 +02:00
parent 5675536009
commit 50d0ffa7e3
6 changed files with 633 additions and 423 deletions
@@ -117,6 +117,10 @@ Already isolated:
location/composition entry parsing, merge behavior, and config parsing live
in `location_config.py`; `prompt_builder.py` still applies selected configs
to rows.
- hardcore position/action-filter choices, selected-position normalization,
config JSON builders/parsers, focus-policy toggles, subcategory allow-list
policy, and position-key detection live in `hardcore_position_config.py`;
`prompt_builder.py` still applies the config to category rows.
- hardcore configured-cast role graph generation lives in
`hardcore_role_graphs.py`; `prompt_builder.py` selects item/axis metadata and
then asks that module for the source role graph.
+4 -2
View File
@@ -74,6 +74,7 @@ Core helper ownership:
| `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. |
| `location_config.py` | Location/composition preset schemas, themed location packs, custom location/composition parsing, pool merge behavior, and location/composition config parsing. |
| `hardcore_position_config.py` | Hardcore position/action-filter choices, selected-position normalization, config JSON builders/parsers, focus-policy toggles, subcategory allow-list policy, and position-key detection. |
| `pair_options.py` | Insta/OF option schema/defaults, softcore category/outfit/pose pools, partner outfit pools, clothing-continuity labels, negatives, and hardcore cast count policy. |
| `pair_rows.py` | Insta/OF soft/hard row creation, softcore expression override resolution, Woman A slot context application, soft outfit/pose overrides, and POV row fields. |
| `pair_camera.py` | Insta/OF soft/hard camera route resolution, same-as-softcore camera mode, camera-detail override, camera-aware composition mutation, POV camera suppression, and synchronized row/root camera metadata. |
@@ -306,8 +307,9 @@ Edit targets:
`foreplay_teasing`, `manual_stimulation`, `body_worship_touching`,
`clothing_position_transitions`, `dominant_guidance`,
`camera_performance`, `group_coordination`, and `aftercare_cleanup`.
- Position filtering UI: `build_hardcore_position_pool_json`,
`build_hardcore_action_filter_json`, `_apply_hardcore_position_config_to_subcategory`.
- Position filtering UI/config: builders and parsers live in
`hardcore_position_config.py`; `prompt_builder._apply_hardcore_position_config_to_subcategory`
applies the config to category rows.
- Krea2 action rewrite orchestration: `krea_formatter.py`.
- Krea2 non-POV position anchors/arrangements: `krea_action_positions.py`.
- Krea2 non-climax item/detail cleanup: `krea_action_details.py`.