an.base
Core types, constants, and re-exports for an.
This module is the type vocabulary shared across the package: schema versions, default render parameters, easing presets, type aliases for paths and time. Heavy data classes (the Pydantic IR models, the Renderer/Verifier protocols) live in their own subpackages and are re-exported from an itself.
Keep this module small and dependency-light. Everything here should import in a fraction of a second so the CLI is snappy.
- an.base.COMPATIBLE_VERSION: str = '0.1.0'
Minimum Scene IR version this code can still read without migration.
- an.base.EASING_PRESETS: tuple[str, ...] = ('linear', 'ease', 'ease_in', 'ease_out', 'ease_in_out', 'step')
Named easing presets. Renderers should accept these and the cubic-Bézier 4-tuple form [cx1, cy1, cx2, cy2]. Names follow the GSAP / CSS convention.
- an.base.EasingSpec: TypeAlias = str | tuple[float, float, float, float] | list[float]
Either an easing preset name or a 4-tuple cubic-Bézier control [cx1,cy1,cx2,cy2].
- an.base.PathStr
Slash-delimited node path, e.g.
"charlie/torso/left_arm".
- an.base.SCHEMA_VERSION: str = '0.1.0'
Current Scene IR schema version. Bump on additive changes; on breaking changes, also bump COMPATIBLE_VERSION and add a migration in ir.migrate.
- an.base.Seconds
Time in seconds. Floats at the IR boundary; rational time is used internally only inside the audio pipeline where drift matters.
- an.base.StyleName
The renderer-style of a shot. The orchestrator uses this to pick an adapter.
alias of
Literal[‘cutout’, ‘manim’, ‘motion_graphics’, ‘whiteboard’]