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 }; |