pub(crate) fn baked_basis_zup(
mesh_coordinate_space: Option<MeshCoordinateSpace>,
site_transform: Option<&[f64]>,
origin_shift: [f64; 3],
) -> Matrix4<f64>Expand description
The frame this route’s baked vertices are in, relative to the native frame
MeshData::instance describes: Rᵀ · T(-rtc), read straight off the
ProcessingResult by ifc_lite_processing::native_to_baked.
Unlike the glTF exporter, this route CONSUMES the collator’s emitted rel
(see verify_and_derive_placement) rather than recomputing placement from
InstanceMeta, so the basis is not optional decoration here: without it a
site_local model’s group fails the 1e-4 m residual check by (I − Rᵀ)·d —
about 3.5 m for a 6 m sibling under a 34 degree site yaw — and silently
falls back to content-hash dedup. Nothing breaks; the sharing just never
happens (#4118).
Z-up: this route swaps to Y-up at emission time (rotation_zup_to_yup),
not before collation, so no axis-swap factor belongs in this basis.