Commit graph cad-editor/src/app
Author SHA1 Message Date
ramox81
9dc4e08f77 Align dimension property editability 2026-08-24 14:10:14 +03:00
ramox81
f0d00c1d53 Align linear dimension properties and grips 2026-08-24 12:10:29 +03:00
ramox81
a30010cb3e Keep linear dimensions associated with sources 2026-08-24 12:10:29 +03:00
Karim Jerbi
7215faae44 feat(properties): make inherited properties editable, align dropdowns, and switch transparency to EditChoice
Enable in-place editing of inherited properties in the Properties panel:
- Transparency: Switch to PropValue::EditChoice with ByLayer and ByBlock presets to allow direct typing of any numeric percentage value (0..90%) without combo_box autocomplete interference.
- Select-all-on-click: Integrate EditChoice text inputs into build_field_key_map with dedicated widget IDs, preserving click-to-select-all across editable fields.
- Material: Provide bounded preset choices (ByLayer, ByBlock, Global, and active custom material) to avoid scanning large drawing dictionaries.
- Plot style: Implement mode-aware behavior with interactive Choice in STB mode and ReadOnlyWithTooltip in CTB mode.
- Read-only tooltips: Introduce PropValue::ReadOnlyWithTooltip to provide contextual explanations for locked fields while preserving mouse text selection and clipboard copying.
- Dropdown alignment & unified borders: Fix EditChoice internal input/caret background clipping so the container's 1px neutral/active border surrounds the entire control identically to Lineweight and text inputs.
- Document defaults & aggregation: Synchronize document header defaults when editing with No selection, and aggregate heterogeneous multi-selections (*VARIES*).
2026-08-23 23:20:34 +01: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
Karim Jerbi
fb2ea1e831 test(draworder): large-drawing latency benchmark 2026-08-23 18:56:05 +01:00
Karim Jerbi
7c14c31f25 fix(draworder): distinct ordered sort keys for multi-select and send-to-back groups 2026-08-23 18:56:05 +01:00
Karim Jerbi
236b7756f8 feat(draworder): HATCHTOBACK command and interactive DRAWORDER workflows
Implement the AutoCAD compatible HATCHTOBACK (HB) command and enhance the interactive DRAWORDER command pipeline with comprehensive verb selection and viewport entity picking.

Key implementations and architectural details:

1. HATCHTOBACK command execution
   * Isolates entities belonging to the active layout block record or global space.
   * Filters out entities residing on locked layers using an efficient hash set lookup.
   * Records targeted delta undo operations on SortEntitiesTable objects (~100 bytes) rather than snapshotting full document structures.
   * Performs granular draw depth cache invalidation via Scene::invalidate_draw_depth, preserving existing geometry tessellations and spatial indices.
   * Emits localized user notifications when no qualifying hatch entities are found.

2. Interactive DrawOrderCommand state machine
   * Supports preselected entities as well as interactive on demand selection gathering.
   * Implements subverb selection supporting single character shortcuts (A for Above, U for Under, F for Front, B for Back) and case insensitive keyword parsing.
   * Enables interactive reference object picking directly in the viewport via needs_entity_pick and on_entity_pick callbacks.
   * Supports hexadecimal handle specification directly from the command line interface.

3. Ecosystem and system integration
   * Bumps DEFAULT_ALIASES_VERSION from 2 to 3 to register the HB alias while preserving existing user overrides.
   * Integrates HATCHTOBACK and HB into dynamic autocomplete registries.
   * Adds localized message strings across all 20 Fluent translation catalogs.
   * Corrects hatch boundary serialization flags to ensure outermost boundary rings consistently carry the external attribute.
