Commit Graph
134 Commits
Author SHA1 Message Date
Hakan Seven b1deec753c Merge main and preserve revolve history grips 2026-09-02 18:05:50 +03:00
Hakan Seven 47549b168b Merge main and preserve loft history grips 2026-09-02 17:56:00 +03:00
Hakan Seven d93be37d35 Merge main and preserve sweep history grips 2026-09-02 17:50:30 +03:00
Hakan Seven 11e25b8e73 Complete EXTRUDE behavior and editable properties (#965)
Complete EXTRUDE behavior and editable properties
2026-09-02 17:42:15 +03:00
ramox81 15c44c0f3a Restore revolve profile and axis grips 2026-09-02 17:01:35 +03:00
Karim Jerbi d6a6dd6a7d feat(table): add TABLEDIT point picking, and consolidate InputKind
- Implement `TABLEDIT` command supporting viewport point-picking on cell interiors
- Support overlapping table hit testing with selection cycling and top-table resolution
- Support `/n` and `\n` multiline paragraph breaks (`\P`) in table cell text editing
- Unify text input modes via `InputKind` (`Point`, `SingleToken`, `FreeText`) on `CadCommand`
- Migrate 15+ commands across annotate, draw, insert, layout, and view modules
- Preserve text casing, literal spaces, and bypass arithmetic eval during FreeText input
- Add dedicated `tabledit_tests` and `free_text_entry_tests` test suites
2026-09-02 14:55:49 +01:00
ramox81 7fbde18151 Restore loft section grip editing 2026-09-02 16:26:14 +03:00
ramox81 e2472c68b8 Restore sweep construction grips 2026-09-02 15:58:36 +03:00
ramox81 d23a910de7 Align EXTRUDE command state and path behavior 2026-09-02 11:29:59 +03:00
ramox81 847d218c35 Complete EXTRUDE behavior and properties 2026-09-02 10:25:00 +03:00
ramox81 1dd6b115cf feat(model): align polysolid workflow 2026-09-01 22:01:43 +03:00
Hakan Seven 6d6defa0ad fix(color): show color book identity 2026-09-01 08:44:28 +03:00
Hakan Seven 853e830126 fix(grips): prevent phantom snapping
Keep hidden pre-drag geometry out of snap candidates and avoid empty
scene invalidations. Require stable OTRACK dwell observations and cache
planar-solid visibility during live previews.

Refs #930
2026-08-30 22:26:47 +03:00
Hakan Seven 7a523a0f44 fix(clipboard): share COPY across drawings 2026-08-29 23:12:26 +03:00
Hakan Seven e8cb752fab fix(mesh): complete polygon mesh support 2026-08-28 20:26:32 +03:00
Hakan Seven ff1f873633 fix(mleader): repair creation and editing 2026-08-28 19:36:48 +03:00
Hakan Seven c206c19759 fix(dimension): repair QDIM workflows 2026-08-28 19:19:45 +03:00
Hakan Seven 0d33b1aa30 Merge pull request #893 from ramox81/codex/complete-baseline-dimension
Complete DIMBASELINE workflow and creation policy
2026-08-28 18:57:12 +03:00
Hakan Seven 1d58082e0a fix(dimension): repair baseline workflows 2026-08-28 08:01:44 +03:00
Karim Jerbi 7beb729d85 refactor(app): single-source CHPROP/MATCHPROP 4-step recipe via apply_property_op
Extract the push-undo → per-handle → invalidate → dirty → refresh
contract into one helper on OpenCADStudio. The helper is the single
source of truth for property-op side effects, so future property
handlers can't forget the cache invalidation or the panel refresh.

Note: MATCHPROP now no-ops when the destination selection is empty
(previously it marked the tab dirty and refreshed the panel). This is
a minor correctness improvement; restore the old behaviour with a
2-line guard at the MATCHPROP call site if desired.

test app::properties::apply_property_op_tests::empty_handles_does_not_invoke_or_dirty
test app::properties::apply_property_op_tests::applies_to_each_handle_sets_dirty_and_mutates
test app::properties::apply_property_op_tests::missing_entity_does_not_abort_loop
2026-08-27 23:24:32 +01:00
ramox81 cce25be83a Complete multileader creation and property behavior 2026-08-27 17:35:47 +03:00
ramox81 a5d2ff741c Complete QDIM dimension workflows 2026-08-27 16:19:23 +03:00
ramox81 c6f6c00220 Add dimension continuation creation policy 2026-08-27 11:49:32 +03:00
Hakan Seven 81e7add1dd fix(tolerance): complete workflow integration
Sync current main and companion codec changes before preserving unsupported frame rows, rendering in the entity plane, and sharing final layout metrics with placement preview.
2026-08-27 00:14:08 +03:00
Karim Jerbi 9c8f841f71 fix(insert): capped interactive block search and CLIPROMPTLINES
INSERT enumerated all block names in a single prompt string, causing unbounded overlay growth and full-screen occlusion in drawings with many blocks. Replace prompt enumeration with a ranked, incrementally filtered suggestion model: BlockPicker maintains precomputed lower/upper caches and usage ranks (MRU/frequency), filters via O(n) substring scan and partial sorting (select_nth_unstable) to O(k), bounded to CLIPROMPTLINES.

Introduce CLIPROMPTLINES (Integer 0-50, Registry, default 3) for the number of temporary prompt lines above the command window; persist in UserSettings, expose via SETVAR and direct entry, enforce in CommandLine::view. Suggestion count is in direct relation to CLIPROMPTLINES (limit = clip, capped to 50).

Make search live without requiring Enter: add CadCommand::on_live_input, implement for INSERT/MINSERT via picker.set_needle, and wire to command-line input paths (Message::CommandInput, on_command_append_char, on_command_backspace). Updates use upper/lower caches and partial sort for <0.2ms per keystroke on 10k blocks, with debounced block-usage persistence (MRU cap 20, freq cap 200) to avoid I/O thrash. Correct tri_count test helper to use display_from_solid.
2026-08-25 23:18:05 +01:00
Hakan Seven 968ee3fda4 fix(dimension): complete ordinate workflow 2026-08-25 21:36:04 +03:00
Hakan Seven 649dfae337 fix(dimension): complete angular workflow 2026-08-25 18:55:25 +03:00
ramox81 e34b67c709 fix(dimension): complete ordinate workflow 2026-08-25 17:10:55 +03:00
Hakan Seven 97ec3ed67e fix(dimension): complete aligned workflow
Preserve association modes, source geometry, and sub-unit formatting.
2026-08-25 13:18:09 +03:00
ramox81 24b344b2b2 Complete angular dimension interaction and associations 2026-08-25 12:23:21 +03:00
ramox81 e93815d0c5 Complete angular dimension creation and associations 2026-08-25 11:29:38 +03:00
ramox81 2846ba6afc Support aligned dimension associations 2026-08-25 09:52:27 +03:00
Hakan Seven 20c7a2df58 fix(mleader): improve behavior and persistence
Keep annotation contexts, grip placement, and style dictionary entries consistent across editing and file saves.

Refs #779
2026-08-25 08:34:25 +03:00
gianlucafiore d693bcf968 fix(mleader): improve grips, styles and annotative behavior 2026-08-24 21:12:30 -03:00
ramox81 a30010cb3e Keep linear dimensions associated with sources 2026-08-24 12:10:29 +03:00
Hakan Seven 7794736271 fix(model): repair solid selection flows 2026-08-23 23:44:03 +03:00
Hakan Seven 06cd0ec6a9 feat(model): add exact solid modelling tools 2026-08-23 22:53:31 +03:00
Hakan Seven 682e16210f fix(insert): honor preset attributes
Refs #853
2026-08-23 13:49:18 +03:00
Hakan Seven 343b6cda7d feat(mline): align creation and editing 2026-08-23 00:30:41 +03:00
ramox81 2263168a2a Complete multiline command and properties behavior 2026-08-22 20:20:34 +03:00
Hakan Seven a87ca09fa4 Merge pull request #854 from ramox81/codex/align-arc-behavior 2026-08-21 21:41:24 +03:00
Hakan Seven bd5f9436ea Merge pull request #852 from ramox81/codex/complete-hatch-workflow 2026-08-21 21:02:14 +03:00
Hakan Seven 4bc02b6b4a fix: correct hatch geometry workflow 2026-08-21 20:52:03 +03:00
ramox81 5f9d8a9e0e Align arc creation and editing behavior 2026-08-21 14:03:58 +03:00
ramox81 f83037271c Complete hatch creation and editing workflow 2026-08-21 12:57:19 +03:00
ramox81 ff09fc7800 Implement associative center mark workflow 2026-08-21 12:05:18 +03:00
Hakan Sevenandramox81 464971969c feat: complete freehand sketch workflow
Co-authored-by: ramox81 <184937705+ramox81@users.noreply.github.com>
2026-08-21 00:17:44 +03:00
Hakan Seven 44efb8fd53 feat(frame): complete frame controls
Preserve frame geometry for selection while separating viewport and plot visibility across supported reference entities.

Refs #642
2026-08-20 23:37:02 +03:00
ramox81 b7819481f0 Complete wipeout workflow and editing 2026-08-20 17:56:11 +03:00
ramox81 e3bfbf1590 Complete freehand sketch workflow 2026-08-20 16:31:22 +03:00