Extract row rendering policy

This commit is contained in:
2026-06-27 09:35:37 +02:00
parent 55fec890a5
commit c076b22b75
5 changed files with 207 additions and 67 deletions
@@ -131,6 +131,9 @@ Already isolated:
- row item selection, weighted item/pair choice, item-template axis filling,
and oral/outercourse axis compatibility filters live in `row_item.py`;
`prompt_builder.py` keeps public delegate wrappers.
- row prompt/caption template selection, safe formatting, default prompt
templates, configured-cast descriptor insertion, and POV directive insertion
live in `row_rendering.py`; `prompt_builder.py` keeps compatibility aliases.
- row action/position route metadata resolution, template metadata precedence,
inferred position-key merging, and source action-family fallback live in
`row_route_metadata.py`; `prompt_builder.py` keeps a public delegate wrapper.
+3 -1
View File
@@ -71,6 +71,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 item-template metadata extraction, action/position family normalization, position-key normalization, key merging, and audit validation errors. |
| `row_item.py` | Row item selection, weighted item/pair choice, item-template axis filling, and oral/outercourse axis compatibility filters. |
| `row_rendering.py` | Row prompt/caption template selection, safe formatting, default prompt templates, configured-cast descriptor insertion, and POV directive insertion. |
| `row_route_metadata.py` | Row action/position route metadata resolution, template metadata precedence, inferred position-key merging, and source action-family fallback. |
| `row_generation.py` | Built-in legacy row generation, auto-weighted/auto-full selection, row mode randomization, ratio clamps, and expression-intensity randomization. |
| `category_cast_config.py` | Category preset and cast preset schemas, category/cast config JSON builders, choice lists, and config parsers used by route nodes. |
@@ -245,7 +246,8 @@ Important JSON keys:
- `expression_pool` / `expression_pools` or direct `expressions`: expression road.
- `composition_pool` / `composition_pools` or direct `compositions`: framing road.
- `poses`: category-specific pose fallback.
- `prompt_template` / `caption_template`: final prompt assembly for that category.
- `prompt_template` / `caption_template`: final row prompt/caption assembly,
selected and formatted by `row_rendering.py`.
- `inherit_scenes`, `inherit_expressions`, `inherit_compositions`: stop or allow
inheritance from category/subcategory/item levels.
- `pool_extensions`: patch legacy pools from JSON through `category_extensions.py`.