The skinned id pass's WGSL — ID_SHADER_SOURCE's product with
skinMatrix() spliced into the vertex stage and a 3072-byte palette at
group 1. Joints @location(4)uint16x4, weights @location(5)float32x4; LBS, weights not renormalised — the colour pair's contract,
restated so this module never imports wgpu-skinning.ts. Compiled lazily
on the first skinned item. Kept private on the service (WebGL already
exports SkinnedIdProgram).
The skinned id pass's WGSL — ID_SHADER_SOURCE's product with
skinMatrix()spliced into the vertex stage and a 3072-byte palette at group 1. Joints@location(4)uint16x4, weights@location(5)float32x4; LBS, weights not renormalised — the colour pair's contract, restated so this module never importswgpu-skinning.ts. Compiled lazily on the first skinned item. Kept private on the service (WebGL already exportsSkinnedIdProgram).