Skip to content

docs: reprioritize roadmaps for v1.0 UI essentials and spec compliance#537

Merged
hotlong merged 4 commits intomainfrom
copilot/rearrange-roadmap-priorities
Feb 16, 2026
Merged

docs: reprioritize roadmaps for v1.0 UI essentials and spec compliance#537
hotlong merged 4 commits intomainfrom
copilot/rearrange-roadmap-priorities

Conversation

Copy link
Contributor

Copilot AI commented Feb 16, 2026

Roadmap priorities were ordered around DX/UX polish (P1-P5, all completed) while pending UI-critical work for v1.0 — spec-compliant view configs, navigation properties, core CRUD features — sat at P2/P3 with no release gating.

Reorganized all four roadmap documents to put v1.0 ship-blocking UI work first.

ROADMAP.md

  • New P0: v1.0 UI Essentials — ActionEngine pipeline, metadata API migration, view navigation compliance (Gallery navigation, navigation.width/navigation.view), spec-compliant configs (TimelineConfig, GalleryConfig), ListView spec properties (emptyState, hiddenFields, quickFilters)
  • New P1: UI-facing spec compliance — DensityMode, exportOptions, Gantt inline editing, map clustering
  • P2-P5: Completed foundation (DX, UX, Components, Docs) preserved as reference
  • Added v1.0 Release Criteria metrics table

ROADMAP_SPEC.md

ROADMAP_CONSOLE.md

  • Phase 10 split into 10a (v1.0: export, file upload, related lookup) and 10b (post-v1.0: import, dashboard DnD, notifications)
  • ActionEngine + metadata API migration flagged as v1.0 blockers
  • GA target Q3 → Q2 2026

ROADMAP_DESIGNER.md

  • Phase 2 scoped to ViewDesigner + DataModelDesigner only (v1.0 essential)
  • New Phase 2b for PageDesigner/ProcessDesigner/ReportDesigner (post-v1.0)
  • FieldTypeName type + field type selector elevated to P0
Original prompt

重新安排roadmap优先级优先处理界面相关的任务,考虑第一个版本发布必须的可用功能优先,ObjectUI Spec Compliance Evaluation


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@vercel
Copy link

vercel bot commented Feb 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
objectui Ready Ready Preview, Comment Feb 16, 2026 5:54am
objectui-demo Canceled Canceled Feb 16, 2026 5:54am
objectui-storybook Ready Ready Preview, Comment Feb 16, 2026 5:54am

Request Review

Copilot AI and others added 3 commits February 16, 2026 05:40
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
… essentials

Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
…signer first for v1.0

Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot AI changed the title [WIP] Update roadmap priorities for UI tasks docs: reprioritize roadmaps for v1.0 UI essentials and spec compliance Feb 16, 2026
Copilot AI requested a review from hotlong February 16, 2026 05:49
@hotlong hotlong marked this pull request as ready for review February 16, 2026 06:50
Copilot AI review requested due to automatic review settings February 16, 2026 06:50
@hotlong hotlong merged commit 83f991f into main Feb 16, 2026
8 checks passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reorganizes all four roadmap documents (ROADMAP.md, ROADMAP_SPEC.md, ROADMAP_CONSOLE.md, ROADMAP_DESIGNER.md) to prioritize v1.0 UI essentials and spec compliance over infrastructure work. The original priority order focused on developer experience and UX polish (P1-P5), which is now complete. The new priority order elevates UI-critical features and spec alignment to P0/P1 to ensure the first release is usable and protocol-compliant.

Changes:

  • Created new P0 "v1.0 UI Essentials" priority tier focusing on ActionEngine pipeline, metadata API migration, spec-compliant view configs, and navigation compliance
  • Elevated spec compliance gaps from P2 → P0 (Timeline/Gallery configs, navigation properties, ListView emptyState)
  • Split Console Phase 10 into 10a (v1.0 essential: export, file upload, lookup) and 10b (post-v1.0: import, notifications)
  • Scoped Designer Phase 2 to ViewDesigner + DataModelDesigner only (v1.0), deferring PageDesigner/ProcessDesigner/ReportDesigner to Phase 2b
  • Moved GA target from Q3 2026 → Q2 2026
  • Reorganized completed foundation work (P1-P5) into reference sections to maintain historical context

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.

