diff --git a/docs/primitives.md b/docs/primitives.md index 72a47295..be062129 100644 --- a/docs/primitives.md +++ b/docs/primitives.md @@ -27,6 +27,7 @@ * [voxel](#data/voxel) - 3D voxels * [volume](#data/volume) - 3D sampled voxels * [scale](#data/scale) - Human-friendly divisions on an axis, subdivided as needed + * [latch](#data/latch) - Control expr/data updates when conditions change #### draw @@ -80,6 +81,12 @@ * [step](#present/step) - Step through a sequenced animation +#### reverse + + + * [reverse](#reverse/reverse) - Reverse data in one or more dimensions + + #### rtt @@ -344,6 +351,7 @@ * *line* = `false` (bool) - Draw line * *lineBias* = `5` (number) - Z-Bias for lines on fill * *map* = `null` (nullable select) - Texture map source, e.g. `"#map"` + * *normals* = `null` (nullable select) - Normals data source, e.g. `#normals` * *opacity* = `1` (positive number) - Opacity * *points* = `<` (select) - Points data source * *proximity* = `null` (nullable number) - Proximity threshold, e.g. `10` @@ -558,6 +566,16 @@ * *zTest* = `true` (bool) - Test Z buffer * *zWrite* = `true` (bool) - Write Z buffer +#### `data/latch` + +*Control expr/data updates when conditions change* + + * *active* = `true` (bool) - Updates continuously + * *classes* = `[]` (string array) - Custom classes, e.g. `["big"]` + * *data* = `null` (nullable object) - Data to monitor for changes + * *deep* = `true` (boolean) - Do deep value comparison + * *id* = `null` (nullable string) - Unique ID, e.g. `"sampler"` + #### `transform/layer` *Independent 2D layer/overlay* @@ -854,6 +872,18 @@ * *id* = `null` (nullable string) - Unique ID, e.g. `"sampler"` * *stagger* = `[0, 0, 0, 0]` (vec4) - Stagger dimensions, e.g. `[2, 1, 0, 0]` +#### `reverse/reverse` + +*Reverse data in one or more dimensions* + + * *classes* = `[]` (string array) - Custom classes, e.g. `["big"]` + * *depth* = `false` (boolean) - Reverse depth + * *height* = `false` (boolean) - Reverse height + * *id* = `null` (nullable string) - Unique ID, e.g. `"sampler"` + * *items* = `false` (boolean) - Reverse items + * *source* = `"<"` (select) - Input source + * *width* = `false` (boolean) - Reverse width + #### `base/root` *Tree root* @@ -906,9 +936,11 @@ *Custom shader snippet* + * *channels* = `4` (number) - Source channels * *classes* = `[]` (string array) - Custom classes, e.g. `["big"]` * *code* = `""` (string) - Shader code * *id* = `null` (nullable string) - Unique ID, e.g. `"sampler"` + * *indices* = `4` (number) - Source indices * *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 }}` @@ -1047,6 +1079,7 @@ * *line* = `false` (bool) - Draw line * *lineBias* = `5` (number) - Z-Bias for lines on fill * *map* = `null` (nullable select) - Texture map source, e.g. `"#map"` + * *normals* = `null` (nullable select) - Normals data source, e.g. `#normals` * *opacity* = `1` (positive number) - Opacity * *points* = `<` (select) - Points data source * *proximity* = `null` (nullable number) - Proximity threshold, e.g. `10` @@ -1093,6 +1126,7 @@ * *lineX* = `false` (bool) - Draw X lines * *lineY* = `false` (bool) - Draw Y lines * *map* = `null` (nullable select) - Texture map source, e.g. `"#map"` + * *normals* = `null` (nullable select) - Normals data source, e.g. `#normals` * *opacity* = `1` (positive number) - Opacity * *points* = `<` (select) - Points data source * *proximity* = `null` (nullable number) - Proximity threshold, e.g. `10` diff --git a/src/docs/primitives.js b/src/docs/primitives.js index e69fafc2..48f1f237 100644 --- a/src/docs/primitives.js +++ b/src/docs/primitives.js @@ -55,6 +55,7 @@ export default { { expr: "function (emit, x, y, z, i, j, k, time, delta) { ... }" }, ], scale: ["data", "Human-friendly divisions on an axis, subdivided as needed"], + latch: ["data", "Control expr/data updates when conditions change"], html: ["overlay", "HTML element source"], dom: ["overlay", "HTML DOM injector"], @@ -89,6 +90,7 @@ export default { ], resample: ["operator", "Resample data to new dimensions with a shader"], repeat: ["operator", "Repeat data in one or more dimensions"], + reverse: ["reverse", "Reverse data in one or more dimensions"], swizzle: ["operator", "Swizzle data values"], spread: ["operator", "Spread data values according to array indices"], split: [