RE-26 (PR #237) recovered Revit's wall-end join trims via element_record_wall_joins: each end is cut by half the thickness of the perpendicular recovered wall whose centreline lands on it. 689/720 ends are now correct, but 31 ends across 16 walls are over-trimmed — these walls were accidentally exact untrimmed, and the join rule cuts them anyway. Revit's per-pair join decision (allow/disallow join, butt vs mitre) has no identified carrier in the element records: the trimmed endpoints themselves are not stored (best fixed offset in the 4 KiB after all 638 wall records matches only 29/360).
The 16 walls are named in reports/element-framing/RE-26-world-coordinate-residuals.md. Finding the join-decision carrier (or a disqualifying geometric predicate) would take walls from 336/360 to 352/360 exact.
Measured on 2024_Core_Interior.rvt (sha256 c805df44...). Follow-up from PR #237; see also #30.
RE-26 (PR #237) recovered Revit's wall-end join trims via element_record_wall_joins: each end is cut by half the thickness of the perpendicular recovered wall whose centreline lands on it. 689/720 ends are now correct, but 31 ends across 16 walls are over-trimmed — these walls were accidentally exact untrimmed, and the join rule cuts them anyway. Revit's per-pair join decision (allow/disallow join, butt vs mitre) has no identified carrier in the element records: the trimmed endpoints themselves are not stored (best fixed offset in the 4 KiB after all 638 wall records matches only 29/360).
The 16 walls are named in reports/element-framing/RE-26-world-coordinate-residuals.md. Finding the join-decision carrier (or a disqualifying geometric predicate) would take walls from 336/360 to 352/360 exact.
Measured on 2024_Core_Interior.rvt (sha256 c805df44...). Follow-up from PR #237; see also #30.