PathResolver

Resolves path functions for Point2D animations using a 2-level priority system.

Priority (highest to lowest): 1. Segment-level path (from KeyState.transition.path dict) 2. Global default (linear) Path functions can apply to any Point2D field, specified by field name.

Methods

get_path

get_path(
    segment_path: Optional[Callable[[ForwardRef('Point2D'), ForwardRef('Point2D'), float], ForwardRef('Point2D')]] = None
) -> Callable[[ForwardRef('Point2D'), ForwardRef('Point2D'), float], ForwardRef('Point2D')]

Get the path function following the 2-level priority.

Parameters

segment_path
Optional segment-level path function

Returns

Path function to apply for Point2D interpolation

get_path_for_field

get_path_for_field(
    field_name: str,
    segment_interpolation_config: Optional[Dict[str, Callable[[ForwardRef('Point2D'), ForwardRef('Point2D'), float], ForwardRef('Point2D')]]] = None
) -> Callable[[ForwardRef('Point2D'), ForwardRef('Point2D'), float], ForwardRef('Point2D')]

Get the path function for a specific field following the 2-level priority.

Parameters

field_name
Name of the Point2D field (e.g., "pos", "anchor")
segment_interpolation_config
Optional segment-level path config dict {field_name: path_function}

Returns

Path function to apply for Point2D interpolation of this field