Add typed prompt axes route

This commit is contained in:
2026-06-27 10:32:38 +02:00
parent 6abd17b165
commit 00139d0cd9
5 changed files with 178 additions and 27 deletions
+63 -10
View File
@@ -2146,6 +2146,59 @@ def _prompt_axes_route(
)
def _prompt_axes_route_result(
*,
category: dict[str, Any],
subcategory: dict[str, Any],
item: Any,
subject_type: str,
context: dict[str, Any],
poses: str,
women_count: int,
men_count: int,
scene_rng: random.Random,
pose_rng: random.Random,
expression_rng: random.Random,
composition_rng: random.Random,
expression_disabled: bool,
expression_intensity: float,
character_slots: list[dict[str, Any]] | None = None,
character_slot_map: dict[str, dict[str, Any]] | None = None,
expression_phase: str = "",
source_role_graph: Any = "",
item_axis_values: dict[str, Any] | None = None,
is_pose_category: bool = False,
pov_character_labels: list[str] | None = None,
location_config: dict[str, Any] | None = None,
composition_config: dict[str, Any] | None = None,
) -> row_prompt_axes_policy.PromptAxesRoute:
return row_prompt_axes_policy.resolve_prompt_axes_result(
category=category,
subcategory=subcategory,
item=item,
subject_type=subject_type,
context=context,
poses=poses,
women_count=women_count,
men_count=men_count,
scene_rng=scene_rng,
pose_rng=pose_rng,
expression_rng=expression_rng,
composition_rng=composition_rng,
expression_disabled=expression_disabled,
expression_intensity=expression_intensity,
character_slots=character_slots,
character_slot_map=character_slot_map,
expression_phase=expression_phase,
source_role_graph=source_role_graph,
item_axis_values=item_axis_values,
is_pose_category=is_pose_category,
pov_character_labels=pov_character_labels,
location_config=location_config,
composition_config=composition_config,
)
def _role_graph_route(
*,
rng: random.Random,
@@ -2277,7 +2330,7 @@ def _build_custom_row(
expression_intensity = expression_route.expression_intensity
expression_intensity_source = expression_route.expression_intensity_source
prompt_axes = _prompt_axes_route(
prompt_axes = _prompt_axes_route_result(
category=category,
subcategory=subcategory,
item=item,
@@ -2302,15 +2355,15 @@ def _build_custom_row(
location_config=parsed_location_config,
composition_config=parsed_composition_config,
)
scene_slug = str(prompt_axes.get("scene_slug") or "")
scene = str(prompt_axes.get("scene") or "")
pose = str(prompt_axes.get("pose") or "")
expression = str(prompt_axes.get("expression") or "")
shared_expression = str(prompt_axes.get("shared_expression") or "")
character_expressions = list(prompt_axes.get("character_expressions") or [])
character_expression_text = str(prompt_axes.get("character_expression_text") or "")
source_composition = str(prompt_axes.get("source_composition") or "")
composition = str(prompt_axes.get("composition") or "")
scene_slug = prompt_axes.scene_slug
scene = prompt_axes.scene
pose = prompt_axes.pose
expression = prompt_axes.expression
shared_expression = prompt_axes.shared_expression
character_expressions = list(prompt_axes.character_expressions)
character_expression_text = prompt_axes.character_expression_text
source_composition = prompt_axes.source_composition
composition = prompt_axes.composition
action_route = _action_position_route(
is_pose_category=is_pose_category,
subcategory=subcategory,