Track mixed paper and viewport dimension references

This commit is contained in:
Christopher Overbeck committed 2026-09-15 16:00:11 -05:00
1 parent bd00d679a9
commit 5424a19482
28 files changed
+823 -846

No files matched your search

+7 -13
View File
@@ -1,16 +1,10 @@
# Viewport association fixture
`viewport_associations.dxf` is a synthetic paper-space fixture for line, circle,
arc, polyline, spline, block-instance, and intersection references through one
1:2 viewport. `src/app/viewport_dimension_tests.rs` loads it and exercises actual
association refresh and an edit to the second intersection source.
`viewport_associations.dxf` contains line, circle, arc, polyline, spline,
block-instance, and intersection references through a 1:2 viewport.
`src/app/viewport_dimension_tests.rs` tests refresh and intersection source edits.
Each dimension carries `DIMLFAC=-2` and `ACAD_DIMASSOC_CALC_DIMLFAC=-2`. These are
necessary for its paper definition points and saved model measurements to agree;
the original fixture omitted both factors. The spline tangent also uses the
actual touch point `(90, 283.125)` at parameter `0.75`, measured from `(0, 300)`.
The original endpoint `(120, 300)` was not tangent. Tests verify the cross product
with the spline derivative and preservation after an unsupported reference edit.
The larger original `115448.dxf` is private and is not included. An opt-in test
uses `OPENCAD_VIEWPORT_REGRESSION_DXF` to read a local copy without modifying it.
Each dimension stores `DIMLFAC=-2` and `ACAD_DIMASSOC_CALC_DIMLFAC=-2` so its paper
definition points measure in model units. The spline tangent from `(0, 300)`
touches `(90, 283.125)` at parameter `0.75`; tests verify its tangency and preserve
the dimension if an edited reference cannot resolve.