Commit graph

2,383 commits

Author SHA1 Message Date
ramox81
a4d913d772 Correct sub-unit scale application 2026-08-25 10:13:35 +03:00
ramox81
a4ee749251 Enable tolerance property controls 2026-08-25 10:13:35 +03:00
ramox81
9b79abc9a3 Align dimension property behavior 2026-08-25 09:52:35 +03:00
ramox81
713a02f3e0 Complete aligned dimension command flow 2026-08-25 09:52:34 +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
Hakan Seven
1e1eeea527 feat(plugin): gate dependency mismatches 2026-08-25 08:12:13 +03:00
gianlucafiore
d693bcf968 fix(mleader): improve grips, styles and annotative behavior 2026-08-24 21:12:30 -03:00
Hakan Seven
f40b172eb0 feat(table): complete editing workflow 2026-08-25 00:25:13 +03:00
Hakan Seven
959197bb3c feat(dimension): complete linear workflow 2026-08-24 23:42:49 +03:00
Hakan Seven
4209c35ba3 fix(polyline): render fill mode boundaries
Use kernel-produced band outlines when FILLMODE is off. Preserve centerline linetype stations through inserts, clipping, projection, and PDF export.
2026-08-24 22:18:44 +03:00
Hakan Seven
20fb52d6bd
Merge pull request #867 from ramox81/codex/complete-donut-workflow
Complete donut diameter workflow
2026-08-24 20:40:32 +03:00
Hakan Seven
8bb18562d2 fix(donut): keep workflow state consistent 2026-08-24 20:40:08 +03:00
Sebastian
c358137792 fix(plugin): restrict acadrust gate to API v4 and newer
- API v2/v3 plugins bypass the acadrust gate entirely, preserving backwards compatibility.

- Marketplace repo-level policy only affects undeclared v4+ releases.

- Local load_at_startup only enforces the gate for v4+ plugins.
2026-08-24 19:27:03 +02:00
Sebastian
2e29f6c59e fix(tests): repair solid_model tri_count helper after upstream merge
mesh_from_solid was removed in the upstream merge; use tessellation(body).mesh.triangles directly.
2026-08-24 19:01:19 +02:00
Sebastian
3d35919656 feat(plugin): gate marketplace and load on acadrust source
- Add host_acadrust_source and source-hash comparison helpers to ocs_plugin_api.

- Track acadrust_source and acadrust_declared in ExternalPlugin/ReleaseInfo.

- Apply repo-level policy: if any release in a repo declares acadrust_source, undeclared v4+ releases from that repo are incompatible.

- Preserve API v2/v3 backwards compatibility: legacy undeclared releases stay installable.

- Update Plugin Manager UI to only offer compatible releases and show 'acadrust mismatch' status.

- Drop acadrust_version from gate logic; only acadrust_source is required.
2026-08-24 19:01:06 +02:00
Hakan Seven
fe19bcffd8
Merge pull request #866 from schoeller/de_DE-patch-1
DE_de patch 1
2026-08-24 19:57:53 +03:00
Hakan Seven
745bc9fba7 fix(i18n): correct German regressions 2026-08-24 19:57:30 +03:00
ramox81
95279d10c0 Align table properties and editing behavior 2026-08-24 18:09:34 +03:00
ramox81
4e80afb0da Show effective ring segment widths 2026-08-24 18:04:01 +03:00
Hakan Seven
1fb770fb15
Merge pull request #865 from schoeller/panel-xdata
feat(properties): show XDATA records in Properties panel
2026-08-24 16:09:31 +03:00
Hakan Seven
8bceb3ecd3 fix(properties): preserve XDATA details 2026-08-24 16:09:03 +03:00
ramox81
80d7a8741e Route dimension color fields correctly 2026-08-24 15:32:38 +03:00
ramox81
c66ec7fb64 Complete linear dimension property behavior 2026-08-24 15:32:38 +03:00
ramox81
bcd9a0dc32 Align linear dimension general properties 2026-08-24 15:32:37 +03:00
ramox81
9dc4e08f77 Align dimension property editability 2026-08-24 14:10:14 +03:00
ramox81
4a08f7fe80 Complete table creation and editing workflow 2026-08-24 13:00:04 +03:00
ramox81
f0d00c1d53 Align linear dimension properties and grips 2026-08-24 12:10:29 +03:00
ramox81
f556a2b027 Complete the linear dimension workflow 2026-08-24 12:10:29 +03:00
ramox81
a30010cb3e Keep linear dimensions associated with sources 2026-08-24 12:10:29 +03:00
ramox81
9fdc920234 Use consistent dimension data revision 2026-08-24 12:10:28 +03:00
Sebastian
7c77d78b46
Update opencadstudio.ftl
Line 1449
2026-08-24 08:46:34 +02:00
ramox81
8c56c03387 fix(polyline): honor global width and fill mode 2026-08-24 09:36:57 +03:00
ramox81
00b3ef54eb fix(donut): complete diameter workflow 2026-08-24 09:29:44 +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
Sebastian
e1ba82518c
Merge branch 'main' into de_DE-patch-1 2026-08-23 23:21:55 +02:00
Sebastian
31d071246d
Update opencadstudio.ftl
Line 831
2026-08-23 23:19:56 +02:00
Hakan Seven
7794736271 fix(model): repair solid selection flows 2026-08-23 23:44:03 +03:00
Sebastian
e904844ed9
Update opencadstudio.ftl
Line 336
2026-08-23 21:58:15 +02:00
Hakan Seven
06cd0ec6a9 feat(model): add exact solid modelling tools 2026-08-23 22:53:31 +03:00
Sebastian
86a29b4b97 feat(properties): show XDATA records in Properties panel 2026-08-23 21:27:30 +02: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
c4515cbbc1 fix(save): support autosave recovery files 2026-08-23 14:19:05 +03:00
Hakan Seven
73ba2b92cc fix(view): preserve rotated orientation 2026-08-23 14:19:01 +03:00
Hakan Seven
682e16210f fix(insert): honor preset attributes
Refs #853
2026-08-23 13:49:18 +03:00
Hakan Seven
94f5971fdb docs(ipc): clarify polled response reads 2026-08-23 13:23:26 +03:00