Read entry index of a one-value-per-id Float64Array as a volume, or
undefined when the slot is the absent sentinel (or the array is too short).
The NaN-to-undefined resolution lives HERE, at the boundary, and nowhere
else — same contract as geometryAabbAt. Number.isFinite covers both
the sentinel and an out-of-range read in one test.
A non-positive volume is refused as well. The producer emits a value only for
a proved-closed solid, so zero or negative is not a small solid, it is a
degenerate or inside-out one, and a consumer that sums volumes cannot tell
those apart from real numbers. Refusing here keeps "absent means not proved"
true all the way down.
Exported for the same reason as geometryAabbAt: the identical layout
crosses the geometry worker boundary as instancedGeometryVolumeValues.
Read entry
indexof a one-value-per-idFloat64Arrayas a volume, orundefinedwhen the slot is the absent sentinel (or the array is too short).The
NaN-to-undefinedresolution lives HERE, at the boundary, and nowhere else — same contract as geometryAabbAt.Number.isFinitecovers both the sentinel and an out-of-range read in one test.A non-positive volume is refused as well. The producer emits a value only for a proved-closed solid, so zero or negative is not a small solid, it is a degenerate or inside-out one, and a consumer that sums volumes cannot tell those apart from real numbers. Refusing here keeps "absent means not proved" true all the way down.
Exported for the same reason as geometryAabbAt: the identical layout crosses the geometry worker boundary as
instancedGeometryVolumeValues.