Karim Jerbi
652f4d6bbc
feat(blocks): implement Block Definition dialog (BLOCK/BMAKE) with on-screen sequencing
...
Implement the complete Block Definition dialog window launched via BLOCK
and BMAKE commands, featuring standard CAD layout, workflows, and entity
creation pipelines.
- Dialog UI & Layout:
- 2-column compact CAD grid with synchronized vertical heights (580 × 390px).
- Editable combobox with existing block names, invalid character validation,
and inline redefinition badge.
- Multi-line text editor widget for block descriptions (replacing single-line input).
- Quick Select (QSELECT) button integration restoring dialog state upon completion.
- Confirmation guard when attempting to redefine an existing block definition.
- Centered radio buttons, clean coordinate inputs, and accessible keyboard shortcuts.
- Base Point & On-Screen Workflow:
- BlockOnScreenCommand strictly enforces prompt sequencing: Base point is
prompted before object selection.
- Dynamically recalculates world_to_block and block_to_world affine transforms
when base point is specified on-screen, preventing stale (0,0,0) normalization.
- Supports Retain, Convert to block (INSERT placement), and Delete modes.
- Explode Enforcement:
- Guarded EXPLODE command to prevent decomposing blocks flagged as non-explodable.
- Dynamic Themed Icons:
- Added pick_point.svg, select_objects.svg, quick_select.svg, and warning_triangle.svg.
- Routed all icons through the semantic theming engine so line work (#B4B6B9)
and accents (#6DB7ED) adapt automatically to the active theme.
- Tests:
- Added unit tests for retain/convert/delete modes, redefinition, explodable flag,
on-screen base point transform recalculation, and command sequencing.
2026-09-22 17:05:15 +01:00
..
2026-08-29 12:20:24 +03:00
2026-09-22 17:05:15 +01:00
2026-08-29 12:20:24 +03:00
2026-09-17 17:10:49 +03:00
2026-08-29 12:20:24 +03:00
2026-09-10 22:20:34 +03:00
2026-08-29 12:20:24 +03:00
2026-09-05 17:28:30 +03:00
2026-09-11 17:57:55 +02:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-09-22 17:05:15 +01:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-09-15 01:08:41 +02:00
2026-09-15 01:08:41 +02:00
2026-09-15 01:08:41 +02:00
2026-09-15 01:08:41 +02:00
2026-09-15 01:08:41 +02:00
2026-09-15 01:08:41 +02:00
2026-09-03 19:23:37 -03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-09-10 15:57:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 22:20:34 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-14 01:05:39 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-03 19:23:37 -03:00
2026-09-10 15:57:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 15:57:26 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-09-10 22:20:34 +03:00
2026-08-29 12:20:24 +03:00
2026-09-10 22:20:34 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 15:57:25 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-09-13 14:34:42 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-11 09:34:51 +03:00
2026-09-11 09:34:58 +03:00
2026-09-11 09:35:04 +03:00
2026-09-11 09:35:37 +03:00
2026-09-11 09:34:45 +03:00
2026-09-11 09:35:10 +03:00
2026-09-11 09:34:25 +03:00
2026-09-11 09:35:23 +03:00
2026-09-11 09:35:29 +03:00
2026-09-11 09:34:31 +03:00
2026-09-11 09:35:17 +03:00
2026-09-11 09:34:19 +03:00
2026-09-11 09:34:38 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-05-30 23:24:06 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-05-30 23:24:06 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 15:57:20 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 15:57:19 +03:00
2026-08-29 12:20:24 +03:00
2026-08-15 23:33:18 +03:00
2026-09-10 15:57:22 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 15:57:17 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 22:20:34 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-09-10 22:20:34 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-09-10 15:57:18 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 02:23:21 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00
2026-08-29 12:20:24 +03:00