Align outercourse action routing

This commit is contained in:
2026-06-27 16:15:27 +02:00
parent ff6195473b
commit 002c3b79d4
10 changed files with 393 additions and 67 deletions
+5 -1
View File
@@ -160,6 +160,9 @@ Already isolated:
- row item selection, weighted item/pair choice, item-template axis filling,
and oral/outercourse/anal axis compatibility filters live in `row_item.py`;
`prompt_builder.py` keeps public delegate wrappers.
- outercourse action-kind classification for boobjob, testicle-sucking,
penis-licking, handjob, and footjob lives in `outercourse_action_policy.py`
and is shared by row item filtering, role graphs, and Krea action cleanup.
- row category/subcategory/item route resolution lives in
`row_category_route.py` behind `CategoryItemRoute`, covering hardcore
position-category filtering, cast-count adjustment, pose-vs-content seed-axis
@@ -257,7 +260,8 @@ Already isolated:
dominant guidance, camera performance, aftercare, and group coordination.
- outercourse-specific role graph wording has started moving into action-family
modules; `hardcore_role_outercourse.py` owns boobjob, testicle-sucking,
penis-licking, handjob, and footjob body geometry.
penis-licking, handjob, and footjob body geometry, keyed by
`outercourse_action_policy.py`.
- oral-specific role graph wording lives in `hardcore_role_oral.py`, including
direct POV viewer phrasing for kneeling, face-sitting, sixty-nine,
edge-supported, side-lying, chair, standing, and reclining oral positions.
+2 -1
View File
@@ -82,6 +82,7 @@ Core helper ownership:
| `category_extensions.py` | JSON `pool_extensions`, legacy pool patching, built-in category choice lists, and category/subcategory UI choices. |
| `category_template_metadata.py` | Object-style and inherited item-template metadata extraction, action/position family normalization, position-key normalization, key merging, formatter-hint merging, and audit validation errors. |
| `row_item.py` | Row item selection, weighted item/pair choice, item-template axis filling, and oral/outercourse/anal axis compatibility filters. |
| `outercourse_action_policy.py` | Shared boobjob, testicle-sucking, penis-licking, handjob, and footjob action-kind classification used by row selection, role graphs, and Krea detail routing. |
| `row_category_route.py` | Row category/subcategory/item route resolution behind `CategoryItemRoute`, hardcore position-category filtering, cast-count adjustment, pose-vs-content seed-axis choice, item metadata collection, legacy dict compatibility, and pose-category item sanitizing. |
| `row_rendering.py` | Row prompt/caption text-field resolution, template selection, safe formatting, default prompt templates, configured-cast descriptor insertion, and POV directive insertion. |
| `row_role_graph.py` | Row role-graph route sequencing, including hardcore source graph construction, pose-category environment-anchor cleanup, and POV role-graph rewriting. |
@@ -118,7 +119,7 @@ Core helper ownership:
| `hardcore_role_fallback.py` | Solo, same-sex, mixed group fallback, and support-partner role graph wording for configured casts. |
| `hardcore_role_interaction.py` | Foreplay, manual stimulation, body worship, clothing transition, dominant guidance, camera performance, aftercare, and group coordination role graph wording. |
| `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_outercourse.py` | Outercourse role graph wording for boobjob, testicle-sucking, penis-licking, handjob, and footjob geometry, keyed by `outercourse_action_policy.py`. |
| `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_role_climax.py` | Climax and ejaculation aftermath role graph wording for face/body/ass, lap, open-thigh, side-lying, and group front/back placement. |