File Description
ROADMAP_SPEC.md Elevated items #64-68, #71-72 from P1/P2 → P0; added v1.0 UI focus header; split ListView spec props by priority (emptyState P0, quickFilters/hiddenFields P1, advanced features P2); moved completed items to dedicated reference section; updated compliance score table with P0/P1 milestones
ROADMAP_DESIGNER.md Split Phase 2 into 2 (v1.0: ViewDesigner + DataModelDesigner) and 2b (post-v1.0: PageDesigner/ProcessDesigner/ReportDesigner); elevated field type selector and FieldTypeName type to P0; updated success metrics table to reflect v1.0 scope
ROADMAP_CONSOLE.md Split Phase 10 into 10a (v1.0: export, file upload, related lookup) and 10b (post-v1.0: import, dashboard DnD, notifications); flagged ActionEngine + metadata API migration as v1.0 blockers; updated GA milestone Q3 → Q2 2026; added v1.0 priority focus header
ROADMAP.md Restructured priorities from P1-P5 (DX/UX/Components/Docs/Mobile) → P0-P6 with new P0 "v1.0 UI Essentials" and P1 "Spec Compliance" leading; moved completed foundation work to reference sections; added v1.0 Release Criteria metrics table; updated roadmap status footer to reflect new focus

| 15 | ListView spec properties not implemented | P2 | plugin-list, types | 10+ ListViewSchema properties from spec not implemented: quickFilters, hiddenFields, fieldOrder, virtualScroll, conditionalFormatting, inlineEdit, exportOptions, emptyState, aria, rowHeight |
| 11 | TimelineConfig not defined in @object-ui/types | **P0** 🎯 | types, plugin-timeline | TimelineConfigSchema from spec not consumed; uses non-standard `dateField` instead of `startDateField` |
| 12 | GalleryConfig type not exported from @object-ui/types | **P0** 🎯 | types, plugin-list | GalleryConfigSchema from spec implemented but type not exported from index.ts |
| 13 | Navigation `width`/`view` properties not applied | **P0** 🎯 | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | All view plugins accept navigation via useNavigationOverlay but ignore `width` and `view` properties |
Copy link

Copilot AI Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gap #13 claims that navigation.width properties are "ignored" by all view plugins, but this is inaccurate. The infrastructure is fully implemented:

  1. useNavigationOverlay hook (packages/react/src/hooks/useNavigationOverlay.ts:104) extracts width from navigation.width
  2. NavigationOverlay component (packages/components/src/custom/navigation-overlay.tsx:89,148,165) accepts width as a prop and applies it via getWidthStyle()
  3. All view plugins spread the navigation object to NavigationOverlay, which includes the width property

The width property IS being applied. The navigation.view property, however, is correctly identified as not implemented (defined but unused). Consider splitting this gap into two separate items or correcting the description to only mention navigation.view.

Suggested change
| 13 | Navigation `width`/`view` properties not applied | **P0** 🎯 | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | All view plugins accept navigation via useNavigationOverlay but ignore `width` and `view` properties |
| 13 | Navigation `view` property not applied | **P0** 🎯 | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | All view plugins accept navigation via useNavigationOverlay; `width` is propagated to NavigationOverlay, but `view` is defined in the spec and currently unused by these plugins |

Copilot uses AI. Check for mistakes.
| 13 | ~~Implement AriaPropsSchema injection in component renderers~~ | components, react | ~~1 week~~ | ✅ Complete — resolveAriaProps in SchemaRenderer |
| 14 | ~~Implement FocusManagementSchema and FocusTrapConfigSchema runtime~~ | react | ~~1 week~~ | ✅ Complete — useFocusTrap hook |
| 64 | Define TimelineConfig type in @object-ui/types aligned with spec TimelineConfigSchema | types, plugin-timeline | 3 days | Pending |
| 65 | Export GalleryConfig type from @object-ui/types index.ts | types | 1 day | Pending |
Copy link

Copilot AI Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This P0 task references gap #65 which claims GalleryConfig is "not exported" from @object-ui/types, but that's incorrect—it's already exported (packages/types/src/index.ts:956-957). This task should be removed or marked as complete since there's no work to be done.

Suggested change
| 65 | Export GalleryConfig type from @object-ui/types index.ts | types | 1 day | Pending |
| 65 | Export GalleryConfig type from @object-ui/types index.ts | types | 1 day | Completed — already exported |

Copilot uses AI. Check for mistakes.
| 64 | Define TimelineConfig type in @object-ui/types aligned with spec TimelineConfigSchema | types, plugin-timeline | 3 days | Pending |
| 65 | Export GalleryConfig type from @object-ui/types index.ts | types | 1 day | Pending |
| 66 | Add navigation property support to ObjectGallery | plugin-list | 3 days | Pending |
| 67 | Apply navigation.width to drawer/modal overlays in all view plugins | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | 1 week | Pending |
Copy link

Copilot AI Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This task claims to "Apply navigation.width" but as documented in comment on line 960, navigation.width is already implemented and applied. The infrastructure exists in useNavigationOverlay (extracts width) and NavigationOverlay (applies via getWidthStyle). Only navigation.view is missing. Either mark this task complete or update it to focus solely on navigation.view implementation.

