The plan offset that takes a room-frame point into the MODEL'S OWN WORLD
FRAME — the coordinates the STEP file's placement chains resolve to, which
is the frame storeyPlanFrame reads the storey out of.
Exactly the survey anchor roomFramePlanOffsets leaves out: the
canonical reconstruction is worldYup = renderLocal + shift + rtcYup with
The viewer-axis conversion lives in coordinate-frame.ts; in IFC-plan axes, ifcX gains rtc.x and
ifcY gains rtc.y on top of the room frame. Zero for any model within
~10 km of the origin (rtc is null there). Anything that changes which
terms roomFramePlanOffsets carries changes this one too;
wall-rects-from-meshes.test.ts pins the two together.
The plan offset that takes a room-frame point into the MODEL'S OWN WORLD FRAME — the coordinates the STEP file's placement chains resolve to, which is the frame
storeyPlanFramereads the storey out of.Exactly the survey anchor roomFramePlanOffsets leaves out: the canonical reconstruction is worldYup = renderLocal + shift + rtcYup with The viewer-axis conversion lives in
coordinate-frame.ts; in IFC-plan axes, ifcX gainsrtc.xand ifcY gainsrtc.yon top of the room frame. Zero for any model within ~10 km of the origin (rtc is null there). Anything that changes which termsroomFramePlanOffsetscarries changes this one too;wall-rects-from-meshes.test.tspins the two together.