| """Scope: WHERE in time, depth, identity, and opacity the cursor extends.""" | |
| from __future__ import annotations | |
| from dataclasses import dataclass | |
| from typing import Optional, Union | |
| import numpy as np | |
| class FrameIndex: | |
| index: int | |
| class FrameRange: | |
| start: int | |
| end: int | |
| class _AllFrames: | |
| __slots__ = () | |
| def __repr__(self) -> str: | |
| return "ALL_FRAMES" | |
| ALL_FRAMES = _AllFrames() | |
| TemporalScope = Union[FrameIndex, FrameRange, _AllFrames] | |
| class DepthScope: | |
| layer_id: Optional[str] = None | |
| class OpacityProfile: | |
| kind: str = "hard" | |
| falloff: Optional[np.ndarray] = None | |
| class IdentityLock: | |
| embedding: np.ndarray | |
| source: str = "" | |