Marco Arnulfo
bca698a588
SPLINE: cap programmatic control points like spline.cv ( fixes #719 ) ( #776 )
2026-10-13 04:35:14 -04:00
Marco Arnulfo
5de2324973
Selection: rebuild the spatial index when a layer used inside blocks is hidden or shown ( fixes #716 ) ( #775 )
2026-10-13 04:35:08 -04:00
Marco Arnulfo
266ee7e6ea
Autosave: a write that failed is tried again without another change ( fixes #717 ) ( #774 )
...
The planner marked a drawing as autosaved when it dispatched the write, and the background
worker only logged a failure. An unchanged drawing whose write failed was then never written
again, even once the folder became writable. The worker now reports whether the file was
written; on a failure (or a thread that could not be spawned) the drawing is no longer counted as
autosaved, so the next plan restarts its SAVETIME clock and tries again.
2026-10-13 04:35:02 -04:00
NetterSilver
b2ba585251
TRIM: a pick after a closed polyline's last cut keeps only the complementary run ( #726 ) ( #771 )
...
* TRIM: a pick after a closed polyline's last cut keeps only the complementary run (#726 )
With no cutting intersection past the pick, trim_polyline used the first cut
plus the perimeter as the end of the piece and then kept the run from the
first cut to the last cut plus a whole perimeter, so one extra circuit of the
outline stayed (a 4 x 4 square became an open polyline of length 24 instead of
8). The kept run now ends at the last cut before the pick.
* Docs: update the progress docs for this change
2026-10-13 04:34:46 -04:00
Marco Arnulfo
f5d58913cc
CIRCLE: a radius point on the centre is refused and asked again (follow-up to #735 ) ( #761 )
2026-10-13 04:34:25 -04:00
Marco Arnulfo
5ce1ea3dfc
POLYGON: an Edge second endpoint on the first is refused and asked again (follow-up to #735 ) ( #760 )
2026-10-13 04:34:19 -04:00
5183f63bc5
Hatch and Gradient dialog (create and edit) ( #753 )
...
* HATCH/GRADIENT: points and objects in one call; GRADIENT name and centered
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* HATCHEDIT: gradient parameter (make or change a gradient fill)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* HATCHPICK: pick hatch boundaries, an origin or hatches for the dialog
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Hatch dialog: state, defaults and the OK command call
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Hatch dialog: pick points, objects, origin or hatch and come back
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Hatch and Gradient dialog window (pattern swatches, gradient, origin, boundaries, options)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* HATCH, GRADIENT and HATCHEDIT open the hatch dialog; double-click a hatch to edit; HPDLGMODE
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Hatch dialog: keep the window to its content (OK and Cancel stayed off screen); double-click test
A vertical separator between the two columns took the height available, so the window grew
every frame until its buttons left the screen. Found in the running app.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Docs: hatch dialogs in gaps, target-app parity and UI parity
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Hatch dialog review fixes
- Double-clicking a hatch at its centre opened the dialog and also started a grip edit.
- Edit mode no longer clamps an out-of-range scale or angle into a change nobody made.
- HPORIGINMODE outside 1-5 means the current origin, as HATCH reads it.
- Picks made in one space are dropped when the dialog comes back in another (layout tab).
- A gradient hatch's Pattern tab offers the current pattern (HPNAME), not SOLID.
- Ukrainian: "Default to boundary extents" said "outside the boundary".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
---------
Co-authored-by: lloyd <lloyd@stackworx.io >
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 04:34:09 -04:00
cyfung1031
bcd6322ee9
Plotting: honor model-space center and X/Y offsets ( #751 )
...
* plot: add bounded model-space paper placement
* plot: expose center and paper offset parameters
* ui: add model-space Plot offset controls
2026-10-13 04:34:04 -04:00
Marco Arnulfo
e71e17a8df
View: refuse a view that maps to an infinite viewport view, keeping the viewport ( fixes #714 ) ( #749 )
2026-10-13 04:33:59 -04:00
Marco Arnulfo
08cfbd5dd7
Select: pick a SOLID inside its fill, not its bounding rectangle ( fixes #718 ) ( #747 )
2026-10-13 04:33:52 -04:00
cyfung1031 and Claude Opus 5.5
890f7f1c6f
Performance: reuse nearby snap geometry for tracking acquisition ( #698 )
...
Squash of PR #698 by @cyfung1031.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:35:13 -04:00
aldozar and Claude Opus 5.5
0675648de8
Hatch: pick the pattern from swatches instead of typing its name ( fixes #669 ) ( #679 )
...
Squash of PR #679 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:21:49 -04:00
aldozar and Claude Opus 5.5
c2f8782cc2
Plot dialog: device, plot style table, Window <, and a preview of its settings ( #673 )
...
Squash of PR #673 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:21:33 -04:00
aldozar and Claude Opus 5.5
d365b60704
MIRROR and PASTE previews on the GPU; GPU previews in layouts too ( #655 )
...
Squash of PR #655 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:21:18 -04:00
aldozar and Claude Opus 5.5
cf797cbafe
Build the screen's model-space display list on all cores; read-write locks for glyph caches ( #654 )
...
Squash of PR #654 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:21:04 -04:00
Lion and Claude Opus 5.5
935cb98eed
SCRIPT command: run .scr files from the command line, menus and JSON (gaps.md E2) ( #693 )
...
Squash of PR #693 by @Lion-1209.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:13:51 -04:00
rangoDJ and Claude Opus 5.5
875f99d26f
Deduplicate identical boundary loops to prevent empty hatch fills ( #671 )
...
Squash of PR #671 by @rangoDJ.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:13:20 -04:00
Jason Brashear and Claude Opus 5.5
bc6dc997ef
AUNITS: degrees/minutes/seconds angles round at the displayed precision ( #672 )
...
Squash of PR #672 by @webdevtodayjason.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 03:11:42 -04:00
aldozar and Claude Opus 5.5
c57879a5c8
GPU errors and device loss: keep running, autosave at once, tell the user ( #652 )
...
Squash of PR #652 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 20:42:45 -04:00
Gert Pellin - GPE and Claude Opus 5.5
f7c6293d09
feat: SVG import — read SVG and SVGZ into native entities ( #636 )
...
Squash of PR #636 by @switch87.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 20:11:22 -04:00
Valentin Klein and Claude Opus 5.5
89064fd82a
Drafting/plot/UI follow-ups: PolarSnap over isometric snap, MVIEW Restore, plot margins, PNG/SVG pens, PE_URL links, OPTIONS settings (part of #626 ) ( #633 )
...
Squash of PR #633 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 20:11:06 -04:00
aldozar and Claude Opus 5.5
1e1f68bf40
Fix fatal wgpu buffer overflow; draw MOVE/COPY/ROTATE/SCALE previews and the selection highlight on the GPU ( #642 )
...
Squash of PR #642 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 20:10:51 -04:00
aldozar and Claude Opus 5.5
135c928fea
Hatches: draw the pattern definition stored in the file; scale library patterns in metric drawings ( #643 )
...
Squash of PR #643 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 19:54:18 -04:00
Valentin Klein and Claude Opus 5.5
9477f37503
File-format follow-ups: version-gated MULTILEADER and DIMSTYLE groups, kept $DWGCODEPAGE, PURGE multiline styles ( #632 )
...
Squash of PR #632 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 19:54:03 -04:00
MarekSpodBiedry and Claude Opus 5.5
83b8a84050
Add PTYPE as an alias of the Point Style command ( #622 ) ( #645 )
...
Squash of PR #645 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 19:52:37 -04:00
PedroGuille and Claude Opus 5.5
f967dc7aca
Persist SNAPUNIT and GRIDUNIT in DXF ( fix #607 ) ( #614 )
...
Squash of PR #614 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:28:56 -04:00
Valentin Klein and Claude Opus 5.5
e1e61a13b5
feat(modify): SPLINEDIT Join, Edit vertex Add and Elevate order ( #559 )
...
Squash of PR #559 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:28:41 -04:00
MarekSpodBiedry and Claude Opus 5.5
5ef32b3afa
Select: pick pattern hatches on their visible strokes ( #489 ) ( #599 )
...
Squash of PR #599 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:28:14 -04:00
MarekSpodBiedry and Claude Opus 5.5
04aa716920
Page Setup: report unsupported layout plot areas as not available yet ( #491 ) ( #597 )
...
Squash of PR #597 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:28:00 -04:00
MarekSpodBiedry and Claude Opus 5.5
41c3c83fb9
AREA: refuse an open elliptical arc instead of measuring the whole ellipse ( #487 ) ( #601 )
...
Squash of PR #601 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:04:40 -04:00
MarekSpodBiedry and Claude Opus 5.5
0b5a0a2eb8
Plot: apply an explicit scale to non-fitted layout plots ( #490 ) ( #598 )
...
Squash of PR #598 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:04:10 -04:00
MarekSpodBiedry and Claude Opus 5.5
0fcf46d487
OFFSET: full ellipse copy goes to the side of the picked point ( #501 ) ( #591 )
...
Squash of PR #591 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:03:24 -04:00
MarekSpodBiedry and Claude Opus 5.5
f1919e31a5
Text style rename: update text inside block definitions ( #472 ) ( #588 )
...
Squash of PR #588 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:03:07 -04:00
MarekSpodBiedry and Claude Opus 5.5
6ef1e62755
Properties: turn a block reference's attribute text with its Rotation edit ( #473 ) ( #587 )
...
Squash of PR #587 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:02:52 -04:00
MarekSpodBiedry and Claude Opus 5.5
9e22617679
layer.delete: clear the deleted layer from viewport freeze and colour overrides ( #474 ) ( #586 )
...
Squash of PR #586 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:02:36 -04:00
MarekSpodBiedry and Claude Opus 5.5
c245e1de35
INSERT with explode records one undo step ( #475 ) ( #585 )
...
Squash of PR #585 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:02:21 -04:00
MarekSpodBiedry and Claude Opus 5.5
f59b32cac7
properties.set rejects a linetype that is not loaded ( #476 ) ( #584 )
...
Squash of PR #584 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:02:06 -04:00
MarekSpodBiedry and Claude Opus 5.5
3f781c3395
Align Text > Angle asks for the angle instead of failing with a missing-parameter error ( #478 ) ( #582 )
...
Squash of PR #582 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 14:01:51 -04:00
MarekSpodBiedry and Claude Opus 5.5
b23b45e976
Properties: reject a malformed lineweight instead of setting 0.25 mm ( #480 ) ( #580 )
...
Squash of PR #580 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:41:25 -04:00
MarekSpodBiedry and Claude Opus 5.5
fc30f2c2ea
Properties: changing a block's scale moves and resizes its attributes ( #481 ) ( #579 )
...
Squash of PR #579 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:41:10 -04:00
MarekSpodBiedry and Claude Opus 5.5
63a0ab4a32
dimstyle.rename and delete: cover dimensions inside block definitions ( #482 ) ( #578 )
...
Squash of PR #578 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:40:55 -04:00
MarekSpodBiedry and Claude Opus 5.5
d3ae8f3a8b
Dimension Space asks for the base, the dimensions and the spacing instead of failing ( #483 ) ( #577 )
...
Squash of PR #577 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:40:39 -04:00
MarekSpodBiedry and Claude Opus 5.5
3363d4a78c
SETVAR keeps text variables such as CLAYER as text, so a layer named 10 can be selected ( #484 ) ( #576 )
...
Squash of PR #576 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:40:25 -04:00
MarekSpodBiedry and Claude Opus 5.5
a5a9e3ef63
SETVAR accepts point objects for SNAPBASE, LIMMIN, LIMMAX and INSBASE ( #485 ) ( #575 )
...
Squash of PR #575 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:40:10 -04:00
PedroGuille and Claude Opus 5.5
40aa4fbf49
Fix OFFSET distance clicks and source picking ( #618 )
...
Squash of PR #618 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:39:55 -04:00
PedroGuille and Claude Opus 5.5
a181bbd609
Fix Measure Distance snapping through layout viewports ( #616 )
...
Squash of PR #616 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:39:39 -04:00
Valentin Klein and Claude Opus 5.5
b6383b5f3c
feat(file): COMPARE drawings with overlay and change areas ( fixes #563 ) ( #572 )
...
Squash of PR #572 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:25:17 -04:00
Valentin Klein and Claude Opus 5.5
74e72c93f8
Plotters: device configurations with paper sizes and printable areas ( fixes #564 ) ( #570 )
...
Squash of PR #570 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:25:00 -04:00
Valentin Klein and Claude Opus 5.5
7e437cb62d
feat(ui): QuickCalc palette; CAL points, vector functions, unit conversion (part of #563 ) ( #569 )
...
Squash of PR #569 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:24:46 -04:00
Valentin Klein and Claude Opus 5.5
70b0cce997
PDF export: layers as PDF layers (OCG), several sheets per file, hyperlinks (part of #560 ) ( #567 )
...
Squash of PR #567 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:23:59 -04:00