Commit Graph
3316 Commits
Author SHA1 Message Date
PanosandClaude Opus 5 5f161bb037 Show the exact build in About, Copy Info, REPORT and --version
Builds from main reported only the release version (2026.36) even when
HEAD was hundreds of commits past the tag. build.rs now also emits
OCS_TAG_DISTANCE, OCS_COMMIT_DATE, OCS_BUILD_METADATA and
OCS_FULL_VERSION: a clean checkout of the release tag stays "2026.36",
anything else becomes "2026.36+194.gef189d77", with ".dirty" appended
for uncommitted changes and only the hash when no tag can be counted
from (shallow clone, tarball). OCS_APP_VERSION is unchanged so the
update check, donation gate, User-Agents and window title keep working.

The About dialog gains Build / Commit date / Profile cards, Copy Info,
the REPORT issue template and recovery reports carry the full version,
and `-V`/`--version` print it instead of Cargo's 2026.36.0. Release
workflows check out full history so release binaries see the tag.

Also fixes the build being marked dirty when there is no repository:
diff-index exits 128 there, not 1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 16:19:40 +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
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
Hakan Seven 932bf970c6 Update CAD dependencies 2026-09-12 14:13:49 +03:00
Karim Jerbi e3d01e92e2 fix(mleader): render shaped cursive glyphs for arabic and complex scripts
- Emit shaped fill triangles and outline strokes instead of unshaped SDF quads
- Update bounding box to include fill triangles
- Add unit test for multileader arabic text tessellation
2026-09-12 11:06:11 +01: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
Hakan Seven ef189d7781 Update CAD dependencies for DWG template fix 2026-09-11 21:42:29 +03: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
Hakan Seven d07e8cf7d4 Fix wipeout rotation and block frame width 2026-09-11 20:38:00 +03:00
Hakan Seven 4a7f08f80e Merge pull request #1213 from ramox81/codex/draw-wipeout-xline-properties 2026-09-11 20:25:09 +03:00
Hakan Seven 798379fbe0 Update dependencies after cadcodec PR 44 2026-09-11 19:13:22 +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 5e91e23752 Update codec and kernel dependencies 2026-09-11 18:52:31 +03:00
ramox81 61e5271055 Keep wipeout frames continuous 2026-09-11 17:27:34 +03:00
ramox81 21a232ef8d Fix XLine and wipeout properties 2026-09-11 17:11:52 +03:00
Hakan Seven e86c045988 Update codec for DXF ATTRIB angle units 2026-09-11 16:42:57 +03:00
Karim Jerbi f79bad8adf fix(trim): handle polyline arc segments and preserve curvature
- Intersect cutting boundaries against polyline arc segments via KernelArc instead of chord lines
- Project click points onto BulgeArc geometry to evaluate accurate click parameters
- Proportionally scale and preserve bulges on surviving partial arc segments via extract_sub_polyline
- Update crossing trim and hover wire preview to support polyline arc geometry
2026-09-11 14:33:49 +01:00
Hakan Seven 21e085db7e Merge updated pull request #1212 from Ramox81/codex/draw-menu 2026-09-11 16:19:44 +03:00
Hakan Seven d08896d59d Merge pull request #1212 from Ramox81/codex/draw-menu 2026-09-11 16:17:36 +03:00
ramox81 45c9cfd2ab Show stored spline tangent values 2026-09-11 16:16:11 +03:00
Hakan Seven 9d4e2e4038 Merge pull request #1209 from Ramox81/codex/fix-xline-opposite-bisector-20260911 2026-09-11 16:13:20 +03:00
Hakan Seven 71a7b365ef Merge pull request #1208 from Ramox81/codex/kernel-lengthen-support-curves-20260911 2026-09-11 16:11:42 +03: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 03445c697a Merge pull request #1204 from Ramox81/codex/parity-splinedit-fit-data-20260911 2026-09-11 16:01:27 +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 ba77ee0ea8 Merge pull request #1211 from Ramox81/codex/align-dependent-revisions-20260911 2026-09-11 15:54:07 +03:00
ramox81 14b98231f5 Align spline fit properties and menu arrows 2026-09-11 15:53:51 +03:00
Hakan Seven 8640634e64 Merge pull request #1202 from Ramox81/codex/fix-fit-spline-bounds-20260911 2026-09-11 15:51:23 +03:00
Hakan Seven 109ecdabde Merge pull request #1201 from Ramox81/codex/parity-revcloud-direct-finish-20260911 2026-09-11 15:49:04 +03:00
Hakan Seven ace75b93ca Merge pull request #1200 from Ramox81/codex/parity-boundary-object-type-20260911 2026-09-11 15:47:23 +03:00
Hakan Seven f0676d35dc Merge pull request #1197 from Ramox81/codex/parity-measure-20260911 2026-09-11 15:44:27 +03:00
Hakan Seven 8caac216f4 Handle spatial division curve edge cases 2026-09-11 15:38:47 +03:00
Hakan Seven 7018a9c915 Merge pull request #1196 from Ramox81/codex/parity-divide-20260911 2026-09-11 15:37:37 +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
ramox81 d6ca05985c Merge current main while retaining aligned dependency revisions 2026-09-11 15:15:43 +03:00
Hakan Seven 753fa17b68 Merge pull request #1184 from Ramox81/codex/hatchedit-command-parity 2026-09-11 15:14:43 +03:00
ramox81 e3a0dfa604 Align document API geometry dependency with the host 2026-09-11 15:12:18 +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