Commit graph cad-editor/src/app
Author SHA1 Message Date
Hakan Seven
e74d5d78fc fix(rect): merge current main
Preserve both Point and Rectangle property layouts where the two pull requests changed the same section.
2026-08-22 23:03:26 +03:00
Hakan Seven
339d9afcfe
Merge pull request #857 from ramox81/codex/align-point-behavior
Align point command, properties, and display behavior
2026-08-22 22:58:42 +03:00
Hakan Seven
27cae9467a fix(rect): harden rectangle behavior
Reject invalid trim geometry instead of silently changing dimensions.\nRegister XData application IDs so rectangle metadata survives saves.
2026-08-22 22:55:36 +03:00
Hakan Seven
7293bec1b9 fix(point): preserve relative marker sizing
Keep rendering, picking, block transforms, and plotted output on the
same viewport-relative PDSIZE geometry without overloading wire width
fields.
2026-08-22 22:22:01 +03:00
ramox81
c5fe70627a Honor point display geometry and sizing 2026-08-22 17:18:30 +03:00
ramox81
ac99942519 Align single and continuous point commands 2026-08-22 17:18:29 +03:00
Hakan Seven
e5b84ab8de fix(plot): honor wipeout draw order 2026-08-22 15:33:43 +03:00
Hakan Seven
a87ca09fa4 Merge pull request #854 from ramox81/codex/align-arc-behavior 2026-08-21 21:41:24 +03:00
Hakan Seven
bd5f9436ea Merge pull request #852 from ramox81/codex/complete-hatch-workflow 2026-08-21 21:02:14 +03:00
Hakan Seven
4bc02b6b4a fix: correct hatch geometry workflow 2026-08-21 20:52:03 +03:00
Hakan Seven
b648000e78 Merge pull request #850 from ramox81/codex/associative-center-mark 2026-08-21 20:19:54 +03:00
Hakan Seven
6c4f769d61 Merge pull request #842 from gianlucafiore/feat/non-printing-layer 2026-08-21 18:58:24 +03:00
Hakan Seven
77e1f1b876 fix(plot): respect non-printing layers
Filter nested block, attribute, table, hatch, and wipeout geometry during export while preserving canvas visibility.
2026-08-21 18:57:23 +03:00
ramox81
5f9d8a9e0e Align arc creation and editing behavior 2026-08-21 14:03:58 +03:00
ramox81
f83037271c Complete hatch creation and editing workflow 2026-08-21 12:57:19 +03:00
ramox81
ff09fc7800 Implement associative center mark workflow 2026-08-21 12:05:18 +03:00
ramox81
eba4fb87a8 Complete associative centerline workflow 2026-08-21 11:01:18 +03:00
gianlucafiore
2208076e50 feat(plotstyle): show layer usage by ACI 2026-08-20 23:55:44 -03:00
gianlucafiore
eb5cbaeca0 feat(layers): add non-printing layer support 2026-08-20 20:37:27 -03:00
gianlucafiore
b1b5d31be5
Merge pull request #839 from gianlucafiore/fix/extension-intersection
fix(snap): improve OTRACK and extension snapping
2026-08-20 18:51:44 -03:00
gianlucafiore
02e0960138 fix(snap): improve OTRACK and extension snapping 2026-08-20 18:46:44 -03:00
Hakan Seven
464971969c feat: complete freehand sketch workflow
Co-authored-by: ramox81 <184937705+ramox81@users.noreply.github.com>
2026-08-21 00:17:44 +03:00
Hakan Seven
44efb8fd53 feat(frame): complete frame controls
Preserve frame geometry for selection while separating viewport and plot visibility across supported reference entities.

Refs #642
2026-08-20 23:37:02 +03:00
Hakan Seven
2a852f4479 feat(gradient): align editing and rendering 2026-08-20 21:17:10 +03:00
Hakan Seven
667f20d604 feat(revcloud): complete editing workflow
Keep source planes intact and stored Mline offsets in sync.

Refs #626
2026-08-20 20:33:57 +03:00
Hakan Seven
0e944c19a6 feat(boundary): trace exact planar loops 2026-08-20 19:44:16 +03:00
ramox81
b7819481f0 Complete wipeout workflow and editing 2026-08-20 17:56:11 +03:00
Hakan Seven
76ad642d0c fix(mtext): keep arrows in editor
Route captured arrows to the MText caret only while the hidden command input retains focus.\n\nRefs #655
2026-08-20 17:13:09 +03:00
ramox81
e3bfbf1590 Complete freehand sketch workflow 2026-08-20 16:31:22 +03:00
Hakan Seven
bb49f92e99 fix(model): repair solid booleans
Track selection order for directional subtraction and use the kernel fixes for periodic curved-face intersections.\n\nRefs #816
2026-08-20 16:00:20 +03:00
ramox81
aee3397f5d fix(gradient): align properties and editing 2026-08-20 15:33:09 +03:00
Hakan Seven
5e62da464e fix(properties): preserve literal text
Separate numeric fields from names and content so only numeric property values are evaluated as expressions.

