"""pixel_cursor — the cursor primitive that owns animation studio pixel mutation. Public surface: PixelCursor, open_cursor — the cursor type and entry point Point, Region, Mask, Token, — selector types Layer, Anchor3D, Selector TemporalScope, FrameIndex, — temporal scope FrameRange, ALL_FRAMES DepthScope, OpacityProfile, — auxiliary scope IdentityLock Image, FrameStack, Artifact — artifacts (immutable; construct via cursor or loader) load_image — disk loader ease_between, step_on_stride, — timing primitives (A1 classical-animation layer) hold_with_micro, AnimationSegment, interp_t, CURVES ops — backend registration registry Backends register concrete write_* via pixel_cursor.ops.register_backend(op, name, fn). """ from .cursor import PixelCursor, open_cursor from .selectors import Point, Region, Mask, Token, Layer, Anchor3D, Selector from .scope import ( TemporalScope, FrameIndex, FrameRange, ALL_FRAMES, DepthScope, IdentityLock, OpacityProfile, ) from .artifact import Artifact, Image, FrameStack, load_image from .timing import ( AnimationSegment, ease_between, step_on_stride, hold_with_micro, interp_t, CURVES, ) from . import ops __all__ = [ "PixelCursor", "open_cursor", "Point", "Region", "Mask", "Token", "Layer", "Anchor3D", "Selector", "TemporalScope", "FrameIndex", "FrameRange", "ALL_FRAMES", "DepthScope", "OpacityProfile", "IdentityLock", "Artifact", "Image", "FrameStack", "load_image", "AnimationSegment", "ease_between", "step_on_stride", "hold_with_micro", "interp_t", "CURVES", "ops", ]