predraw v0.3.0 /predraw.pipeline
On this page

Pipeline executor for predraw scenes.

#predraw.pipeline

#predraw.pipeline

Pipeline executor for predraw scenes.

Executes ordered postprocessing steps that modify the element tree in place.

#execute_pipeline

python
def execute_pipeline(scene: Scene) -> None

Execute all pipeline steps on the scene, modifying it in place.

#_execute_step

python
def _execute_step(scene: Scene, step: dict) -> None

Execute a single pipeline step.

#_find_element

python
def _find_element(elements: list[Element], element_id: str) -> Element | None

Find an element by ID, searching recursively through groups.

#_find_and_remove

python
def _find_and_remove(elements: list[Element], element_id: str) -> Element | None

Find and remove an element by ID from the list (top-level only).

#_center

python
def _center(scene: Scene, target_id: str, axis: str) -> None

Center an element within the scene canvas.

#_center_text

python
def _center_text(scene: Scene, element: Element, axis: str) -> None

Center a text element. Uses anchor=middle for x, baseline offset for y.

#_center_rect

python
def _center_rect(scene: Scene, element: Element, axis: str) -> None

Center a rect element by adjusting x/y.

#_center_group

python
def _center_group(scene: Scene, element: Element, axis: str) -> None

Center a group by wrapping in a translate transform.

#_center_with_transform

python
def _center_with_transform(scene: Scene, element: Element, axis: str) -> None

Center an element using a translate transform (fallback for unknown geometry).

#_place

python
def _place(scene: Scene, step: dict) -> None

Position an element relative to another in a given direction.

Supports directions: below, above, right, left.

#_group

python
def _group(scene: Scene, target_ids: list[str], group_id: str) -> None

Wrap multiple elements into a new group.

#_replace_element

python
def _replace_element(elements: list[Element], element_id: str, replacement: Element) -> bool

Replace an element by ID in the list, searching recursively into groups.

#_text_to_paths

python
def _text_to_paths(scene: Scene, target_id: str) -> None

Convert a text element to a group of path elements using font outlines.

Search