import type { PrototypeOccurrence } from './prototypeOccurrence.js'; /** A transient scalar sample. Velocity is measured in progress units per second. */ export interface PrototypeMotionSample { progress: number; velocity: number; finished: boolean; reason?: 'settled' | 'duration-cap' | 'cancelled'; } /** Positive scene-space distance; the direction supplies its sign. */ export interface PrototypeDragConfiguration { mode: 'scrub'; axis: 'x' | 'y'; direction: 1 | -1; distance: number; commitThreshold: number; } export interface PrototypeDragPoint { x: number; y: number; } export interface PrototypeDragAddress { path: readonly string[]; occurrence?: PrototypeOccurrence; } /** A finite physical oscillator. Time supplied to its sampler is in milliseconds. */ export interface PrototypeSpringParameters { mass: number; stiffness: number; damping: number; }