Refs #809
2026-08-20 14:58:12 +03:00
ramox81
4f375da191 feat(revcloud): complete creation and editing workflow 2026-08-20 14:16:43 +03:00
ramox81
4923e4c9da feat(boundary): complete region creation workflow 2026-08-20 13:14:48 +03:00
Hakan Seven
dcedf945ea feat(spline): correct property semantics
Merge PR #824 while keeping periodic and coplanarity geometry in cadkernel.
2026-08-20 12:13:35 +03:00
Hakan Seven
1c408e3a73 feat(spline): improve fit and CV editing
Keep planar conversions kernel-backed and leave unsupported 3D, CV-to-fit, and closed rebuilds unavailable instead of changing curve data.\n\nRefs #815
2026-08-20 00:18:45 +03:00
Hakan Seven
c8840e2706 fix(web): force WebGL2 backend
Affected Chromium adapters fail after selecting WebGPU even when packed renderer paths are forced. Use WebGL2 for the web app and let device limits select renderer tiers.\n\nRefs #788
2026-08-19 19:04:58 +03:00
ramox81
96e8d75cc5 Separate spline fit and control properties 2026-08-19 17:21:49 +03:00
NgoQuocViet2001
c1c8453140 fix(mtext): stop Up/Down walking command history under the editor
The MText editor paints its own caret and is not a focusable widget, so
the command input keeps widget focus behind the dialog. It captures the
arrow itself, which routes the key through CommandLineArrowProbe instead
of ArrowKeyPressed — and that path only asked whether the command input
was focused, never whether an editor was open. Up and Down therefore
walked command history while the user was typing in MText.

Give the probe the same rule ArrowKeyPressed already applies: while the
editor is open the arrow moves its caret. The probe now carries the shift
state so a held Shift still extends the selection on this path.

Fixes #655
2026-08-19 21:12:35 +07:00
NgoQuocViet2001
67ae0c2803 fix(boolean): give SUBTRACT a deterministic operand order
solid_boolean() collects the selected solids straight out of
scene.selected, a HashSet, and then uses handles[0] and handles[1] as the
two operands. Set iteration order is arbitrary and can differ between
runs, so SUBTRACT — the one non-commutative operation of the three — could
cut either solid out of the other for the same selection.

Sort the pair by handle, so the solid created first is the body the other
is taken out of. UNION and INTERSECT are unaffected.
2026-08-19 20:39:39 +07:00
NgoQuocViet2001
dd9ff89904 fix(expr-eval): don't evaluate identifiers found inside words
The embedded-expression rescan in eval_to_string tries every substring, so
any identifier the evaluator knows is also recognised in the middle of
ordinary text. Because `pi` needs no arguments it resolves anywhere it
appears, and names typed into property or command fields were rewritten:
`ASPIRATORE` came back as `AS3.141592653589793RATORE`.

Require a candidate whose first or last token is an identifier to start,
respectively end, on a word boundary. Leading and trailing numbers stay
unrestricted so mixed input such as `def10*10abc` still evaluates.

Fixes #809
2026-08-19 20:19:54 +07:00
ramox81
5595837a69 Align spline properties and editing 2026-08-19 12:00:02 +03:00
ramox81
0d37d3ff78 Improve spline fit and control vertex grips 2026-08-19 11:02:32 +03:00
Hakan Seven
7c818d15e9 fix(geometry): honor polyline OCS in commands
Route editing and derived geometry through kernel world-space curves.\n\nRefs #797\nRefs #798\nRefs #799
2026-08-18 22:09:48 +03:00
Hakan Seven
08f4cc97f8 feat(zoom): default to window mode
Keep all existing zoom modes available as interactive options.\n\nRefs #804
2026-08-18 20:29:55 +03:00
Hakan Seven
f4889d4c70 fix(grid): restore viewport visibility
Draw the grid above opaque GPU surfaces and below interaction overlays.\n\nRefs #789
2026-08-18 20:21:14 +03:00
Hakan Seven
313349fd71 fix(io): verify saves through edit leases 2026-08-17 23:13:07 +03:00
Hakan Seven
ac3392d81b fix(commands): reset selection gestures
Clear held box and lasso input before a new command starts.\n\nRefs #732
2026-08-17 22:16:14 +03:00
Ngo Quoc Viet
ba990d440e
fix(commands): cancel pending marquee
Cancel a pending selection marquee before starting a non-transparent command.

Refs #732
2026-08-17 22:11:41 +03:00
Hakan Seven
687023391e fix(flatten): project entities through kernel
Invalidate scene caches through entity updates and reject projections
that cannot be represented without changing geometry.

Refs #728
2026-08-17 21:59:09 +03:00