128-bit digest built by running FNV-1a four times in parallel with
different IVs over a stable byte ordering of positions+indices.
Returned as 32 hex chars. Position floats are quantized to 8 decimal
places before hashing so trivial floating-point drift doesn't break
cache lookups.
Note: this is not a cryptographic hash — collision-resistance is
"good enough for cache keys and drift detection," not "good enough
for security." The previous implementation returned .repeat(4) of
a single 32-bit digest, which looked 128-bit but had only 32 bits of
entropy; the four-IV variant restores real width.
Hash a mesh for determinism / cache-key purposes.
128-bit digest built by running FNV-1a four times in parallel with different IVs over a stable byte ordering of positions+indices. Returned as 32 hex chars. Position floats are quantized to 8 decimal places before hashing so trivial floating-point drift doesn't break cache lookups.
Note: this is not a cryptographic hash — collision-resistance is "good enough for cache keys and drift detection," not "good enough for security." The previous implementation returned
.repeat(4)of a single 32-bit digest, which looked 128-bit but had only 32 bits of entropy; the four-IV variant restores real width.