All files / tools/src/types CINETypes.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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                                                                                                   
type PlayClipOptions = {
  /** Frames per second; negative = play in reverse */
  framesPerSecond?: number;
  /** Time‑vector and speed  */
  frameTimeVector?: number[];
  frameTimeVectorSpeedMultiplier?: number;
  /** Play backwards from the start */
  reverse?: boolean;
  /** Jump back to the start/end when finished */
  loop?: boolean;
  /** Use 4‑D volume cine */
  dynamicCineEnabled?: boolean;
  // How many CINE frames to wait for a rendered event to occur before
  // trying to display the image after the next one
  // A CINE frame is attempted every 1 / fps seconds
  // The default is 30 tries, or 1.25 seconds at 24 fps
  waitForRendered?: number;
  /** Ping‑pong */
  bounce?: boolean;
};
 
interface ToolData {
  intervalId: number | undefined;
  framesPerSecond: number;
  lastFrameTimeStamp: number | undefined;
  frameTimeVector: number[] | undefined;
  ignoreFrameTimeVector: boolean;
  usingFrameTimeVector: boolean;
  speed: number;
  reverse: boolean;
  loop: boolean;
  bounce: boolean;
  dynamicCineEnabled?: boolean;
}
 
type CinePlayContext = {
  get numScrollSteps(): number;
  get currentStepIndex(): number;
  get frameTimeVectorEnabled(): boolean;
  // How many times has the wait for rendered been tried without showing
  // the next image.
  waitForRenderedCount?: number;
  scroll(delta: number): void;
  // An alternate implementation for video viewports or others that have
  // native play functionality
  play?(fps?: number): number;
};
 
export type { PlayClipOptions, ToolData, CinePlayContext };