Extract anal role graph wording

This commit is contained in:
2026-06-26 17:32:04 +02:00
parent 04ee754f68
commit ee62e2215d
6 changed files with 290 additions and 75 deletions
+8 -2
View File
@@ -111,6 +111,9 @@ Already isolated:
- penetration-specific role graph wording lives in
`hardcore_role_penetration.py`, covering the main vaginal penetration
position families while Krea POV rewriting keeps first-person geometry stable.
- anal/double-contact role graph wording lives in `hardcore_role_anal.py`,
covering rear-entry anal variants and front/back double-contact source
geometry.
- camera-scene prose and coworking composition adaptation live in
`scene_camera_adapters.py`; `prompt_builder.py` still owns camera config
parsing and row mutation.
@@ -177,8 +180,9 @@ Already isolated:
- `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.
- `krea_pov_actions.py` owns POV hardcore action sentence rewriting,
first-person body geometry, and selected-position-axis priority before loose
context fallback.
Improve later:
@@ -307,6 +311,8 @@ Near-term:
- Cover close foreplay and POV penetration Krea routes so raw labels, invalid
surface grammar, normal third-person camera text, and composition punctuation
drift are caught.
- Cover POV outercourse, oral, penetration, anal, and front/back double-contact
Krea routes so selected position geometry stays synchronized with metadata.
Medium-term:
+8
View File
@@ -68,6 +68,7 @@ Core helper ownership:
| `hardcore_role_oral.py` | Oral-sex role graph wording for kneeling, face-sitting, sixty-nine, edge-supported, side-lying, chair, standing, and reclining oral geometry. |
| `hardcore_role_outercourse.py` | Outercourse role graph wording for boobjob, testicle-sucking, penis-licking, handjob, and footjob geometry. |
| `hardcore_role_penetration.py` | Penetrative-sex role graph wording for missionary, cowgirl, reverse-cowgirl, doggy, standing, side-lying, raised-edge, kneeling-straddle, and lotus geometry. |
| `hardcore_role_anal.py` | Anal and double-contact role graph wording for rear-entry, raised-edge, kneeling, side-lying, and front/back double-position geometry. |
| `hardcore_action_metadata.py` | Source action-family and position-family metadata used by Krea2, SDXL, and caption routes. |
| `scene_camera_adapters.py` | Location-aware camera/scene prose such as coworking lounge camera layout. |
| `prompt_hygiene.py` | Generic prompt, caption, and negative-prompt cleanup. |
@@ -481,6 +482,8 @@ What each part owns:
- `sexual_poses.json`: available positions, families, action templates, role
graph templates, interaction templates, and action-specific pool references.
- `prompt_builder.py`: filters which templates/axes remain available.
- `hardcore_role_graphs.py` and action-family helper modules: turn selected
item axes into source role graphs before formatter-specific rewrites.
- `krea_formatter.py`: orchestrates the selected action rewrite into
model-readable prose.
- `krea_action_positions.py`: resolves non-POV pose anchors, body-arrangement
@@ -740,6 +743,11 @@ pair metadata through the core Python APIs, then verifies:
without recursive viewer wording;
- POV penetration routes keep constrained missionary, cowgirl, reverse-cowgirl,
doggy, raised-edge, and lotus geometry through Krea formatting;
- POV anal routes keep constrained doggy, bent-over, face-down, standing,
side-lying, raised-edge, and kneeling rear-entry geometry through Krea
formatting;
- front/back double-contact routes keep source role graph metadata and Krea
front/back position wording synchronized;
- expression-disabled rows do not fall back to generated expression text.
- static formatter metadata fixtures keep source-provided action families
stable across Krea2 prose, SDXL tags, and natural captions even when raw item