Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ObjectStack Protocol — Road Map

> **Last Updated:** 2026-02-13
> **Last Updated:** 2026-02-15
> **Current Version:** v3.0.2
> **Status:** Protocol Specification Complete · Runtime Implementation In Progress

Expand Down Expand Up @@ -70,13 +70,13 @@ These are the backbone of ObjectStack's enterprise capabilities.
| Packages (total) | 23 |
| Apps | 2 (Studio, Docs) |
| Examples | 4 (Todo, CRM, Host, BI Plugin) |
| Zod Schema Files | 175 |
| Zod Schema Files | 176 |
| Exported Schemas | 1,100+ |
| `.describe()` Annotations | 7,111 |
| `.describe()` Annotations | 7,111+ |
| Service Contracts | 25 |
| Contracts Implemented | 7 (28%) |
| Test Files | 195 |
| Tests Passing | 5,269 / 5,269 |
| Test Files | 197 |
| Tests Passing | 5,363 / 5,363 |
| `@deprecated` Items | 3 |
| Protocol Domains | 15 (Data, UI, AI, API, Automation, Cloud, Contracts, Identity, Integration, Kernel, QA, Security, Shared, Studio, System) |

Expand Down Expand Up @@ -309,7 +309,11 @@ These are the backbone of ObjectStack's enterprise capabilities.

### 8.1 Studio IDE

- [ ] Object Designer — visual field editor, relationship mapper
- [x] Object Designer Protocol — field editor, relationship mapper, ER diagram, object manager schemas defined (`studio/object-designer.zod.ts`)
- [ ] Object Designer Runtime — visual field editor with inline editing, drag-reorder, type-aware property panels
- [ ] Relationship Mapper — visual lookup/master-detail/tree creation with drag-to-connect
- [ ] ER Diagram — interactive entity-relationship diagram with force/hierarchy/grid layouts, minimap, zoom, export (PNG/SVG)
- [ ] Object Manager — unified object list with search, filter, card/table/tree views, quick preview, statistics
- [ ] View Builder — drag-and-drop list/form/dashboard designers
- [ ] Flow Builder — visual automation flow editor
- [ ] Security Console — permission matrix, RLS policy editor
Expand Down
20 changes: 17 additions & 3 deletions apps/studio/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ObjectStack Studio — Development Roadmap

> **Last Updated:** 2026-02-09
> **Last Updated:** 2026-02-15
> **Version:** 2.0.0 → 3.0.0
> **Goal:** Transform Studio from a metadata inspector into a full-featured visual IDE for the ObjectStack platform.

Expand Down Expand Up @@ -44,6 +44,8 @@

**Spec defines 100+ metadata types. Studio has specialized viewers for only 1 (Object).** All other types fall back to the generic JSON inspector. The plugin system is ready — it just needs content.

**Object Designer Protocol:** The `ObjectDesignerConfigSchema` (in `@objectstack/spec/studio`) now defines the full specification for the visual object design experience, including field editor, relationship mapper, ER diagram, object manager, and object preview configurations. The runtime implementation should consume these schemas.

---

## 🗺️ Roadmap
Expand Down Expand Up @@ -71,8 +73,18 @@

