Commit graph

2,242 commits

Author SHA1 Message Date
Matt Van Horn
90b67feefe
fix: avoid unsupported recovery timestamps on web
Fixes #817
2026-08-20 03:36:39 -07: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
9202297d1b fix(plugin): trace MText registry enums 2026-08-20 00:26:32 +03:00
Hakan Seven
7c878a725c Merge pull request #819 from schoeller/patch-1 2026-08-20 00:23:34 +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
0f250bb485 feat(ellipse): add complete grip editing 2026-08-19 23:48:13 +03:00
Hakan Seven
8601fd8e4b fix(render): draw block-contained 3D faces 2026-08-19 23:34:10 +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
ramox81
1a6b61fb3a Correct spline property value semantics 2026-08-19 16:50:49 +03:00
ramox81
df71fa61bd Show effective spline endpoint tangents 2026-08-19 15:54:28 +03:00
Sebastian
cc8d27b52f
Update build.rs to include MText in V4 json 2026-08-19 14:33:11 +02: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
ramox81
283e6db324 feat(ellipse): add editable arc endpoint grips 2026-08-19 10:02:38 +03:00
ramox81
3f9c3a9e9a fix(ellipse): add symmetric axis grips 2026-08-19 09:28:18 +03:00
Hakan Seven
97a6322e2a fix(web): use compatibility renderer
Chromium can advertise WebGPU limits that its shader path does not reliably support. Keep web builds on the packed/texture pipelines.\n\nRefs #788
2026-08-18 22:35:39 +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
f9c3546551 fix(trim): keep retained geometry continuous
Use kernel trim spans so unrelated boundary crossings do not split survivors.
2026-08-18 20:12:30 +03:00
Hakan Seven
afd4c96a78 fix(properties): measure bulged polylines
Merge PR #808 and use kernel area, length, and centroid measurements.
2026-08-18 19:50:08 +03:00
Hakan Seven
3a53a110cc fix(properties): hide unsafe MLine geometry
Merge PR #807. MLine vertex fields mutate stored points without rebuilding dependent geometry.
2026-08-18 19:31:58 +03:00
Hakan Seven
5d4a279c1d fix(properties): correct XLine geometry
Merge PR #806 and route point/direction math through the kernel so valid near-zero directions are not rejected by an application tolerance.
2026-08-18 19:21:50 +03:00
Hakan Seven
c62bbe59a9 fix(plugin): skip non-V4 notifications 2026-08-18 18:46:19 +03:00
ramox81
7687211fbb fix(ellipse): show full end angle as 360
Use kernel closure tolerance so Properties matches geometric classification.
2026-08-18 18:43:16 +03:00
ramox81
c17c25fef1 fix(properties): measure bulged polylines exactly 2026-08-18 16:46:16 +03:00
ramox81
cdd337261f fix(properties): remove MLine geometry section 2026-08-18 16:24:54 +03:00
ramox81
5bd104faab fix(properties): normalize XLine direction edits 2026-08-18 16:09:09 +03:00
ramox81
74c1fe48d8 fix(properties): expose XLine second point 2026-08-18 16:07:35 +03:00
Sebastian
fcd4a278e4 fix(plugin): skip non-V4 plugins in broadcast_notification
PluginManager::broadcast_notification was fanning out host notifications to every loaded plugin. Only V4 plugin processes can receive host->plugin notifications; V2/V3 plugins correctly rejected them with notify_plugin requires V4 protocol.

Add PluginProcess::is_v4() and skip non-V4 plugins in broadcast_notification so V4 document snapshot notifications only go to V4-capable plugins. Fixes repeated console errors for Example, Land Survey and V2 Compat.
2026-08-18 12:12:42 +02:00
Hakan Seven
403247cbc3 feat(i18n): add Bulgarian locale 2026-08-17 23:45:04 +03:00
Hakan Seven
6c3455fb09 fix(plugin): bound shared-memory mappings
Reject malformed or oversized snapshots before mmap and apply checked size arithmetic to both host and reader paths.
2026-08-17 23:22:58 +03:00
Hakan Seven
313349fd71 fix(io): verify saves through edit leases 2026-08-17 23:13:07 +03:00
Hakan Seven
f9e7afdee2 fix(build): scope Windows debug stack
Apply /STACK only to the debug app binary instead of every Windows target artifact.
2026-08-17 22:46:50 +03:00
Sebastian
fcffa13693
fix(build): increase Windows debug stack
Increase the Windows debug executable stack reserve to prevent startup overflow.
2026-08-17 22:40:45 +03:00
Hakan Seven
04b9363666 test(plot): verify printer property commands
Use exact platform-specific command expectations.\n\nRefs #773
2026-08-17 22:29:47 +03:00
Ngo Quoc Viet
3a94c37eea
fix(plot): open selected printer properties
Open the selected printer's properties on Windows and retain the printer-list fallback.

Refs #773
2026-08-17 22:26:29 +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
Ngo Quoc Viet
69604012d6
fix(flatten): project polylines and planar faces
Add initial FLATTEN coverage for polyline families, SOLID, and 3DFACE.

Refs #728
2026-08-17 21:40:17 +03:00
Hakan Seven
aab30f1b5e fix(blocks): preserve insert unit scaling
Compose unit conversion with authored transforms and attributes. Keep unit-factor display and the full INSUNITS mapping consistent.

Refs #706
2026-08-17 21:32:28 +03:00
Hakan Seven
a65ba28270
Merge pull request #776 from NgoQuocViet2001/fix-unitless-block-insert-scale
fix(blocks): don't unit-scale unitless block inserts
2026-08-17 21:17:55 +03:00
Sebastian
73bb7bd673
1GiB guard for mmap
Adding a MAX_GUARD for mmap to file
2026-08-17 18:25:15 +02:00
NgoQuocViet2001
c88f07d219 fix(io): stop the drawing lock blocking our own reads on Windows
Saving to a path that already holds a drawing fails on Windows with
"could not verify <path> before saving: ... (os error 33)". Save As over any
existing drawing is affected; saving to a new path is not.

EditLease::acquire() opens the destination and takes the platform drawing
lock on it, then the save fingerprints the same path to check nothing changed
underneath. LockFileEx is mandatory and scoped to the handle that took it, so
that second open is refused against our own lock, lands in the non-NotFound
arm and aborts the save. flock on Unix is advisory and the second open
succeeds, so neither CI nor a Linux desktop sees it.

Read through the handle the lease already holds instead. A duplicate shares
the lock ownership, so the pre-replace re-check on the save worker can use
one too rather than re-opening the path.

The same collision reached the headless open op, which read a path this
session may hold leased: automation's save_then_open_round_trips fails on
main for that reason, one line after the save it no longer reaches.
2026-08-17 22:49:54 +07:00
Nikolay Ninkov
777cf3b6a6
Add Bulgarian localization for OpenCAD Studio
The translation is ready for use.
2026-08-17 15:33:31 +03:00
Hakan Seven
0b5d4bd311 fix(mtext): honor background contrast
Preserve stored dimension fills and rotate text backgrounds with their labels.

Refs #774
2026-08-16 23:58:17 +03:00
gianlucafiore
252224f546
Merge pull request #778 from gianlucafiore/fix/annotative-mtext-leader
Fix annotative MTEXT attachment alignment
2026-08-16 16:20:45 -03:00
gianlucafiore
3603346a19 fix: keep annotative mtext anchored to insertion point 2026-08-16 16:17:04 -03:00