cad-editor/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 7cf1bf014b feat(properties): editable per-object leader dimension overrides
A legacy leader's Lines & Arrows / Text / Fit rows are now editable
per-object overrides of its dimension style, stored in the standard
ACAD_DSTYLE XDATA record (new src/entities/dim_override.rs codec). Arrow
block, arrow size, dim-line lineweight, text offset, vertical text
position and overall scale each prefer an override over the style; the
renderer honours arrow size / block / overall scale and the dim-line
lineweight, so an edited leader redraws at its new arrow and weight.

XDATA edits go through a new dispatch::set_entity_xdata, which registers
the application in the APPID table (the DWG writer drops records for an
unregistered app) and drops that app's stale verbatim EED block (which
otherwise wins over the structured record on a DWG save), so edits and
clears round-trip. The hyperlink editor moves onto this path too.

Dim-line colour stays read-only: it would live in the leader's
override_color, which the file layer doesn't serialise, so making it
editable would silently lose the pick on save. Picking "Closed filled"
writes an explicit null-handle arrow override rather than clearing, so
it sticks even when the style's arrow differs; an unparseable numeric
entry is ignored instead of wiping the stored override.

Note: the DXF entity writer only emits XDATA for hatches, so these
overrides (and hyperlinks) currently persist on DWG save but not DXF —
an acadrust-side gap to close separately.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 00:28:42 +03:00
..
app feat(properties): editable per-object leader dimension overrides 2026-07-13 00:28:42 +03:00
entities feat(properties): editable per-object leader dimension overrides 2026-07-13 00:28:42 +03:00
io fix(layout): create the CTAB variable so the exact paper tab round-trips 2026-07-12 01:17:26 +03:00
modules chore: remove orphaned manage/mview.rs dead code 2026-07-12 00:37:49 +03:00
plugin feat(plugin): surface loaded plugin commands in command-line autocomplete 2026-07-04 23:01:53 +03:00
scene feat(properties): editable per-object leader dimension overrides 2026-07-13 00:28:42 +03:00
shaders refactor(pipeline): name the real hatch renderer hatch_gpu, legacy → wipeout_gpu 2026-07-09 10:45:40 +03:00
ui fix(ribbon): highlight toggle buttons by their actual state 2026-07-12 19:53:48 +03:00
cli.rs feat(thumbnails): embed DWG previews and wire cross-platform file thumbnails 2026-07-11 01:27:17 +03:00
command.rs refactor(precision): widen command transform scalars and defaults to f64 (#311) 2026-07-12 00:34:38 +03:00
config.rs feat(ui): ribbon collapse-mode selector + start-page recent controls 2026-07-06 01:06:01 +03:00
lib.rs feat(ui): ribbon collapse-mode selector + start-page recent controls 2026-07-06 01:06:01 +03:00
main.rs feat(thumbnails): embed DWG previews and wire cross-platform file thumbnails 2026-07-11 01:27:17 +03:00
par.rs feat(wasm): sequential rayon shim for the web build 2026-06-16 17:11:20 +03:00
patreon.rs feat(supporters): merge hand-maintained supporters, rank by amount 2026-07-08 00:32:12 +03:00
snap.rs fix(snap): Intersection requires a real 3D meeting, not a plan crossing (#335) 2026-07-10 13:05:48 +03:00
sys.rs fix(web): paste clipboard text into the TEXT / MText editors 2026-06-20 17:05:02 +03:00