| # | Task | Plugin ID | Priority |
|---|------|-----------|----------|
| 1.1 | **Object Designer — Edit Mode** | `objectstack.object-designer` | 🔴 P0 |
| | Add field creation/editing inline. Support drag-and-drop field reordering. Validate field schemas via Zod. | | |
| 1.0 | **Object Designer Protocol** ✅ | `@objectstack/spec` | ✅ Done |
| | Zod schemas for field editor, relationship mapper, ER diagram, object manager, and object preview configs. `ObjectDesignerConfigSchema`, `ERDiagramConfigSchema`, `FieldEditorConfigSchema`, etc. 46 tests passing. | | |
| 1.1 | **Object Designer — Visual Field Editor** | `objectstack.object-designer` | 🔴 P0 |
| | Inline field creation/editing with type-aware property panel (6 sections: basics, constraints, relationship, display, security, advanced). Drag-and-drop field reordering. Field grouping by `field.group`. Batch add/remove operations. Validate field schemas via Zod. Usage statistics (views/formulas referencing each field). Pagination for 50+ field objects. | | |
| 1.1a | **Object Designer — Relationship Mapper** | `objectstack.object-designer` | 🔴 P0 |
| | Visual relationship creation via drag-from-source-to-target. Support lookup, master_detail, and tree relationship types. Show reverse relationships (child → parent). Cascade delete behavior warnings. Configurable line styles and colors per relationship type. | | |
| 1.1b | **Object Designer — ER Diagram** | `objectstack.object-designer` | 🟡 P1 |
| | Interactive entity-relationship diagram with 4 layout algorithms (force-directed, hierarchy, grid, circular). Entity nodes show field list with type badges and required indicators. Minimap for large schemas. Zoom controls (0.1x–3x). Click-to-navigate to object detail. Drag-to-connect for relationship creation. Hover highlighting of connected entities. Export to PNG/SVG/JSON. Auto-fit on initial load. Optional orphan hiding. | | |
| 1.1c | **Object Manager — Unified List** | `objectstack.object-designer` | 🟡 P1 |
| | Object list with table/card/tree display modes. Search across name, label, description. Filter by package, tags, field types, relationships. Sort by name, label, field count, last updated. Quick-preview tooltip with field list on hover. Statistics summary bar (total objects, fields, relationships). Side-by-side object comparison mode. ER diagram toggle from toolbar. | | |
| 1.1d | **Object Preview — Enhanced Tabs** | `objectstack.object-designer` | 🟡 P1 |
| | 8-tab object detail view: Fields, Relationships, Indexes, Validations, Capabilities, Data, API, Code. Configurable tab ordering and enable/disable. Object summary header with namespace, owner package, field count. Breadcrumb navigation. | | |
| 1.2 | **Dataset Editor** | `objectstack.dataset-editor` | 🔴 P0 |
| | Visual seed data editor. Import CSV/JSON. Preview before apply. Environment scoping (dev/test/prod). | | |
| 1.3 | **Datasource Manager** | `objectstack.datasource-manager` | 🟡 P1 |
Expand Down Expand Up @@ -336,6 +348,8 @@ export const myPlugin: StudioPlugin = {
| Metric | Current | Phase 2 Target | v3.0 Target |
|--------|---------|----------------|-------------|
| Metadata types with dedicated viewer | 1 / 30+ | 15 / 30+ | 30+ / 30+ |
| Object Designer protocol schemas | 16 schemas | — | — |
| Object Designer protocol tests | 46 tests | — | — |
| Component test coverage | 0% | 50% | 80% |
| Deep-linkable views | 0 | All | All |
| Plugin count (built-in) | 7 | 20 | 35+ |
Expand Down
43 changes: 43 additions & 0 deletions packages/spec/src/studio/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
*
* Defines the extension model that allows metadata types to contribute
* custom viewers, designers, sidebar groups, actions, and commands.
* Also includes the Object Designer protocol for visual field editing,
* relationship mapping, and ER diagram configuration.
*/

export {
Expand Down Expand Up @@ -38,3 +40,44 @@ export {
// Helpers
defineStudioPlugin,
} from './plugin.zod';

export {
// Object Designer Schemas
FieldPropertySectionSchema,
FieldGroupSchema,
FieldEditorConfigSchema,
RelationshipDisplaySchema,
RelationshipMapperConfigSchema,
ERLayoutAlgorithmSchema,
ERNodeDisplaySchema,
ERDiagramConfigSchema,
ObjectListDisplayModeSchema,
ObjectSortFieldSchema,
ObjectFilterSchema,
ObjectManagerConfigSchema,
ObjectPreviewTabSchema,
ObjectPreviewConfigSchema,
ObjectDesignerDefaultViewSchema,
ObjectDesignerConfigSchema,

// Object Designer Types
type FieldPropertySection,
type FieldGroup,
type FieldEditorConfig,
type RelationshipDisplay,
type RelationshipMapperConfig,
type ERLayoutAlgorithm,
type ERNodeDisplay,
type ERDiagramConfig,
type ObjectListDisplayMode,
type ObjectSortField,
type ObjectFilter,
type ObjectManagerConfig,
type ObjectPreviewTab,
type ObjectPreviewConfig,
type ObjectDesignerDefaultView,
type ObjectDesignerConfig,

// Object Designer Helpers
defineObjectDesignerConfig,
} from './object-designer.zod';
Loading