Add coworking camera-aware scene prompts

This commit is contained in:
2026-06-25 23:07:31 +02:00
parent 9434070877
commit ec5640fa22
4 changed files with 282 additions and 6 deletions
+12
View File
@@ -376,6 +376,7 @@ def _single_from_row(row: dict[str, Any], detail_level: str, keep_style: bool) -
pose = _row_value(row, "pose", ("Pose",))
expression = "" if _expression_disabled(row) else _row_value(row, "expression", ("Facial expression", "Facial expressions"))
composition = _normalize_composition(_row_value(row, "composition", ("Composition",)))
camera_scene = _clean_text(row.get("camera_scene_directive"))
prop = _row_value(row, "prop", ("Prop/detail",))
style = _row_value(row, "style") if keep_style else ""
@@ -401,6 +402,8 @@ def _single_from_row(row: dict[str, Any], detail_level: str, keep_style: bool) -
parts.append(f"{possessive_pronoun(subject)} expression is {expression}")
if scene:
parts.append(f"The setting is {scene}")
if _detail_allows(detail_level) and camera_scene:
parts.append(camera_scene)
if _detail_allows(detail_level) and composition:
parts.append(f"The composition is {composition}")
if keep_style and style:
@@ -447,6 +450,7 @@ def _couple_from_row(row: dict[str, Any], detail_level: str, keep_style: bool) -
if not _expression_disabled(row):
expression = _row_value(row, "character_expression_text") or _row_value(row, "expression", ("Facial expressions", "Facial expression"))
composition = _normalize_composition(_row_value(row, "composition", ("Composition",)))
camera_scene = _clean_text(row.get("camera_scene_directive"))
style = _row_value(row, "style") if keep_style else ""
parts = [f"{_cap_first(subject)} are adults"]
@@ -460,6 +464,8 @@ def _couple_from_row(row: dict[str, Any], detail_level: str, keep_style: bool) -
parts.append(f"The pose is {pose}")
if scene:
parts.append(f"The setting is {scene}")
if _detail_allows(detail_level) and camera_scene:
parts.append(camera_scene)
if expression:
parts.append(f"Their expressions are {expression}")
if _detail_allows(detail_level) and composition:
@@ -484,6 +490,7 @@ def _configured_cast_from_row(row: dict[str, Any], detail_level: str, keep_style
if not _expression_disabled(row):
expression = _row_value(row, "character_expression_text") or _row_value(row, "expression", ("Facial expressions", "Facial expression"))
composition = _normalize_composition(_row_value(row, "composition", ("Composition",)))
camera_scene = _clean_text(row.get("camera_scene_directive"))
cast_descriptor_text = _row_value(row, "cast_descriptor_text", ("Characters", "Cast descriptors"))
scene_kind = _row_value(row, "scene_kind") or "explicit adult sex scene"
style = _row_value(row, "style") if keep_style else ""
@@ -506,6 +513,8 @@ def _configured_cast_from_row(row: dict[str, Any], detail_level: str, keep_style
scene_bits.append(f"framed as {composition}")
if scene_bits and _detail_allows(detail_level):
parts.append(", ".join(scene_bits))
if _detail_allows(detail_level) and camera_scene:
parts.append(camera_scene)
if keep_style and style:
parts.append(f"The visual style is {style}")
return _join_sentences(parts), "metadata(configured_cast)"
@@ -524,6 +533,7 @@ def _group_or_layout_from_row(row: dict[str, Any], detail_level: str, keep_style
if not _expression_disabled(row):
expression = _row_value(row, "character_expression_text") or _row_value(row, "expression", ("Facial expressions", "Facial expression"))
composition = _normalize_composition(_row_value(row, "composition", ("Composition",)))
camera_scene = _clean_text(row.get("camera_scene_directive"))
style = _row_value(row, "style") if keep_style else ""
if primary == "layout scene":
@@ -540,6 +550,8 @@ def _group_or_layout_from_row(row: dict[str, Any], detail_level: str, keep_style
parts.append(f"They show {expression}")
if scene:
parts.append(f"The setting is {scene}")
if _detail_allows(detail_level) and camera_scene:
parts.append(camera_scene)
if _detail_allows(detail_level) and composition:
parts.append(f"The composition is {composition}")
if keep_style and style: