Extract Krea action family dispatch

This commit is contained in:
2026-06-26 16:26:28 +02:00
parent f6d6dfffb4
commit 0e49aed8ac
4 changed files with 254 additions and 145 deletions
+9 -8
View File
@@ -158,14 +158,16 @@ Already isolated:
outercourse, oral, penetration, toy/double-contact, and anchor dedupe paths.
- `krea_action_climax.py` owns climax-specific role/detail cleanup and aftermath
view dedupe.
- `krea_actions.py` owns non-POV hardcore action sentence dispatch.
- `krea_action_dispatch.py` owns non-POV role normalization, action-family
classification, and family-specific detail cleanup.
- `krea_actions.py` owns final non-POV hardcore action sentence assembly.
- `krea_pov_actions.py` owns POV hardcore action sentence rewriting and
first-person body geometry.
Improve later:
- make `krea_actions.hardcore_action_sentence` dispatch by action family instead
of long conditional chains;
- add metadata fields such as `action_family` / `position_family` to reduce
keyword guessing in hardcore formatter dispatch;
- add route-level smoke fixtures for representative metadata rows;
### SDXL Formatter Path
@@ -344,10 +346,9 @@ Medium-term:
## Recommended Next Passes
1. Split `krea_actions.hardcore_action_sentence` into action-family dispatch
helpers, using `krea_cast.py` as the pattern for stable import aliases and
smoke coverage.
1. Add metadata fields such as `action_family` / `position_family` to reduce
keyword guessing in hardcore filters and formatter dispatch.
2. Split `__init__.py` node classes by family after behavior is covered by smoke
checks.
3. Add metadata fields such as `action_family` / `position_family` to reduce
keyword guessing in hardcore filters and formatter dispatch.
3. Add route-level smoke fixtures for representative Krea/SDXL/caption metadata
rows.