Suggested change
| 67 | Apply navigation.width to drawer/modal overlays in all view plugins | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | 1 week | Pending |
| 67 | navigation.width already implemented for drawer/modal overlays via useNavigationOverlay / NavigationOverlay | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | N/A | Done |

Copilot uses AI. Check for mistakes.
| 64 | Define TimelineConfig type in @object-ui/types aligned with spec TimelineConfigSchema | types, plugin-timeline | 3 days | Pending |
| 65 | Export GalleryConfig type from @object-ui/types index.ts | types | 1 day | Pending |
| 66 | Add navigation property support to ObjectGallery | plugin-list | 3 days | Pending |
| 67 | Apply navigation.width to drawer/modal overlays in all view plugins | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | 1 week | Pending |
Copy link

Copilot AI Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue as line 979 - navigation.width is already implemented and applied throughout the codebase. This P1 task incorrectly lists it as pending work. Only navigation.view needs to be implemented. Update the description or mark the width portion as complete.

Suggested change
| 67 | Apply navigation.width to drawer/modal overlays in all view plugins | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | 1 week | Pending |
| 67 | Apply navigation.width to drawer/modal overlays in all view plugins | plugin-kanban, plugin-calendar, plugin-gantt, plugin-timeline, plugin-map, plugin-view | 1 week | Complete |

Copilot uses AI. Check for mistakes.
- [x] Add README for `@object-ui/plugin-report` — report builder, viewer, exporter, scheduling
#### P0.2 View Plugin Navigation Compliance
- [ ] Add navigation property support to ObjectGallery (currently only accepts `onCardClick`)
- [ ] Apply `navigation.width` to drawer/modal overlays in Kanban, Calendar, Gantt, Timeline, Map, View plugins
Copy link

Copilot AI Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This task references navigation.width which is already implemented (see ROADMAP_SPEC.md comments). The infrastructure exists and width is applied. Only navigation.view property needs implementation. Update this P0 item to either mark the width portion complete or focus solely on navigation.view.

Suggested change
- [ ] Apply `navigation.width` to drawer/modal overlays in Kanban, Calendar, Gantt, Timeline, Map, View plugins
- [x] Apply `navigation.width` to drawer/modal overlays in Kanban, Calendar, Gantt, Timeline, Map, View plugins (completed; see ROADMAP_SPEC.md)

Copilot uses AI. Check for mistakes.
#### P0.3 Spec-Compliant View Configs
- [ ] Define `TimelineConfig` type in `@object-ui/types` aligned with `@objectstack/spec TimelineConfigSchema`
- [ ] Rename Timeline `dateField` → `startDateField` to match spec naming convention
- [ ] Export `GalleryConfig` type from `@object-ui/types` index.ts
Copy link

Copilot AI Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This task says "Export GalleryConfig type from @object-ui/types index.ts" but GalleryConfig is already exported (packages/types/src/index.ts:956). This task should be removed or marked as complete.

Suggested change
- [ ] Export `GalleryConfig` type from `@object-ui/types` index.ts
- [x] Export `GalleryConfig` type from `@object-ui/types` index.ts

Copilot uses AI. Check for mistakes.
| 14 | ObjectGallery lacks navigation support | P1 | plugin-list | ObjectGallery only accepts onCardClick; does not support spec navigation config |
| 15 | ListView spec properties not implemented | P2 | plugin-list, types | 10+ ListViewSchema properties from spec not implemented: quickFilters, hiddenFields, fieldOrder, virtualScroll, conditionalFormatting, inlineEdit, exportOptions, emptyState, aria, rowHeight |
| 11 | TimelineConfig not defined in @object-ui/types | **P0** 🎯 | types, plugin-timeline | TimelineConfigSchema from spec not consumed; uses non-standard `dateField` instead of `startDateField` |
| 12 | GalleryConfig type not exported from @object-ui/types | **P0** 🎯 | types, plugin-list | GalleryConfigSchema from spec implemented but type not exported from index.ts |
Copy link

Copilot AI Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gap #12 states that "GalleryConfig type not exported from @object-ui/types" but this is incorrect. Looking at packages/types/src/index.ts lines 956-957, both GalleryConfig and GalleryConfigSchema are already exported from '@objectstack/spec/ui'. This P0 task (line 977) to "Export GalleryConfig type from @object-ui/types index.ts" is redundant and should be removed or marked as complete.

Suggested change
| 12 | GalleryConfig type not exported from @object-ui/types | **P0** 🎯 | types, plugin-list | GalleryConfigSchema from spec implemented but type not exported from index.ts |
| 12 | ~~GalleryConfig type not exported from @object-ui/types~~ | ~~P0~~ | ~~types, plugin-list~~ | **Resolved** — GalleryConfig and GalleryConfigSchema are already exported via `@object-ui/types` from `@objectstack/spec/ui`; task was redundant |

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants