Commit Graph
496 Commits
Author SHA1 Message Date
Hakan Seven f2fd2ae5ad fix: address open pull request review findings 2026-09-14 19:58:35 +03:00
Hakan Seven 2d20bdd51c Merge pull request #1251 2026-09-14 19:51:57 +03:00
Hakan Seven 05baa82241 Merge pull request #1256 2026-09-14 19:49:24 +03:00
ramox81 7dabc48fd3 Match Region properties palette 2026-09-14 16:16:20 +03:00
Hakan Seven 912b217d26 fix: delegate dimension transforms to cadcodec 2026-09-14 14:22:10 +03:00
Marcel a2adb3f6e3 Refactor grip dynamic input and polyline arc geometry 2026-09-14 13:15:57 +02:00
kevin9327andClaude Opus 5 23cd448c7f fix(dimension): rotate and mirror dimensions in working planes off world Z
With a working plane other than world XY, ROTATE and MIRROR handed a
non-ordinate dimension to acadrust's Entity::apply_transform, which only
translates those dimension types by where the transform sends the origin.
The definition points, plane and angles stayed unturned, so the dimension
jumped back once its block was baked again.

Send both through the existing Affine branch, which ALIGN already uses and
which transforms points, normal and stored angles together. The world-Z
paths are unchanged.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-14 19:52:20 +09:00
Marcel dfc859dcf5 Restrict parallel offsets to straight polyline segments 2026-09-14 12:47:17 +02:00
Marcel 6f008faa9a Preserve connected arc geometry when moving polyline segments 2026-09-14 12:19:03 +02:00
Marcel e67872386e Preserve connected arc geometry when moving polyline segments 2026-09-14 11:42:30 +02:00
Marcel fb352c34fb Add radius grip editing for LWPOLYLINE arcs 2026-09-14 10:58:45 +02:00
Hakan Seven 2f741d689f fix: address open PR review findings 2026-09-14 09:45:37 +03:00
Hakan Seven 28b49bf453 Merge pull request #1238 from kevin9327/fix/units-negative-zero 2026-09-14 09:28:45 +03:00
kevin9327andClaude Opus 5 19a0ac79ab fix(units): drop the minus sign from lengths and angles that round to zero
Rotating geometry leaves float noise in coordinates: turning the point
(0, 10) by 180 degrees gives X = -1.2246e-15. Rust formats that as
"-0.0000", so Properties showed "-0.0000" (or -0", -0d0'0", -0g) for a
value that is zero at the drawing's precision.

format_length and format_angle now drop the sign when every printed digit
is zero. Values that still show a digit keep it, and scientific notation
is unaffected.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-14 08:40:20 +09:00
kevin9327andClaude Opus 5 019447d9b5 fix(dimension): keep the linear measurement axis through ROTATE and MIRROR
ROTATE and MIRROR in the drawing plane moved a linear dimension's points
but left its stored rotation (the axis it measures along) unchanged. A
horizontal dimension rotated 90 degrees then measured its now-vertical
points along X and its value dropped to 0; mirroring about a slanted line
did the same. Polar ARRAY goes through the same path.

Turn the axis by the rotation angle, and reflect it about the mirror line.
A zero-length mirror line still leaves the dimension untouched.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-14 08:29:31 +09:00
Hakan Seven 7b4cef41f7 Complete parametric ribbon and constraint tools 2026-09-14 01:05:39 +03:00
Hakan Seven 64e64c80a1 Merge pull request #1235 with kernel-based dimension leaders 2026-09-13 21:14:47 +03:00
Marcel 775a891309 Support parallel offsets for arc polyline segments 2026-09-13 19:33:38 +02:00
Marcel 0ea220f120 Add parallel offset grip editing for polylines 2026-09-13 19:19:19 +02:00
ysdirector e76751604f fix(dimension): extend the DIMTMOVE=1 leader under the text for linear dims
DIMTMOVE=1 ("moves the text and adds a leader") draws the leader from the midpoint
of the dimension line to the text, so a text dragged outside the dimension line gets
a diagonal that starts in the middle of the line and crosses the extension lines.

Mechanical-drawing practice (GB/T 4458.4, and what AutoCAD itself draws) extends the
dimension line along its own axis so that it runs underneath the text. Linear and
aligned dimensions now do that whenever the text is outside the dimension-line extent;
when the text is still inside it (only moved up/down) the previous connect-to-text
leader is kept. Every other dimension type is unchanged, and only dimensions with
DIMTMOVE=1 are affected at all (the shipped default is 0).

Adds four unit tests covering the placements (outside right, outside left, inside,
radius draws none) plus an integration render smoke test driven through the real
Scene::entity_wires() -> export_pdf() pipeline, gated by OCS_DIM_LEADER_PDF so CI
stays side-effect free.
2026-09-13 18:10:02 +08:00
Hakan Seven 9f71927d6f fix(mtext): honor explicit dynamic column breaks 2026-09-12 21:53:32 +03:00
Hakan Seven 7c5a388f19 Merge PR #1215: add rectangle grip dimensions 2026-09-12 14:53:37 +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 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 d07e8cf7d4 Fix wipeout rotation and block frame width 2026-09-11 20:38:00 +03:00
ramox81 21a232ef8d Fix XLine and wipeout properties 2026-09-11 17:11:52 +03: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 c4506bf0d9 Merge pull request #1206 from Ramox81/codex/fix-region-measurement-persistence-20260911 2026-09-11 16:08:10 +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 8caac216f4 Handle spatial division curve edge cases 2026-09-11 15:38:47 +03:00
ramox81 f076db6d53 Merge current main with division marker support 2026-09-11 15:23:05 +03:00
Hakan Seven 753fa17b68 Merge pull request #1184 from Ramox81/codex/hatchedit-command-parity 2026-09-11 15:14:43 +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 b42ae9d4a8 Restore region bounds and exact profile measurements after reload 2026-09-11 15:09:41 +03:00
ramox81 d24c5479c1 Keep the original interpolation hull for conservative bounds 2026-09-11 15:00:46 +03:00
ramox81 c64d8a359f Bound fit-only splines through their interpolated control hull 2026-09-11 14:59:32 +03:00
ramox81 6272722baa Carry hatch origin through creation and pattern editing 2026-09-11 13:40:40 +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 debc9c36ac Merge PR #1182: Handle helix radius height and turn boundaries 2026-09-11 12:20:48 +03:00
ramox81 818ab87e9c Apply zero helix properties and signed height direction 2026-09-11 12:10:31 +03:00
ramox81 8979fa46c2 Place curve markers along spatial splines and polylines 2026-09-11 11:29:48 +03:00
ramox81 25ac594d85 Reverse complete helix geometry and preserve top radius semantics 2026-09-11 11:03:58 +03:00
Hakan Seven 9b58ca8a93 Harden parametric sketch constraints 2026-09-11 09:45:57 +03:00
Felix Riestra ad718def3f Merge remote-tracking branch 'origin/main' into merge-test/main-into-constraints
# Conflicts:
#	src/app/command_driver.rs
#	src/command.rs
#	src/ui/ribbon/mod.rs
#	src/ui/window/options.rs
2026-09-10 23:34:50 +02:00
Hakan Seven c50eb52320 refactor(arcs): use kernel geometry for grip values 2026-09-10 18:37:55 +03:00