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
Hakan Seven
754cc89fab
Merge PR #1216 : expose MTP in snap menus
2026-09-12 15:12:04 +03:00
Hakan Seven
7c5a388f19
Merge PR #1215 : add rectangle grip dimensions
2026-09-12 14:53:37 +03:00
Karim Jerbi
f1d5284fb9
fix(mtext): support arabic cursive shaping and bidirectional rtl text layout
...
- Enable fallback font metrics for HarfBuzz shaping in TTF glyph resolver
- Implement Unicode Bidirectional Algorithm (UBA) paragraph base direction detection
- Anchor right-to-left paragraphs to right container boundaries by default
- Reorder line atoms with base direction level to preserve neutral punctuation attachment
- Right-align RTL single-line TEXT and handle editor caret placement on RTL glyphs
2026-09-12 11:06:11 +01:00
Marcel
01af9d9fb8
Position rectangle dimension labels away from geometry
2026-09-11 21:11:46 +02:00
Marcel
913705106e
Support dynamic rectangle resizing via grip editing
2026-09-11 20:52:33 +02:00
Marcel
f30b490831
Add rectangle width and height grip editing
2026-09-11 20:15:36 +02:00
Hakan Seven
cf33455e93
Move parametric tools to their own ribbon tab
2026-09-11 20:58:37 +03:00
odofaro
03075612fa
feat(snap): expose MTP in snap override and context menus
...
The MTP/M2P midpoint-between-two-points modifier existed as a typed transparent command only. Add it to the Shift+RMB snap override menu as an icon-only cell after Parallel (hover tooltip, no text) with a new osnap/mtp.svg marker, plus a context-menu entry while a point prompt is active.
2026-09-11 17:57:55 +02:00
Hakan Seven
db684019d9
Merge pull request #1207 from Ramox81/codex/parity-setbylayer-settings-20260911
2026-09-11 16:09:55 +03:00
Hakan Seven
c4506bf0d9
Merge pull request #1206 from Ramox81/codex/fix-region-measurement-persistence-20260911
2026-09-11 16:08:10 +03:00
Hakan Seven
3ab9e25d53
Merge pull request #1210 from Ramox81/codex/fix-split-replacement-handles-20260911
2026-09-11 16:05:56 +03:00
Hakan Seven
f51d492994
Merge pull request #1205 from Ramox81/codex/fix-break-curve-spans-20260911
2026-09-11 16:04:53 +03:00
Hakan Seven
173552ed0e
Merge pull request #1203 from Ramox81/codex/parity-pedit-jointype-20260911
2026-09-11 15:58:25 +03:00
Hakan Seven
f0676d35dc
Merge pull request #1197 from Ramox81/codex/parity-measure-20260911
2026-09-11 15:44:27 +03:00
ramox81
33429ffa4c
Merge current main with measured curve markers
2026-09-11 15:23:10 +03:00
ramox81
f076db6d53
Merge current main with division marker support
2026-09-11 15:23:05 +03:00
ramox81
1e82fb9f78
Pass join settings through the shared polyline result handler
2026-09-11 15:17:42 +03:00
Hakan Seven
753fa17b68
Merge pull request #1184 from Ramox81/codex/hatchedit-command-parity
2026-09-11 15:14:43 +03:00
ramox81
65161e82db
Add independent layer property settings during selection
2026-09-11 15:10:51 +03:00
ramox81
17efc86cc1
Merge remote-tracking branch 'origin/main' into codex/region-measurement-persistence
...
# Conflicts:
# src/app/doc_api.rs
2026-09-11 15:10:37 +03:00
ramox81
ce66cc7e29
Use shared entity bounds for automation measurements
2026-09-11 15:09:42 +03:00
ramox81
974d5997d0
Use modeler region bounds in automation queries and filters
2026-09-11 15:09:42 +03:00
ramox81
b42ae9d4a8
Restore region bounds and exact profile measurements after reload
2026-09-11 15:09:41 +03:00
ramox81
0b880ccda8
Add persisted polyline join type and selected connector geometry
2026-09-11 15:07:11 +03:00
Hakan Seven
7edf0de603
Merge updated pull request #1188 from Ramox81/pedit-enhancements
2026-09-11 14:55:26 +03:00
Hakan Seven
7d28cc5256
Merge pull request #1188 from Ramox81/pedit-enhancements
2026-09-11 14:32:32 +03:00
ramox81
8ffd287c33
Avoid undo entries for unchanged break results
2026-09-11 14:09:51 +03:00
ramox81
1ad5452326
Keep the original identity on the first break fragment
2026-09-11 14:07:36 +03:00
ramox81
aa11b10c9a
Extend selected polyline terminals using bounded kernel intersections
2026-09-11 14:05:50 +03:00
ramox81
6272722baa
Carry hatch origin through creation and pattern editing
2026-09-11 13:40:40 +03:00
Hakan Seven
e39906b8b7
Merge latest pull request #1187 from ramox81/codex/complete-splinedit-options
...
# Conflicts:
# src/modules/draw/modify/splinedit.rs
2026-09-11 13:23:27 +03:00
Hakan Seven
da34032ffc
Harden spline editing and source joins
2026-09-11 13:23:00 +03:00
ramox81
dbd85c0559
Recreate hatch regions with holes and nested island grouping
2026-09-11 13:12:18 +03:00
Hakan Seven
e11796af29
Merge pull request #1199 from ramox81/codex/join-source-workflow
2026-09-11 13:02:17 +03:00
ramox81
356c8b5a7b
Keep multiple polyline editing active across selected joins
2026-09-11 12:57:58 +03:00
Hakan Seven
67768a3eca
Merge pull request #1187 from ramox81/codex/complete-splinedit-options
2026-09-11 12:52:49 +03:00
ramox81
67f374c853
Apply and persist hatch origin command choices
2026-09-11 12:52:30 +03:00
ramox81
deb9129e91
Convert splines to bounded straight-segment polylines
2026-09-11 12:52:07 +03:00
Hakan Seven
08b184e314
Merge pull request #1186 from ramox81/codex/complete-reverse-command
...
# Conflicts:
# src/entities/helix.rs
2026-09-11 12:51:29 +03:00
Hakan Seven
0d45d2f04c
Merge pull request #1194 from ramox81/codex/complete-spline-fit-options
2026-09-11 12:42:56 +03:00
Hakan Seven
a473d9c291
Merge pull request #1189 from ramox81/codex/complete-draworder-relative
2026-09-11 12:31:18 +03:00
Hakan Seven
50c5e18c75
Merge pull request #1181 from ramox81/codex/complete-region-support
...
# Conflicts:
# src/app/commands/draw.rs
2026-09-11 12:26:53 +03:00
ramox81
e84d491f6a
Preserve region coplanarity rejection diagnostics
2026-09-11 12:18:50 +03:00
Hakan Seven
d99a6d5bdd
Merge PR #1181 : Create regions from closed profiles and connected edges
2026-09-11 12:18:43 +03:00
ramox81
2f33ddbf1a
Allocate fresh handles for split command replacements
2026-09-11 12:18:05 +03:00
ramox81
5500272f31
Allocate distinct handles for polyline break fragments
2026-09-11 12:17:59 +03:00
Hakan Seven
32952e3eda
Merge PR #1179 : Add tolerant OVERKILL cleanup options
...
# Conflicts:
# src/app/commands/styleprops.rs
2026-09-11 12:16:24 +03:00
Hakan Seven
bea874c97f
Merge PR #1178 : Apply SETBYLAYER choices and property masks
...
# Conflicts:
# src/app/commands/styleprops.rs
2026-09-11 12:09:29 +03:00
ramox81
57c9e93d0c
Join compatible curves during spline editing with grouped undo
2026-09-11 12:04:54 +03:00