Extract Krea action position helpers
This commit is contained in:
@@ -276,6 +276,7 @@ Edit targets:
|
||||
- Position filtering UI: `build_hardcore_position_pool_json`,
|
||||
`build_hardcore_action_filter_json`, `_apply_hardcore_position_config_to_subcategory`.
|
||||
- Krea2 action rewrite orchestration: `krea_formatter.py`.
|
||||
- Krea2 non-POV position anchors/arrangements: `krea_action_positions.py`.
|
||||
- Krea2 non-POV action rewrite: `krea_actions.py`.
|
||||
- Krea2 POV position rewrite: `krea_pov_actions.py`.
|
||||
|
||||
@@ -464,8 +465,10 @@ What each part owns:
|
||||
- `prompt_builder.py`: filters which templates/axes remain available.
|
||||
- `krea_formatter.py`: orchestrates the selected action rewrite into
|
||||
model-readable prose.
|
||||
- `krea_actions.py`: rewrites non-POV hardcore action sentences, pose anchors,
|
||||
arrangements, detail dedupe, and climax cleanup.
|
||||
- `krea_action_positions.py`: resolves non-POV pose anchors, body-arrangement
|
||||
text, duplicate arrangement checks, and action-position phrases.
|
||||
- `krea_actions.py`: rewrites non-POV hardcore action sentences, item/detail
|
||||
dedupe, and climax cleanup.
|
||||
- `krea_pov_actions.py`: rewrites POV variants with first-person geometry.
|
||||
|
||||
Current broad hardcore families:
|
||||
@@ -553,6 +556,7 @@ Key Krea2 ownership:
|
||||
- Cast descriptor naturalization: `krea_cast.cast_prose`,
|
||||
`krea_cast.natural_label_text`.
|
||||
- Action context and family predicates: `krea_action_context.py`.
|
||||
- Non-POV pose anchors and arrangements: `krea_action_positions.py`.
|
||||
- Non-POV hardcore action sentence: `krea_actions.hardcore_action_sentence`.
|
||||
- POV labels, filtering, and camera/composition support: `krea_pov.py`.
|
||||
- Detail clause splitting and density limiting: `krea_detail.py`.
|
||||
@@ -716,7 +720,7 @@ pair metadata through the core Python APIs, then verifies:
|
||||
| Wrong expression intensity | Character slot expression settings, `_expression_entries_for_intensity`, expression pools. |
|
||||
| Expression appears when disabled | `_disable_row_expression`, formatter expression extraction. |
|
||||
| Same hardcore action repeats | Hardcore filter config, `sexual_poses.json` weights, `_apply_hardcore_position_config_to_subcategory`. |
|
||||
| Hardcore interaction beat falls back to penetration/oral | `sexual_poses.json` interaction subcategory, `_role_graph`, and `krea_action_context.is_foreplay_text` / `krea_actions.hardcore_pose_anchor`. |
|
||||
| Hardcore interaction beat falls back to penetration/oral | `sexual_poses.json` interaction subcategory, `_role_graph`, and `krea_action_context.is_foreplay_text` / `krea_action_positions.hardcore_pose_anchor`. |
|
||||
| Raw hardcore prompt position is vague | `sexual_poses.json` item templates and role graph templates. |
|
||||
| Krea2 hardcore prompt position is vague | `krea_actions.hardcore_action_sentence` or `krea_pov_actions.py`. |
|
||||
| Man appears described in POV | POV labels, `krea_cast.cast_prose` omit labels, `krea_pov_actions.pov_action_phrase`. |
|
||||
@@ -741,8 +745,9 @@ Use these traces to narrow a problem in one pass.
|
||||
3. Inspect `categories/sexual_poses.json` for the selected subcategory,
|
||||
`item_templates`, `axes`, and `weight`.
|
||||
4. If raw `item` differs but Krea output looks identical, inspect
|
||||
`krea_action_context.py` family predicates first, then `krea_actions.py`
|
||||
pose anchors, arrangements, item detail cleanup, and action sentence dispatch.
|
||||
`krea_action_context.py` family predicates first, then
|
||||
`krea_action_positions.py` pose anchors/arrangements and `krea_actions.py`
|
||||
item detail cleanup/action sentence dispatch.
|
||||
|
||||
### POV position is spatially wrong
|
||||
|
||||
|
||||
Reference in New Issue
Block a user