Changeset 0.31.0 (#203)
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit is contained in:
@@ -37,7 +37,7 @@ v0.9.x–v0.28.7 Foundation through Platform Polish ✅
|
||||
v0.30.0 Package Lifecycle ✅ │
|
||||
v0.30.1 SDK Adoption ✅ │
|
||||
v0.30.2 Workflow Packages ✅ │
|
||||
v0.31.0 Editor Package │
|
||||
v0.31.0 Editor + SDK ✅ │
|
||||
│ │
|
||||
══════╪═══════════════════════════════╪══════
|
||||
│ MVP v0.50.0 │
|
||||
@@ -255,16 +255,37 @@ Depends on: v0.29.3, v0.30.0, v0.30.1.
|
||||
- [x] Workflow package export/import (.pkg round-trip)
|
||||
- [x] E2E tests: export/import, surface_pkg_id persistence
|
||||
|
||||
### v0.31.0 — Editor Package
|
||||
### v0.31.0 — Editor Package + SDK Composability ✅
|
||||
|
||||
E2E proof: rebuild editor as installable `.pkg`. Zero platform
|
||||
special-casing. Validates the full v0.28.7–v0.30.2 stack.
|
||||
special-casing. Full SDK composability — every UI piece created
|
||||
through `sw.*` factories, no component duplication.
|
||||
|
||||
Depends on: v0.30.2.
|
||||
|
||||
- [ ] Editor `.pkg` (type: `full`), settings via extension point
|
||||
- [ ] State persistence via `ext_editor_*` tables
|
||||
- [ ] Remove editor from core (`surface-editor` template, data loader)
|
||||
**Editor Package (CS0–CS2):**
|
||||
- [x] Editor `.pkg` (type: `full`), settings via extension point
|
||||
- [x] State persistence via localStorage (per-user, per-workspace UI state)
|
||||
- [x] Remove editor from core (`surface-editor` template, data loader)
|
||||
- [x] E2E tests: install, settings, export/import round-trip, core removal
|
||||
- [x] Self-mounting components (`Component.mount()` is canonical entry point)
|
||||
|
||||
**SDK Composability (CS3–CS4):**
|
||||
- [x] Delete `NoteEditor` — `NotePanel` is single canonical notes component
|
||||
- [x] Platform scripts in `base.html` (chat-pane, note-panel, note-graph available to all surfaces)
|
||||
- [x] `UserMenu.mount()` — self-contained, works in any container
|
||||
- [x] `sw.userMenu()` — mount user menu anywhere, `flyout: 'up'|'down'`
|
||||
- [x] `sw.chat()` uses `ChatPane.mount()` (not manual DOM + `.create()`)
|
||||
- [x] `sw.fileTree()`, `sw.codeEditor()`, `sw.layout()` SDK wrappers
|
||||
- [x] `sw.menu()`, `sw.dropdown()`, `sw.toolbar()`, `sw.tabs()` UI primitives
|
||||
- [x] `--bg-elevated` / `--border-elevated` CSS tokens for floating panels
|
||||
- [x] Editor package uses SDK exclusively (`sw.layout`, `sw.fileTree`, `sw.codeEditor`, `sw.chat`, `sw.notes`, `sw.userMenu`)
|
||||
- [x] Nginx caching: JS/CSS use `must-revalidate` (not `immutable`) for dev reload safety
|
||||
- [x] NotePanel: pagination, select mode, sticky selection bar, `note-panel-root` class (no PanelRegistry conflict)
|
||||
|
||||
**Known remaining (visual polish, not blocking):**
|
||||
- [ ] UserMenu flyout contrast on very dark backgrounds (functional, low contrast)
|
||||
- [ ] Editor chat pane duplicates streaming/model-selector logic (~250 lines) — should move to ChatPane or SDK
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user