37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
try:
|
|
from . import pov_policy
|
|
except ImportError: # Allows local smoke tests with top-level imports.
|
|
import pov_policy
|
|
|
|
|
|
def pov_labels_from_value(value: Any) -> list[str]:
|
|
return pov_policy.pov_labels_from_value(value)
|
|
|
|
|
|
def merge_labels(*groups: list[str]) -> list[str]:
|
|
return pov_policy.merge_labels(*groups)
|
|
|
|
|
|
def filter_pov_labeled_clauses(text: Any, pov_labels: list[str]) -> str:
|
|
return pov_policy.filter_pov_labeled_clauses(text, pov_labels)
|
|
|
|
|
|
def pov_camera_phrase(pov_labels: list[str], softcore: bool = False) -> str:
|
|
if not pov_labels:
|
|
return ""
|
|
if softcore:
|
|
return (
|
|
"Camera is the male participant's first-person creator view in one continuous frame, with him implied by perspective and foreground cues"
|
|
)
|
|
return (
|
|
"Camera is the male participant's first-person view in one continuous frame, with foreground body cues anchoring the lower frame"
|
|
)
|
|
|
|
|
|
def pov_composition_text(composition: Any, pov_labels: list[str]) -> str:
|
|
return pov_policy.pov_composition_formatter_text(composition, pov_labels)
|