STRICT color-layout assertion at a chokepoint where the exact element
count is known (the per-geometry data processors / projection entry).
Every layout-FLIP hazard has a guard (accumulator configure throw,
progressive-concat mixed-layout throw, commit append parity conjunct),
but none of them catches layout OMISSION: an RGBA array whose producer
forgot to declare colorComponents: 4 satisfies every ≥ count·3
minimum check (4N ≥ 3N) and silently mis-strides every element after
the first — visually scrambled, programmatically silent. Loaders emit
exact-length views (accumulator subarrays, cache clones, concat
outputs), so at these chokepoints STRICT equality is the correct
contract and turns an omitted declaration into an immediate loud
throw naming the mismatch.
No-op when colors is absent. Shared by the three instanced-quad types
(Points, Lines, GSplats); mesh checks its materialized lengths in its own
loader instead.
STRICT color-layout assertion at a chokepoint where the exact element count is known (the per-geometry data processors / projection entry).
Every layout-FLIP hazard has a guard (accumulator configure throw, progressive-concat mixed-layout throw, commit append parity conjunct), but none of them catches layout OMISSION: an RGBA array whose producer forgot to declare
colorComponents: 4satisfies every≥ count·3minimum check (4N ≥ 3N) and silently mis-strides every element after the first — visually scrambled, programmatically silent. Loaders emit exact-length views (accumulator subarrays, cache clones, concat outputs), so at these chokepoints STRICT equality is the correct contract and turns an omitted declaration into an immediate loud throw naming the mismatch.No-op when
colorsis absent. Shared by the three instanced-quad types (Points, Lines, GSplats); mesh checks its materialized lengths in its own loader instead.