Appearance
WebCAD Ribbon Feature Audit (Current Implementation)
Scope and Method
- Survey target:
frontend/src/components/Daedalus/Drafting/D_Daedalus.vuefrontend/src/components/Daedalus/Drafting/D_DaedalusRibbon.vuefrontend/src/components/Daedalus/Drafting/D_DaedalusMenuBar.vuefrontend/src/components/Daedalus/Drafting/D_DaedalusRightSidebar.vuefrontend/src/components/Daedalus/Drafting/D_cadAliasCommandExecutor.tsfrontend/src/components/Daedalus/Drafting/D_useLineEditCommandRunner.tsfrontend/src/components/Daedalus/Drafting/D_lineEditCommands.tsfrontend/src/components/Daedalus/Drafting/D_daedalusTools.ts
- Policy:
- Only list code-backed features already reachable from UI or command input.
- Distinguish usable vs partial vs prototype/unwired.
- Keep tab/group assignment MECE for ribbon planning.
Feature Inventory (MECE)
| Category | Feature | Implementation file | Called from | Current UI path | Completion | Duplicate candidate | Ribbon tab/group |
|---|---|---|---|---|---|---|---|
| Drawing | Line/Arc/Circle/Ellipse/Rect/Pen/Polygon | D_daedalusTools.ts, D_Daedalus.vue | pickQuickTool | Ribbon quick tools, CAD command input (L/ARC/C) | Usable | Command alias and ribbon do same command | Draw / Quick Tools |
| Drawing | Construction line, Center line, XLINE preset | D_Daedalus.vue | pickConstructionLineTool, pickCenterLineTool | Ribbon construction group | Usable | Also command aliases CEN2/CENMARK | Draw / Construction |
| Annotation | Vertex dimension creation (9 modes) | D_Daedalus.vue | setVertexDimensionCreateModeByCommand | Ribbon annotate group, command aliases DIM* | Usable | Alias and ribbon button duplicate | Annotate / Dimension |
| Annotation | Dim update/style/baseline/reattach | D_Daedalus.vue | refresh/apply/sync/reattach methods | Ribbon annotate group | Partial (reattach is preview/apply workflow) | Also command aliases DUL/DASA/DBS/DRA | Annotate / Dimension |
| Edit | Move/Copy/Rotate/Scale/Mirror/Stretch | D_cadAliasCommandExecutor.ts, D_cadPointCommandExecutor.ts | beginCadPointCommand | CAD command input | Usable | Exposed now in ribbon modify | Modify / Transform |
| Edit | Trim/Extend/Break/Join/Fillet/Offset | D_lineEditCommands.ts, D_useLineEditCommandRunner.ts | runLine* methods | CAD command input | Usable | Exposed now in ribbon modify | Modify / Line Edit |
| Edit | Chamfer | D_useLineEditCommandRunner.ts | runLineChamferByDistance | No active UI route | Unwired | None | Modify / Line Edit (disabled) |
| Constraints | Horizontal/Vertical/Parallel/Perpendicular + unset + cleanup | D_Daedalus.vue | runLineConstraint* methods | Ribbon constraint block, command aliases C* | Usable | Alias and ribbon duplicate | Modify / Constraints |
| Selection | Select/Pan/Box/Add mode | D_Daedalus.vue | setMode | Ribbon home | Usable | None | Home / Tools |
| Selection | Quick select expression | D_Daedalus.vue | applyQuickSelectExpression | CAD command input (QSELECT) | Usable | None | Modify / Transform (command) |
| View | Grid size/toggle, zoom in/out/reset/fit, minimap | D_Daedalus.vue, D_DaedalusMenuBar.vue | view toggles | Menu bar and ribbon view | Usable | Menu and ribbon duplicate | View / Grid+Zoom |
| Snap/Assist | Endpoint/Mid/Vertex/Center/Intersection/Arc/Tangent toggles | D_Daedalus.vue | toggleQuickDrawSnapModeFromRibbon | Ribbon snap, menu settings | Usable | Menu and ribbon duplicate | Snap/Assist / Object Snap |
| Snap/Assist | Snap grid / Snap edge | D_Daedalus.vue | toggleSnapGrid/toggleSnapEdge | Ribbon snap, menu view | Usable | Menu and ribbon duplicate | Snap/Assist / Core |
| Snap/Assist | OTRACK, telemetry dataset A/B controls | D_Daedalus.vue | toggle/apply/reset telemetry methods | Ribbon status + snap ops | Usable | None | Snap/Assist / Ops |
| Layer/Attr | Canonical layer visibility/lock/printable | D_Daedalus.vue, D_DaedalusRightSidebar.vue | layer state mutators | Right sidebar, menu view | Usable | Sidebar and ribbon duplicate | Layer/Attributes / Layer Manager |
| Layer/Attr | CAD layer CRUD/current layer/color/linetype/lineweight | D_Daedalus.vue, D_DaedalusRightSidebar.vue | create/rename/delete/update layer | Right sidebar | Usable | Sidebar and ribbon duplicate | Layer/Attributes / Layer Manager |
| Layer/Attr | Selected entity ByLayer/ByEntity style | D_Daedalus.vue, D_DaedalusRightSidebar.vue | setSelectedCad* methods | Right sidebar | Usable | Sidebar and ribbon duplicate | Layer/Attributes / Entity Style |
| File/History | New/Open/Save/SaveAs/Manage layouts | D_Daedalus.vue (menuAction) | menuAction | Menu bar | Usable | Menu and ribbon duplicate | File / File Ops |
| File/History | DXF import/export | D_Daedalus.vue | requestImportDxf/exportCurrentLayoutDxf | Sidebar actions, modal flow | Usable | Sidebar and ribbon duplicate | File / File Ops |
| File/History | Undo/Redo | D_Daedalus.vue | undo/redo | Ribbon, menu, keyboard | Usable | Multiple pathways same command | Home / History |
Existing UI-to-Command Mapping
- Ribbon -> command system:
onOpenCadCommandInput('M'|'CO'|'RO'|'MI'|'SC'|'ST'|'TR'|'EX'|'OF'|'BR'|'J'|'F')
- Ribbon -> direct action handlers:
- Dimension/constraint/snap/grid/zoom/layer toggles call existing functions from
D_Daedalus.vue.
- Dimension/constraint/snap/grid/zoom/layer toggles call existing functions from
- Menu bar -> same actions:
menuActiondispatches file/edit/arrange/snap/settings commands.
- Right sidebar -> deep layer/attribute and export actions:
rightSidebarActionsexposes CAD layer CRUD and style setters.
Duplicate Consolidation Policy
- Keep one canonical command implementation in
D_Daedalus.vueand command executors. - Allow multiple UI entry points (Ribbon/Menu/Sidebar/Command line) for the same command.
- Prefer ribbon for high-frequency CAD actions; keep menu/sidebar for advanced and detail operations.
Unwired or Partial Features
- Chamfer: implementation helper exists but no command alias/UI route. Ribbon marks it disabled.
- Dimension reattach: usable but workflow is preview/apply, handled as partial in audit.
CAD-like Ribbon Plan (Implemented)
- Tabs:
- Home
- Draw
- Modify
- Annotate
- View
- Layer/Attributes
- Snap/Assist
- File
- Groups:
- Home: Tools, History
- Draw: Quick Tools, Construction
- Modify: Transform, Line Edit, Constraints
- Annotate: Dimension, Annotation Style
- View: Grid+Zoom, Minimap
- Layer/Attributes: Layer Manager, Entity Style
- Snap/Assist: Object Snap, Core Snap, Snap Ops
- File: File Ops
Notes for Future Expansion
- Add command alias + execution path before exposing a new ribbon item as enabled.
- Keep
D_ribbonConfig.tsas the single place to define tabs/groups ordering. - Prefer disabling unwired controls over fake wiring.
