import type { AreaEmitter, ArrayEmitter, IntervalEmitter, MatrixEmitter, VolumeEmitter, VoxelEmitter, } from "./primitives/types/types_typed"; import { Traits as TraitsValue } from "./primitives/types/traits"; type Traits = typeof TraitsValue; /** * Create a type with the same keys as `R` but with the suffix `S` appended. * Keys of `R` that are not strings are ignored. */ type Suffixed = { [K in keyof R as K extends string ? `${K}${S}` : never]: R[K]; }; interface GetTraitsNode { id: ReturnType; classes: ReturnType; } interface SetTraitsNode { /** * Unique ID * @default `null` * @example `"sampler"` */ id?: Parameters[0]; /** * Custom classes * @default `[]` * @example `["big"]` */ classes?: Parameters[0]; } interface GetTraitsEntity { active: ReturnType; } interface SetTraitsEntity { /** * Updates continuously * @default `true` */ active?: Parameters[0]; } interface GetTraitsObject { visible: ReturnType; } interface SetTraitsObject { /** * Visibility for rendering * @default `true` */ visible?: Parameters[0]; } interface GetTraitsLatch { data: ReturnType; deep: ReturnType; } interface SetTraitsLatch { /** * Data to monitor for changes * @default `null` */ data?: Parameters[0]; /** * Do deep value comparison * @default `true` */ deep?: Parameters[0]; } interface GetTraitsUnit { scale: ReturnType; fov: ReturnType; focus: ReturnType; } interface SetTraitsUnit { /** * (Vertical) Reference scale of viewport in pixels * @default `null` * @example `720` */ scale?: Parameters[0]; /** * (Vertical) Field-of-view to calibrate units for (degrees) * @default `null` * @example `60` */ fov?: Parameters[0]; /** * Camera focus distance in world units * @default `1` */ focus?: Parameters[0]; } interface GetTraitsSpan { range: ReturnType; } interface SetTraitsSpan { /** * Range on axis * @default `[-1, 1]` */ range?: Parameters[0]; } interface GetTraitsView { range: ReturnType; } interface SetTraitsView { /** * 4D range in view * @default `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` */ range?: Parameters[0]; } interface GetTraitsView3 { position: ReturnType; quaternion: ReturnType; rotation: ReturnType; scale: ReturnType; eulerOrder: ReturnType; } interface SetTraitsView3 { /** * 3D Position * @default `[0, 0, 0]` */ position?: Parameters[0]; /** * 3D Quaternion * @default `[0, 0, 0, 1]` */ quaternion?: Parameters[0]; /** * 3D Euler rotation * @default `[0, 0, 0]` */ rotation?: Parameters[0]; /** * 3D Scale * @default `[1, 1, 1]` */ scale?: Parameters[0]; /** * Euler order * @default `xyz` */ eulerOrder?: Parameters[0]; } interface GetTraitsView4 { position: ReturnType; scale: ReturnType; } interface SetTraitsView4 { /** * 4D Position * @default `[0, 0, 0, 0]` */ position?: Parameters[0]; /** * 4D Scale * @default `[1, 1, 1, 1]` */ scale?: Parameters[0]; } interface GetTraitsLayer { depth: ReturnType; fit: ReturnType; } interface SetTraitsLayer { /** * 3D Depth * @default `1` */ depth?: Parameters[0]; /** * Fit to (contain, cover, x, y) * @default `y` */ fit?: Parameters[0]; } interface GetTraitsVertex { pass: ReturnType; } interface SetTraitsVertex { /** * Vertex pass (data, view, world, eye) * @default `"view"` */ pass?: Parameters[0]; } interface GetTraitsFragment { pass: ReturnType; gamma: ReturnType; } interface SetTraitsFragment { /** * Fragment pass (color, light, rgba) * @default `"light"` */ pass?: Parameters[0]; /** * Pass RGBA values in sRGB instead of linear RGB * @default `false` */ gamma?: Parameters[0]; } interface GetTraitsTransform3 { position: ReturnType; quaternion: ReturnType; rotation: ReturnType; eulerOrder: ReturnType; scale: ReturnType; matrix: ReturnType; } interface SetTraitsTransform3 { /** * 3D Position * @default `[0, 0, 0]` */ position?: Parameters[0]; /** * 3D Quaternion * @default `[0, 0, 0, 1]` */ quaternion?: Parameters[0]; /** * 3D Euler rotation * @default `[0, 0, 0]` */ rotation?: Parameters[0]; /** * 3D Euler order * @default `xyz` */ eulerOrder?: Parameters[0]; /** * 3D Scale * @default `[1, 1, 1]` */ scale?: Parameters[0]; /** * 3D Projective Matrix * @default `[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]` */ matrix?: Parameters[0]; } interface GetTraitsTransform4 { position: ReturnType; scale: ReturnType; matrix: ReturnType; } interface SetTraitsTransform4 { /** * 4D Position * @default `[0, 0, 0, 0]` */ position?: Parameters[0]; /** * 4D Scale * @default `[1, 1, 1, 1]` */ scale?: Parameters[0]; /** * 4D Affine Matrix * @default `[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]` */ matrix?: Parameters[0]; } interface GetTraitsCamera { proxy: ReturnType; position: ReturnType; quaternion: ReturnType; rotation: ReturnType; lookAt: ReturnType; up: ReturnType; eulerOrder: ReturnType; fov: ReturnType; } interface SetTraitsCamera { /** * Re-use existing camera * @default `false` */ proxy?: Parameters[0]; /** * 3D Position * @default `null` * @example `[1, 2, 3]` */ position?: Parameters[0]; /** * 3D Quaternion * @default `null` * @example `[0.707, 0, 0, 0.707]` */ quaternion?: Parameters[0]; /** * 3D Euler rotation * @default `null` * @example `[π/2, 0, 0]` */ rotation?: Parameters[0]; /** * 3D Look at * @default `null` * @example `[2, 3, 4]` */ lookAt?: Parameters[0]; /** * 3D Up * @default `null` * @example `[0, 1, 0]` */ up?: Parameters[0]; /** * 3D Euler order * @default `"xyz"` */ eulerOrder?: Parameters[0]; /** * Field-of-view (degrees) * @default `null` * @example `60` */ fov?: Parameters[0]; } interface GetTraitsPolar { bend: ReturnType; helix: ReturnType; } interface SetTraitsPolar { /** * Amount of polar bend * @default `1` */ bend?: Parameters[0]; /** * Expand into helix * @default `0` */ helix?: Parameters[0]; } interface GetTraitsSpherical { bend: ReturnType; } interface SetTraitsSpherical { /** * Amount of spherical bend * @default `1` */ bend?: Parameters[0]; } interface GetTraitsStereographic { bend: ReturnType; } interface SetTraitsStereographic { /** * Amount of stereographic bend * @default `1` */ bend?: Parameters[0]; } interface GetTraitsInterval { axis: ReturnType; } interface SetTraitsInterval { /** * Axis * @default `1` */ axis?: Parameters[0]; } interface GetTraitsArea { axes: ReturnType; } interface SetTraitsArea { /** * Axis pair * @default `[1, 2]` */ axes?: Parameters[0]; } interface GetTraitsVolume { axes: ReturnType; } interface SetTraitsVolume { /** * Axis triplet * @default `[1, 2, 3]` */ axes?: Parameters[0]; } interface GetTraitsOrigin { origin: ReturnType; } interface SetTraitsOrigin { /** * 4D Origin * @default `[0, 0, 0, 0]` */ origin?: Parameters[0]; } interface GetTraitsScale { divide: ReturnType; unit: ReturnType; base: ReturnType; mode: ReturnType; start: ReturnType; end: ReturnType; zero: ReturnType; factor: ReturnType; nice: ReturnType; } interface SetTraitsScale { /** * Number of divisions * @default `10` */ divide?: Parameters[0]; /** * Reference unit * @default `1` */ unit?: Parameters[0]; /** * Power base for sub/super units * @default `10` */ base?: Parameters[0]; /** * Scale type * @default `"linear"` */ mode?: Parameters[0]; /** * Include start * @default `true` */ start?: Parameters[0]; /** * Include end * @default `true` */ end?: Parameters[0]; /** * Include zero * @default `true` */ zero?: Parameters[0]; /** * Scale factor * @default `1` */ factor?: Parameters[0]; /** * Snap to nice numbers * @default `true` */ nice?: Parameters[0]; } interface GetTraitsGrid { lineX: ReturnType; lineY: ReturnType; crossed: ReturnType; closedX: ReturnType; closedY: ReturnType; } interface SetTraitsGrid { /** * Draw X lines * @default `true` */ lineX?: Parameters[0]; /** * Draw Y lines * @default `true` */ lineY?: Parameters[0]; /** * UVWO map on matching axes * @default `true` */ crossed?: Parameters[0]; /** * Close X lines * @default `false` */ closedX?: Parameters[0]; /** * Close Y lines * @default `false` */ closedY?: Parameters[0]; } interface GetTraitsAxis { detail: ReturnType; crossed: ReturnType; } interface SetTraitsAxis { /** * Geometric detail * @default `1` */ detail?: Parameters[0]; /** * UVWO map on matching axis * @default `true` */ crossed?: Parameters[0]; } interface GetTraitsData { data: ReturnType; expr: ReturnType; bind: ReturnType; live: ReturnType; } interface SetTraitsData { /** * Data array * @default `null` */ data?: Parameters[0]; /** * Data emitter expression * @default `null` */ expr?: Parameters[0]; /** * */ bind?: Parameters[0]; /** * Update continuously * @default `true` */ live?: Parameters[0]; } interface GetTraitsBuffer { channels: ReturnType; items: ReturnType; fps: ReturnType; hurry: ReturnType; limit: ReturnType; realtime: ReturnType; observe: ReturnType; aligned: ReturnType; } interface SetTraitsBuffer { /** * Number of channels * @default `4` */ channels?: Parameters[0]; /** * Number of items * @default `4` */ items?: Parameters[0]; /** * Frames-per-second update rate * @default `null` * @example `60` */ fps?: Parameters[0]; /** * Maximum frames to hurry per frame * @default `5` */ hurry?: Parameters[0]; /** * Maximum frames to track * @default `60` */ limit?: Parameters[0]; /** * Run on real time, not clock time * @default `false` */ realtime?: Parameters[0]; /** * Pass clock time to data * @default `false` */ observe?: Parameters[0]; /** * Use (fast) integer lookups * @default `false` */ aligned?: Parameters[0]; } interface GetTraitsSampler { centered: ReturnType; padding: ReturnType; } interface SetTraitsSampler { /** * Centered instead of corner sampling * @default `false` */ centered?: Parameters[0]; /** * Number of samples padding * @default `0` */ padding?: Parameters[0]; } interface GetTraitsArray { width: ReturnType; bufferWidth: ReturnType; history: ReturnType; } interface SetTraitsArray { /** * Array width * @default `1` */ width?: Parameters[0]; /** * Array buffer width * @default `1` */ bufferWidth?: Parameters[0]; /** * Array history * @default `1` */ history?: Parameters[0]; } interface GetTraitsMatrix { width: ReturnType; height: ReturnType; history: ReturnType; bufferWidth: ReturnType; bufferHeight: ReturnType; } interface SetTraitsMatrix { /** * Matrix width * @default `1` */ width?: Parameters[0]; /** * Matrix height * @default `1` */ height?: Parameters[0]; /** * Matrix history * @default `1` */ history?: Parameters[0]; /** * Matrix buffer width * @default `1` */ bufferWidth?: Parameters[0]; /** * Matrix buffer height * @default `1` */ bufferHeight?: Parameters[0]; } interface GetTraitsVoxel { width: ReturnType; height: ReturnType; depth: ReturnType; bufferWidth: ReturnType; bufferHeight: ReturnType; bufferDepth: ReturnType; } interface SetTraitsVoxel { /** * Voxel width * @default `1` */ width?: Parameters[0]; /** * Voxel height * @default `1` */ height?: Parameters[0]; /** * Voxel depth * @default `1` */ depth?: Parameters[0]; /** * Voxel buffer width * @default `1` */ bufferWidth?: Parameters[0]; /** * Voxel buffer height * @default `1` */ bufferHeight?: Parameters[0]; /** * Voxel buffer depth * @default `1` */ bufferDepth?: Parameters[0]; } // eslint-disable-next-line @typescript-eslint/no-unused-vars interface GetTraitsResolve { expr: ReturnType; items: ReturnType; } // eslint-disable-next-line @typescript-eslint/no-unused-vars interface SetTraitsResolve { /** * */ expr?: Parameters[0]; /** * */ items?: Parameters[0]; } interface GetTraitsStyle { opacity: ReturnType; color: ReturnType; blending: ReturnType; zWrite: ReturnType; zTest: ReturnType; zIndex: ReturnType; zBias: ReturnType; zOrder: ReturnType; } interface SetTraitsStyle { /** * Opacity * @default `1` */ opacity?: Parameters[0]; /** * Color * @default `"rgb(128, 128, 128)"` */ color?: Parameters[0]; /** * Blending mode ('no, normal, add, subtract, multiply) * @default `"normal"` */ blending?: Parameters[0]; /** * Write Z buffer * @default `true` */ zWrite?: Parameters[0]; /** * Test Z buffer * @default `true` */ zTest?: Parameters[0]; /** * Z-Index (2D stacking) * @default `0` */ zIndex?: Parameters[0]; /** * Z-Bias (3D stacking) * @default `0` */ zBias?: Parameters[0]; /** * Z-Order (drawing order) * @default `null` * @example `2` */ zOrder?: Parameters[0]; } interface GetTraitsGeometry { points: ReturnType; colors: ReturnType; } interface SetTraitsGeometry { /** * Points data source * @default `<` */ points?: Parameters[0]; /** * Colors data source * @default `null` * @example `"#colors"` */ colors?: Parameters[0]; } interface GetTraitsPoint { size: ReturnType; sizes: ReturnType; shape: ReturnType; optical: ReturnType; fill: ReturnType; depth: ReturnType; } interface SetTraitsPoint { /** * Point size * @default `4` */ size?: Parameters[0]; /** * Point sizes data source * @default `null` * @example `"#sizes"` */ sizes?: Parameters[0]; /** * Point shape (circle, square, diamond, up, down, left, right) * @default `"circle"` */ shape?: Parameters[0]; /** * Optical or exact sizing * @default `true` */ optical?: Parameters[0]; /** * Fill shape * @default `true` */ fill?: Parameters[0]; /** * Depth scaling * @default `1` */ depth?: Parameters[0]; } interface GetTraitsLine { width: ReturnType; depth: ReturnType; join: ReturnType; stroke: ReturnType; proximity: ReturnType; closed: ReturnType; } interface SetTraitsLine { /** * Line width * @default `2` */ width?: Parameters[0]; /** * Depth scaling * @default `1` */ depth?: Parameters[0]; /** * */ join?: Parameters[0]; /** * Line stroke (solid, dotted, dashed) * @default `"solid"` */ stroke?: Parameters[0]; /** * Proximity threshold * @default `null` * @example `10` */ proximity?: Parameters[0]; /** * Close line * @default `false` */ closed?: Parameters[0]; } interface GetTraitsMesh { fill: ReturnType; shaded: ReturnType; map: ReturnType; normals: ReturnType; lineBias: ReturnType; } interface SetTraitsMesh { /** * Fill mesh * @default `true` */ fill?: Parameters[0]; /** * Shade mesh * @default `false` */ shaded?: Parameters[0]; /** * Texture map source * @default `null` * @example `"#map"` */ map?: Parameters[0]; /** * Normals data source * @default `null` * @example `"#normals"` */ normals?: Parameters[0]; /** * Z-Bias for lines on fill * @default `5` */ lineBias?: Parameters[0]; } interface GetTraitsStrip { line: ReturnType; } interface SetTraitsStrip { /** * Draw line * @default `false` */ line?: Parameters[0]; } interface GetTraitsFace { line: ReturnType; } interface SetTraitsFace { /** * Draw line * @default `false` */ line?: Parameters[0]; } interface GetTraitsArrow { size: ReturnType; start: ReturnType; end: ReturnType; } interface SetTraitsArrow { /** * Arrow size * @default `3` */ size?: Parameters[0]; /** * Draw start arrow * @default `true` */ start?: Parameters[0]; /** * Draw end arrow * @default `true` */ end?: Parameters[0]; } interface GetTraitsTicks { normal: ReturnType; size: ReturnType; epsilon: ReturnType; } interface SetTraitsTicks { /** * Normal for reference plane * @default `true` */ normal?: Parameters[0]; /** * Tick size * @default `10` */ size?: Parameters[0]; /** * Tick epsilon * @default `0.0001` */ epsilon?: Parameters[0]; } interface GetTraitsAttach { offset: ReturnType; snap: ReturnType; depth: ReturnType; } interface SetTraitsAttach { /** * 2D offset * @default `[0, -20]` */ offset?: Parameters[0]; /** * Snap to pixel * @default `false` */ snap?: Parameters[0]; /** * Depth scaling * @default `0` */ depth?: Parameters[0]; } interface GetTraitsFormat { digits: ReturnType; data: ReturnType; expr: ReturnType; live: ReturnType; } interface SetTraitsFormat { /** * Digits of precision * @default `null` * @example `2` */ digits?: Parameters[0]; /** * Array of labels * @default `null` * @example `["Grumpy", "Sleepy", "Sneezy"]` */ data?: Parameters[0]; /** * Label formatter expression * @default `null` */ expr?: Parameters[0]; /** * Update continuously * @default `true` */ live?: Parameters[0]; } interface GetTraitsFont { font: ReturnType; style: ReturnType; variant: ReturnType; weight: ReturnType; detail: ReturnType; sdf: ReturnType; } interface SetTraitsFont { /** * Font family * @default `"sans-serif"` */ font?: Parameters[0]; /** * Font style * @default `""` * @example `"italic"` */ style?: Parameters[0]; /** * Font variant * @default `""` * @example `"small-caps"` */ variant?: Parameters[0]; /** * Font weight * @default `""` * @example `"bold"` */ weight?: Parameters[0]; /** * Font detail * @default `24` */ detail?: Parameters[0]; /** * Signed distance field range * @default `5` */ sdf?: Parameters[0]; } interface GetTraitsLabel { text: ReturnType; size: ReturnType; outline: ReturnType; expand: ReturnType; background: ReturnType; } interface SetTraitsLabel { /** * Text source * @default `"<"` */ text?: Parameters[0]; /** * Text size * @default `16` */ size?: Parameters[0]; /** * Outline size * @default `2` */ outline?: Parameters[0]; /** * Expand glyphs * @default `0` */ expand?: Parameters[0]; /** * Outline background * @default `"rgb(255, 255, 255)"` */ background?: Parameters[0]; } interface GetTraitsOverlay { opacity: ReturnType; zIndex: ReturnType; } interface SetTraitsOverlay { /** * Opacity * @default `1` */ opacity?: Parameters[0]; /** * Z-Index (2D stacking) * @default `0` */ zIndex?: Parameters[0]; } interface GetTraitsDom { points: ReturnType; html: ReturnType; size: ReturnType; outline: ReturnType; zoom: ReturnType; color: ReturnType; attributes: ReturnType; pointerEvents: ReturnType; } interface SetTraitsDom { /** * Points data source * @default `"<"` */ points?: Parameters[0]; /** * HTML data source * @default `"<"` */ html?: Parameters[0]; /** * Text size * @default `16` */ size?: Parameters[0]; /** * Outline size * @default `2` */ outline?: Parameters[0]; /** * HTML zoom * @default `1` */ zoom?: Parameters[0]; /** * Color * @default `"rgb(255, 255, 255)"` */ color?: Parameters[0]; /** * HTML attributes * @default `null` * @example `{"style": {"color": "red"}}` */ attributes?: Parameters[0]; /** * Allow pointer events * @default `false` */ pointerEvents?: Parameters[0]; } interface GetTraitsTexture { minFilter: ReturnType; magFilter: ReturnType; type: ReturnType; } interface SetTraitsTexture { /** * Texture minification filtering * @default `"nearest"` */ minFilter?: Parameters[0]; /** * Texture magnification filtering * @default `"nearest"` */ magFilter?: Parameters[0]; /** * Texture data type * @default `"float"` */ type?: Parameters[0]; } interface GetTraitsShader { sources: ReturnType; language: ReturnType; indices: ReturnType; channels: ReturnType; code: ReturnType; uniforms: ReturnType; } interface SetTraitsShader { /** * Sampler sources * @default `null` * @example `["#pressure", "#divergence"]` */ sources?: Parameters[0]; /** * Shader language * @default `"glsl"` */ language?: Parameters[0]; /** * Shader code * @default `""` */ code?: Parameters[0]; /** * Source indices * @default `4` */ indices?: Parameters[0]; /** * Source channels * @default `4` */ channels?: Parameters[0]; /** * Shader uniform objects (three.js style) * @default `null` * @example `{ time: { type: 'f', value: 3 }}` */ uniforms?: Parameters[0]; } interface GetTraitsInclude { shader: ReturnType; } interface SetTraitsInclude { /** * Shader to use * @default `"<"` */ shader?: Parameters[0]; } interface GetTraitsOperator { source: ReturnType; } interface SetTraitsOperator { /** * Input source * @default `"<"` */ source?: Parameters[0]; } interface GetTraitsSpread { unit: ReturnType; items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; alignItems: ReturnType; alignWidth: ReturnType; alignHeight: ReturnType; alignDepth: ReturnType; } interface SetTraitsSpread { /** * Spread per item (absolute) or array (relative) * @default `"relative"` */ unit?: Parameters[0]; /** * Items offset * @default `null` * @example `[1.5, 0, 0, 0]` */ items?: Parameters[0]; /** * Width offset * @default `null` * @example `[1.5, 0, 0, 0]` */ width?: Parameters[0]; /** * Height offset * @default `null` * @example `[1.5, 0, 0, 0]` */ height?: Parameters[0]; /** * Depth offset * @default `null` * @example `[1.5, 0, 0, 0]` */ depth?: Parameters[0]; /** * Items alignment * @default `0` */ alignItems?: Parameters[0]; /** * Width alignment * @default `0` */ alignWidth?: Parameters[0]; /** * Height alignment * @default `0` */ alignHeight?: Parameters[0]; /** * Depth alignment * @default `0` */ alignDepth?: Parameters[0]; } interface GetTraitsGrow { scale: ReturnType; items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; } interface SetTraitsGrow { /** * Scale factor * @default `1` */ scale?: Parameters[0]; /** * Items alignment * @default `null` * @example `0` */ items?: Parameters[0]; /** * Width alignment * @default `null` * @example `0` */ width?: Parameters[0]; /** * Height alignment * @default `null` * @example `0` */ height?: Parameters[0]; /** * Depth alignment * @default `null` * @example `0` */ depth?: Parameters[0]; } interface GetTraitsSplit { order: ReturnType; axis: ReturnType; length: ReturnType; overlap: ReturnType; } interface SetTraitsSplit { /** * Axis order * @default `"wxyz"` */ order?: Parameters[0]; /** * Axis to split * @default `null` * @example `x` */ axis?: Parameters[0]; /** * Tuple length * @default `1` */ length?: Parameters[0]; /** * Tuple overlap * @default `1` */ overlap?: Parameters[0]; } interface GetTraitsJoin { order: ReturnType; axis: ReturnType; overlap: ReturnType; } interface SetTraitsJoin { /** * Axis order * @default `"wxyz"` */ order?: Parameters[0]; /** * Axis to join * @default `null` * @example `x` */ axis?: Parameters[0]; /** * Tuple overlap * @default `1` */ overlap?: Parameters[0]; } interface GetTraitsSwizzle { order: ReturnType; } interface SetTraitsSwizzle { /** * Swizzle order * @default `xyzw` */ order?: Parameters[0]; } interface GetTraitsTranspose { order: ReturnType; } interface SetTraitsTranspose { /** * Transpose order * @default `xyzw` */ order?: Parameters[0]; } interface GetTraitsRepeat { items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; } interface SetTraitsRepeat { /** * Repeat items * @default `1` */ items?: Parameters[0]; /** * Repeat width * @default `1` */ width?: Parameters[0]; /** * Repeat height * @default `1` */ height?: Parameters[0]; /** * Repeat depth * @default `1` */ depth?: Parameters[0]; } interface GetTraitsSlice { items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; } interface SetTraitsSlice { /** * Slice from, to items (excluding to) * @default `null` * @example `[2, 4]` */ items?: Parameters[0]; /** * Slice from, to width (excluding to) * @default `null` * @example `[2, 4]` */ width?: Parameters[0]; /** * Slice from, to height (excluding to) * @default `null` * @example `[2, 4]` */ height?: Parameters[0]; /** * Slice from, to depth (excluding to) * @default `null` * @example `[2, 4]` */ depth?: Parameters[0]; } interface GetTraitsReverse { items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; } interface SetTraitsReverse { /** * Reverse items * @default `false` */ items?: Parameters[0]; /** * Reverse width * @default `false` */ width?: Parameters[0]; /** * Reverse height * @default `false` */ height?: Parameters[0]; /** * Reverse depth * @default `false` */ depth?: Parameters[0]; } interface GetTraitsLerp { size: ReturnType; items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; } interface SetTraitsLerp { /** * Scaling mode (relative, absolute) * @default `"absolute"` */ size?: Parameters[0]; /** * Lerp to items * @default `null` * @example `5` */ items?: Parameters[0]; /** * Lerp to width * @default `null` * @example `5` */ width?: Parameters[0]; /** * Lerp to height * @default `null` * @example `5` */ height?: Parameters[0]; /** * Lerp to depth * @default `null` * @example `5` */ depth?: Parameters[0]; } interface GetTraitsSubdivide { items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; bevel: ReturnType; lerp: ReturnType; } interface SetTraitsSubdivide { /** * Divisions of items * @default `null` * @example `5` */ items?: Parameters[0]; /** * Divisions of width * @default `null` * @example `5` */ width?: Parameters[0]; /** * Divisions of height * @default `null` * @example `5` */ height?: Parameters[0]; /** * Divisions of depth * @default `null` * @example `5` */ depth?: Parameters[0]; /** * Fraction to end outward from vertices * @default `1` */ bevel?: Parameters[0]; /** * Interpolate values with computed indices * @default `true` */ lerp?: Parameters[0]; } interface GetTraitsResample { indices: ReturnType; channels: ReturnType; sample: ReturnType; size: ReturnType; items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; } interface SetTraitsResample { /** * Resample indices * @default `4` */ indices?: Parameters[0]; /** * Resample channels * @default `4` */ channels?: Parameters[0]; /** * Source sampling (relative, absolute) * @default `"relative"` */ sample?: Parameters[0]; /** * Scaling mode (relative, absolute) * @default `"absolute"` */ size?: Parameters[0]; /** * Resample factor items * @default `null` * @example `10` */ items?: Parameters[0]; /** * Resample factor width * @default `null` * @example `10` */ width?: Parameters[0]; /** * Resample factor height * @default `null` * @example `10` */ height?: Parameters[0]; /** * Resample factor depth * @default `null` * @example `10` */ depth?: Parameters[0]; } interface GetTraitsReadback { type: ReturnType; expr: ReturnType; data: ReturnType; channels: ReturnType; items: ReturnType; width: ReturnType; height: ReturnType; depth: ReturnType; } interface SetTraitsReadback { /** * Readback data type (float, unsignedByte) * @default `"float"` */ type?: Parameters[0]; /** * Readback consume expression * @default `null` */ expr?: Parameters[0]; /** * Readback data buffer (read only) * @default `[]` */ data?: Parameters[0]; /** * Readback channels (read only) * @default `4` */ channels?: Parameters[0]; /** * Readback items (read only) * @default `1` */ items?: Parameters[0]; /** * Readback width (read only) * @default `1` */ width?: Parameters[0]; /** * Readback height (read only) * @default `1` */ height?: Parameters[0]; /** * Readback depth (read only) * @default `1` */ depth?: Parameters[0]; } interface GetTraitsRoot { speed: ReturnType; camera: ReturnType; } interface SetTraitsRoot { /** * Global speed * @default `1` */ speed?: Parameters[0]; /** * Active camera * @default `"[camera]"` */ camera?: Parameters[0]; } // eslint-disable-next-line @typescript-eslint/no-unused-vars interface GetTraitsInherit { source: ReturnType; traits: ReturnType; } // eslint-disable-next-line @typescript-eslint/no-unused-vars interface SetTraitsInherit { /** * Inherit from node * @default `"<"` */ source?: Parameters[0]; /** * Inherit traits * @default `[]` */ traits?: Parameters[0]; } interface GetTraitsRtt { size: ReturnType; width: ReturnType; height: ReturnType; history: ReturnType; } interface SetTraitsRtt { /** * */ size?: Parameters[0]; /** * RTT width * @default `null` * @example `640` */ width?: Parameters[0]; /** * RTT height * @default `null` * @example `360` */ height?: Parameters[0]; /** * RTT history * @default `1` */ history?: Parameters[0]; } interface GetTraitsCompose { alpha: ReturnType; } interface SetTraitsCompose { /** * Compose with alpha transparency * @default `false` */ alpha?: Parameters[0]; } interface GetTraitsPresent { index: ReturnType; directed: ReturnType; length: ReturnType; } interface SetTraitsPresent { /** * Present slide number * @default `1` */ index?: Parameters[0]; /** * Apply directional transitions * @default `true` */ directed?: Parameters[0]; /** * Presentation length (computed) * @default `0` */ length?: Parameters[0]; } interface GetTraitsSlide { order: ReturnType; steps: ReturnType; early: ReturnType; late: ReturnType; from: ReturnType; to: ReturnType; } interface SetTraitsSlide { /** * Slide order * @default `0` */ order?: Parameters[0]; /** * Slide steps * @default `1` */ steps?: Parameters[0]; /** * Appear early steps * @default `0` */ early?: Parameters[0]; /** * Stay late steps * @default `0` */ late?: Parameters[0]; /** * Appear from step * @default `null` * @example `2` */ from?: Parameters[0]; /** * Disappear on step * @default `null` * @example `4` */ to?: Parameters[0]; } interface GetTraitsTransition { stagger: ReturnType; enter: ReturnType; exit: ReturnType; delay: ReturnType; delayEnter: ReturnType; delayExit: ReturnType; duration: ReturnType; durationEnter: ReturnType; durationExit: ReturnType; } interface SetTraitsTransition { /** * Stagger dimensions * @default `[0, 0, 0, 0]` * @example `[2, 1, 0, 0]` */ stagger?: Parameters[0]; /** * Enter state * @default `null` * @example `0.5` */ enter?: Parameters[0]; /** * Exit state * @default `null` * @example `0.5` */ exit?: Parameters[0]; /** * Transition delay * @default `0` */ delay?: Parameters[0]; /** * Transition enter delay * @default `null` * @example `0.3` */ delayEnter?: Parameters[0]; /** * Transition exit delay * @default `null` * @example `0.3` */ delayExit?: Parameters[0]; /** * Transition duration * @default `0.3` */ duration?: Parameters[0]; /** * Transition enter duration * @default `0.3` */ durationEnter?: Parameters< Traits["transition"]["durationEnter"]["validate"] >[0]; /** * Transition exit duration * @default `0.3` */ durationExit?: Parameters< Traits["transition"]["durationExit"]["validate"] >[0]; } interface GetTraitsMove { from: ReturnType; to: ReturnType; } interface SetTraitsMove { /** * Enter from * @default `[0, 0, 0, 0]` */ from?: Parameters[0]; /** * Exit to * @default `[0, 0, 0, 0]` */ to?: Parameters[0]; } interface GetTraitsSeek { seek: ReturnType; } interface SetTraitsSeek { /** * Seek to time * @default `null` * @example `4` */ seek?: Parameters[0]; } interface GetTraitsTrack { target: ReturnType; script: ReturnType; ease: ReturnType; } interface SetTraitsTrack { /** * Animation target * @default `"<"` */ target?: Parameters[0]; /** * Animation script * @default `{}` * @example `{ "0": { props: { color: "red" }, expr: { size: function (t) { return Math.sin(t) + 1; }}}, "1": ...}` */ script?: Parameters[0]; /** * Animation ease (linear, cosine, binary, hold) * @default `"cosine"` */ ease?: Parameters[0]; } interface GetTraitsTrigger { trigger: ReturnType; } interface SetTraitsTrigger { /** * Trigger on step * @default `1` */ trigger?: Parameters[0]; } interface GetTraitsStep { playback: ReturnType; stops: ReturnType; delay: ReturnType; duration: ReturnType; pace: ReturnType; speed: ReturnType; rewind: ReturnType; skip: ReturnType; realtime: ReturnType; } interface SetTraitsStep { /** * Playhead ease (linear, cosine, binary, hold) * @default `"linear"` */ playback?: Parameters[0]; /** * Playhead stops * @default `null` * @example `[0, 1, 3, 5]` */ stops?: Parameters[0]; /** * Step delay * @default `0` */ delay?: Parameters[0]; /** * Step duration * @default `0.3` */ duration?: Parameters[0]; /** * Step pace * @default `0` */ pace?: Parameters[0]; /** * Step speed * @default `1` */ speed?: Parameters[0]; /** * Step rewind factor * @default `2` */ rewind?: Parameters[0]; /** * Speed up through skips * @default `true` */ skip?: Parameters[0]; /** * Run on real time, not clock time * @default `false` */ realtime?: Parameters[0]; } interface GetTraitsPlay { delay: ReturnType; pace: ReturnType; speed: ReturnType; from: ReturnType; to: ReturnType; realtime: ReturnType; loop: ReturnType; } interface SetTraitsPlay { /** * Play delay * @default `0` */ delay?: Parameters[0]; /** * Play pace * @default `1` */ pace?: Parameters[0]; /** * Play speed * @default `1` */ speed?: Parameters[0]; /** * Play from * @default `0` */ from?: Parameters[0]; /** * Play until * @default `Infinity` */ to?: Parameters[0]; /** * Run on real time, not clock time * @default `false` */ realtime?: Parameters[0]; /** * Loop * @default `false` */ loop?: Parameters[0]; } interface GetTraitsNow { now: ReturnType; seek: ReturnType; pace: ReturnType; speed: ReturnType; } interface SetTraitsNow { /** * Current moment * @default `null` * @example `1444094929.619` */ now?: Parameters[0]; /** * Seek to time * @default `null` */ seek?: Parameters[0]; /** * Time pace * @default `1` */ pace?: Parameters[0]; /** * Time speed * @default `1` */ speed?: Parameters[0]; } /** * Normalized properties for {@link MathboxSelection.area | area}. * @category data */ export interface AreaPropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsMatrix, GetTraitsTexture, GetTraitsArea, Suffixed, Suffixed, Suffixed, Suffixed { expr: AreaEmitter | null; } /** * Properties for {@link MathboxSelection.area | area}. * @category data */ export interface AreaProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsMatrix, SetTraitsTexture, SetTraitsArea, Suffixed, Suffixed, Suffixed, Suffixed { expr?: AreaEmitter; } /** * Normalized properties for {@link MathboxSelection.array | array}. * @category data */ export interface ArrayPropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsArray, GetTraitsTexture { expr: ArrayEmitter | null; } /** * Properties for {@link MathboxSelection.array | array}. * @category data */ export interface ArrayProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsArray, SetTraitsTexture { expr?: ArrayEmitter; } /** * Normalized properties for {@link MathboxSelection.axis | axis}. * @category draw */ export interface AxisPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsAxis, GetTraitsSpan, GetTraitsInterval, GetTraitsArrow, GetTraitsOrigin {} /** * Properties for {@link MathboxSelection.axis | axis}. * @category draw */ export interface AxisProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsAxis, SetTraitsSpan, SetTraitsInterval, SetTraitsArrow, SetTraitsOrigin {} /** * Normalized properties for {@link MathboxSelection.camera | camera}. * @category camera */ export interface CameraPropsNormalized extends GetTraitsNode, GetTraitsCamera {} /** * Properties for {@link MathboxSelection.camera | camera}. * @category camera */ export interface CameraProps extends SetTraitsNode, SetTraitsCamera {} /** * Normalized properties for {@link MathboxSelection.cartesian | cartesian}. * @category view */ export interface CartesianPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsView, GetTraitsView3, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.cartesian | cartesian}. * @category view */ export interface CartesianProps extends SetTraitsNode, SetTraitsObject, SetTraitsView, SetTraitsView3, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.cartesian4 | cartesian4}. * @category view */ export interface Cartesian4PropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsView, GetTraitsView4, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.cartesian4 | cartesian4}. * @category view */ export interface Cartesian4Props extends SetTraitsNode, SetTraitsObject, SetTraitsView, SetTraitsView4, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.clamp | clamp}. * @category operator */ export interface ClampPropsNormalized extends GetTraitsNode, GetTraitsOperator {} /** * Properties for {@link MathboxSelection.clamp | clamp}. * @category operator */ export interface ClampProps extends SetTraitsNode, SetTraitsOperator {} /** * Normalized properties for {@link MathboxSelection.clock | clock}. * @category time */ export interface ClockPropsNormalized extends GetTraitsNode, GetTraitsSeek, GetTraitsPlay {} /** * Properties for {@link MathboxSelection.clock | clock}. * @category time */ export interface ClockProps extends SetTraitsNode, SetTraitsSeek, SetTraitsPlay {} /** * Normalized properties for {@link MathboxSelection.compose | compose}. * @category rtt */ export interface ComposePropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsOperator, GetTraitsStyle, GetTraitsCompose {} /** * Properties for {@link MathboxSelection.compose | compose}. * @category rtt */ export interface ComposeProps extends SetTraitsNode, SetTraitsObject, SetTraitsOperator, SetTraitsStyle, SetTraitsCompose {} /** * Normalized properties for {@link MathboxSelection.dom | dom}. * @category overlay */ export interface DomPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsOverlay, GetTraitsDom, GetTraitsAttach {} /** * Properties for {@link MathboxSelection.dom | dom}. * @category overlay */ export interface DomProps extends SetTraitsNode, SetTraitsObject, SetTraitsOverlay, SetTraitsDom, SetTraitsAttach {} /** * Normalized properties for {@link MathboxSelection.face | face}. * @category draw */ export interface FacePropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsMesh, GetTraitsFace, GetTraitsGeometry {} /** * Properties for {@link MathboxSelection.face | face}. * @category draw */ export interface FaceProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsMesh, SetTraitsFace, SetTraitsGeometry {} /** * Normalized properties for {@link MathboxSelection.format | format}. * @category text */ export interface FormatPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsTexture, GetTraitsFormat, GetTraitsFont {} /** * Properties for {@link MathboxSelection.format | format}. * @category text */ export interface FormatProps extends SetTraitsNode, SetTraitsOperator, SetTraitsTexture, SetTraitsFormat, SetTraitsFont {} /** * Normalized properties for {@link MathboxSelection.fragment | fragment}. * @category transform */ export interface FragmentPropsNormalized extends GetTraitsNode, GetTraitsInclude, GetTraitsFragment {} /** * Properties for {@link MathboxSelection.fragment | fragment}. * @category transform */ export interface FragmentProps extends SetTraitsNode, SetTraitsInclude, SetTraitsFragment {} /** * Normalized properties for {@link MathboxSelection.grid | grid}. * @category draw */ export interface GridPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsGrid, GetTraitsArea, GetTraitsOrigin, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Properties for {@link MathboxSelection.grid | grid}. * @category draw */ export interface GridProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsGrid, SetTraitsArea, SetTraitsOrigin, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Normalized properties for {@link MathboxSelection.group | group}. * @category base */ export interface GroupPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsEntity {} /** * Properties for {@link MathboxSelection.group | group}. * @category base */ export interface GroupProps extends SetTraitsNode, SetTraitsObject, SetTraitsEntity {} /** * Normalized properties for {@link MathboxSelection.grow | grow}. * @category operator */ export interface GrowPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsGrow {} /** * Properties for {@link MathboxSelection.grow | grow}. * @category operator */ export interface GrowProps extends SetTraitsNode, SetTraitsOperator, SetTraitsGrow {} /** * Normalized properties for {@link MathboxSelection.html | html}. * @category overlay */ export interface HtmlPropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsVoxel {} /** * Properties for {@link MathboxSelection.html | html}. * @category overlay */ export interface HtmlProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsVoxel {} /** * Normalized properties for {@link MathboxSelection.inherit | inherit}. * @category base */ export type InheritPropsNormalized = GetTraitsNode; /** * Properties for {@link MathboxSelection.inherit | inherit}. * @category base */ export type InheritProps = SetTraitsNode; /** * Normalized properties for {@link MathboxSelection.interval | interval}. * @category data */ export interface IntervalPropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsTexture, GetTraitsArray, GetTraitsSpan, GetTraitsInterval, GetTraitsSampler { expr: IntervalEmitter | null; } /** * Properties for {@link MathboxSelection.interval | interval}. * @category data */ export interface IntervalProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsTexture, SetTraitsArray, SetTraitsSpan, SetTraitsInterval, SetTraitsSampler { expr?: IntervalEmitter; } /** * Normalized properties for {@link MathboxSelection.join | join}. * @category operator */ export interface JoinPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsJoin {} /** * Properties for {@link MathboxSelection.join | join}. * @category operator */ export interface JoinProps extends SetTraitsNode, SetTraitsOperator, SetTraitsJoin {} /** * Normalized properties for {@link MathboxSelection.label | label}. * @category text */ export interface LabelPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLabel, GetTraitsAttach, GetTraitsGeometry {} /** * Properties for {@link MathboxSelection.label | label}. * @category text */ export interface LabelProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLabel, SetTraitsAttach, SetTraitsGeometry {} /** * Normalized properties for {@link MathboxSelection.latch | latch}. * @category data */ export interface LatchPropsNormalized extends GetTraitsNode, GetTraitsLatch, GetTraitsEntity {} /** * Properties for {@link MathboxSelection.latch | latch}. * @category data */ export interface LatchProps extends SetTraitsNode, SetTraitsLatch, SetTraitsEntity {} /** * Normalized properties for {@link MathboxSelection.layer | layer}. * @category transform */ export interface LayerPropsNormalized extends GetTraitsNode, GetTraitsVertex, GetTraitsLayer {} /** * Properties for {@link MathboxSelection.layer | layer}. * @category transform */ export interface LayerProps extends SetTraitsNode, SetTraitsVertex, SetTraitsLayer {} /** * Normalized properties for {@link MathboxSelection.lerp | lerp}. * @category operator */ export interface LerpPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsLerp, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Properties for {@link MathboxSelection.lerp | lerp}. * @category operator */ export interface LerpProps extends SetTraitsNode, SetTraitsOperator, SetTraitsLerp, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Normalized properties for {@link MathboxSelection.line | line}. * @category draw */ export interface LinePropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsArrow, GetTraitsGeometry {} /** * Properties for {@link MathboxSelection.line | line}. * @category draw */ export interface LineProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsArrow, SetTraitsGeometry {} /** * Normalized properties for {@link MathboxSelection.mask | mask}. * @category transform */ export interface MaskPropsNormalized extends GetTraitsNode, GetTraitsInclude {} /** * Properties for {@link MathboxSelection.mask | mask}. * @category transform */ export interface MaskProps extends SetTraitsNode, SetTraitsInclude {} /** * Normalized properties for {@link MathboxSelection.matrix | matrix}. * @category data */ export interface MatrixPropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsTexture, GetTraitsMatrix { expr: MatrixEmitter | null; } /** * Properties for {@link MathboxSelection.matrix | matrix}. * @category data */ export interface MatrixProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsTexture, SetTraitsMatrix { expr?: MatrixEmitter; } /** * Normalized properties for {@link MathboxSelection.memo | memo}. * @category operator */ export interface MemoPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsTexture {} /** * Properties for {@link MathboxSelection.memo | memo}. * @category operator */ export interface MemoProps extends SetTraitsNode, SetTraitsOperator, SetTraitsTexture {} /** * Normalized properties for {@link MathboxSelection.move | move}. * @category present */ export interface MovePropsNormalized extends GetTraitsNode, GetTraitsTransition, GetTraitsVertex, GetTraitsMove {} /** * Properties for {@link MathboxSelection.move | move}. * @category present */ export interface MoveProps extends SetTraitsNode, SetTraitsTransition, SetTraitsVertex, SetTraitsMove {} /** * Normalized properties for {@link MathboxSelection.now | now}. * @category time */ export interface NowPropsNormalized extends GetTraitsNode, GetTraitsNow {} /** * Properties for {@link MathboxSelection.now | now}. * @category time */ export interface NowProps extends SetTraitsNode, SetTraitsNow {} /** * Normalized properties for {@link MathboxSelection.play | play}. * @category present */ export interface PlayPropsNormalized extends GetTraitsNode, GetTraitsTrack, GetTraitsTrigger, GetTraitsPlay {} /** * Properties for {@link MathboxSelection.play | play}. * @category present */ export interface PlayProps extends SetTraitsNode, SetTraitsTrack, SetTraitsTrigger, SetTraitsPlay {} /** * Normalized properties for {@link MathboxSelection.point | point}. * @category draw */ export interface PointPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsPoint, GetTraitsGeometry {} /** * Properties for {@link MathboxSelection.point | point}. * @category draw */ export interface PointProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsPoint, SetTraitsGeometry {} /** * Normalized properties for {@link MathboxSelection.polar | polar}. * @category view */ export interface PolarPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsView, GetTraitsView3, GetTraitsPolar, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.polar | polar}. * @category view */ export interface PolarProps extends SetTraitsNode, SetTraitsObject, SetTraitsView, SetTraitsView3, SetTraitsPolar, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.present | present}. * @category present */ export interface PresentPropsNormalized extends GetTraitsNode, GetTraitsPresent {} /** * Properties for {@link MathboxSelection.present | present}. * @category present */ export interface PresentProps extends SetTraitsNode, SetTraitsPresent {} /** * Normalized properties for {@link MathboxSelection.readback | readback}. * @category operator */ export interface ReadbackPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsReadback, GetTraitsEntity {} /** * Properties for {@link MathboxSelection.readback | readback}. * @category operator */ export interface ReadbackProps extends SetTraitsNode, SetTraitsOperator, SetTraitsReadback, SetTraitsEntity {} /** * Normalized properties for {@link MathboxSelection.repeat | repeat}. * @category operator */ export interface RepeatPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsRepeat {} /** * Properties for {@link MathboxSelection.repeat | repeat}. * @category operator */ export interface RepeatProps extends SetTraitsNode, SetTraitsOperator, SetTraitsRepeat {} /** * Normalized properties for {@link MathboxSelection.resample | resample}. * @category operator */ export interface ResamplePropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsResample, GetTraitsInclude, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Properties for {@link MathboxSelection.resample | resample}. * @category operator */ export interface ResampleProps extends SetTraitsNode, SetTraitsOperator, SetTraitsResample, SetTraitsInclude, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Normalized properties for {@link MathboxSelection.retext | retext}. * @category text */ export interface RetextPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsResample, GetTraitsInclude, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Properties for {@link MathboxSelection.retext | retext}. * @category text */ export interface RetextProps extends SetTraitsNode, SetTraitsOperator, SetTraitsResample, SetTraitsInclude, Suffixed, Suffixed, Suffixed, Suffixed {} /** * Normalized properties for {@link MathboxSelection.reveal | reveal}. * @category present */ export interface RevealPropsNormalized extends GetTraitsNode, GetTraitsTransition {} /** * Properties for {@link MathboxSelection.reveal | reveal}. * @category present */ export interface RevealProps extends SetTraitsNode, SetTraitsTransition {} /** * Normalized properties for {@link MathboxSelection.reverse | reverse}. * @category operator */ export interface ReversePropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsReverse {} /** * Properties for {@link MathboxSelection.reverse | reverse}. * @category operator */ export interface ReverseProps extends SetTraitsNode, SetTraitsOperator, SetTraitsReverse {} /** * Normalized properties for {@link MathboxSelection.root | root}. * @category base */ export interface RootPropsNormalized extends GetTraitsNode, GetTraitsRoot, GetTraitsVertex, GetTraitsUnit {} /** * Properties for {@link MathboxSelection.root | root}. * @category base */ export interface RootProps extends SetTraitsNode, SetTraitsRoot, SetTraitsVertex, SetTraitsUnit {} /** * Normalized properties for {@link MathboxSelection.rtt | rtt}. * @category rtt */ export interface RttPropsNormalized extends GetTraitsNode, GetTraitsRoot, GetTraitsVertex, GetTraitsTexture, GetTraitsRtt {} /** * Properties for {@link MathboxSelection.rtt | rtt}. * @category rtt */ export interface RttProps extends SetTraitsNode, SetTraitsRoot, SetTraitsVertex, SetTraitsTexture, SetTraitsRtt {} /** * Normalized properties for {@link MathboxSelection.scale | scale}. * @category data */ export interface ScalePropsNormalized extends GetTraitsNode, GetTraitsInterval, GetTraitsSpan, GetTraitsScale, GetTraitsOrigin {} /** * Properties for {@link MathboxSelection.scale | scale}. * @category data */ export interface ScaleProps extends SetTraitsNode, SetTraitsInterval, SetTraitsSpan, SetTraitsScale, SetTraitsOrigin {} /** * Normalized properties for {@link MathboxSelection.shader | shader}. * @category shader */ export interface ShaderPropsNormalized extends GetTraitsNode, GetTraitsShader {} /** * Properties for {@link MathboxSelection.shader | shader}. * @category shader */ export interface ShaderProps extends SetTraitsNode, SetTraitsShader {} /** * Normalized properties for {@link MathboxSelection.slice | slice}. * @category operator */ export interface SlicePropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsSlice {} /** * Properties for {@link MathboxSelection.slice | slice}. * @category operator */ export interface SliceProps extends SetTraitsNode, SetTraitsOperator, SetTraitsSlice {} /** * Normalized properties for {@link MathboxSelection.slide | slide}. * @category present */ export interface SlidePropsNormalized extends GetTraitsNode, GetTraitsSlide {} /** * Properties for {@link MathboxSelection.slide | slide}. * @category present */ export interface SlideProps extends SetTraitsNode, SetTraitsSlide {} /** * Normalized properties for {@link MathboxSelection.spherical | spherical}. * @category view */ export interface SphericalPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsView, GetTraitsView3, GetTraitsSpherical, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.spherical | spherical}. * @category view */ export interface SphericalProps extends SetTraitsNode, SetTraitsObject, SetTraitsView, SetTraitsView3, SetTraitsSpherical, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.split | split}. * @category operator */ export interface SplitPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsSplit {} /** * Properties for {@link MathboxSelection.split | split}. * @category operator */ export interface SplitProps extends SetTraitsNode, SetTraitsOperator, SetTraitsSplit {} /** * Normalized properties for {@link MathboxSelection.spread | spread}. * @category operator */ export interface SpreadPropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsSpread {} /** * Properties for {@link MathboxSelection.spread | spread}. * @category operator */ export interface SpreadProps extends SetTraitsNode, SetTraitsOperator, SetTraitsSpread {} /** * Normalized properties for {@link MathboxSelection.step | step}. * @category present */ export interface StepPropsNormalized extends GetTraitsNode, GetTraitsTrack, GetTraitsStep, GetTraitsTrigger {} /** * Properties for {@link MathboxSelection.step | step}. * @category present */ export interface StepProps extends SetTraitsNode, SetTraitsTrack, SetTraitsStep, SetTraitsTrigger {} /** * Normalized properties for {@link MathboxSelection.stereographic | stereographic}. * @category view */ export interface StereographicPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsView, GetTraitsView3, GetTraitsStereographic, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.stereographic | stereographic}. * @category view */ export interface StereographicProps extends SetTraitsNode, SetTraitsObject, SetTraitsView, SetTraitsView3, SetTraitsStereographic, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.stereographic4 | stereographic4}. * @category view */ export interface Stereographic4PropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsView, GetTraitsView4, GetTraitsStereographic, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.stereographic4 | stereographic4}. * @category view */ export interface Stereographic4Props extends SetTraitsNode, SetTraitsObject, SetTraitsView, SetTraitsView4, SetTraitsStereographic, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.strip | strip}. * @category draw */ export interface StripPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsMesh, GetTraitsStrip, GetTraitsGeometry {} /** * Properties for {@link MathboxSelection.strip | strip}. * @category draw */ export interface StripProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsMesh, SetTraitsStrip, SetTraitsGeometry {} /** * Normalized properties for {@link MathboxSelection.subdivide | subdivide}. * @category operator */ export interface SubdividePropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsSubdivide {} /** * Properties for {@link MathboxSelection.subdivide | subdivide}. * @category operator */ export interface SubdivideProps extends SetTraitsNode, SetTraitsOperator, SetTraitsSubdivide {} /** * Normalized properties for {@link MathboxSelection.surface | surface}. * @category draw */ export interface SurfacePropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsMesh, GetTraitsGeometry, GetTraitsGrid {} /** * Properties for {@link MathboxSelection.surface | surface}. * @category draw */ export interface SurfaceProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsMesh, SetTraitsGeometry, SetTraitsGrid {} /** * Normalized properties for {@link MathboxSelection.swizzle | swizzle}. * @category operator */ export interface SwizzlePropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsSwizzle {} /** * Properties for {@link MathboxSelection.swizzle | swizzle}. * @category operator */ export interface SwizzleProps extends SetTraitsNode, SetTraitsOperator, SetTraitsSwizzle {} /** * Normalized properties for {@link MathboxSelection.text | text}. * @category text */ export interface TextPropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsTexture, GetTraitsVoxel, GetTraitsFont {} /** * Properties for {@link MathboxSelection.text | text}. * @category text */ export interface TextProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsTexture, SetTraitsVoxel, SetTraitsFont {} /** * Normalized properties for {@link MathboxSelection.ticks | ticks}. * @category draw */ export interface TicksPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsTicks, GetTraitsGeometry {} /** * Properties for {@link MathboxSelection.ticks | ticks}. * @category draw */ export interface TicksProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsTicks, SetTraitsGeometry {} /** * Normalized properties for {@link MathboxSelection.transform | transform}. * @category transform */ export interface TransformPropsNormalized extends GetTraitsNode, GetTraitsVertex, GetTraitsTransform3 {} /** * Properties for {@link MathboxSelection.transform | transform}. * @category transform */ export interface TransformProps extends SetTraitsNode, SetTraitsVertex, SetTraitsTransform3 {} /** * Normalized properties for {@link MathboxSelection.transform4 | transform4}. * @category transform */ export interface Transform4PropsNormalized extends GetTraitsNode, GetTraitsVertex, GetTraitsTransform4 {} /** * Properties for {@link MathboxSelection.transform4 | transform4}. * @category transform */ export interface Transform4Props extends SetTraitsNode, SetTraitsVertex, SetTraitsTransform4 {} /** * Normalized properties for {@link MathboxSelection.transpose | transpose}. * @category operator */ export interface TransposePropsNormalized extends GetTraitsNode, GetTraitsOperator, GetTraitsTranspose {} /** * Properties for {@link MathboxSelection.transpose | transpose}. * @category operator */ export interface TransposeProps extends SetTraitsNode, SetTraitsOperator, SetTraitsTranspose {} /** * Normalized properties for {@link MathboxSelection.unit | unit}. * @category base */ export interface UnitPropsNormalized extends GetTraitsNode, GetTraitsUnit {} /** * Properties for {@link MathboxSelection.unit | unit}. * @category base */ export interface UnitProps extends SetTraitsNode, SetTraitsUnit {} /** * Normalized properties for {@link MathboxSelection.vector | vector}. * @category draw */ export interface VectorPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsStyle, GetTraitsLine, GetTraitsArrow, GetTraitsGeometry {} /** * Properties for {@link MathboxSelection.vector | vector}. * @category draw */ export interface VectorProps extends SetTraitsNode, SetTraitsObject, SetTraitsStyle, SetTraitsLine, SetTraitsArrow, SetTraitsGeometry {} /** * Normalized properties for {@link MathboxSelection.vertex | vertex}. * @category transform */ export interface VertexPropsNormalized extends GetTraitsNode, GetTraitsInclude, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.vertex | vertex}. * @category transform */ export interface VertexProps extends SetTraitsNode, SetTraitsInclude, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.view | view}. * @category view */ export interface ViewPropsNormalized extends GetTraitsNode, GetTraitsObject, GetTraitsView, GetTraitsVertex {} /** * Properties for {@link MathboxSelection.view | view}. * @category view */ export interface ViewProps extends SetTraitsNode, SetTraitsObject, SetTraitsView, SetTraitsVertex {} /** * Normalized properties for {@link MathboxSelection.volume | volume}. * @category data */ export interface VolumePropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsTexture, GetTraitsVoxel, GetTraitsVolume, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed { expr: VolumeEmitter | null; } /** * Properties for {@link MathboxSelection.volume | volume}. * @category data */ export interface VolumeProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsTexture, SetTraitsVoxel, SetTraitsVolume, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed, Suffixed { expr?: VolumeEmitter; } /** * Normalized properties for {@link MathboxSelection.voxel | voxel}. * @category data */ export interface VoxelPropsNormalized extends GetTraitsNode, GetTraitsBuffer, GetTraitsData, GetTraitsTexture, GetTraitsVoxel { expr: VoxelEmitter | null; } /** * Properties for {@link MathboxSelection.voxel | voxel}. * @category data */ export interface VoxelProps extends SetTraitsNode, SetTraitsBuffer, SetTraitsData, SetTraitsTexture, SetTraitsVoxel { expr?: VoxelEmitter; }