Appearance
Daedalus CAD Inventory (2026-04-10)
Scope
- File: frontend/src/components/Daedalus/Drafting/D_Daedalus.vue
- Related UI: D_DaedalusRibbon.vue, D_DaedalusRightSidebar.vue, D_DaedalusMenuBar.vue
- Related core: cad-core/document/, cad-core/layouts/, cad-core/history/*
Current Architecture Summary
- CAD document source of truth is synchronized into the Pinia document store.
- UI events are being migrated from direct state mutation + snapshot history to document operation + history adapter.
- History command strategy:
- Entity and selection changes use dedicated command types.
- Layout and viewport changes are normalized as edit-layouts commands.
Implemented Operation Paths
- Layer state:
- set-layer-visibility
- set-layer-lock
- set-layer-printable
- Layout state:
- set-active-space
- set-active-layout
- Viewport state:
- set-layout-viewport
- add-layout-viewport
- remove-layout-viewport
- set-layout-viewport-lock
- Title block state:
- set-layout-title-block
- set-layout-title-block-field
Adapter Mapping Status
- Implemented in operationHistoryAdapter.ts:
- set-selection -> change-selection
- replace-entities -> edit-entities
- layer operations -> change-layer-* commands
- layout/viewport/title operations -> edit-layouts
Remaining Direct-Mutation Risk Zones
- Live viewport drag preview while pointer is moving intentionally keeps direct updateCadLayout updates.
- Some non-layout UI functions still use commitHistory snapshot flow by design.
Validation Snapshot
- Type diagnostics on edited files: no errors.
- Build command intentionally skipped during this step.
