TypeInterpolators

Handles interpolation of primitive and common value types.

Constructor

TypeInterpolators(args, kwargs)

Methods

interpolate_angle

interpolate_angle(
    start_value: float,
    end_value: float,
    eased_t: float | tuple[float, float]
) -> float

Interpolate between two angle values with wraparound handling.

Parameters

start_value
Starting angle
end_value
Ending angle
eased_t
Eased interpolation parameter

Returns

Interpolated angle

interpolate_color

interpolate_color(
    start_value: Color,
    end_value: Color,
    eased_t: float | tuple[float, float]
) -> Color

Interpolate between two Color values.

Parameters

start_value
Starting Color
end_value
Ending Color
eased_t
Eased interpolation parameter

Returns

Interpolated Color

interpolate_numeric

interpolate_numeric(
    start_value: int | float,
    end_value: int | float,
    eased_t: float | tuple[float, float]
) -> float

Interpolate between two numeric values.

Parameters

start_value
Starting number
end_value
Ending number
eased_t
Eased interpolation parameter

Returns

Interpolated number

interpolate_point2d

interpolate_point2d(
    start_value: Point2D,
    end_value: Point2D,
    eased_t: float | tuple[float, float]
) -> Point2D

Interpolate between two Point2D values.

Parameters

start_value
Starting Point2D
end_value
Ending Point2D
eased_t
Eased interpolation parameter (scalar or 2D tuple)

Returns

Interpolated Point2D

interpolate_step

interpolate_step(
    start_value: Any,
    end_value: Any,
    eased_t: float | tuple[float, float]
) -> Any

Step interpolation for non-numeric values.

Parameters

start_value
Starting value
end_value
Ending value
eased_t
Eased interpolation parameter

Returns

start_value if t < 0.5, else end_value

is_angle_field

is_angle_field(state: State, field_name: str) -> bool

Check if a field represents an angle value.

Parameters

state
State object
field_name
Name of the field to check

Returns

True if field represents an angle