Read entry index of a six-values-per-id Float64Array as a box, or
undefined when the span is the absent sentinel (or the array is too short
to hold it).
ONE guard covers both, deliberately: any non-finite component disqualifies
the whole box, and an out-of-range typed-array read yields undefined, which
is not finite. A separate length check would be unreachable — it can never be
the reason a call returns undefined, so nothing could ever prove it works.
Half a box is not a usable box anyway: isUsableAabb in @ifc-lite/diff
would reject it, so better to never build it.
Exported because the same layout crosses the geometry worker boundary as
instancedGeometryAabbValues (the entities that never reach the flat mesh
array), and a consumer decoding that by hand is a second copy of this
indexing arithmetic.
Read entry
indexof a six-values-per-idFloat64Arrayas a box, orundefinedwhen the span is the absent sentinel (or the array is too short to hold it).ONE guard covers both, deliberately: any non-finite component disqualifies the whole box, and an out-of-range typed-array read yields
undefined, which is not finite. A separate length check would be unreachable — it can never be the reason a call returnsundefined, so nothing could ever prove it works. Half a box is not a usable box anyway:isUsableAabbin@ifc-lite/diffwould reject it, so better to never build it.Exported because the same layout crosses the geometry worker boundary as
instancedGeometryAabbValues(the entities that never reach the flat mesh array), and a consumer decoding that by hand is a second copy of this indexing arithmetic.