Reusable CPU linear-blend skinning (ยง54, RFC 0003).
Update with Skeleton.jointMatrices after updating the skeleton. The output
is independent geometry suitable for bounds, picking, and CPU renderers; it
has no joint attributes, preventing a second deformation by GPU skinning.
Source vertices remain in bind pose. Changes to source topology require a
new instance. Other attributes are copied once at construction.
Determinism is same-runtime: vertices, influences and matrix elements
are accumulated in ascending index order using JavaScript arithmetic, then
rounded to Float32 on output. This is not a GPU readback and does not modify
simulation transforms. Weights are used as authored, never normalized.
Reusable CPU linear-blend skinning (ยง54, RFC 0003).
Update with
Skeleton.jointMatricesafter updating the skeleton. The output is independent geometry suitable for bounds, picking, and CPU renderers; it has no joint attributes, preventing a second deformation by GPU skinning. Source vertices remain in bind pose. Changes to source topology require a new instance. Other attributes are copied once at construction.Determinism is same-runtime: vertices, influences and matrix elements are accumulated in ascending index order using JavaScript arithmetic, then rounded to Float32 on output. This is not a GPU readback and does not modify simulation transforms. Weights are used as authored, never normalized.