Commit Graph
1257 Commits
Author SHA1 Message Date
Hakan Seven af847ad92e Merge pull request #1299: Add Windows SpaceMouse navigation 2026-09-16 09:41:25 +03:00
Hakan Seven ffdb79a226 Merge pull request #1297: Fix perspective draw-order clipping 2026-09-16 09:35:59 +03:00
Hakan Seven 8f016d0431 Merge pull request #1298: Fix imported space layer invalidation 2026-09-16 09:31:26 +03:00
Hakan Seven 1a7aad8e04 Merge pull request #1293: Fix constraint indicator visibility 2026-09-16 09:28:49 +03:00
Hakan Seven 01a23673f1 Fix constrained corner and edge grip behavior 2026-09-16 08:45:09 +03:00
Hakan Seven cdf8bfe3ad Fix connected constraint grip previews and preserve anchored endpoints 2026-09-15 23:26:58 +03:00
Hakan Seven bfd0c30329 Keep untouched constraint geometry fixed during grip edits 2026-09-15 22:34:57 +03:00
Hakan Seven 07d8d7eb00 Keep opposite line endpoint fixed during grip edits 2026-09-15 22:18:56 +03:00
Hakan Seven 08bb17b0b8 Fix constraint editing and glyph feedback 2026-09-15 21:55:40 +03:00
Christopher Overbeck 6a63726eff Add Windows SpaceMouse navigation through 3DxWare 2026-09-15 13:20:19 -05:00
Guy Wydouw 93e65caca2 Fix layer invalidation for imported model space 2026-09-15 19:56:35 +02:00
Hakan Seven 8b925a5d52 Fix polyline constraint glyph placement 2026-09-15 20:39:01 +03:00
Christopher Overbeck e52e565b1f fix(renderer): keep draw-order offsets within clipping planes 2026-09-15 12:36:05 -05:00
ramox81 81d6822104 Fix constraint indicator visibility 2026-09-15 17:22:31 +03:00
Hakan Seven c41d763984 Merge updated pull request #1289 native segment persistence 2026-09-15 15:45:48 +03:00
Hakan Seven b12314c3ed Merge pull request #1289 from ramox81/fix/coincident-standard-command 2026-09-15 15:43:13 +03:00
ramox81 8a97cead35 Merge remote-tracking branch 'origin/main' into codex/coincident-parity
# Conflicts:
#	src/command.rs
2026-09-15 15:41:42 +03:00
ramox81 bd9705ecf7 Persist bulged polyline constraint segments 2026-09-15 15:31:24 +03:00
Hakan Seven acde01cfc3 Merge pull request #1289 from ramox81/fix/coincident-standard-command
# Conflicts:
#	src/command.rs
#	src/scene/mod.rs
#	src/scene/parametric_solve.rs
2026-09-15 15:08:35 +03:00
ramox81 34b7d9481b Keep point-on-arc constraints within their sweep 2026-09-15 15:04:14 +03:00
Hakan Seven cb4c4cef65 Merge pull request #1288 from ramox81/feat/auto-constraint-complete
# Conflicts:
#	src/ui/overlay.rs
2026-09-15 14:41:43 +03:00
ramox81 f6d8209139 Merge upstream main into Coincident parity 2026-09-15 14:39:17 +03:00
ramox81 ba2b371269 Complete Coincident command behavior 2026-09-15 14:00:26 +03:00
ramox81 c3101919d7 Show constraint action points on hover 2026-09-15 13:54:47 +03:00
Hakan Seven f61174eaad Polish automatic constraint integration 2026-09-15 12:54:00 +03:00
Hakan Seven c9eeb6f66e Merge pull request #1284 from ramox81/codex/autoconstrain-parity
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/app/view/mod.rs
#	src/ui/overlay.rs
2026-09-15 12:38:41 +03:00
Hakan Seven 487b635073 Merge pull request #1275 from CiberNin/fix/plot-bitmaps
# Conflicts:
#	src/app/update/file.rs
#	src/scene/mod.rs
2026-09-15 12:34:01 +03:00
Hakan Seven 03c70c5417 Merge pull request #1273 from CiberNin/fix/spline-fill-clearance
# Conflicts:
#	src/scene/entity.rs
2026-09-15 12:31:00 +03:00
Hakan Seven aca00c6da2 Merge pull request #1274 from CiberNin/fix/viewport-pixel-placement 2026-09-15 12:29:27 +03:00
Hakan Seven dfe8b77cca Merge PR #1280 and expose constraint value visibility 2026-09-15 11:55:05 +03:00
Hakan Seven adc8555394 Merge PR #1279 and complete parametric UI actions 2026-09-15 11:48:35 +03:00
ramox81 66be530655 Complete automatic constraint behavior 2026-09-15 11:47:28 +03:00
Hakan Seven 06fcf09ae3 Integrate standard parametric PR fixes 2026-09-15 10:43:00 +03:00
Hakan Seven d738ebfcc6 Standardize parametric constraints and interoperability 2026-09-15 03:19:52 +03:00
Felix RiestraandClaude Sonnet 5 ed2e0fbc4a Wire up the Properties panel's Parameters section
PropValue::ParamRow/ParamAddRow, the PropParamInput/Commit/Delete/AddNew
messages, their command_driver handlers (on_prop_param_commit/_delete/
_add_new, resolve_named_parameter_edit), and their render functions all
already existed — but nothing ever constructed the "Parameters" section
that would route data to them, so the whole inline add/rename/redefine/
delete workflow was unreachable from the UI. Adds that missing section
to the no-selection page in refresh_properties, alongside a new
PropValue::ParamsVisibilityToggle header row (mirrors the existing
show_constraint_values setting) for toggling whether constraint pills
show their driven value/parameter name.

