Feeds an animatable vec4<f32> into your custom WGSL shader — the way to hand
shader code a live 4D value such as a plane equation, a tangent, or any
four-lane packed parameter whose components you animate independently. For a
colour authored as a string, use sk-wgsl-color-uniform instead.
Declarative element:
<sk-wgsl-vec4-uniform>
Not on the sk.* global — construct via the declarative element or a module import.
This is the four-component member of the shader-input family that belongs to the
compute & custom-WGSL concept (AbstractComputeNode); like
ColorStop it is itself a SkenraAnimatable. The vector type lives
in the TAG (never a type attribute), and each component change repacks the
host's GPU buffer slot with no shader rebuild.
Key attributes. name is the non-animatable WGSL identifier (unique per
host). x, y, z, and w are the four independent, animatable component
axes; they interpolate LINEARLY per-component (a raw GPU vec4 — not a
quaternion, which has its own slerp semantics elsewhere). The packed lanes
occupy one full vec4 (std140 alignment), and the host generates a
skUniform_<name>() -> vec4<f32> accessor so the shader reads the whole vector
by name.
Related. It is a child of any custom-WGSL host — sk-custom-wgsl-color-source,
sk-custom-wgsl-points-source, sk-custom-wgsl-point-constraint,
sk-custom-wgsl-spline-source, or sk-compute-node. For a single
value use sk-wgsl-uniform; for other widths use
sk-wgsl-vec2-uniform, sk-wgsl-vec3-uniform, or the
sk-wgsl-f32-array-uniform. To feed a COLOUR, prefer
sk-wgsl-color-uniform — it takes a colour string and linearises it
for you, instead of four hand-converted linear-RGBA floats.
constructor()
Inherited from: AbstractWGSLUniformMemberElement, SkenraAnimatable
— see those pages for inherited members.
| Property | Type | Default | Description | Declared by |
|---|---|---|---|---|
xanimatable |
number |
0 |
Gets the x component, returning the animated value when animating. | WGSLVec4Uniform |
yanimatable |
number |
0 |
Gets the y component, returning the animated value when animating. | WGSLVec4Uniform |
zanimatable |
number |
0 |
Gets the z component, returning the animated value when animating. | WGSLVec4Uniform |
wanimatable |
number |
0 |
Gets the w component, returning the animated value when animating. | WGSLVec4Uniform |
name |
string |
"" |
Gets the WGSL identifier this member is addressed by. | AbstractWGSLUniformMemberElement |
sceneread-only |
any |
— | Gets the Scene this animatable belongs to, if any. | SkenraAnimatable |
animationsread-only |
SkenraAnimation[] |
— | Public getter for the animations affecting this target. | SkenraAnimatable |
| Method | Description | Declared by |
|---|---|---|
animate(firstArg: TypedKeyframe<this>[] | TypedPropertyIndexedKeyframes<this> | Record<string, any> | globalThis.Keyframe[] | globalThis.PropertyIndexedKeyframes | null, secondArg?: number | KeyframeAnimationOptions | globalThis.KeyframeAnimationOptions): SkenraAnimation & Animation |
Creates a new SkenraAnimation for this target per Web Animations API. | SkenraAnimatable |
removeAnimation(animation: SkenraAnimation): boolean |
Removes a specific animation from this object. | SkenraAnimatable |
constrain(type: K, config: ConstraintConfigMap[K]): ConstraintReturnMap[K] |
Creates a constraint on this Animatable using a fluent API. | SkenraAnimatable |
const u = document.createElement('sk-wgsl-vec4-uniform') as WGSLVec4Uniform;
u.name = 'tint';
u.x = 1;
u.w = 0.5;