Skip to content

Commit 1745bb4

Browse files
Copilothotlong
andcommitted
docs: reprioritize ROADMAP_DESIGNER.md — ViewDesigner and DataModelDesigner first for v1.0
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent 10cb5b5 commit 1745bb4

File tree

1 file changed

+62
-34
lines changed

1 file changed

+62
-34
lines changed

ROADMAP_DESIGNER.md

Lines changed: 62 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
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

910
All 5 designers in `@object-ui/plugin-designer` have functional foundations — component
1011
palettes, 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

Comments
 (0)