docs(work): close walking-skeleton story 09 (editor package)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"updated_at": "2026-07-12T19:47:48.805Z",
|
"updated_at": "2026-07-12T20:24:38.709Z",
|
||||||
"epics": {
|
"epics": {
|
||||||
"platform-retrofit": {
|
"platform-retrofit": {
|
||||||
"status": "done",
|
"status": "done",
|
||||||
@@ -201,10 +201,10 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"09-editor-package": {
|
"09-editor-package": {
|
||||||
"status": "todo",
|
"status": "done",
|
||||||
"title": "editor package — React Flow board, iframe frame node, canvas-protocol client",
|
"title": "editor package — React Flow board, iframe frame node, canvas-protocol client",
|
||||||
"ac_total": 3,
|
"ac_total": 3,
|
||||||
"ac_completed": 0,
|
"ac_completed": 3,
|
||||||
"depends_on": [
|
"depends_on": [
|
||||||
"02-core-runner-protocol"
|
"02-core-runner-protocol"
|
||||||
],
|
],
|
||||||
@@ -251,11 +251,6 @@
|
|||||||
"story": "07-runner-lifecycle-events-and-realtime",
|
"story": "07-runner-lifecycle-events-and-realtime",
|
||||||
"title": "runner lifecycle — status events, scan event, realtime channel"
|
"title": "runner lifecycle — status events, scan event, realtime channel"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"epic": "walking-skeleton",
|
|
||||||
"story": "09-editor-package",
|
|
||||||
"title": "editor package — React Flow board, iframe frame node, canvas-protocol client"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"epic": "walking-skeleton",
|
"epic": "walking-skeleton",
|
||||||
"story": "10-web-next-wiring",
|
"story": "10-web-next-wiring",
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ id: 09-editor-package
|
|||||||
epic: walking-skeleton
|
epic: walking-skeleton
|
||||||
title: editor package — React Flow board, iframe frame node, canvas-protocol client
|
title: editor package — React Flow board, iframe frame node, canvas-protocol client
|
||||||
type: technical-story
|
type: technical-story
|
||||||
status: todo
|
status: done
|
||||||
feature: editor
|
feature: editor
|
||||||
depends-on: [02-core-runner-protocol]
|
depends-on: [02-core-runner-protocol]
|
||||||
blocks: [10-web-next-wiring]
|
blocks: [10-web-next-wiring]
|
||||||
created: 2026-07-12T10:24:14Z
|
created: 2026-07-12T10:24:14Z
|
||||||
|
updated: 2026-07-12T20:24:38.419Z
|
||||||
---
|
---
|
||||||
|
|
||||||
## Goal
|
## Goal
|
||||||
@@ -44,6 +45,8 @@ The editor ↔ iframe canvas seam across the origin boundary is the third risk t
|
|||||||
|
|
||||||
## Tasks
|
## Tasks
|
||||||
|
|
||||||
- [ ] Scaffold `packages/editor` (`@repo/editor`) as a green package shell using `pnpm turbo gen core-package` output as the baseline shape (adapted for a non-core package): tsconfig `rootDir: "."`, vitest config with `@` alias, conformance ESLint rules active; React 19; React Flow + zustand wired against the pre-approved `platform-retrofit` traces.
|
- [x] Scaffold `packages/editor` (`@repo/editor`) as a green package shell using `pnpm turbo gen core-package` output as the baseline shape (adapted for a non-core package): tsconfig `rootDir: "."`, vitest config with `@` alias, conformance ESLint rules active; React 19; React Flow + zustand wired against the pre-approved `platform-retrofit` traces.
|
||||||
- [ ] Add the canvas-protocol client (pinned `targetOrigin` both directions; `runtime.ready`, geometry reports, click-target selection round-trip) unit-tested against a scripted agent double + the minimal zustand store holding registry + selection only.
|
- [x] Add the canvas-protocol client (pinned `targetOrigin` both directions; `runtime.ready`, geometry reports, click-target selection round-trip) unit-tested against a scripted agent double + the minimal zustand store holding registry + selection only.
|
||||||
- [ ] Add the React Flow board shell + one iframe frame node hosting the adapter origin + editor-side selection overlay rendered from agent-reported geometry; the frame renders a single Element (discovered component, default props) requested via `render-frame`; pan/zoom stays editor-side (< 16 ms/frame, no protocol round-trip on drag); stories + component tests for board/frame/overlay.
|
- [x] Add the React Flow board shell + one iframe frame node hosting the adapter origin + editor-side selection overlay rendered from agent-reported geometry; the frame renders a single Element (discovered component, default props) requested via `render-frame`; pan/zoom stays editor-side (< 16 ms/frame, no protocol round-trip on drag); stories + component tests for board/frame/overlay.
|
||||||
|
|
||||||
|
_Landed: c42eca5 + c2f56ac + 9495023, reviewer-approved on all nine checks — targetOrigin pinned both directions with constructor validation, empty-useCases manifest verified legitimate against all four conformance rules, zero protocol traffic on pan/zoom proven by real postMessage spies. 70 tests, ~99% coverage._
|
||||||
|
|||||||
Reference in New Issue
Block a user