Commit Graph
144 Commits
Author SHA1 Message Date
ramox81andClaude Opus 5.5 13ccb82d8e Reference panel: the palette launcher sits beside the title
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-24 19:39:23 +03:00
ramox81andClaude Opus 5.5 95e2bae0d2 Insert Reference panel: one Attach, labelled underlay tools, slide-out with Edit Reference and xref fading
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-24 19:39:23 +03:00
ramox81andClaude Fable 5.1 aab42e2aa9 DCRADIUS: reference radial dimensional constraint with a dynamic radial dimension
Select arc or circle / Dimension text / dimension line location / value or
name prompts with a radN parameter, invalid-selection, miss, duplicate and
invalid-expression messages, negative values as magnitudes, a dynamic radial
dimension on the constraints layer drawn as the reference does (mid-radius
text on the center-to-rim line, no hook, no center mark, one text grip), the
stored text position following the radius, center-anchored resizing, the
Properties title and Constraint section, DIMCONSTRAINT's Radius default,
the small-button Dimensional ribbon grid and tooltip descriptions.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-09-22 13:09:47 +03:00
Karim Jerbi dcc05f310d perf(statusbar): cache layout/scale derived data behind epochs (major)
Status bar rescanned the whole object map twice per frame (layout_names +
scale_picker_list), deep-cloned an already-cached Arc, and built two
undo/redo label vecs consumed ~never. Cache layout names (epoch key) and
scale picker (epoch + unit-factor + imperial-family + current-scale key)
as Arc behind choke-point invalidation (layout/scale impl methods,
undo/redo swaps, file-open, doc-reset); borrow across the widget boundary
(owned-Arc params; E0515 forbids &'a slices over call-site temporaries);
build undo/redo labels only when their dropdown is open.

Tests:
- cached_layout_names_returns_same_arc_until_bump: hit-path Arc identity
- cached_layout_names_invalidated_by_add_layout: bump yields new Arc + names
- cached_scale_picker_returns_same_arc_until_bump: hit-path Arc identity
- cached_scale_picker_invalidated_by_add_scale: bump yields new Arc + scale
- cached_scale_picker_invalidated_by_current_scale_change: key completeness

Bench (cargo bench ui_statusbar_derived_data, 3k entities): cached hit below
timer granularity vs ~1us uncached scans, PASS (50us threshold).
2026-09-21 22:31:16 +01:00
Karim Jerbi 612124b84b feat(ui): implement themed 5-section ribbon object color dropdown 2026-09-15 13:54:56 +01:00
Hakan Seven a6bc50c8d3 Merge pull request #1265 from ramox81/codex/modify-menu 2026-09-15 12:29:27 +03:00
Hakan Seven 567c4b5189 Merge pull request #1264 from ramox81/codex/draw-menu 2026-09-15 12:29:27 +03: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
ramox81 dfcae61ca7 fix(modify): remove cleanup tab duplicate 2026-09-14 22:01:29 +03:00
ramox81 4ce42f9cdb fix(draw): remove cross-tab extension tools 2026-09-14 22:00:59 +03:00
Hakan Seven 7b4cef41f7 Complete parametric ribbon and constraint tools 2026-09-14 01:05:39 +03:00
Karim Jerbi 58c9fcb748 perf(bench): introduce standardized 25-metric CAD and UI benchmark suite
- Add comprehensive performance benchmark harness in benches/performance_benchmarks.rs
  configured with harness = false in Cargo.toml (runs via cargo bench in --release,
  isolated from cargo test).
- Benchmark coverage across 25 distinct CAD & UI operations:
  * Entity Ingestion, GPU Wire Partitioning, Analytical & Wide/Tapered Arc Tessellation
  * 100x Zoom Navigation, Spatial InteractionIndex, Multi-mode Hit-Testing, OSnap Tracking
  * 2D Parametric Dogleg Constraint Solving, DXF Import/Export Throughput
  * UI Ribbon View Construction, Viewport Grid Projection, Grid Cache Evaluation
  * Themed SVG Icon Lookup Caching, Cold Extents AABB Calculation
  * Batch Entity Transformation, Draworder Depth Map Full/Patch, Delta-Undo Recording
- Expose internal calculation hooks with #[doc(hidden)] pub to prevent API leakage.
- Remove 644 lines of legacy, scattered ad-hoc #[test] #[ignore] benchmarks across src/.
- Add developer and regression documentation in benches/README.md.
2026-09-12 13:46:01 +01:00
ramox81 14b98231f5 Align spline fit properties and menu arrows 2026-09-11 15:53:51 +03:00
Hakan Seven 5f3edf45ef Simplify Modify ribbon extensions 2026-09-11 10:06:51 +03:00
Hakan Seven 13600996d3 Merge pull request #1176 from Ramox81 2026-09-11 09:55:04 +03:00
Hakan Seven 90af02664d Merge pull request #1175 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven c03bd91b85 Merge pull request #1174 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven ed7be0cda4 Merge pull request #1173 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 940c6e07f6 Merge pull request #1172 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven a5a0b7ab72 Merge pull request #1171 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven f249452773 Merge pull request #1170 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 2ee2a7b35c Merge pull request #1169 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 991abb9174 Merge pull request #1168 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven e735411a24 Merge pull request #1167 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven c731c0cafb Merge pull request #1166 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven fa1f747bf0 Merge pull request #1165 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 188dbb695d Merge pull request #1164 from Ramox81 2026-09-11 09:55:03 +03:00
ramox81 c56ade3f2e Expose Draw Order in the Modify extension 2026-09-11 09:35:37 +03:00
ramox81 e52965cfb0 Expose Delete Duplicate Objects in the Modify extension 2026-09-11 09:35:29 +03:00
ramox81 0af477544d Expose Copy Nested Objects in the Modify extension 2026-09-11 09:35:23 +03:00
ramox81 4a2ea35644 Expose Reverse in the Modify extension 2026-09-11 09:35:17 +03:00
ramox81 f6d9b52ec5 Expose Join in the Modify extension 2026-09-11 09:35:10 +03:00
ramox81 cd82deff3c Expose Break at Point in the Modify extension 2026-09-11 09:35:04 +03:00
ramox81 d2d0cbc3d7 Expose Break in the Modify extension 2026-09-11 09:34:58 +03:00
ramox81 0b619732a6 Expose Align in the Modify extension 2026-09-11 09:34:51 +03:00
ramox81 c816538237 Expose Edit Hatch in the Modify extension 2026-09-11 09:34:45 +03:00
ramox81 d836d1df38 Expose Edit Spline in the Modify extension 2026-09-11 09:34:38 +03:00
ramox81 4989f882f4 Expose Edit Polyline in the Modify extension 2026-09-11 09:34:31 +03:00
ramox81 558e4d7cfd Expose Lengthen in the Modify extension 2026-09-11 09:34:25 +03:00
ramox81 bf590d7d26 Expose Set to ByLayer in Modify with interactive selection 2026-09-11 09:34:19 +03:00
ramox81 09c1910f6a Share centered extension panels with Modify tool contributions 2026-09-11 09:30:48 +03:00
ramox81 75cc49d629 Return from Draw submenus with Escape and place split tools last 2026-09-11 09:27:59 +03:00
ramox81 ac8215c1b7 Center Draw popup beneath its title text 2026-09-11 09:13:45 +03:00
ramox81 32abf522f2 Merge remote-tracking branch 'origin/main' into codex/draw-panel
# Conflicts:
#	src/ui/ribbon/draw_panel.rs
2026-09-10 22:30:32 +03:00
ramox81 16e52dcd20 Align and compact Draw popup with accent border 2026-09-10 22:28:05 +03:00
Hakan Seven acba9f87bd refactor(ribbon): simplify draw tool registry 2026-09-10 17:23:08 +03:00
Hakan Seven 1b3efb84de Merge pull request #1152 from ramox81 2026-09-10 17:16:01 +03:00
Hakan Seven 464ebc3140 Merge pull request #1151 from ramox81 2026-09-10 17:15:58 +03:00
Hakan Seven 0c46d2d828 Merge pull request #1150 from ramox81 2026-09-10 17:15:57 +03:00
Hakan Seven 1ad8eccbe6 Merge pull request #1149 from ramox81 2026-09-10 17:15:55 +03:00