AlterProgramming's picture
Initial venture-studio deploy: pixel_cursor + studio + app.py
1e3ce4c verified
Raw
History Blame Contribute Delete
881 Bytes
"""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
@dataclass(frozen=True, slots=True)
class FrameIndex:
index: int
@dataclass(frozen=True, slots=True)
class FrameRange:
start: int
end: int
class _AllFrames:
__slots__ = ()
def __repr__(self) -> str:
return "ALL_FRAMES"
ALL_FRAMES = _AllFrames()
TemporalScope = Union[FrameIndex, FrameRange, _AllFrames]
@dataclass(frozen=True, slots=True)
class DepthScope:
layer_id: Optional[str] = None
@dataclass(frozen=True, slots=True, eq=False)
class OpacityProfile:
kind: str = "hard"
falloff: Optional[np.ndarray] = None
@dataclass(frozen=True, slots=True, eq=False)
class IdentityLock:
embedding: np.ndarray
source: str = ""