Users can now manage named parameters inline in the Properties panel
(live resolved values, add/rename/redefine/delete) as an alternative to
the separate PARAMETERS modal, which continues to work unchanged.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-15 01:26:48 +02:00
Felix RiestraandClaude Sonnet 5 0f739b459d Add bounding-box object alignment (ALIGNLEFT/TOP/etc.), ported from Mac2CAM
Six one-shot alignment commands for the current selection —
ALIGNLEFT/ALIGNHCENTER/ALIGNRIGHT/ALIGNTOP/ALIGNVCENTER/ALIGNBOTTOM —
distinct from the existing point-picking ALIGN/ALIGN3D command: each
nudges every selected object (or complete group, via new
Scene::selected_object_units) so its bounding-box edge/center lines up
with the extreme edge/center already present in the selection, closer
to a word processor's "align objects" than AutoCAD's 3-point ALIGN.

Wired as plain one-click Tool entries in the Modify extension panel,
next to the existing ALIGN entry, matching that panel's flat-list
convention (no point prompts, so no dropdown submenu needed).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-15 01:08:41 +02:00
Felix RiestraandClaude Sonnet 5 59ae38ae1a Add per-constraint delete; fix named-parameter reference bugs
Constraint delete: a Properties-panel row delete button, viewport
click-to-select on a constraint glyph pill with Delete-key support, and a
right-click "Delete Constraint" menu item — all routed through one
undoable Scene::selected_constraint-aware path.

Fixes two named-parameter bugs found while testing that feature:
- DIMCONSTRAINT: a parameter named like a mode-switch keyword ("r", "d",
  "a", "x", "y") could never be referenced, since the keyword check ran
  before the parameter-name check.
- PARAMETERS modal Apply rebuilt Scene::named_parameters but never
  refreshed the Properties panel, leaving renamed/deleted rows stale
  until an unrelated refresh (e.g. a selection change) happened to occur.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-15 01:08:34 +02:00
Christopher Overbeck e16ab7c86f Preserve narrow spline clearances when tessellating solid fills
Recover failed small spline boundaries with the kernel chord-error
sampler, using the same coordinate frame as the fill mesh. Preserve
source curves and enforce recovery and total hatch vertex limits.

Fixes #1268
2026-09-14 17:09:33 -05:00
Christopher Overbeck c93cc17592 Include bitmap images in PDF plots, preview, and printing
Include decoded IMAGE/OLE content in the shared PDF plotting path,
with clipping, transforms, transparency, draw order, and resource reuse.
Use named page content for export and printing.

Fixes #1266
2026-09-14 17:07:57 -05:00
Christopher Overbeck 37cfa06b02 Preserve fractional viewport placement when compositing paper space
Keep fractional raster placement and matching integer texture coverage
through compositing. Apply parent clipping without changing the scale.

Fixes #1267
2026-09-14 17:07:57 -05:00
Hakan Seven 753df67ee4 Complete parametric drawing interoperability 2026-09-14 23:51:37 +03:00
Hakan Seven caec8dc53b Merge remote-tracking branch 'origin/main' 2026-09-14 20:24:54 +03:00
Hakan Seven 293d0796fb Merge pull request #1246 2026-09-14 19:58:35 +03:00
Hakan Seven 2d20bdd51c Merge pull request #1251 2026-09-14 19:51:57 +03:00
Karim Jerbi 509d746dd0 perf(scene): chunked batch accumulation for spatial InteractionIndex build
Optimize InteractionIndex::build by eliminating per-wire vector allocation churn
and combining wire handle / ordinal resolution:

1. Introduced WireIndexBatch to chunk wires into batches of 256 wires. Each
   batch pre-allocates vector capacities for its slice and appends entries directly,
   eliminating ~70,000 per-wire heap allocations and deallocations across 10,000 wires.
2. Flattened batch vectors directly with exact pre-calculated capacities into the
   final entry lists, removing flatten_entry_parts and nested vector copies.
3. Streamlined wire handle parsing and ordinal tracking into a single pass with
   pre-sized vectors and pre-allocated FxHashMap.

Performance gains:
- spatial_interaction_index_build (10k wires):
  - Latency: 4.88 ms -> 4.01 ms (-17.8%)
  - Mean latency: 4.93 ms -> 4.05 ms (-17.8%)
  - Throughput: 2.05M wires/s -> 2.53M wires/s (+23.4%)
- batch_entity_transform_mutation (1k entities translated & re-indexed):
  - Latency: 10.92 ms -> 8.95 ms (-18.0%)
  - Mean latency: 11.28 ms -> 9.52 ms (-15.6%)
  - Throughput: 92.4k entities/s -> 111.3k entities/s (+20.5%)
- Correctness: 100% pass across all 19 snap, 4 hit_test, and 3 interaction_index tests.
2026-09-14 14:55:18 +01:00
Marcel a2adb3f6e3 Refactor grip dynamic input and polyline arc geometry 2026-09-14 13:15:57 +02:00
Hakan Seven cba64631b8 fix: render PDF attachments on every platform
Fixes #1243
2026-09-14 12:53:06 +03:00
ramox81 6505b27818 fix(annotate): align annotation ribbon workflows 2026-09-14 11:55:08 +03:00
Hakan Seven fc1788df65 fix: export interoperable DWG constraint graphs 2026-09-14 02:57:33 +03:00
Hakan Seven 7b4cef41f7 Complete parametric ribbon and constraint tools 2026-09-14 01:05:39 +03:00