forked from 1b-agent/opencadstudio-upstream
Property-panel coordinate display and block-insert scaling were both hard-coded, ignoring the document's stored unit configuration. - LUNITS / LUPREC: edit_prop() now formats values through a thread-local UnitContext seeded by refresh_properties(). Decimal / Scientific / Engineering / Architectural / Fractional all render correctly without threading the document handle through every entity properties builder. - AUNITS / AUPREC: format_angle() helper available (decimal degrees, DMS, grad, rad). Callers that already format angular values via radians can switch over without touching the helper signatures. - INSUNITS + MEASUREMENT: xref's source INSUNITS is carried onto the host BlockRecord.units during merge. commit_entity() then scales new INSERTs so 1 source-unit maps to the host's INSUNITS length. When either side is unitless (0) MEASUREMENT acts as the fallback (0=Imperial / inches, 1=Metric / mm), matching AutoCAD's rule. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>