Liking cljdoc? Tell your friends :D

emmy.mathbox

Server-side rendering functions for the components declared in the mathbox.core and mathbox.primitives namespaces of the MathBox.cljs project.

Server-side rendering functions for the components declared in the
[`mathbox.core`](https://cljdoc.org/d/org.mentat/mathbox.cljs/CURRENT/api/mathbox.core)
and [`mathbox.primitives`](https://cljdoc.org/d/org.mentat/mathbox.cljs/CURRENT/api/mathbox.primitives)
namespaces of the [`MathBox.cljs` project](https://mathbox.mentat.org).
raw docstring

areaclj/s

(area opts)

2D sampled matrix

  • :aligned: false (bool) - Use (fast) integer lookups
  • :axes: [1, 2] (swizzle(2) axis) - Axis pair
  • :bufferHeight: 1 (number) - Matrix buffer height
  • :bufferWidth: 1 (number) - Matrix buffer width
  • :centeredX: false (bool) - Centered instead of corner sampling
  • :centeredY: false (bool) - Centered instead of corner sampling
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :expr: null (nullable emitter) - Data emitter expression, e.g. function (emit, x, y, i, j, time, delta) { ... }
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :height: 1 (nullable number) - Matrix height
  • :history: 1 (number) - Matrix history
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :magFilter: "nearest" (filter) - Texture magnification filtering
  • :minFilter: "nearest" (filter) - Texture minification filtering
  • :observe: false (bool) - Pass clock time to data
  • :paddingX: 0 (number) - Number of samples padding
  • :paddingY: 0 (number) - Number of samples padding
  • :rangeX: [-1, 1] (vec2) - Range on axis
  • :rangeY: [-1, 1] (vec2) - Range on axis
  • :realtime: false (bool) - Run on real time, not clock time
  • :type: "float" (type) - Texture data type
  • :width: 1 (nullable number) - Matrix width
*2D sampled matrix*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:axes`: `[1, 2]` (swizzle(2) axis) - Axis pair
- `:bufferHeight`: `1` (number) - Matrix buffer height
- `:bufferWidth`: `1` (number) - Matrix buffer width
- `:centeredX`: `false` (bool) - Centered instead of corner sampling
- `:centeredY`: `false` (bool) - Centered instead of corner sampling
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:expr`: `null` (nullable emitter) - Data emitter expression, e.g. `function (emit, x, y, i, j, time, delta) { ... }`
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:height`: `1` (nullable number) - Matrix height
- `:history`: `1` (number) - Matrix history
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"nearest"` (filter) - Texture magnification filtering
- `:minFilter`: `"nearest"` (filter) - Texture minification filtering
- `:observe`: `false` (bool) - Pass clock time to data
- `:paddingX`: `0` (number) - Number of samples padding
- `:paddingY`: `0` (number) - Number of samples padding
- `:rangeX`: `[-1, 1]` (vec2) - Range on axis
- `:rangeY`: `[-1, 1]` (vec2) - Range on axis
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:type`: `"float"` (type) - Texture data type
- `:width`: `1` (nullable number) - Matrix width
sourceraw docstring

arrayclj/s

(array opts)

1D array

  • :aligned: false (bool) - Use (fast) integer lookups
  • :bufferWidth: 1 (number) - Array buffer width
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :expr: null (nullable emitter) - Data emitter expression, e.g. function (emit, i, time, delta) { ... }
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :history: 1 (number) - Array history
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :magFilter: "nearest" (filter) - Texture magnification filtering
  • :minFilter: "nearest" (filter) - Texture minification filtering
  • :observe: false (bool) - Pass clock time to data
  • :realtime: false (bool) - Run on real time, not clock time
  • :type: "float" (type) - Texture data type
  • :width: 1 (nullable number) - Array width
*1D array*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:bufferWidth`: `1` (number) - Array buffer width
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:expr`: `null` (nullable emitter) - Data emitter expression, e.g. `function (emit, i, time, delta) { ... }`
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:history`: `1` (number) - Array history
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"nearest"` (filter) - Texture magnification filtering
- `:minFilter`: `"nearest"` (filter) - Texture minification filtering
- `:observe`: `false` (bool) - Pass clock time to data
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:type`: `"float"` (type) - Texture data type
- `:width`: `1` (nullable number) - Array width
sourceraw docstring

axisclj/s

(axis opts)

Draw an axis

  • :axis: 1 (axis) - Axis
  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :crossed: true (bool) - UVWO map on matching axis
  • :depth: 1 (number) - Depth scaling
  • :detail: 1 (number) - Geometric detail
  • :end: true (bool) - Draw end arrow
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :opacity: 1 (positive number) - Opacity
  • :origin: [0, 0, 0, 0] (vec4) - 4D Origin
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :range: [-1, 1] (vec2) - Range on axis
  • :size: 3 (number) - Arrow size
  • :start: true (bool) - Draw start arrow
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :visible: true (bool) - Visibility for rendering
  • :width: 2 (positive number) - Line width
  • :zBias: -1 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw an axis*

- `:axis`: `1` (axis) - Axis
- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:crossed`: `true` (bool) - UVWO map on matching axis
- `:depth`: `1` (number) - Depth scaling
- `:detail`: `1` (number) - Geometric detail
- `:end`: `true` (bool) - Draw end arrow
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:opacity`: `1` (positive number) - Opacity
- `:origin`: `[0, 0, 0, 0]` (vec4) - 4D Origin
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:range`: `[-1, 1]` (vec2) - Range on axis
- `:size`: `3` (number) - Arrow size
- `:start`: `true` (bool) - Draw start arrow
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `2` (positive number) - Line width
- `:zBias`: `-1` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

cameraclj/s

(camera opts)

Camera instance or proxy

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :eulerOrder: "xyz" (swizzle) - 3D Euler order
  • :fov: null (nullable number) - Field-of-view (degrees), e.g. 60
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :lookAt: null (nullable vec3) - 3D Look at, e.g. [2, 3, 4]
  • :position: null (nullable vec3) - 3D Position, e.g. [1, 2, 3]
  • :proxy: false (bool) - Re-use existing camera
  • :quaternion: null (nullable quat) - 3D Quaternion, e.g. [0.707, 0, 0, 0.707]
  • :rotation: null (nullable vec3) - 3D Euler rotation, e.g. [π/2, 0, 0]
  • :up: null (nullable vec3) - 3D Up, e.g. [0, 1, 0]
*Camera instance or proxy*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:eulerOrder`: `"xyz"` (swizzle) - 3D Euler order
- `:fov`: `null` (nullable number) - Field-of-view (degrees), e.g. `60`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:lookAt`: `null` (nullable vec3) - 3D Look at, e.g. `[2, 3, 4]`
- `:position`: `null` (nullable vec3) - 3D Position, e.g. `[1, 2, 3]`
- `:proxy`: `false` (bool) - Re-use existing camera
- `:quaternion`: `null` (nullable quat) - 3D Quaternion, e.g. `[0.707, 0, 0, 0.707]`
- `:rotation`: `null` (nullable vec3) - 3D Euler rotation, e.g. `[π/2, 0, 0]`
- `:up`: `null` (nullable vec3) - 3D Up, e.g. `[0, 1, 0]`
sourceraw docstring

cartesianclj/s

(cartesian & children)

Apply cartesian view

  • classes = [] (string array) - Custom classes, e.g. ["big"]
  • eulerOrder = xyz (swizzle) - Euler order
  • id = null (nullable string) - Unique ID, e.g. "sampler"
  • pass = "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • position = [0, 0, 0] (vec3) - 3D Position
  • quaternion = [0, 0, 0, 1] (quat) - 3D Quaternion
  • range = [[-1, 1], [-1, 1], [-1, 1], [-1, 1]] (array vec2) - 4D range in view
  • rotation = [0, 0, 0] (vec3) - 3D Euler rotation
  • scale = [1, 1, 1] (vec3) - 3D Scale
  • visible = true (bool) - Visibility for rendering
*Apply cartesian view*

* *classes* = `[]` (string array) - Custom classes, e.g. `["big"]`
* *eulerOrder* = `xyz` (swizzle) - Euler order
* *id* = `null` (nullable string) - Unique ID, e.g. `"sampler"`
* *pass* = `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
* *position* = `[0, 0, 0]` (vec3) - 3D Position
* *quaternion* = `[0, 0, 0, 1]` (quat) - 3D Quaternion
* *range* = `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` (array vec2) - 4D range in view
* *rotation* = `[0, 0, 0]` (vec3) - 3D Euler rotation
* *scale* = `[1, 1, 1]` (vec3) - 3D Scale
* *visible* = `true` (bool) - Visibility for rendering
sourceraw docstring

cartesian4clj/s

(cartesian4 & children)

Apply 4D cartesian view

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :position: [0, 0, 0, 0] (vec4) - 4D Position
  • :range: [[-1, 1], [-1, 1], [-1, 1], [-1, 1]] (array vec2) - 4D range in view
  • :scale: [1, 1, 1, 1] (vec4) - 4D Scale
  • :visible: true (bool) - Visibility for rendering
*Apply 4D cartesian view*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:position`: `[0, 0, 0, 0]` (vec4) - 4D Position
- `:range`: `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` (array vec2) - 4D range in view
- `:scale`: `[1, 1, 1, 1]` (vec4) - 4D Scale
- `:visible`: `true` (bool) - Visibility for rendering
sourceraw docstring

clampclj/s

(clamp opts)

Clamp out-of-bounds samples to the nearest data point

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :source: "<" (select) - Input source
*Clamp out-of-bounds samples to the nearest data point*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:source`: `"<"` (select) - Input source
sourceraw docstring

clockclj/s

(clock & children)

Relative clock that starts from zero.

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :delay: 0 (number) - Play delay
  • :from: 0 (number) - Play from
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :loop: false (bool) - Loop
  • :pace: 1 (number) - Play pace
  • :realtime: false (bool) - Run on real time, not clock time
  • :seek: null (nullable number) - Seek to time, e.g. 4
  • :speed: 1 (number) - Play speed
  • :to: Infinity (number) - Play until
*Relative clock that starts from zero.*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:delay`: `0` (number) - Play delay
- `:from`: `0` (number) - Play from
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:loop`: `false` (bool) - Loop
- `:pace`: `1` (number) - Play pace
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:seek`: `null` (nullable number) - Seek to time, e.g. `4`
- `:speed`: `1` (number) - Play speed
- `:to`: `Infinity` (number) - Play until
sourceraw docstring

composeclj/s

(compose opts)

Full-screen render pass

  • :alpha: false (bool) - Compose with alpha transparency
  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :color: "white" (color) - Color
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :opacity: 1 (positive number) - Opacity
  • :source: "<" (select) - Input source
  • :visible: true (bool) - Visibility for rendering
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: false (bool) - Test Z buffer
  • :zWrite: false (bool) - Write Z buffer
*Full-screen render pass*

- `:alpha`: `false` (bool) - Compose with alpha transparency
- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:color`: `"white"` (color) - Color
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:opacity`: `1` (positive number) - Opacity
- `:source`: `"<"` (select) - Input source
- `:visible`: `true` (bool) - Visibility for rendering
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `false` (bool) - Test Z buffer
- `:zWrite`: `false` (bool) - Write Z buffer
sourceraw docstring

domclj/s

(dom opts)

HTML DOM injector

  • :attributes: null (nullable object) - HTML attributes, e.g. {"style": {"color": "red"}}
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :color: "rgb(255, 255, 255)" (color) - Color
  • :depth: 0 (number) - Depth scaling
  • :html: "<" (select) - HTML data source
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :offset: [0, -20] (vec2) - 2D offset
  • :opacity: 1 (positive number) - Opacity
  • :outline: 2 (number) - Outline size
  • :pointerEvents: false (bool) - Allow pointer events
  • :points: "<" (select) - Points data source
  • :size: 16 (number) - Text size
  • :snap: false (bool) - Snap to pixel
  • :visible: true (bool) - Visibility for rendering
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zoom: 1 (number) - HTML zoom
*HTML DOM injector*

- `:attributes`: `null` (nullable object) - HTML attributes, e.g. `{"style": {"color": "red"}}`
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:color`: `"rgb(255, 255, 255)"` (color) - Color
- `:depth`: `0` (number) - Depth scaling
- `:html`: `"<"` (select) - HTML data source
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:offset`: `[0, -20]` (vec2) - 2D offset
- `:opacity`: `1` (positive number) - Opacity
- `:outline`: `2` (number) - Outline size
- `:pointerEvents`: `false` (bool) - Allow pointer events
- `:points`: `"<"` (select) - Points data source
- `:size`: `16` (number) - Text size
- `:snap`: `false` (bool) - Snap to pixel
- `:visible`: `true` (bool) - Visibility for rendering
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zoom`: `1` (number) - HTML zoom
sourceraw docstring

faceclj/s

(face opts)

Draw polygon faces

  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :depth: 1 (number) - Depth scaling
  • :fill: true (bool) - Fill mesh
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :line: false (bool) - Draw line
  • :lineBias: 5 (number) - Z-Bias for lines on fill
  • :map: null (nullable select) - Texture map source, e.g. "#map"
  • :opacity: 1 (positive number) - Opacity
  • :points: < (select) - Points data source
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :shaded: false (bool) - Shade mesh
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :visible: true (bool) - Visibility for rendering
  • :width: 2 (positive number) - Line width
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw polygon faces*

- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:depth`: `1` (number) - Depth scaling
- `:fill`: `true` (bool) - Fill mesh
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:line`: `false` (bool) - Draw line
- `:lineBias`: `5` (number) - Z-Bias for lines on fill
- `:map`: `null` (nullable select) - Texture map source, e.g. `"#map"`
- `:opacity`: `1` (positive number) - Opacity
- `:points`: `<` (select) - Points data source
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:shaded`: `false` (bool) - Shade mesh
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `2` (positive number) - Line width
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

formatclj/s

(format opts)

Text formatter

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable array) - Array of labels, e.g. ["Grumpy", "Sleepy", "Sneezy"]
  • :detail: 24 (number) - Font detail
  • :digits: null (nullable positive number) - Digits of precision, e.g. 2
  • :expr: null (nullable function) - Label formatter expression, e.g. function (x, y, z, w, i, j, k, l, time, delta) { ... }
  • :font: "sans-serif" (font) - Font family
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :live: true (bool) - Update continuously
  • :magFilter: "linear" (filter) - Texture magnification filtering
  • :minFilter: "linear" (filter) - Texture minification filtering
  • :sdf: 5 (number) - Signed distance field range
  • :source: "<" (select) - Input source
  • :style: "" (string) - Font style, e.g. "italic"
  • :type: "float" (type) - Texture data type
  • :variant: "" (string) - Font variant, e.g. "small-caps"
  • :weight: "" (string) - Font weight, e.g. "bold"
*Text formatter*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable array) - Array of labels, e.g. `["Grumpy", "Sleepy", "Sneezy"]`
- `:detail`: `24` (number) - Font detail
- `:digits`: `null` (nullable positive number) - Digits of precision, e.g. `2`
- `:expr`: `null` (nullable function) - Label formatter expression, e.g. `function (x, y, z, w, i, j, k, l, time, delta) { ... }`
- `:font`: `"sans-serif"` (font) - Font family
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"linear"` (filter) - Texture magnification filtering
- `:minFilter`: `"linear"` (filter) - Texture minification filtering
- `:sdf`: `5` (number) - Signed distance field range
- `:source`: `"<"` (select) - Input source
- `:style`: `""` (string) - Font style, e.g. `"italic"`
- `:type`: `"float"` (type) - Texture data type
- `:variant`: `""` (string) - Font variant, e.g. `"small-caps"`
- `:weight`: `""` (string) - Font weight, e.g. `"bold"`
sourceraw docstring

fragmentclj/s

(fragment & children)

Apply custom fragment shader pass

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :gamma: false (boolean) - Pass RGBA values in sRGB instead of linear RGB
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "light" (fragmentPass) - Fragment pass (color, light, rgba)
  • :shader: "<" (select) - Shader to use
*Apply custom fragment shader pass*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:gamma`: `false` (boolean) - Pass RGBA values in sRGB instead of linear RGB
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"light"` (fragmentPass) - Fragment pass (color, light, rgba)
- `:shader`: `"<"` (select) - Shader to use
sourceraw docstring

gridclj/s

(grid opts)

Draw a 2D line grid

  • :axes: [1, 2] (swizzle(2) axis) - Axis pair
  • :baseX: 10 (number) - Power base for sub/super units
  • :baseY: 10 (number) - Power base for sub/super units
  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :closedX: false (bool) - Close X lines
  • :closedY: false (bool) - Close Y lines
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :crossed: true (bool) - UVWO map on matching axes
  • :crossedX: true (bool) - UVWO map on matching axis
  • :crossedY: true (bool) - UVWO map on matching axis
  • :depth: 1 (number) - Depth scaling
  • :detailX: 1 (number) - Geometric detail
  • :detailY: 1 (number) - Geometric detail
  • :divideX: 10 (number) - Number of divisions
  • :divideY: 10 (number) - Number of divisions
  • :endX: true (bool) - Include end
  • :endY: true (bool) - Include end
  • :factorX: 1 (positive number) - Scale factor
  • :factorY: 1 (positive number) - Scale factor
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :lineX: true (bool) - Draw X lines
  • :lineY: true (bool) - Draw Y lines
  • :modeX: "linear" (scale) - Scale type
  • :modeY: "linear" (scale) - Scale type
  • :niceX: true (bool) - Snap to nice numbers
  • :niceY: true (bool) - Snap to nice numbers
  • :opacity: 1 (positive number) - Opacity
  • :origin: [0, 0, 0, 0] (vec4) - 4D Origin
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :rangeX: [-1, 1] (vec2) - Range on axis
  • :rangeY: [-1, 1] (vec2) - Range on axis
  • :startX: true (bool) - Include start
  • :startY: true (bool) - Include start
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :unitX: 1 (number) - Reference unit
  • :unitY: 1 (number) - Reference unit
  • :visible: true (bool) - Visibility for rendering
  • :width: 1 (positive number) - Line width
  • :zBias: -2 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
  • :zeroX: true (bool) - Include zero
  • :zeroY: true (bool) - Include zero
*Draw a 2D line grid*

- `:axes`: `[1, 2]` (swizzle(2) axis) - Axis pair
- `:baseX`: `10` (number) - Power base for sub/super units
- `:baseY`: `10` (number) - Power base for sub/super units
- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:closedX`: `false` (bool) - Close X lines
- `:closedY`: `false` (bool) - Close Y lines
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:crossed`: `true` (bool) - UVWO map on matching axes
- `:crossedX`: `true` (bool) - UVWO map on matching axis
- `:crossedY`: `true` (bool) - UVWO map on matching axis
- `:depth`: `1` (number) - Depth scaling
- `:detailX`: `1` (number) - Geometric detail
- `:detailY`: `1` (number) - Geometric detail
- `:divideX`: `10` (number) - Number of divisions
- `:divideY`: `10` (number) - Number of divisions
- `:endX`: `true` (bool) - Include end
- `:endY`: `true` (bool) - Include end
- `:factorX`: `1` (positive number) - Scale factor
- `:factorY`: `1` (positive number) - Scale factor
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:lineX`: `true` (bool) - Draw X lines
- `:lineY`: `true` (bool) - Draw Y lines
- `:modeX`: `"linear"` (scale) - Scale type
- `:modeY`: `"linear"` (scale) - Scale type
- `:niceX`: `true` (bool) - Snap to nice numbers
- `:niceY`: `true` (bool) - Snap to nice numbers
- `:opacity`: `1` (positive number) - Opacity
- `:origin`: `[0, 0, 0, 0]` (vec4) - 4D Origin
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:rangeX`: `[-1, 1]` (vec2) - Range on axis
- `:rangeY`: `[-1, 1]` (vec2) - Range on axis
- `:startX`: `true` (bool) - Include start
- `:startY`: `true` (bool) - Include start
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:unitX`: `1` (number) - Reference unit
- `:unitY`: `1` (number) - Reference unit
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `1` (positive number) - Line width
- `:zBias`: `-2` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
- `:zeroX`: `true` (bool) - Include zero
- `:zeroY`: `true` (bool) - Include zero
sourceraw docstring

groupclj/s

(group & children)

Group elements for visibility and activity

  • :active: true (bool) - Updates continuously
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :visible: true (bool) - Visibility for rendering
*Group elements for visibility and activity*

- `:active`: `true` (bool) - Updates continuously
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:visible`: `true` (bool) - Visibility for rendering
sourceraw docstring

growclj/s

(grow opts)

Scale data relative to reference data point

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: null (nullable anchor) - Depth alignment
  • :height: null (nullable anchor) - Height alignment
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: null (nullable anchor) - Items alignment
  • :scale: 1 (number) - Scale factor
  • :source: "<" (select) - Input source
  • :width: null (nullable anchor) - Width alignment
*Scale data relative to reference data point*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `null` (nullable anchor) - Depth alignment
- `:height`: `null` (nullable anchor) - Height alignment
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `null` (nullable anchor) - Items alignment
- `:scale`: `1` (number) - Scale factor
- `:source`: `"<"` (select) - Input source
- `:width`: `null` (nullable anchor) - Width alignment
sourceraw docstring

htmlclj/s

(html opts)

HTML element source

  • :aligned: false (bool) - Use (fast) integer lookups
  • :bufferDepth: 1 (number) - Voxel buffer depth
  • :bufferHeight: 1 (number) - Voxel buffer height
  • :bufferWidth: 1 (number) - Voxel buffer width
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :depth: 1 (nullable number) - Voxel depth
  • :expr: null (nullable emitter) - Data emitter expression
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :height: 1 (nullable number) - Voxel height
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :observe: false (bool) - Pass clock time to data
  • :realtime: false (bool) - Run on real time, not clock time
  • :width: 1 (nullable number) - Voxel width
*HTML element source*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:bufferDepth`: `1` (number) - Voxel buffer depth
- `:bufferHeight`: `1` (number) - Voxel buffer height
- `:bufferWidth`: `1` (number) - Voxel buffer width
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:depth`: `1` (nullable number) - Voxel depth
- `:expr`: `null` (nullable emitter) - Data emitter expression
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:height`: `1` (nullable number) - Voxel height
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:observe`: `false` (bool) - Pass clock time to data
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:width`: `1` (nullable number) - Voxel width
sourceraw docstring

inheritclj/s

(inherit & children)

Inherit and inject a trait from another element

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
*Inherit and inject a trait from another element*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
sourceraw docstring

intervalclj/s

(interval opts)

1D sampled array

  • :aligned: false (bool) - Use (fast) integer lookups
  • :axis: 1 (axis) - Axis
  • :bufferWidth: 1 (number) - Array buffer width
  • :centered: false (bool) - Centered instead of corner sampling
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :expr: null (nullable emitter) - Data emitter expression, e.g. function (emit, x, i, time, delta) { ... }
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :history: 1 (number) - Array history
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :magFilter: "nearest" (filter) - Texture magnification filtering
  • :minFilter: "nearest" (filter) - Texture minification filtering
  • :observe: false (bool) - Pass clock time to data
  • :padding: 0 (number) - Number of samples padding
  • :range: [-1, 1] (vec2) - Range on axis
  • :realtime: false (bool) - Run on real time, not clock time
  • :type: "float" (type) - Texture data type
  • :width: 1 (nullable number) - Array width
*1D sampled array*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:axis`: `1` (axis) - Axis
- `:bufferWidth`: `1` (number) - Array buffer width
- `:centered`: `false` (bool) - Centered instead of corner sampling
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:expr`: `null` (nullable emitter) - Data emitter expression, e.g. `function (emit, x, i, time, delta) { ... }`
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:history`: `1` (number) - Array history
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"nearest"` (filter) - Texture magnification filtering
- `:minFilter`: `"nearest"` (filter) - Texture minification filtering
- `:observe`: `false` (bool) - Pass clock time to data
- `:padding`: `0` (number) - Number of samples padding
- `:range`: `[-1, 1]` (vec2) - Range on axis
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:type`: `"float"` (type) - Texture data type
- `:width`: `1` (nullable number) - Array width
sourceraw docstring

joinclj/s

(join opts)

Join two array dimensions into one by concatenating rows/columns/stacks

  • :axis: null (nullable axis) - Axis to join, e.g. x
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :order: "wxyz" (transpose) - Axis order
  • :overlap: 1 (number) - Tuple overlap
  • :source: "<" (select) - Input source
*Join two array dimensions into one by concatenating rows/columns/stacks*

- `:axis`: `null` (nullable axis) - Axis to join, e.g. `x`
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:order`: `"wxyz"` (transpose) - Axis order
- `:overlap`: `1` (number) - Tuple overlap
- `:source`: `"<"` (select) - Input source
sourceraw docstring

labelclj/s

(label opts)

Draw GL labels

  • :background: "rgb(255, 255, 255)" (color) - Outline background
  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :depth: 0 (number) - Depth scaling
  • :expand: 0 (number) - Expand glyphs
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :offset: [0, -20] (vec2) - 2D offset
  • :opacity: 1 (positive number) - Opacity
  • :outline: 2 (number) - Outline size
  • :points: < (select) - Points data source
  • :size: 16 (number) - Text size
  • :snap: false (bool) - Snap to pixel
  • :text: "<" (select) - Text source
  • :visible: true (bool) - Visibility for rendering
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw GL labels*

- `:background`: `"rgb(255, 255, 255)"` (color) - Outline background
- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:depth`: `0` (number) - Depth scaling
- `:expand`: `0` (number) - Expand glyphs
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:offset`: `[0, -20]` (vec2) - 2D offset
- `:opacity`: `1` (positive number) - Opacity
- `:outline`: `2` (number) - Outline size
- `:points`: `<` (select) - Points data source
- `:size`: `16` (number) - Text size
- `:snap`: `false` (bool) - Snap to pixel
- `:text`: `"<"` (select) - Text source
- `:visible`: `true` (bool) - Visibility for rendering
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

layerclj/s

(layer & children)

Independent 2D layer/overlay

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: 1 (number) - 3D Depth
  • :fit: y (fit) - Fit to (contain, cover, x, y)
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
*Independent 2D layer/overlay*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `1` (number) - 3D Depth
- `:fit`: `y` (fit) - Fit to (contain, cover, x, y)
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
sourceraw docstring

lerpclj/s

(lerp opts)

Linear interpolation of data

  • :centeredW: false (bool) - Centered instead of corner sampling
  • :centeredX: false (bool) - Centered instead of corner sampling
  • :centeredY: false (bool) - Centered instead of corner sampling
  • :centeredZ: false (bool) - Centered instead of corner sampling
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: null (nullable number) - Lerp to depth, e.g. 5
  • :height: null (nullable number) - Lerp to height, e.g. 5
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: null (nullable number) - Lerp to items, e.g. 5
  • :paddingW: 0 (number) - Number of samples padding
  • :paddingX: 0 (number) - Number of samples padding
  • :paddingY: 0 (number) - Number of samples padding
  • :paddingZ: 0 (number) - Number of samples padding
  • :size: "absolute" (mapping) - Scaling mode (relative, absolute)
  • :source: "<" (select) - Input source
  • :width: null (nullable number) - Lerp to width, e.g. 5
*Linear interpolation of data*

- `:centeredW`: `false` (bool) - Centered instead of corner sampling
- `:centeredX`: `false` (bool) - Centered instead of corner sampling
- `:centeredY`: `false` (bool) - Centered instead of corner sampling
- `:centeredZ`: `false` (bool) - Centered instead of corner sampling
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `null` (nullable number) - Lerp to depth, e.g. `5`
- `:height`: `null` (nullable number) - Lerp to height, e.g. `5`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `null` (nullable number) - Lerp to items, e.g. `5`
- `:paddingW`: `0` (number) - Number of samples padding
- `:paddingX`: `0` (number) - Number of samples padding
- `:paddingY`: `0` (number) - Number of samples padding
- `:paddingZ`: `0` (number) - Number of samples padding
- `:size`: `"absolute"` (mapping) - Scaling mode (relative, absolute)
- `:source`: `"<"` (select) - Input source
- `:width`: `null` (nullable number) - Lerp to width, e.g. `5`
sourceraw docstring

lineclj/s

(line opts)

Draw lines

  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :depth: 1 (number) - Depth scaling
  • :end: true (bool) - Draw end arrow
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :opacity: 1 (positive number) - Opacity
  • :points: < (select) - Points data source
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :size: 3 (number) - Arrow size
  • :start: true (bool) - Draw start arrow
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :visible: true (bool) - Visibility for rendering
  • :width: 2 (positive number) - Line width
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw lines*

- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:depth`: `1` (number) - Depth scaling
- `:end`: `true` (bool) - Draw end arrow
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:opacity`: `1` (positive number) - Opacity
- `:points`: `<` (select) - Points data source
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:size`: `3` (number) - Arrow size
- `:start`: `true` (bool) - Draw start arrow
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `2` (positive number) - Line width
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

maskclj/s

(mask & children)

Apply custom mask pass

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :shader: "<" (select) - Shader to use
*Apply custom mask pass*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:shader`: `"<"` (select) - Shader to use
sourceraw docstring

mathboxclj/s

(mathbox & children)

Component that configures a MathBox-backed canvas and reactively mounts all children into the canvas.

Supports the following options:

  • :threestrap: these options are passed directly to the mathbox constructor on instantiation; these are in turn passed along to Threestrap's Bootstrap constructor. See this page for an example of what to pass and why.

  • :renderer: optional map with :background-color and :background-opacity keys. Updating these will update the settings without a re-render.

  • :controls: optional map with :max-distance and :rotate-speed keys. Updating these will update the settings on the registered controls without a re-render.

  • :on: optional map of type {<event-name> (fn [event three] ,,,)} On mount, each event will be bound via mathbox.three.on, as described in Threestrap's docs.

  • :ref: a 1-arg function that receives the underlying mathbox instance whenever it changes. Note that you may receive nil and should guard against it.

As well as all options used to configure the base/root component. (The format of each following line is <keyword>: <default> (<type>) - <description>.)

  • :camera: "[camera]" (select) - Active camera
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :focus: 1 (nullable number) - Camera focus distance in world units
  • :fov: null (nullable number) - (Vertical) Field-of-view to calibrate units for (degrees), e.g. 60
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :scale: null (nullable number) - (Vertical) Reference scale of viewport in pixels, e.g. 720
  • :speed: 1 (number) - Global speed
Component that configures a MathBox-backed canvas and reactively mounts all
children into the canvas.

Supports the following options:

- `:threestrap`: these options are passed directly to the [mathbox
  constructor](https://github.com/unconed/mathbox#basic-usage) on instantiation;
  these are in turn passed along to Threestrap's `Bootstrap` constructor.
  See [this page](https://github.com/unconed/threestrap#plugins) for an example
  of what to pass and why.

- `:renderer`: optional map with `:background-color` and `:background-opacity`
  keys. Updating these will update the settings without a re-render.

- `:controls`: optional map with `:max-distance` and `:rotate-speed` keys.
  Updating these will update the settings on the registered controls without a
  re-render.

- `:on`: optional map of type {<event-name> (fn [event three] ,,,)} On mount,
  each event will be bound via `mathbox.three.on`, as described in [Threestrap's
  docs](https://github.com/unconed/threestrap#events).

- `:ref`: a 1-arg function that receives the underlying mathbox instance
  whenever it changes. Note that you may receive `nil` and should guard against
  it.

As well as all options used to configure the [base/root
component](https://github.com/unconed/mathbox/blob/master/docs/primitives.md#base/root). (The
format of each following line is <keyword>: <default> (<type>) -
<description>.)

- `:camera`: `"[camera]"` (select) - Active camera
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:focus`: `1` (nullable number) - Camera focus distance in world units
- `:fov`: `null` (nullable number) - (Vertical) Field-of-view to calibrate units for (degrees), e.g. `60`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:scale`: `null` (nullable number) - (Vertical) Reference scale of viewport in pixels, e.g. `720`
- `:speed`: `1` (number) - Global speed
sourceraw docstring

matrixclj/s

(matrix opts)

2D matrix

  • :aligned: false (bool) - Use (fast) integer lookups
  • :bufferHeight: 1 (number) - Matrix buffer height
  • :bufferWidth: 1 (number) - Matrix buffer width
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :expr: null (nullable emitter) - Data emitter expression, e.g. function (emit, i, j, time, delta) { ... }
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :height: 1 (nullable number) - Matrix height
  • :history: 1 (number) - Matrix history
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :magFilter: "nearest" (filter) - Texture magnification filtering
  • :minFilter: "nearest" (filter) - Texture minification filtering
  • :observe: false (bool) - Pass clock time to data
  • :realtime: false (bool) - Run on real time, not clock time
  • :type: "float" (type) - Texture data type
  • :width: 1 (nullable number) - Matrix width
*2D matrix*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:bufferHeight`: `1` (number) - Matrix buffer height
- `:bufferWidth`: `1` (number) - Matrix buffer width
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:expr`: `null` (nullable emitter) - Data emitter expression, e.g. `function (emit, i, j, time, delta) { ... }`
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:height`: `1` (nullable number) - Matrix height
- `:history`: `1` (number) - Matrix history
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"nearest"` (filter) - Texture magnification filtering
- `:minFilter`: `"nearest"` (filter) - Texture minification filtering
- `:observe`: `false` (bool) - Pass clock time to data
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:type`: `"float"` (type) - Texture data type
- `:width`: `1` (nullable number) - Matrix width
sourceraw docstring

memoclj/s

(memo opts)

Memoize data to an array/texture

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :magFilter: "nearest" (filter) - Texture magnification filtering
  • :minFilter: "nearest" (filter) - Texture minification filtering
  • :source: "<" (select) - Input source
  • :type: "float" (type) - Texture data type
*Memoize data to an array/texture*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:magFilter`: `"nearest"` (filter) - Texture magnification filtering
- `:minFilter`: `"nearest"` (filter) - Texture minification filtering
- `:source`: `"<"` (select) - Input source
- `:type`: `"float"` (type) - Texture data type
sourceraw docstring

moveclj/s

(move & children)

Move elements in/out on transition

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :delay: 0 (number) - Transition delay
  • :delayEnter: null (nullable number) - Transition enter delay, e.g. 0.3
  • :delayExit: null (nullable number) - Transition exit delay, e.g. 0.3
  • :duration: 0.3 (number) - Transition duration
  • :durationEnter: 0.3 (number) - Transition enter duration
  • :durationExit: 0.3 (number) - Transition exit duration
  • :enter: null (nullable number) - Enter state, e.g. 0.5
  • :exit: null (nullable number) - Exit state, e.g. 0.5
  • :from: [0, 0, 0, 0] (vec4) - Enter from
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :stagger: [0, 0, 0, 0] (vec4) - Stagger dimensions, e.g. [2, 1, 0, 0]
  • :to: [0, 0, 0, 0] (vec4) - Exit to
*Move elements in/out on transition*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:delay`: `0` (number) - Transition delay
- `:delayEnter`: `null` (nullable number) - Transition enter delay, e.g. `0.3`
- `:delayExit`: `null` (nullable number) - Transition exit delay, e.g. `0.3`
- `:duration`: `0.3` (number) - Transition duration
- `:durationEnter`: `0.3` (number) - Transition enter duration
- `:durationExit`: `0.3` (number) - Transition exit duration
- `:enter`: `null` (nullable number) - Enter state, e.g. `0.5`
- `:exit`: `null` (nullable number) - Exit state, e.g. `0.5`
- `:from`: `[0, 0, 0, 0]` (vec4) - Enter from
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:stagger`: `[0, 0, 0, 0]` (vec4) - Stagger dimensions, e.g. `[2, 1, 0, 0]`
- `:to`: `[0, 0, 0, 0]` (vec4) - Exit to
sourceraw docstring

nowclj/s

(now & children)

Absolute UNIX time in seconds since 01/01/1970

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :now: null (nullable timestamp) - Current moment, e.g. 1444094929.619
  • :pace: 1 (number) - Time pace
  • :seek: null (nullable number) - Seek to time
  • :speed: 1 (number) - Time speed
*Absolute UNIX time in seconds since 01/01/1970*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:now`: `null` (nullable timestamp) - Current moment, e.g. `1444094929.619`
- `:pace`: `1` (number) - Time pace
- `:seek`: `null` (nullable number) - Seek to time
- `:speed`: `1` (number) - Time speed
sourceraw docstring

playclj/s

(play opts)

Play a sequenced animation

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :delay: 0 (number) - Play delay
  • :ease: "cosine" (ease) - Animation ease (linear, cosine, binary, hold)
  • :from: 0 (number) - Play from
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :loop: false (bool) - Loop
  • :pace: 1 (number) - Play pace
  • :realtime: false (bool) - Run on real time, not clock time
  • :script: {} (object) - Animation script, e.g. { "0": { props: { color: "red" }, expr: { size: function (t) { return Math.sin(t) + 1; }}}, "1": ...}
  • :speed: 1 (number) - Play speed
  • :target: "<" (select) - Animation target
  • :to: Infinity (number) - Play until
  • :trigger: 1 (nullable number) - Trigger on step
*Play a sequenced animation*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:delay`: `0` (number) - Play delay
- `:ease`: `"cosine"` (ease) - Animation ease (linear, cosine, binary, hold)
- `:from`: `0` (number) - Play from
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:loop`: `false` (bool) - Loop
- `:pace`: `1` (number) - Play pace
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:script`: `{}` (object) - Animation script, e.g. `{ "0": { props: { color: "red" }, expr: { size: function (t) { return Math.sin(t) + 1; }}}, "1": ...}`
- `:speed`: `1` (number) - Play speed
- `:target`: `"<"` (select) - Animation target
- `:to`: `Infinity` (number) - Play until
- `:trigger`: `1` (nullable number) - Trigger on step
sourceraw docstring

pointclj/s

(point opts)

Draw points

  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :depth: 1 (number) - Depth scaling
  • :fill: true (bool) - Fill shape
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :opacity: 1 (positive number) - Opacity
  • :optical: true (bool) - Optical or exact sizing
  • :points: < (select) - Points data source
  • :shape: "circle" (shape) - Point shape (circle, square, diamond, up, down, left, right)
  • :size: 4 (positive number) - Point size
  • :sizes: null (nullable select) - Point sizes data source, e.g. "#sizes"
  • :visible: true (bool) - Visibility for rendering
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw points*

- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:depth`: `1` (number) - Depth scaling
- `:fill`: `true` (bool) - Fill shape
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:opacity`: `1` (positive number) - Opacity
- `:optical`: `true` (bool) - Optical or exact sizing
- `:points`: `<` (select) - Points data source
- `:shape`: `"circle"` (shape) - Point shape (circle, square, diamond, up, down, left, right)
- `:size`: `4` (positive number) - Point size
- `:sizes`: `null` (nullable select) - Point sizes data source, e.g. `"#sizes"`
- `:visible`: `true` (bool) - Visibility for rendering
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

polarclj/s

(polar & children)

Apply polar view

  • :bend: 1 (number) - Amount of polar bend
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :eulerOrder: xyz (swizzle) - Euler order
  • :helix: 0 (number) - Expand into helix
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :position: [0, 0, 0] (vec3) - 3D Position
  • :quaternion: [0, 0, 0, 1] (quat) - 3D Quaternion
  • :range: [[-1, 1], [-1, 1], [-1, 1], [-1, 1]] (array vec2) - 4D range in view
  • :rotation: [0, 0, 0] (vec3) - 3D Euler rotation
  • :scale: [1, 1, 1] (vec3) - 3D Scale
  • :visible: true (bool) - Visibility for rendering
*Apply polar view*

- `:bend`: `1` (number) - Amount of polar bend
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:eulerOrder`: `xyz` (swizzle) - Euler order
- `:helix`: `0` (number) - Expand into helix
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:position`: `[0, 0, 0]` (vec3) - 3D Position
- `:quaternion`: `[0, 0, 0, 1]` (quat) - 3D Quaternion
- `:range`: `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` (array vec2) - 4D range in view
- `:rotation`: `[0, 0, 0]` (vec3) - 3D Euler rotation
- `:scale`: `[1, 1, 1]` (vec3) - 3D Scale
- `:visible`: `true` (bool) - Visibility for rendering
sourceraw docstring

presentclj/s

(present & children)

Present a tree of slides

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :directed: true (bool) - Apply directional transitions
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :index: 1 (number) - Present slide number
  • :length: 0 (number) - Presentation length (computed)
*Present a tree of slides*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:directed`: `true` (bool) - Apply directional transitions
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:index`: `1` (number) - Present slide number
- `:length`: `0` (number) - Presentation length (computed)
sourceraw docstring

rawboxclj/s

(rawbox & children)

Light wrapper around the ContainedMathbox and MathBox components exposed by mathbox-react.

The main differences are:

  • This component calls ContainedMathbox if the :container option is a config map (or not present), and Mathbox if :container references an actual HTMLElement. Any other value currently errors.

  • This component takes a :threestrap option instead of :options, as the mathbox-react components do.

See mathbox for a version that installs hooks to allow configuration of the renderer, camera and other settings.

Light wrapper around the `ContainedMathbox` and `MathBox` components exposed by
`mathbox-react.`

The main differences are:

- This component calls `ContainedMathbox` if the `:container` option is a
  config map (or not present), and `Mathbox` if `:container` references an
  actual `HTMLElement`. Any other value currently errors.

- This component takes a `:threestrap` option instead of `:options`, as the
`mathbox-react` components do.

See [[mathbox]] for a version that installs hooks to allow configuration of
the renderer, camera and other settings.
sourceraw docstring

readbackclj/s

(readback opts)

Read data back to a binary JavaScript array

  • :active: true (bool) - Updates continuously
  • :channels: 4 (number) - Readback channels (read only)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: [] (data) - Readback data buffer (read only)
  • :depth: 1 (nullable number) - Readback depth (read only)
  • :expr: null (nullable function) - Readback consume expression, e.g. function (x, y, z, w, i, j, k, l) { ... }
  • :height: 1 (nullable number) - Readback height (read only)
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 1 (nullable number) - Readback items (read only)
  • :source: "<" (select) - Input source
  • :type: "float" (float) - Readback data type (float, unsignedByte)
  • :width: 1 (nullable number) - Readback width (read only)
*Read data back to a binary JavaScript array*

- `:active`: `true` (bool) - Updates continuously
- `:channels`: `4` (number) - Readback channels (read only)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `[]` (data) - Readback data buffer (read only)
- `:depth`: `1` (nullable number) - Readback depth (read only)
- `:expr`: `null` (nullable function) - Readback consume expression, e.g. `function (x, y, z, w, i, j, k, l) { ... }`
- `:height`: `1` (nullable number) - Readback height (read only)
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `1` (nullable number) - Readback items (read only)
- `:source`: `"<"` (select) - Input source
- `:type`: `"float"` (float) - Readback data type (float, unsignedByte)
- `:width`: `1` (nullable number) - Readback width (read only)
sourceraw docstring

repeatclj/s

(repeat opts)

Repeat data in one or more dimensions

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: 1 (number) - Repeat depth
  • :height: 1 (number) - Repeat height
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 1 (number) - Repeat items
  • :source: "<" (select) - Input source
  • :width: 1 (number) - Repeat width
*Repeat data in one or more dimensions*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `1` (number) - Repeat depth
- `:height`: `1` (number) - Repeat height
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `1` (number) - Repeat items
- `:source`: `"<"` (select) - Input source
- `:width`: `1` (number) - Repeat width
sourceraw docstring

resampleclj/s

(resample opts)

Resample data to new dimensions with a shader

  • :centeredW: false (bool) - Centered instead of corner sampling
  • :centeredX: false (bool) - Centered instead of corner sampling
  • :centeredY: false (bool) - Centered instead of corner sampling
  • :centeredZ: false (bool) - Centered instead of corner sampling
  • :channels: 4 (number) - Resample channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: null (nullable number) - Resample factor depth, e.g. 10
  • :height: null (nullable number) - Resample factor height, e.g. 10
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :indices: 4 (number) - Resample indices
  • :items: null (nullable number) - Resample factor items, e.g. 10
  • :paddingW: 0 (number) - Number of samples padding
  • :paddingX: 0 (number) - Number of samples padding
  • :paddingY: 0 (number) - Number of samples padding
  • :paddingZ: 0 (number) - Number of samples padding
  • :sample: "relative" (mapping) - Source sampling (relative, absolute)
  • :shader: "<" (select) - Shader to use
  • :size: "absolute" (mapping) - Scaling mode (relative, absolute)
  • :source: "<" (select) - Input source
  • :width: null (nullable number) - Resample factor width, e.g. 10
*Resample data to new dimensions with a shader*

- `:centeredW`: `false` (bool) - Centered instead of corner sampling
- `:centeredX`: `false` (bool) - Centered instead of corner sampling
- `:centeredY`: `false` (bool) - Centered instead of corner sampling
- `:centeredZ`: `false` (bool) - Centered instead of corner sampling
- `:channels`: `4` (number) - Resample channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `null` (nullable number) - Resample factor depth, e.g. `10`
- `:height`: `null` (nullable number) - Resample factor height, e.g. `10`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:indices`: `4` (number) - Resample indices
- `:items`: `null` (nullable number) - Resample factor items, e.g. `10`
- `:paddingW`: `0` (number) - Number of samples padding
- `:paddingX`: `0` (number) - Number of samples padding
- `:paddingY`: `0` (number) - Number of samples padding
- `:paddingZ`: `0` (number) - Number of samples padding
- `:sample`: `"relative"` (mapping) - Source sampling (relative, absolute)
- `:shader`: `"<"` (select) - Shader to use
- `:size`: `"absolute"` (mapping) - Scaling mode (relative, absolute)
- `:source`: `"<"` (select) - Input source
- `:width`: `null` (nullable number) - Resample factor width, e.g. `10`
sourceraw docstring

retextclj/s

(retext opts)

Text atlas resampler

  • :centeredW: false (bool) - Centered instead of corner sampling
  • :centeredX: false (bool) - Centered instead of corner sampling
  • :centeredY: false (bool) - Centered instead of corner sampling
  • :centeredZ: false (bool) - Centered instead of corner sampling
  • :channels: 4 (number) - Resample channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: null (nullable number) - Resample factor depth, e.g. 10
  • :height: null (nullable number) - Resample factor height, e.g. 10
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :indices: 4 (number) - Resample indices
  • :items: null (nullable number) - Resample factor items, e.g. 10
  • :paddingW: 0 (number) - Number of samples padding
  • :paddingX: 0 (number) - Number of samples padding
  • :paddingY: 0 (number) - Number of samples padding
  • :paddingZ: 0 (number) - Number of samples padding
  • :sample: "relative" (mapping) - Source sampling (relative, absolute)
  • :shader: "<" (select) - Shader to use
  • :size: "absolute" (mapping) - Scaling mode (relative, absolute)
  • :source: "<" (select) - Input source
  • :width: null (nullable number) - Resample factor width, e.g. 10
*Text atlas resampler*

- `:centeredW`: `false` (bool) - Centered instead of corner sampling
- `:centeredX`: `false` (bool) - Centered instead of corner sampling
- `:centeredY`: `false` (bool) - Centered instead of corner sampling
- `:centeredZ`: `false` (bool) - Centered instead of corner sampling
- `:channels`: `4` (number) - Resample channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `null` (nullable number) - Resample factor depth, e.g. `10`
- `:height`: `null` (nullable number) - Resample factor height, e.g. `10`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:indices`: `4` (number) - Resample indices
- `:items`: `null` (nullable number) - Resample factor items, e.g. `10`
- `:paddingW`: `0` (number) - Number of samples padding
- `:paddingX`: `0` (number) - Number of samples padding
- `:paddingY`: `0` (number) - Number of samples padding
- `:paddingZ`: `0` (number) - Number of samples padding
- `:sample`: `"relative"` (mapping) - Source sampling (relative, absolute)
- `:shader`: `"<"` (select) - Shader to use
- `:size`: `"absolute"` (mapping) - Scaling mode (relative, absolute)
- `:source`: `"<"` (select) - Input source
- `:width`: `null` (nullable number) - Resample factor width, e.g. `10`
sourceraw docstring

revealclj/s

(reveal & children)

Reveal/hide elements on transition

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :delay: 0 (number) - Transition delay
  • :delayEnter: null (nullable number) - Transition enter delay, e.g. 0.3
  • :delayExit: null (nullable number) - Transition exit delay, e.g. 0.3
  • :duration: 0.3 (number) - Transition duration
  • :durationEnter: 0.3 (number) - Transition enter duration
  • :durationExit: 0.3 (number) - Transition exit duration
  • :enter: null (nullable number) - Enter state, e.g. 0.5
  • :exit: null (nullable number) - Exit state, e.g. 0.5
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :stagger: [0, 0, 0, 0] (vec4) - Stagger dimensions, e.g. [2, 1, 0, 0]
*Reveal/hide elements on transition*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:delay`: `0` (number) - Transition delay
- `:delayEnter`: `null` (nullable number) - Transition enter delay, e.g. `0.3`
- `:delayExit`: `null` (nullable number) - Transition exit delay, e.g. `0.3`
- `:duration`: `0.3` (number) - Transition duration
- `:durationEnter`: `0.3` (number) - Transition enter duration
- `:durationExit`: `0.3` (number) - Transition exit duration
- `:enter`: `null` (nullable number) - Enter state, e.g. `0.5`
- `:exit`: `null` (nullable number) - Exit state, e.g. `0.5`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:stagger`: `[0, 0, 0, 0]` (vec4) - Stagger dimensions, e.g. `[2, 1, 0, 0]`
sourceraw docstring

rttclj/s

(rtt & children)

Render objects to a texture

  • :camera: "[camera]" (select) - Active camera
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :height: null (nullable number) - RTT height, e.g. 360
  • :history: 1 (number) - RTT history
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :magFilter: "linear" (filter) - Texture magnification filtering
  • :minFilter: "linear" (filter) - Texture minification filtering
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :speed: 1 (number) - Global speed
  • :type: "unsignedByte" (type) - Texture data type
  • :width: null (nullable number) - RTT width, e.g. 640
*Render objects to a texture*

- `:camera`: `"[camera]"` (select) - Active camera
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:height`: `null` (nullable number) - RTT height, e.g. `360`
- `:history`: `1` (number) - RTT history
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:magFilter`: `"linear"` (filter) - Texture magnification filtering
- `:minFilter`: `"linear"` (filter) - Texture minification filtering
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:speed`: `1` (number) - Global speed
- `:type`: `"unsignedByte"` (type) - Texture data type
- `:width`: `null` (nullable number) - RTT width, e.g. `640`
sourceraw docstring

scaleclj/s

(scale opts)

Human-friendly divisions on an axis, subdivided as needed

  • :axis: 1 (axis) - Axis
  • :base: 10 (number) - Power base for sub/super units
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :divide: 10 (number) - Number of divisions
  • :end: true (bool) - Include end
  • :factor: 1 (positive number) - Scale factor
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :mode: "linear" (scale) - Scale type
  • :nice: true (bool) - Snap to nice numbers
  • :origin: [0, 0, 0, 0] (vec4) - 4D Origin
  • :range: [-1, 1] (vec2) - Range on axis
  • :start: true (bool) - Include start
  • :unit: 1 (number) - Reference unit
  • :zero: true (bool) - Include zero
*Human-friendly divisions on an axis, subdivided as needed*

- `:axis`: `1` (axis) - Axis
- `:base`: `10` (number) - Power base for sub/super units
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:divide`: `10` (number) - Number of divisions
- `:end`: `true` (bool) - Include end
- `:factor`: `1` (positive number) - Scale factor
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:mode`: `"linear"` (scale) - Scale type
- `:nice`: `true` (bool) - Snap to nice numbers
- `:origin`: `[0, 0, 0, 0]` (vec4) - 4D Origin
- `:range`: `[-1, 1]` (vec2) - Range on axis
- `:start`: `true` (bool) - Include start
- `:unit`: `1` (number) - Reference unit
- `:zero`: `true` (bool) - Include zero
sourceraw docstring

shaderclj/s

(shader opts)

Custom shader snippet

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :code: "" (string) - Shader code
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :language: "glsl" (string) - Shader language
  • :sources: null (nullable select) - Sampler sources, e.g. ["#pressure", "#divergence"]
  • :uniforms: null (nullable object) - Shader uniform objects (three.js style), e.g. { time: { type: 'f', value: 3 }}
*Custom shader snippet*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:code`: `""` (string) - Shader code
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:language`: `"glsl"` (string) - Shader language
- `:sources`: `null` (nullable select) - Sampler sources, e.g. `["#pressure", "#divergence"]`
- `:uniforms`: `null` (nullable object) - Shader uniform objects (three.js style), e.g. `{ time: { type: 'f', value: 3 }}`
sourceraw docstring

sliceclj/s

(slice opts)

Select one or more rows/columns/stacks

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: null (nullable vec2) - Slice from, to depth (excluding to), e.g. [2, 4]
  • :height: null (nullable vec2) - Slice from, to height (excluding to), e.g. [2, 4]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: null (nullable vec2) - Slice from, to items (excluding to), e.g. [2, 4]
  • :source: "<" (select) - Input source
  • :width: null (nullable vec2) - Slice from, to width (excluding to), e.g. [2, 4]
*Select one or more rows/columns/stacks*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `null` (nullable vec2) - Slice from, to depth (excluding to), e.g. `[2, 4]`
- `:height`: `null` (nullable vec2) - Slice from, to height (excluding to), e.g. `[2, 4]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `null` (nullable vec2) - Slice from, to items (excluding to), e.g. `[2, 4]`
- `:source`: `"<"` (select) - Input source
- `:width`: `null` (nullable vec2) - Slice from, to width (excluding to), e.g. `[2, 4]`
sourceraw docstring

slideclj/s

(slide & children)

Presentation slide

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :early: 0 (number) - Appear early steps
  • :from: null (nullable number) - Appear from step, e.g. 2
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :late: 0 (number) - Stay late steps
  • :order: 0 (nullable number) - Slide order
  • :steps: 1 (number) - Slide steps
  • :to: null (nullable number) - Disappear on step, e.g. 4
*Presentation slide*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:early`: `0` (number) - Appear early steps
- `:from`: `null` (nullable number) - Appear from step, e.g. `2`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:late`: `0` (number) - Stay late steps
- `:order`: `0` (nullable number) - Slide order
- `:steps`: `1` (number) - Slide steps
- `:to`: `null` (nullable number) - Disappear on step, e.g. `4`
sourceraw docstring

sphericalclj/s

(spherical & children)

Apply spherical view

  • :bend: 1 (number) - Amount of spherical bend
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :eulerOrder: xyz (swizzle) - Euler order
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :position: [0, 0, 0] (vec3) - 3D Position
  • :quaternion: [0, 0, 0, 1] (quat) - 3D Quaternion
  • :range: [[-1, 1], [-1, 1], [-1, 1], [-1, 1]] (array vec2) - 4D range in view
  • :rotation: [0, 0, 0] (vec3) - 3D Euler rotation
  • :scale: [1, 1, 1] (vec3) - 3D Scale
  • :visible: true (bool) - Visibility for rendering
*Apply spherical view*

- `:bend`: `1` (number) - Amount of spherical bend
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:eulerOrder`: `xyz` (swizzle) - Euler order
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:position`: `[0, 0, 0]` (vec3) - 3D Position
- `:quaternion`: `[0, 0, 0, 1]` (quat) - 3D Quaternion
- `:range`: `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` (array vec2) - 4D range in view
- `:rotation`: `[0, 0, 0]` (vec3) - 3D Euler rotation
- `:scale`: `[1, 1, 1]` (vec3) - 3D Scale
- `:visible`: `true` (bool) - Visibility for rendering
sourceraw docstring

splitclj/s

(split opts)

Split one array dimension into two by splitting rows/columns/etc

  • :axis: null (nullable axis) - Axis to split, e.g. x
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :length: 1 (number) - Tuple length
  • :order: "wxyz" (transpose) - Axis order
  • :overlap: 1 (number) - Tuple overlap
  • :source: "<" (select) - Input source
*Split one array dimension into two by splitting rows/columns/etc*

- `:axis`: `null` (nullable axis) - Axis to split, e.g. `x`
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:length`: `1` (number) - Tuple length
- `:order`: `"wxyz"` (transpose) - Axis order
- `:overlap`: `1` (number) - Tuple overlap
- `:source`: `"<"` (select) - Input source
sourceraw docstring

spreadclj/s

(spread opts)

Spread data values according to array indices

  • :alignDepth: 0 (anchor) - Depth alignment
  • :alignHeight: 0 (anchor) - Height alignment
  • :alignItems: 0 (anchor) - Items alignment
  • :alignWidth: 0 (anchor) - Width alignment
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: null (nullable vec4) - Depth offset, e.g. [1.5, 0, 0, 0]
  • :height: null (nullable vec4) - Height offset, e.g. [1.5, 0, 0, 0]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: null (nullable vec4) - Items offset, e.g. [1.5, 0, 0, 0]
  • :source: "<" (select) - Input source
  • :unit: "relative" (mapping) - Spread per item (absolute) or array (relative)
  • :width: null (nullable vec4) - Width offset, e.g. [1.5, 0, 0, 0]
*Spread data values according to array indices*

- `:alignDepth`: `0` (anchor) - Depth alignment
- `:alignHeight`: `0` (anchor) - Height alignment
- `:alignItems`: `0` (anchor) - Items alignment
- `:alignWidth`: `0` (anchor) - Width alignment
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `null` (nullable vec4) - Depth offset, e.g. `[1.5, 0, 0, 0]`
- `:height`: `null` (nullable vec4) - Height offset, e.g. `[1.5, 0, 0, 0]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `null` (nullable vec4) - Items offset, e.g. `[1.5, 0, 0, 0]`
- `:source`: `"<"` (select) - Input source
- `:unit`: `"relative"` (mapping) - Spread per item (absolute) or array (relative)
- `:width`: `null` (nullable vec4) - Width offset, e.g. `[1.5, 0, 0, 0]`
sourceraw docstring

stepclj/s

(step opts)

Step through a sequenced animation

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :delay: 0 (number) - Step delay
  • :duration: 0.3 (number) - Step duration
  • :ease: "cosine" (ease) - Animation ease (linear, cosine, binary, hold)
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pace: 0 (number) - Step pace
  • :playback: "linear" (ease) - Playhead ease (linear, cosine, binary, hold)
  • :realtime: false (bool) - Run on real time, not clock time
  • :rewind: 2 (number) - Step rewind factor
  • :script: {} (object) - Animation script, e.g. { "0": { props: { color: "red" }, expr: { size: function (t) { return Math.sin(t) + 1; }}}, "1": ...}
  • :skip: true (bool) - Speed up through skips
  • :speed: 1 (number) - Step speed
  • :stops: null (nullable number array) - Playhead stops, e.g. [0, 1, 3, 5]
  • :target: "<" (select) - Animation target
  • :trigger: 1 (nullable number) - Trigger on step
*Step through a sequenced animation*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:delay`: `0` (number) - Step delay
- `:duration`: `0.3` (number) - Step duration
- `:ease`: `"cosine"` (ease) - Animation ease (linear, cosine, binary, hold)
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pace`: `0` (number) - Step pace
- `:playback`: `"linear"` (ease) - Playhead ease (linear, cosine, binary, hold)
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:rewind`: `2` (number) - Step rewind factor
- `:script`: `{}` (object) - Animation script, e.g. `{ "0": { props: { color: "red" }, expr: { size: function (t) { return Math.sin(t) + 1; }}}, "1": ...}`
- `:skip`: `true` (bool) - Speed up through skips
- `:speed`: `1` (number) - Step speed
- `:stops`: `null` (nullable number array) - Playhead stops, e.g. `[0, 1, 3, 5]`
- `:target`: `"<"` (select) - Animation target
- `:trigger`: `1` (nullable number) - Trigger on step
sourceraw docstring

stereographicclj/s

(stereographic & children)

Apply stereographic projection

  • :bend: 1 (number) - Amount of stereographic bend
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :eulerOrder: xyz (swizzle) - Euler order
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :position: [0, 0, 0] (vec3) - 3D Position
  • :quaternion: [0, 0, 0, 1] (quat) - 3D Quaternion
  • :range: [[-1, 1], [-1, 1], [-1, 1], [-1, 1]] (array vec2) - 4D range in view
  • :rotation: [0, 0, 0] (vec3) - 3D Euler rotation
  • :scale: [1, 1, 1] (vec3) - 3D Scale
  • :visible: true (bool) - Visibility for rendering
*Apply stereographic projection*

- `:bend`: `1` (number) - Amount of stereographic bend
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:eulerOrder`: `xyz` (swizzle) - Euler order
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:position`: `[0, 0, 0]` (vec3) - 3D Position
- `:quaternion`: `[0, 0, 0, 1]` (quat) - 3D Quaternion
- `:range`: `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` (array vec2) - 4D range in view
- `:rotation`: `[0, 0, 0]` (vec3) - 3D Euler rotation
- `:scale`: `[1, 1, 1]` (vec3) - 3D Scale
- `:visible`: `true` (bool) - Visibility for rendering
sourceraw docstring

stereographic4clj/s

(stereographic4 & children)

Apply 4D stereographic projection

  • :bend: 1 (number) - Amount of stereographic bend
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :position: [0, 0, 0, 0] (vec4) - 4D Position
  • :range: [[-1, 1], [-1, 1], [-1, 1], [-1, 1]] (array vec2) - 4D range in view
  • :scale: [1, 1, 1, 1] (vec4) - 4D Scale
  • :visible: true (bool) - Visibility for rendering
*Apply 4D stereographic projection*

- `:bend`: `1` (number) - Amount of stereographic bend
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:position`: `[0, 0, 0, 0]` (vec4) - 4D Position
- `:range`: `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` (array vec2) - 4D range in view
- `:scale`: `[1, 1, 1, 1]` (vec4) - 4D Scale
- `:visible`: `true` (bool) - Visibility for rendering
sourceraw docstring

stripclj/s

(strip opts)

Draw triangle strips

  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :depth: 1 (number) - Depth scaling
  • :fill: true (bool) - Fill mesh
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :line: false (bool) - Draw line
  • :lineBias: 5 (number) - Z-Bias for lines on fill
  • :map: null (nullable select) - Texture map source, e.g. "#map"
  • :opacity: 1 (positive number) - Opacity
  • :points: < (select) - Points data source
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :shaded: false (bool) - Shade mesh
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :visible: true (bool) - Visibility for rendering
  • :width: 2 (positive number) - Line width
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw triangle strips*

- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:depth`: `1` (number) - Depth scaling
- `:fill`: `true` (bool) - Fill mesh
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:line`: `false` (bool) - Draw line
- `:lineBias`: `5` (number) - Z-Bias for lines on fill
- `:map`: `null` (nullable select) - Texture map source, e.g. `"#map"`
- `:opacity`: `1` (positive number) - Opacity
- `:points`: `<` (select) - Points data source
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:shaded`: `false` (bool) - Shade mesh
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `2` (positive number) - Line width
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

subdivideclj/s

(subdivide opts)

Subdivide data points evenly or with a bevel

  • :bevel: 1 (number) - Fraction to end outward from vertices
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :depth: null (nullable positive int) - Divisions of depth, e.g. 5
  • :height: null (nullable positive int) - Divisions of height, e.g. 5
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: null (nullable positive int) - Divisions of items, e.g. 5
  • :lerp: true (boolean) - Interpolate values with computed indices
  • :source: "<" (select) - Input source
  • :width: null (nullable positive int) - Divisions of width, e.g. 5
*Subdivide data points evenly or with a bevel*

- `:bevel`: `1` (number) - Fraction to end outward from vertices
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:depth`: `null` (nullable positive int) - Divisions of depth, e.g. `5`
- `:height`: `null` (nullable positive int) - Divisions of height, e.g. `5`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `null` (nullable positive int) - Divisions of items, e.g. `5`
- `:lerp`: `true` (boolean) - Interpolate values with computed indices
- `:source`: `"<"` (select) - Input source
- `:width`: `null` (nullable positive int) - Divisions of width, e.g. `5`
sourceraw docstring

surfaceclj/s

(surface opts)

Draw surfaces

  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :closedX: false (bool) - Close X lines
  • :closedY: false (bool) - Close Y lines
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :crossed: true (bool) - UVWO map on matching axes
  • :depth: 1 (number) - Depth scaling
  • :fill: true (bool) - Fill mesh
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :lineBias: 5 (number) - Z-Bias for lines on fill
  • :lineX: false (bool) - Draw X lines
  • :lineY: false (bool) - Draw Y lines
  • :map: null (nullable select) - Texture map source, e.g. "#map"
  • :opacity: 1 (positive number) - Opacity
  • :points: < (select) - Points data source
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :shaded: false (bool) - Shade mesh
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :visible: true (bool) - Visibility for rendering
  • :width: 2 (positive number) - Line width
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw surfaces*

- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:closedX`: `false` (bool) - Close X lines
- `:closedY`: `false` (bool) - Close Y lines
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:crossed`: `true` (bool) - UVWO map on matching axes
- `:depth`: `1` (number) - Depth scaling
- `:fill`: `true` (bool) - Fill mesh
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:lineBias`: `5` (number) - Z-Bias for lines on fill
- `:lineX`: `false` (bool) - Draw X lines
- `:lineY`: `false` (bool) - Draw Y lines
- `:map`: `null` (nullable select) - Texture map source, e.g. `"#map"`
- `:opacity`: `1` (positive number) - Opacity
- `:points`: `<` (select) - Points data source
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:shaded`: `false` (bool) - Shade mesh
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `2` (positive number) - Line width
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

swizzleclj/s

(swizzle opts)

Swizzle data values

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :order: xyzw (swizzle) - Swizzle order
  • :source: "<" (select) - Input source
*Swizzle data values*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:order`: `xyzw` (swizzle) - Swizzle order
- `:source`: `"<"` (select) - Input source
sourceraw docstring

textclj/s

(text opts)

GL text source

  • :aligned: false (bool) - Use (fast) integer lookups
  • :bufferDepth: 1 (number) - Voxel buffer depth
  • :bufferHeight: 1 (number) - Voxel buffer height
  • :bufferWidth: 1 (number) - Voxel buffer width
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :depth: 1 (nullable number) - Voxel depth
  • :detail: 24 (number) - Font detail
  • :expr: null (nullable emitter) - Data emitter expression
  • :font: "sans-serif" (font) - Font family
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :height: 1 (nullable number) - Voxel height
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :magFilter: "linear" (filter) - Texture magnification filtering
  • :minFilter: "linear" (filter) - Texture minification filtering
  • :observe: false (bool) - Pass clock time to data
  • :realtime: false (bool) - Run on real time, not clock time
  • :sdf: 5 (number) - Signed distance field range
  • :style: "" (string) - Font style, e.g. "italic"
  • :type: "float" (type) - Texture data type
  • :variant: "" (string) - Font variant, e.g. "small-caps"
  • :weight: "" (string) - Font weight, e.g. "bold"
  • :width: 1 (nullable number) - Voxel width
*GL text source*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:bufferDepth`: `1` (number) - Voxel buffer depth
- `:bufferHeight`: `1` (number) - Voxel buffer height
- `:bufferWidth`: `1` (number) - Voxel buffer width
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:depth`: `1` (nullable number) - Voxel depth
- `:detail`: `24` (number) - Font detail
- `:expr`: `null` (nullable emitter) - Data emitter expression
- `:font`: `"sans-serif"` (font) - Font family
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:height`: `1` (nullable number) - Voxel height
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"linear"` (filter) - Texture magnification filtering
- `:minFilter`: `"linear"` (filter) - Texture minification filtering
- `:observe`: `false` (bool) - Pass clock time to data
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:sdf`: `5` (number) - Signed distance field range
- `:style`: `""` (string) - Font style, e.g. `"italic"`
- `:type`: `"float"` (type) - Texture data type
- `:variant`: `""` (string) - Font variant, e.g. `"small-caps"`
- `:weight`: `""` (string) - Font weight, e.g. `"bold"`
- `:width`: `1` (nullable number) - Voxel width
sourceraw docstring

ticksclj/s

(ticks opts)

Draw ticks

  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :depth: 1 (number) - Depth scaling
  • :epsilon: 0.0001 (number) - Tick epsilon
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :normal: true (bool) - Normal for reference plane
  • :opacity: 1 (positive number) - Opacity
  • :points: < (select) - Points data source
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :size: 10 (number) - Tick size
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :visible: true (bool) - Visibility for rendering
  • :width: 2 (positive number) - Line width
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw ticks*

- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:depth`: `1` (number) - Depth scaling
- `:epsilon`: `0.0001` (number) - Tick epsilon
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:normal`: `true` (bool) - Normal for reference plane
- `:opacity`: `1` (positive number) - Opacity
- `:points`: `<` (select) - Points data source
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:size`: `10` (number) - Tick size
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `2` (positive number) - Line width
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

transformclj/s

(transform & children)

Transform geometry in 3D

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :eulerOrder: xyz (swizzle) - 3D Euler order
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :matrix: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] (mat4) - 3D Projective Matrix
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :position: [0, 0, 0] (vec3) - 3D Position
  • :quaternion: [0, 0, 0, 1] (quat) - 3D Quaternion
  • :rotation: [0, 0, 0] (vec3) - 3D Euler rotation
  • :scale: [1, 1, 1] (vec3) - 3D Scale
*Transform geometry in 3D*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:eulerOrder`: `xyz` (swizzle) - 3D Euler order
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:matrix`: `[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]` (mat4) - 3D Projective Matrix
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:position`: `[0, 0, 0]` (vec3) - 3D Position
- `:quaternion`: `[0, 0, 0, 1]` (quat) - 3D Quaternion
- `:rotation`: `[0, 0, 0]` (vec3) - 3D Euler rotation
- `:scale`: `[1, 1, 1]` (vec3) - 3D Scale
sourceraw docstring

transform4clj/s

(transform4 & children)

Transform geometry in 4D

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :matrix: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] (mat4) - 4D Affine Matrix
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :position: [0, 0, 0, 0] (vec4) - 4D Position
  • :scale: [1, 1, 1, 1] (vec4) - 4D Scale
*Transform geometry in 4D*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:matrix`: `[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]` (mat4) - 4D Affine Matrix
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:position`: `[0, 0, 0, 0]` (vec4) - 4D Position
- `:scale`: `[1, 1, 1, 1]` (vec4) - 4D Scale
sourceraw docstring

transposeclj/s

(transpose opts)

Transpose array dimensions

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :order: xyzw (transpose) - Transpose order
  • :source: "<" (select) - Input source
*Transpose array dimensions*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:order`: `xyzw` (transpose) - Transpose order
- `:source`: `"<"` (select) - Input source
sourceraw docstring

unitclj/s

(unit & children)

Change unit sizing for drawing ops

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :focus: 1 (nullable number) - Camera focus distance in world units
  • :fov: null (nullable number) - (Vertical) Field-of-view to calibrate units for (degrees), e.g. 60
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :scale: null (nullable number) - (Vertical) Reference scale of viewport in pixels, e.g. 720
*Change unit sizing for drawing ops*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:focus`: `1` (nullable number) - Camera focus distance in world units
- `:fov`: `null` (nullable number) - (Vertical) Field-of-view to calibrate units for (degrees), e.g. `60`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:scale`: `null` (nullable number) - (Vertical) Reference scale of viewport in pixels, e.g. `720`
sourceraw docstring

vectorclj/s

(vector opts)

Draw vectors

  • :blending: "normal" (blending) - Blending mode ('no, normal, add, subtract, multiply)
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :closed: false (bool) - Close line
  • :color: "rgb(128, 128, 128)" (color) - Color
  • :colors: null (nullable select) - Colors data source, e.g. "#colors"
  • :depth: 1 (number) - Depth scaling
  • :end: true (bool) - Draw end arrow
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :opacity: 1 (positive number) - Opacity
  • :points: < (select) - Points data source
  • :proximity: null (nullable number) - Proximity threshold, e.g. 10
  • :size: 3 (number) - Arrow size
  • :start: true (bool) - Draw start arrow
  • :stroke: "solid" (stroke) - Line stroke (solid, dotted, dashed)
  • :visible: true (bool) - Visibility for rendering
  • :width: 2 (positive number) - Line width
  • :zBias: 0 (positive number) - Z-Bias (3D stacking)
  • :zIndex: 0 (positive int) - Z-Index (2D stacking)
  • :zOrder: null (nullable number) - Z-Order (drawing order), e.g. 2
  • :zTest: true (bool) - Test Z buffer
  • :zWrite: true (bool) - Write Z buffer
*Draw vectors*

- `:blending`: `"normal"` (blending) - Blending mode ('no, normal, add, subtract, multiply)
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:closed`: `false` (bool) - Close line
- `:color`: `"rgb(128, 128, 128)"` (color) - Color
- `:colors`: `null` (nullable select) - Colors data source, e.g. `"#colors"`
- `:depth`: `1` (number) - Depth scaling
- `:end`: `true` (bool) - Draw end arrow
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:opacity`: `1` (positive number) - Opacity
- `:points`: `<` (select) - Points data source
- `:proximity`: `null` (nullable number) - Proximity threshold, e.g. `10`
- `:size`: `3` (number) - Arrow size
- `:start`: `true` (bool) - Draw start arrow
- `:stroke`: `"solid"` (stroke) - Line stroke (solid, dotted, dashed)
- `:visible`: `true` (bool) - Visibility for rendering
- `:width`: `2` (positive number) - Line width
- `:zBias`: `0` (positive number) - Z-Bias (3D stacking)
- `:zIndex`: `0` (positive int) - Z-Index (2D stacking)
- `:zOrder`: `null` (nullable number) - Z-Order (drawing order), e.g. `2`
- `:zTest`: `true` (bool) - Test Z buffer
- `:zWrite`: `true` (bool) - Write Z buffer
sourceraw docstring

vertexclj/s

(vertex & children)

Apply custom vertex shader pass

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :shader: "<" (select) - Shader to use
*Apply custom vertex shader pass*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:shader`: `"<"` (select) - Shader to use
sourceraw docstring

viewclj/s

(view & children)

Adjust view range

  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :pass: "view" (vertexPass) - Vertex pass (data, view, world, eye)
  • :range: [[-1, 1], [-1, 1], [-1, 1], [-1, 1]] (array vec2) - 4D range in view
  • :visible: true (bool) - Visibility for rendering
*Adjust view range*

- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:pass`: `"view"` (vertexPass) - Vertex pass (data, view, world, eye)
- `:range`: `[[-1, 1], [-1, 1], [-1, 1], [-1, 1]]` (array vec2) - 4D range in view
- `:visible`: `true` (bool) - Visibility for rendering
sourceraw docstring

volumeclj/s

(volume opts)

3D sampled voxels

  • :aligned: false (bool) - Use (fast) integer lookups
  • :axes: [1, 2, 3] (swizzle(3) axis) - Axis triplet
  • :bufferDepth: 1 (number) - Voxel buffer depth
  • :bufferHeight: 1 (number) - Voxel buffer height
  • :bufferWidth: 1 (number) - Voxel buffer width
  • :centeredX: false (bool) - Centered instead of corner sampling
  • :centeredY: false (bool) - Centered instead of corner sampling
  • :centeredZ: false (bool) - Centered instead of corner sampling
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :depth: 1 (nullable number) - Voxel depth
  • :expr: null (nullable emitter) - Data emitter expression, e.g. function (emit, x, y, z, i, j, k, time, delta) { ... }
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :height: 1 (nullable number) - Voxel height
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :magFilter: "nearest" (filter) - Texture magnification filtering
  • :minFilter: "nearest" (filter) - Texture minification filtering
  • :observe: false (bool) - Pass clock time to data
  • :paddingX: 0 (number) - Number of samples padding
  • :paddingY: 0 (number) - Number of samples padding
  • :paddingZ: 0 (number) - Number of samples padding
  • :rangeX: [-1, 1] (vec2) - Range on axis
  • :rangeY: [-1, 1] (vec2) - Range on axis
  • :rangeZ: [-1, 1] (vec2) - Range on axis
  • :realtime: false (bool) - Run on real time, not clock time
  • :type: "float" (type) - Texture data type
  • :width: 1 (nullable number) - Voxel width
*3D sampled voxels*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:axes`: `[1, 2, 3]` (swizzle(3) axis) - Axis triplet
- `:bufferDepth`: `1` (number) - Voxel buffer depth
- `:bufferHeight`: `1` (number) - Voxel buffer height
- `:bufferWidth`: `1` (number) - Voxel buffer width
- `:centeredX`: `false` (bool) - Centered instead of corner sampling
- `:centeredY`: `false` (bool) - Centered instead of corner sampling
- `:centeredZ`: `false` (bool) - Centered instead of corner sampling
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:depth`: `1` (nullable number) - Voxel depth
- `:expr`: `null` (nullable emitter) - Data emitter expression, e.g. `function (emit, x, y, z, i, j, k, time, delta) { ... }`
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:height`: `1` (nullable number) - Voxel height
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"nearest"` (filter) - Texture magnification filtering
- `:minFilter`: `"nearest"` (filter) - Texture minification filtering
- `:observe`: `false` (bool) - Pass clock time to data
- `:paddingX`: `0` (number) - Number of samples padding
- `:paddingY`: `0` (number) - Number of samples padding
- `:paddingZ`: `0` (number) - Number of samples padding
- `:rangeX`: `[-1, 1]` (vec2) - Range on axis
- `:rangeY`: `[-1, 1]` (vec2) - Range on axis
- `:rangeZ`: `[-1, 1]` (vec2) - Range on axis
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:type`: `"float"` (type) - Texture data type
- `:width`: `1` (nullable number) - Voxel width
sourceraw docstring

voxelclj/s

(voxel opts)

3D voxels

  • :aligned: false (bool) - Use (fast) integer lookups
  • :bufferDepth: 1 (number) - Voxel buffer depth
  • :bufferHeight: 1 (number) - Voxel buffer height
  • :bufferWidth: 1 (number) - Voxel buffer width
  • :channels: 4 (number) - Number of channels
  • :classes: [] (string array) - Custom classes, e.g. ["big"]
  • :data: null (nullable object) - Data array
  • :depth: 1 (nullable number) - Voxel depth
  • :expr: null (nullable emitter) - Data emitter expression, e.g. function (emit, i, j, k, time, delta) { ... }
  • :fps: null (nullable number) - Frames-per-second update rate, e.g. 60
  • :height: 1 (nullable number) - Voxel height
  • :hurry: 5 (number) - Maximum frames to hurry per frame
  • :id: null (nullable string) - Unique ID, e.g. "sampler"
  • :items: 4 (number) - Number of items
  • :limit: 60 (number) - Maximum frames to track
  • :live: true (bool) - Update continuously
  • :magFilter: "nearest" (filter) - Texture magnification filtering
  • :minFilter: "nearest" (filter) - Texture minification filtering
  • :observe: false (bool) - Pass clock time to data
  • :realtime: false (bool) - Run on real time, not clock time
  • :type: "float" (type) - Texture data type
  • :width: 1 (nullable number) - Voxel width
*3D voxels*

- `:aligned`: `false` (bool) - Use (fast) integer lookups
- `:bufferDepth`: `1` (number) - Voxel buffer depth
- `:bufferHeight`: `1` (number) - Voxel buffer height
- `:bufferWidth`: `1` (number) - Voxel buffer width
- `:channels`: `4` (number) - Number of channels
- `:classes`: `[]` (string array) - Custom classes, e.g. `["big"]`
- `:data`: `null` (nullable object) - Data array
- `:depth`: `1` (nullable number) - Voxel depth
- `:expr`: `null` (nullable emitter) - Data emitter expression, e.g. `function (emit, i, j, k, time, delta) { ... }`
- `:fps`: `null` (nullable number) - Frames-per-second update rate, e.g. `60`
- `:height`: `1` (nullable number) - Voxel height
- `:hurry`: `5` (number) - Maximum frames to hurry per frame
- `:id`: `null` (nullable string) - Unique ID, e.g. `"sampler"`
- `:items`: `4` (number) - Number of items
- `:limit`: `60` (number) - Maximum frames to track
- `:live`: `true` (bool) - Update continuously
- `:magFilter`: `"nearest"` (filter) - Texture magnification filtering
- `:minFilter`: `"nearest"` (filter) - Texture minification filtering
- `:observe`: `false` (bool) - Pass clock time to data
- `:realtime`: `false` (bool) - Run on real time, not clock time
- `:type`: `"float"` (type) - Texture data type
- `:width`: `1` (nullable number) - Voxel width
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close