The opaque-white fallback bound when a node has no colors array.
Bound rather than omitted, and that is load-bearing: an unboundcolor
attribute reads the GL default (0, 0, 0, 1), so a bare
add_mesh(vertices, faces) surface would render solid black the moment any
multiplicative shade term is applied. float32x3 is valid on both backends, so
this can stay size-3 and pick up w = 1.0 from the attribute default. Mirrors
create-points-node.ts's white fill.
The opaque-white fallback bound when a node has no
colorsarray.Bound rather than omitted, and that is load-bearing: an unbound
colorattribute reads the GL default(0, 0, 0, 1), so a bareadd_mesh(vertices, faces)surface would render solid black the moment any multiplicative shade term is applied.float32x3is valid on both backends, so this can stay size-3 and pick upw = 1.0from the attribute default. Mirrorscreate-points-node.ts's white fill.