33> ** Last Updated:** February 16, 2026
44> ** Package:** ` @object-ui/plugin-designer `
55> ** Source:** ` packages/plugin-designer/src/ `
6+ > ** Priority Focus:** 🎯 v1.0 essential designer features — ViewDesigner and DataModelDesigner are the highest priority for first release usability
67
78## Executive Summary
89
910All 5 designers in ` @object-ui/plugin-designer ` have functional foundations — component
1011palettes, canvas rendering, selection state, and basic CRUD — but need significant UX
11- polish to reach enterprise quality. Key gaps identified across the suite:
12+ polish to reach enterprise quality. ** For v1.0** , the ViewDesigner and DataModelDesigner
13+ are prioritized as they directly affect the core user workflow (defining data models and
14+ configuring views). PageDesigner, ProcessDesigner, and ReportDesigner are deferred to
15+ post-v1.0 as advanced authoring tools. Key gaps identified across the suite:
1216
1317| Gap | Severity | Affected |
1418| -----| ----------| ----------|
@@ -410,7 +414,9 @@ This is the **most complete** designer:
410414
411415## 8. Implementation Phases
412416
413- ### Phase 1: Accessibility & Polish (Current Sprint)
417+ > **Re-prioritized (Feb 16, 2026):** Phase 2 now focuses on v1.0-essential designers (ViewDesigner, DataModelDesigner) first. PageDesigner, ProcessDesigner, and ReportDesigner interaction improvements are deferred to Phase 3.
418+
419+ ### Phase 1: Accessibility & Polish ✅ Complete
414420
415421- [x] Add `aria-label` to all icon-only buttons across all 5 designers
416422- [x] Add `role` attributes (`toolbar`, `region`, `tablist`, `tab`, `tabpanel`) to interactive containers
@@ -425,23 +431,42 @@ This is the **most complete** designer:
425431
426432**Estimated effort:** 3–5 developer days
427433
428- ### Phase 2: Interaction Layer (Next Sprint)
434+ ### Phase 2: v1.0 Essential Interaction (🎯 Current Priority)
435+
436+ > Focus on ViewDesigner and DataModelDesigner — the two designers that directly affect the core user workflow.
437+
438+ **ViewDesigner (v1.0 Essential):**
439+ - [ ] 🎯 Column drag-to-reorder via `@dnd-kit/core` (replace up/down buttons with drag handles)
440+ - [ ] 🎯 Add `Ctrl+S`/`Cmd+S` keyboard shortcut to save
441+ - [ ] 🎯 Add field type selector dropdown with icons from `DESIGNER_FIELD_TYPES`
442+ - [ ] 🎯 Column width validation (min/max/pattern check)
443+
444+ **DataModelDesigner (v1.0 Essential):**
445+ - [ ] 🎯 Entity drag-to-move on canvas
446+ - [ ] 🎯 Inline editing for entity labels (click to edit)
447+ - [ ] 🎯 Field type selector dropdown (replaces hardcoded `'text'` type)
448+ - [ ] 🎯 Confirmation dialogs for destructive actions (delete entity cascades to relationships)
449+
450+ **Shared Infrastructure:**
451+ - [ ] 🎯 Implement `useDesignerHistory` hook (command pattern with undo/redo stacks)
452+ - [ ] 🎯 Wire undo/redo to ViewDesigner and DataModelDesigner
429453
430- - [ ] Implement drag-and-drop for canvas elements using `@dnd-kit/core` (shared with `@object-ui/react`'s `DndProvider`)
431- - PageDesigner: Component drag-to-reorder and drag-to-position
432- - ViewDesigner: Column drag-to-reorder
433- - DataModelDesigner: Entity drag-to-move
434- - ProcessDesigner: Node drag-to-move
435- - ReportDesigner: Element drag-to-reposition within sections
436- - [ ] Implement undo/redo via `useDesignerHistory` hook (command pattern with undo/redo stacks)
437- - [ ] Add confirmation dialogs for destructive actions (delete entity with cascade, delete node with cascade)
454+ **Estimated effort:** 6–8 developer days
455+
456+ ### Phase 2b: Remaining Interaction Layer (Post-v1.0)
457+
458+ > PageDesigner, ProcessDesigner, and ReportDesigner interaction improvements.
459+
460+ - [ ] PageDesigner: Component drag-to-reorder and drag-to-position
461+ - [ ] ProcessDesigner: Node drag-to-move
462+ - [ ] ReportDesigner: Element drag-to-reposition within sections
438463- [ ] Implement edge creation UI in ProcessDesigner (click source port → click target port)
439- - [ ] Add inline editing for entity labels in DataModelDesigner
440464- [ ] Add property editing for node labels/types in ProcessDesigner
465+ - [ ] Add confirmation dialogs for ProcessDesigner destructive actions (delete node cascades to edges)
441466
442- **Estimated effort:** 8–12 developer days
467+ **Estimated effort:** 5–7 developer days
443468
444- ### Phase 3: Advanced Features (Q2 2026 )
469+ ### Phase 3: Advanced Features (Post-v1.0 )
445470
446471- [ ] Full property editors for all designers:
447472 - PageDesigner: Component props editor (type-aware)
@@ -460,7 +485,7 @@ This is the **most complete** designer:
460485
461486**Estimated effort:** 15–25 developer days
462487
463- ### Phase 4: Collaboration Integration (Q3 2026 )
488+ ### Phase 4: Collaboration Integration (Deferred )
464489
465490- [ ] Wire `CollaborationProvider` into each designer's state management
466491 - Each state mutation calls `sendOperation()` with a typed operation payload
@@ -485,15 +510,16 @@ This is the **most complete** designer:
485510
486511## 9. Success Metrics
487512
488- | Metric | Current | Phase 1 Target | Phase 2 Target | Phase 3 Target |
489- |--------|---------|----------------|----------------|----------------|
490- | WCAG 2.1 AA compliance | 0% | 80% | 95% | 100% |
491- | Keyboard navigable | ❌ No | ⚠️ Partial | ✅ Full | ✅ Full |
492- | Undo/Redo functional | ❌ No | ❌ No | ✅ Yes | ✅ Yes |
493- | Drag-and-drop functional | ❌ No | ❌ No | ✅ Yes | ✅ Yes |
513+ | Metric | Current | Phase 1 ✅ | Phase 2 (v1.0) | Phase 3 (Post-v1.0) |
514+ |--------|---------|------------|----------------|---------------------|
515+ | WCAG 2.1 AA compliance | 80% | 80% | 90% | 100% |
516+ | Keyboard navigable | ⚠️ Partial | ⚠️ Partial | ✅ View + DataModel | ✅ Full |
517+ | Undo/Redo functional | ❌ No | ❌ No | ✅ View + DataModel | ✅ All |
518+ | Drag-and-drop functional | ❌ No | ❌ No | ✅ View + DataModel | ✅ All |
519+ | Field type selector | ❌ No | ❌ No | ✅ View + DataModel | ✅ All |
494520| i18n ready | ❌ No | ❌ No | ❌ No | ✅ Yes |
495- | Responsive panels | ❌ No | ❌ No | ⚠️ Partial | ✅ Yes |
496- | Collaboration connected | ❌ No | ⚠️ Status only | ⚠️ Status only | ✅ Full |
521+ | Responsive panels | ❌ No | ❌ No | ❌ No | ✅ Yes |
522+ | Collaboration connected | ⚠️ Status only | ⚠️ Status only | ⚠️ Status only | ✅ Full |
497523| Property editors complete | ~15% | ~25% | ~50% | ~90% |
498524| Empty state guidance | 1/5 | 5/5 | 5/5 | 5/5 |
499525| Confirmation on destructive actions | 0/5 | 0/5 | 5/5 | 5/5 |
@@ -857,17 +883,19 @@ by category.
857883
858884### 10.7 Priority & Phasing
859885
860- | Priority | Task | Effort |
861- |----------|------|--------|
862- | 🔴 P0 | Create `DESIGNER_FIELD_TYPES` constant | 0.5 day |
863- | 🔴 P0 | Add field type selector dropdown to DataModelDesigner | 1 day |
864- | 🟠 P1 | Add Fields palette category to PageDesigner | 1 day |
865- | 🟠 P1 | Add `FieldTypeName` type and update `DataModelField` | 0.5 day |
866- | 🟡 P2 | Enhance ViewDesigner field type badges with icons | 0.5 day |
867- | 🟡 P2 | Complete `mapFieldTypeToFormType` for all 36 types | 0.5 day |
868- | 🟢 P3 | Type-specific property editors per field type | 3–5 days |
869-
870- **Total estimated effort:** 7–9.5 developer days
886+ > **Re-prioritized (Feb 16, 2026):** Field type selector for DataModelDesigner and ViewDesigner are v1.0 essentials. PageDesigner palette expansion is post-v1.0.
887+
888+ | Priority | Task | Effort | v1.0? |
889+ |----------|------|--------|-------|
890+ | 🔴 P0 | Create `DESIGNER_FIELD_TYPES` constant | 0.5 day | 🎯 Yes |
891+ | 🔴 P0 | Add field type selector dropdown to DataModelDesigner | 1 day | 🎯 Yes |
892+ | 🔴 P0 | Add `FieldTypeName` type and update `DataModelField` | 0.5 day | 🎯 Yes |
893+ | 🟠 P1 | Enhance ViewDesigner field type badges with icons | 0.5 day | 🎯 Yes |
894+ | 🟡 P2 | Add Fields palette category to PageDesigner | 1 day | Post-v1.0 |
895+ | 🟡 P2 | Complete `mapFieldTypeToFormType` for all 36 types | 0.5 day | Post-v1.0 |
896+ | 🟢 P3 | Type-specific property editors per field type | 3–5 days | Post-v1.0 |
897+
898+ **Total estimated effort:** 7–9.5 developer days (v1.0 portion: ~2.5 days)
871899
872900---
873901
0 commit comments