baked_basis_zup

Function baked_basis_zup 

Source
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.