2026-08-23 18:56:01 +01:00
Hakan Seven
44a40eda0b fix(model): restore saved solid booleans
Reload exact B-reps from solid history or ACIS before model operations and pin the closed-cut kernel fix.
2026-08-23 19:35:48 +03:00
Hakan Seven
e94cbedaa2 fix(save): preserve 3D view and thumbnails
Persist camera, render state, and solid fallback geometry across saves. Generate previews from a clean live viewport and refresh recent-file thumbnails immediately.
2026-08-23 17:59:12 +03:00
Hakan Seven
682e16210f fix(insert): honor preset attributes
Refs #853
2026-08-23 13:49:18 +03:00
Hakan Seven
d133fcb42e Merge remote-tracking branch 'origin/main' 2026-08-23 00:31:08 +03:00
Hakan Seven
343b6cda7d feat(mline): align creation and editing 2026-08-23 00:30:41 +03:00
gianlucafiore
43c150199e
Merge pull request #861 from gianlucafiore/fix/ltscale-current-value
fix(ltscale): show current value before prompt
2026-08-22 17:24:48 -03:00
gianlucafiore
6ef5d66d9e fix(ltscale): show current value before prompt 2026-08-22 17:14:22 -03:00
Hakan Seven
e74d5d78fc fix(rect): merge current main
Preserve both Point and Rectangle property layouts where the two pull requests changed the same section.
2026-08-22 23:03:26 +03:00
Hakan Seven
339d9afcfe
Merge pull request #857 from ramox81/codex/align-point-behavior
Align point command, properties, and display behavior
2026-08-22 22:58:42 +03:00
Hakan Seven
27cae9467a fix(rect): harden rectangle behavior
Reject invalid trim geometry instead of silently changing dimensions.\nRegister XData application IDs so rectangle metadata survives saves.
2026-08-22 22:55:36 +03:00
Hakan Seven
7293bec1b9 fix(point): preserve relative marker sizing
Keep rendering, picking, block transforms, and plotted output on the
same viewport-relative PDSIZE geometry without overloading wire width
fields.
2026-08-22 22:22:01 +03:00
ramox81
fc047b3b38 Add multiline editing workflows 2026-08-22 20:20:35 +03:00
ramox81
2263168a2a Complete multiline command and properties behavior 2026-08-22 20:20:34 +03:00
ramox81
c5fe70627a Honor point display geometry and sizing 2026-08-22 17:18:30 +03:00
ramox81
ac99942519 Align single and continuous point commands 2026-08-22 17:18:29 +03:00
Hakan Seven
e5b84ab8de fix(plot): honor wipeout draw order 2026-08-22 15:33:43 +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
Hakan Seven
b648000e78 Merge pull request #850 from ramox81/codex/associative-center-mark 2026-08-21 20:19:54 +03:00
Hakan Seven
6c4f769d61 Merge pull request #842 from gianlucafiore/feat/non-printing-layer 2026-08-21 18:58:24 +03:00
Hakan Seven
77e1f1b876 fix(plot): respect non-printing layers
Filter nested block, attribute, table, hatch, and wipeout geometry during export while preserving canvas visibility.
2026-08-21 18:57:23 +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
ramox81
eba4fb87a8 Complete associative centerline workflow 2026-08-21 11:01:18 +03:00
gianlucafiore
2208076e50 feat(plotstyle): show layer usage by ACI 2026-08-20 23:55:44 -03:00
gianlucafiore
eb5cbaeca0 feat(layers): add non-printing layer support 2026-08-20 20:37:27 -03:00
gianlucafiore
b1b5d31be5
Merge pull request #839 from gianlucafiore/fix/extension-intersection
fix(snap): improve OTRACK and extension snapping
2026-08-20 18:51:44 -03:00
gianlucafiore
02e0960138 fix(snap): improve OTRACK and extension snapping 2026-08-20 18:46:44 -03:00
Hakan Seven
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
Hakan Seven
2a852f4479 feat(gradient): align editing and rendering 2026-08-20 21:17:10 +03:00
Hakan Seven
667f20d604 feat(revcloud): complete editing workflow
Keep source planes intact and stored Mline offsets in sync.

Refs #626
2026-08-20 20:33:57 +03:00
Hakan Seven
0e944c19a6 feat(boundary): trace exact planar loops 2026-08-20 19:44:16 +03:00
ramox81
b7819481f0 Complete wipeout workflow and editing 2026-08-20 17:56:11 +03:00
Hakan Seven
76ad642d0c fix(mtext): keep arrows in editor
Route captured arrows to the MText caret only while the hidden command input retains focus.\n\nRefs #655
2026-08-20 17:13:09 +03:00
ramox81
e3bfbf1590 Complete freehand sketch workflow 2026-08-20 16:31:22 +03:00
Hakan Seven
bb49f92e99 fix(model): repair solid booleans
Track selection order for directional subtraction and use the kernel fixes for periodic curved-face intersections.\n\nRefs #816
2026-08-20 16:00:20 +03:00
ramox81
aee3397f5d fix(gradient): align properties and editing 2026-08-20 15:33:09 +03:00
Hakan Seven
5e62da464e fix(properties): preserve literal text
Separate numeric fields from names and content so only numeric property values are evaluated as expressions.

Refs #809
2026-08-20 14:58:12 +03:00