File size: 1,840 Bytes
1e3ce4c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
"""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",
]