Every declarative value type used across the attribute and config tables,
sourced from the scene-description schema. A Type cell that names one of
these links here (standard types link to their normative spec).
Standard types
<angle> standard · spec ↗ |
| Description | A CSS angle — units mandatory. |
| Example | "90deg" "0.25turn" "1.5rad" |
<time> standard · spec ↗ |
| Description | A CSS time — units mandatory. |
| Example | "500ms" "2s" |
<color> standard · spec ↗ |
| Description | A CSS color string. |
| Example | "white" "#ff8800" "rgb(255 136 0)" |
<easing-function> standard · spec ↗ |
| Description | A CSS easing function or a named Skenra easing. |
| Example | "ease-in-out" "cubic-bezier(0.4, 0, 0.2, 1)" "steps(4, end)" "easeInOutCubic" |
<id> standard · spec ↗ |
| Description | This element's own unique identifier (must not start with #). |
| Example | "sun" "main-camera" |
<blend-mode> standard · spec ↗ |
| Description | A CSS compositing blend mode (plus-lighter is CSS Compositing Level 2's additive plus operator, whose overlaps sum toward white). |
| Values | "normal" "multiply" "screen" "overlay" "darken" "lighten" "color-dodge" "color-burn" "hard-light" "soft-light" "difference" "exclusion" "hue" "saturation" "color" "luminosity" "plus-lighter" |
| Example | "normal" |
<backdrop-blend-mode> standard · spec ↗ |
| Description | A CSS blend mode applied across the material↔backdrop boundary (the fixed-function-realizable subset: normal, multiply, screen, plus-lighter — the last being the additive fireworks-glow mode). |
| Values | "normal" "multiply" "screen" "plus-lighter" |
| Example | "normal" |
<begin-value-list> standard · spec ↗ |
| Description | A SMIL begin-value list (animation start times / sync-bases). |
| Syntax | <begin-value>[;<begin-value>]* |
| Example | "0s" "1s; 3s" "other.end+0.5s" |
<end-value-list> standard · spec ↗ |
| Description | A SMIL end-value list (animation end times / sync-bases). |
| Syntax | <end-value>[;<end-value>]* |
| Example | "4s" "other.begin+2s" |
<iteration-count> standard · spec ↗ |
| Description | An animation iteration count (a number or Infinity). |
| Composition | <number> | Infinity |
| Example | 3 "Infinity" |
<stroke-line-cap> standard · spec ↗ |
| Description | The stroke end-cap shape. |
| Values | "butt" "round" "square" |
| Example | "butt" |
<stroke-line-join> standard · spec ↗ |
| Description | The stroke corner-join shape. |
| Values | "miter" "round" "bevel" |
| Example | "miter" |
<playback-direction> standard · spec ↗ |
| Description | Animation playback direction (Web Animations). |
| Values | "normal" "reverse" "alternate" "alternate-reverse" |
| Example | "normal" |
<fill-mode> standard · spec ↗ |
| Description | Animation fill mode (CSS Animations). |
| Values | "none" "forwards" "backwards" "both" "auto" |
| Example | "none" |
<composite-operation> standard · spec ↗ |
| Description | Keyframe/effect composite operation (Web Animations). |
| Values | "replace" "add" "accumulate" |
| Example | "replace" |
Enumerated types
<orientation-axis> enum |
| Description | A signed coordinate axis. |
| Values | "+x" "-x" "+y" "-y" "+z" "-z" |
| Example | "+x" |
<anchor> enum |
| Description | A nine-way box-anchor alignment. |
| Values | "center" "top" "bottom" "left" "right" "top-left" "top-right" "bottom-left" "bottom-right" |
| Example | "center" |
<sphere-type> enum |
| Description | The sphere tessellation family. |
| Values | "standard" "hemisphere" "tetrahedron" "hexahedron" "octahedron" "icosahedron" |
| Example | "standard" |
<platonic-solid> enum |
| Description | A platonic-solid base shape. |
| Values | "tetrahedron" "hexahedron" "octahedron" "icosahedron" |
| Example | "tetrahedron" |
<voronoi-type> enum |
| Description | Which plane(s) a Voronoi field packs cells in; a 2D type is constant along the omitted axis. |
| Values | "xy" "yz" "zx" "xyz" |
| Example | "xy" |
<voronoi-output> enum |
| Description | The scalar a Voronoi field emits. |
| Values | "distance-to-edge" "f1" "f2" "cell-id" |
| Example | "distance-to-edge" |
<cull-mode> enum |
| Description | Which triangle facings are culled. |
| Values | "front" "back" "none" |
| Example | "front" |
<selection-type> enum |
| Description | The kind of mesh topology a selection addresses (face = triangle, edge, or point/vertex). |
| Values | "face" "edge" "point" |
| Example | "face" |
<scalar-blend-mode> enum |
| Description | A scalar-field blend mode token (field compositing — distinct from CSS color <blend-mode>). |
| Values | "max" "min" "multiply" "add" "subtract" |
| Example | "max" |
<raster-tile> enum |
| Description | Raster color-source tiling: none (one bounded image, transparent outside — the projector model) or repeat (seamless tiling across the projection plane). |
| Values | "none" "repeat" |
| Example | "none" |
<raster-projection> enum |
| Description | Raster color-source projection: auto (the paint drives the parametrization — stroke paints sample stroke-parametrically, surface paints world-planarly) or uv (sample at the mesh's authored per-vertex texture coordinates; stroke consumers keep their parametric mapping). |
| Values | "auto" "uv" |
| Example | "auto" |
<custom-wgsl-alpha-mode> enum |
| Description | Author-declared fragment classification of a custom-WGSL paint. auto (the default) is conservative — both opaque and translucent, so the material routes through A-buffer collection. opaque skips collection when nothing else is translucent. translucent keeps collection. cutout is a hard 0/1 alpha mask: crisp opaque coverage with transparent holes (kept pixels write depth and cast a holed shadow). |
| Values | "auto" "opaque" "translucent" "cutout" |
| Example | "auto" |
<compute-output-kind> enum |
| Description | The typed output contract of a compute node: spline-polyline (16-byte spline vertices), point-matrices (64-byte per-clone transform matrices), color-array (16-byte linear RGBA records, an evenly-spaced palette), or color-stops (32-byte (offset, color) records — an offset vec4 with the [0,1] position in .x, then a linear-RGBA color vec4 — a non-uniformly spaced stop table looked up by position; offsets must be monotonically non-decreasing in [0,1]). Fixes the record layout and the handle type consumers receive. |
| Values | "spline-polyline" "point-matrices" "color-array" "color-stops" |
| Example | "spline-polyline" |
<points-basis> enum |
| Description | A control-point interpolation basis. |
| Values | "bezier" "bspline" "catmullRom" "linear" |
| Example | "bezier" |
<points-wrap> enum |
| Description | How a points spline wraps its ends. |
| Values | "open" "closed" "pinned" |
| Example | "open" |
<width-profile-basis> enum |
| Description | A width-profile interpolation basis. |
| Example | "linear" "bezier" "catmullRom" "bspline" |
<stroke-space> enum |
| Description | Whether stroke width is screen- or world-space. |
| Values | "screen" "world" |
| Example | "screen" |
<ordered-dither-pattern> enum |
| Description | An ordered-dither threshold pattern. |
| Values | "bayer2" "bayer4" "bayer8" "bayer16" "white-noise" |
| Example | "bayer2" |
<dither-shape> enum |
| Description | A dither dot shape. |
| Values | "circle" "square" "diamond" "line" |
| Example | "circle" |
<paper-projection> enum |
| Description | How the paper texture domain is built: screen-space (the printed look) or tri-planar surface attachment. |
| Values | "screen" "triplanar" |
| Example | "screen" |
<color-interpolation> enum |
| Description | The color space a color-map interpolates between colors in (CSS linear-gradient(in <space>, …)). auto resolves per-consumer: linear-light for a tonemap, gamma sRGB for a color-source. |
| Values | "auto" "srgb" "srgb-linear" "oklab" |
| Example | "auto" |
<blend-color-interpolation> enum |
| Description | The color space a composite runs its per-layer BLEND + src-over math in (SVG color-interpolation-filters analogue). No Oklab — the CSS blend formulas are RGB-component operations. auto resolves to gamma sRGB (the CSS compositing default). |
| Values | "auto" "srgb" "srgb-linear" |
| Example | "auto" |
<cap-field-mode> enum |
| Description | How a stroke field treats caps. |
| Values | "none" "match" |
| Example | "none" |
<cap-progress-mode> enum |
| Description | How progress includes caps. |
| Values | "body-only" "inclusive" |
| Example | "body-only" |
<field-space> enum |
| Description | The unit space a stroke-field distance value is expressed in: a fraction of the local half-width (proportional to the stroke width), absolute screen pixels, or absolute world units. |
| Values | "fraction" "screen" "world" |
| Example | "fraction" |
<field-anchor> enum |
| Description | Where a cross-stroke distance is measured from: the stroke centreline outward (a central core) or the stroke edge inward (an outer rim). |
| Values | "center-line" "edge" |
| Example | "center-line" |
<stop-interpolation> enum |
| Description | Color-stop segment interpolation. |
| Values | "step" "linear" "smooth" |
| Example | "step" |
<constraint-composite> enum |
| Description | How a constraint composites onto its target. |
| Values | "replace" "add" "accumulate" |
| Example | "replace" |
<spline-distribution> enum |
| Description | How a spline distributes clone points. |
| Values | "control-points" "tessellated" "arc-length-spaced" |
| Example | "control-points" |
<mesh-distribution> enum |
| Description | How mesh-surface points are sampled. |
| Values | "random" "poisson-disk" |
| Example | "random" |
<sphere-distribution> enum |
| Description | How sphere points are distributed. |
| Values | "fibonacci" |
| Example | "fibonacci" |
<ocean-preset> enum |
| Description | An ocean-displacement sea-state preset. |
| Values | "calm" "moderate" "rough" "storm" |
| Example | "calm" |
<ocean-projection> enum |
| Description | How the ocean field is projected onto the host: a single-plane world-XZ projection (planar-xz, default) or a surface-relative triplanar projection for non-planar meshes (triplanar-surface). |
| Values | "planar-xz" "triplanar-surface" |
| Example | "planar-xz" |
<cloner-mode> enum |
| Description | Whether a cloner clones per object or per vertex. |
| Values | "object" "vertex" |
| Example | "object" |
<viewport-position-mode> enum |
| Description | Viewport-position coordinate mode. |
| Values | "px" "percent" "anchor" |
| Example | "px" |
<scene-controls-mode> enum |
| Description | Default-camera-controls opt-out. |
| Values | "auto" "none" |
| Example | "auto" |
Composed types
<3d-vector> composed |
| Description | A 3-component vector [x, y, z]. |
| Composition | [<number>, <number>, <number>] |
| Example | [0, 1, 0] [1, 0, -1] |
<3d-position> composed |
| Description | A 3-component world position [x, y, z]. |
| Composition | [<number>, <number>, <number>] |
| Example | [0, 0, 0] [2.5, 1, -3] |
<field-weight-range> composed |
| Description | The [lo, hi] range a normalized field weight maps onto. |
| Composition | [<number>, <number>] |
| Example | [0, 1] [-1, 1] [0, 3] |
<number-list> composed |
| Description | A list of numbers. |
| Composition | <number>[,<number>]* |
| Example | [1, 2, 3] |
<string-list> composed |
| Description | A list of strings. |
| Composition | <string>[,<string>]* |
| Example | ["pos", "rot"] |
<id-ref-list> composed |
| Description | A list of element id references. |
| Composition | <id-ref>[,<id-ref>]* |
| Example | "#glow #base-tone" ["#glow", "#base-tone"] |
<blend-mode-list> composed |
| Description | A space-separated list of CSS blend modes (one per composite layer). |
| Composition | <blend-mode>[,<blend-mode>]* |
| Example | "normal multiply" "screen overlay normal" |
<scalar-blend-mode-list> composed |
| Description | A space-separated list of scalar-field blend modes (one per composite layer). |
| Composition | <scalar-blend-mode>[,<scalar-blend-mode>]* |
| Example | "replace add" "max add max" |
<3d-vector-list> composed |
| Description | A list of 3-component vectors. |
| Composition | <3d-vector>[,<3d-vector>]* |
| Example | [[0,0,0],[1,0,0],[1,1,0]] |
<matrix3d> composed |
| Description | A column-major 4×4 matrix as 16 numbers. |
| Syntax | [<number>×16] |
| Example | [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] |
<matrix3d-list> composed |
| Description | A list of column-major 4×4 matrices (a list of <matrix3d>, or a flat number array whose length is a multiple of 16). |
| Composition | <matrix3d>[,<matrix3d>]* |
| Example | [[1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]] [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] |
<property-mapping> composed |
| Description | A list of {source, target} property-name mappings. |
| Example | [{"source":"pos","target":"headPos"}] |
<fit-targets> composed |
| Description | Camera fit targets: auto, none, or a list of element id references. |
| Composition | auto | none | <id-ref-list> | <id-ref-list> |
| Example | "auto" "none" ["#hero", "#ground"] |
<normalize-scale> composed |
| Description | A normalize-scale: a number N rescaling content to fit [-N, N], or none to disable. |
| Composition | <number> | none |
| Example | 1 2.5 "none" |
<positive-normalize-scale> composed |
| Description | A normalize-scale: a positive number N rescaling content to fit [-N, N], or none to disable. |
| Composition | none |
| Example | 1 2.5 "none" |
<content-anchor> composed |
| Description | A content anchor: a box-anchor keyword, a [x, y] pair, or content(x, y). |
| Composition | <anchor> |
| Example | "center" [0, 0] "content(10, 20)" |
<anchor-3d> composed |
| Description | A composable 3D anchor keyword: left/right, top/bottom, front/back, center, joined by - (e.g. top-left-front). |
| Example | "center" "top" "front" "top-left" "bottom-right-back" |
<content-anchor-3d> composed |
| Description | A 3D content anchor: a composable box-anchor keyword, an [x, y, z] triple, or content(x, y, z). |
| Composition | <anchor-3d> |
| Example | "center" "top-left-front" [0.5, 0, 0.5] "content(0, 0, 0)" |
<width-profile> composed |
| Description | A stroke width profile: an interpolation basis plus at least two {t, width} control points (t in [0, 1], width ≥ 0). |
| Composition | { <width-profile-basis> } |
| Syntax | { "basis"?: <width-profile-basis>, "points": [{ "t": <number>, "width": <number> }, …] } |
| Example | {"basis":"linear","points":[{"t":0,"width":1},{"t":1,"width":4}]} {"points":[{"t":0,"width":0},{"t":0.5,"width":6},{"t":1,"width":0}]} |
Scalar types
<index-range-list> skenra-scalar |
| Description | A whitespace-separated list of element-index singletons and inclusive ranges ("0-1 4 6-7"); empty = the empty set. |
| Example | "4-7" "0-1 4 6-7" "" |
<selection-token-list> skenra-scalar |
| Description | A whitespace-separated list of selection tokens, each a bare mesh-local name or a #id reference. |
| Example | "top bottom" "#accent" "" |
<selection-token> skenra-scalar |
| Description | A single selection reference: a bare mesh-local name or a #id. The empty string selects nothing (distinct from an absent attribute, which is the whole mesh). |
| Example | "#accent" "top" "" |
<remap-curve> skenra-scalar |
| Description | A descriptor that reshapes a field’s raw [0, 1] output before it drives a property. |
| Syntax | [inverse:]( <easing-keyword> | step:<t> | uniform:<v> | points:[[<t>,<v>],…] | points:<points-basis>:[[<t>,<v>],…] ) |
| Example | "linear" "ease-in-out" "step:0.3" "points:[[0,0],[0.5,1],[1,0]]" "inverse:ease-in" |
<coordinate-space> skenra-scalar |
| Description | A signed coordinate-space token mapping SVG axes to world axes. |
| Syntax | a 2- or 3-axis token from {x, y, z}, each optionally `-`-prefixed to flip |
| Example | "xy" "x-y" "x-z" "xyz" |
<number> skenra-scalar |
| Description | A number. |
| Example | 42 -1.5 0 |
<string> skenra-scalar |
| Description | A free-text string. |
| Example | "hello" |
<boolean> skenra-scalar |
| Description | A boolean flag. |
| Example | true false |
<id-ref> skenra-scalar |
| Description | A reference to another element by its id, as a #id fragment (or a var(--…) expression the runtime resolves to one). |
| Example | "#sun" "#ground-material" |
<length> skenra-scalar |
| Description | A CSS length string. |
| Example | "12px" "2rem" "5%" |
<property-name> skenra-scalar |
| Description | The name of an Animatable property. |
| Example | "intensity" "baseColor" |
← Element reference index · Type → attributes index