Replace every attribute + index value of a tightly-packed procedural mesh without replacing its GPU
buffers. Counts and optional-attribute presence must match the existing geometry; use
resizeMeshGeometry when topology/layout changes. Stable buffer identities keep cached render/shadow
bundles valid, while retained CPU geometry + bounds keep detailed picking and recovery exact.
Replace every attribute + index value of a tightly-packed procedural mesh without replacing its GPU buffers. Counts and optional-attribute presence must match the existing geometry; use
resizeMeshGeometrywhen topology/layout changes. Stable buffer identities keep cached render/shadow bundles valid, while retained CPU geometry + bounds keep detailed picking and recovery exact.