Skip to content
Open
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
23 changes: 22 additions & 1 deletion docs/en/phase-0-reactflow-parity-audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,10 @@ Phase 539 is GitHub #201 / `avalonia-node-map-rwr`, the rectangle/freehand drawi

Phase 540 is GitHub #203 / `avalonia-node-map-91b`, the whiteboard persistence and render-layer readiness gate. This docs/tests-only slice records that current persistence and rendering evidence is graph-scene evidence: `GraphDocumentSerializer`, `GraphDocumentCompatibility`, `CurrentSchemaVersion`, and `GraphWorkspaceService` persist graph documents and workspaces, while `GraphEditorSceneSnapshot`, `NodeCanvasConnectionSceneRenderer`, `CookbookScreenshotGateRoutes.json`, and `CookbookShellVisualGateStates.json` prove graph-scene projection and screenshot fixtures. They do not implement whiteboard annotation persistence or whiteboard annotation rendering. Before any future rectangle/freehand drawing state can be persisted or rendered as first-class whiteboard primitives, a later issue must define a persistence/schema contract, renderer projection contract, hit-testing/edit lifecycle, screenshot/Cookbook evidence, migration policy, and explicit non-goals. Phase 540 authorizes no runtime behavior changes, no public API changes, no persistence/schema changes, no renderer-layer changes, no screenshot manifest expansion, no Avalonia pointer coordinator edits, no UI redesign, no drawing tool implementation, no eraser behavior, no toolbar work, no retained API removal, and no full React Flow whiteboard parity.

## Phase 541 Update

Phase 541 is GitHub #205 / `avalonia-node-map-2z1`, the post-Phase-540 whiteboard implementation wave split. This docs/tests-only slice records the next implementation sequence after the model, persistence, and renderer readiness gates: Phase 542 owns the model identity/geometry/style contract, Phase 543 owns renderer projection and hit-testing proof, Phase 544 owns persistence/schema policy, and Phase 545 owns the Cookbook/screenshot proof route. Phase 541 records the post-Phase-540 whiteboard implementation wave split without taking any of those follow-up write sets itself. It authorizes no runtime behavior changes, no public API changes, no model/schema changes, no renderer-layer changes, no screenshot manifest expansion, no Avalonia pointer coordinator edits, no UI redesign, no drawing tool implementation, no eraser behavior, no toolbar work, no retained API removal, and no full React Flow whiteboard parity.

## Phase 489 Update

Phase 489 closed GitHub #101 / `avalonia-node-map-6sc` through PR #102 as a renderer virtualization design spike on branch `perf/renderer-virtualization-spike`. This slice was docs/tests only: it defined the proof contract required before any future ItemsRepeater/Skia-style renderer virtualization, background graph index, or graph-size claim expansion. It made no public API change and no runtime change. The current evidence remains viewport-budgeted scene projection/rendering, not a true renderer virtualization contract; `xlarge` stays telemetry-only.
Expand Down Expand Up @@ -519,6 +523,8 @@ Phase 539 records the rectangle/freehand drawing primitive model gate through Gi

Phase 540 records the whiteboard persistence and render-layer readiness gate through GitHub #203 / `avalonia-node-map-91b`. It keeps current `GraphDocumentSerializer`, `GraphDocumentCompatibility`, `CurrentSchemaVersion`, `GraphWorkspaceService`, `GraphEditorSceneSnapshot`, `NodeCanvasConnectionSceneRenderer`, `CookbookScreenshotGateRoutes.json`, and `CookbookShellVisualGateStates.json` evidence scoped to graph documents, workspaces, graph-scene projection, committed connection rendering, and screenshot fixtures; it does not claim whiteboard annotation persistence or whiteboard annotation rendering.

Phase 541 records the post-Phase-540 whiteboard implementation wave split through GitHub #205 / `avalonia-node-map-2z1`. It keeps this slice limited to roadmap and test evidence, then assigns the next whiteboard implementation gates to Phase 542 model identity/geometry/style contract, Phase 543 renderer projection and hit-testing proof, Phase 544 persistence/schema policy, and Phase 545 Cookbook/screenshot proof route. It does not change runtime behavior, public API, model/schema, renderer layers, screenshot manifests, or full React Flow whiteboard parity claims.

| GitHub | Bead | Title | Priority | Likely write set | Parallelism |
| --- | --- | --- | --- | --- | --- |
| #193 | `avalonia-node-map-8l6` | Phase 535: refresh post-lasso visual feedback parity queue | P2 | parity roadmap docs and focused docs tests | Current docs/test queue refresh. Blocks the next implementation wave because it replaces the stale Phase 534 current row with tracker-backed follow-ups. |
Expand All @@ -527,6 +533,11 @@ Phase 540 records the whiteboard persistence and render-layer readiness gate thr
| #199 | `avalonia-node-map-a3w` | Phase 538: eraser behavior/API feasibility gate | P3 | graph-selection deletion evidence, parity roadmap docs, and focused docs tests | Current eraser feasibility slice. It keeps `selection.delete` scoped to graph-selection deletion evidence and does not create an eraser cursor, collision trail, or eraser-specific hit-testing path. |
| #201 | `avalonia-node-map-rwr` | Phase 539: rectangle/freehand drawing primitive model gate | P3 | Core/Editor model contract docs/tests and whiteboard primitive API inventory | Current stacked drawing model gate on top of Phase 538 / PR #200. It stays docs/model-only, does not touch Avalonia pointer coordinators, and preserves Phase 540 as future persistence/render-layer readiness work. |
| #203 | `avalonia-node-map-91b` | Phase 540: whiteboard persistence and render-layer readiness gate | P4 | persistence/schema planning docs, renderer-layer boundary docs, screenshot policy notes, and focused docs tests | Stacked after Phase 539 / PR #202; do not merge before Phase 539. This slice records readiness criteria only and does not implement persistence or renderer behavior. |
| #205 | `avalonia-node-map-2z1` | Phase 541: post-Phase-540 whiteboard implementation wave split | P4 | parity roadmap docs and focused docs tests | Stacked after Phase 540 / PR #204; do not merge before Phase 540. This slice assigns the next whiteboard implementation gates without runtime/API/model/schema/renderer/screenshot-manifest changes. |
| #206 | `avalonia-node-map-b31` | Phase 542: whiteboard primitive core model contract gate | P2 | core/editor model tests, primitive identity/geometry/style contract docs, and API inventory | Future candidate after Phase 541. Owns the model identity/geometry/style contract before any renderer, persistence, or Cookbook proof work. |
| #207 | `avalonia-node-map-aj8` | Phase 543: whiteboard renderer projection and hit-testing proof gate | P2 | renderer projection tests, hit-testing proof, and bounded Avalonia/editor evidence | Future candidate after Phase 541 and the model contract gate. Owns renderer projection and hit-testing proof without persistence/schema policy or screenshot route expansion. |
| #208 | `avalonia-node-map-32n` | Phase 544: whiteboard primitive persistence schema policy gate | P3 | persistence/schema policy docs, migration criteria, and compatibility tests | Future candidate after Phase 541 and the model contract gate. Owns persistence/schema policy before any persisted whiteboard primitive claim. |
| #209 | `avalonia-node-map-7ns` | Phase 545: whiteboard Cookbook and screenshot proof route gate | P3 | Cookbook route, screenshot proof route, visual gate docs, and focused tests | Future candidate after Phase 541 plus the required model/renderer readiness. Owns the Cookbook/screenshot proof route without claiming full React Flow whiteboard parity. |

## Recommended Parallel Worktree Plan

Expand Down Expand Up @@ -568,6 +579,11 @@ Phase 540 records the whiteboard persistence and render-layer readiness gate thr
- `feature/phase-538-eraser-feasibility`: owns #199 / `avalonia-node-map-a3w`; current worktree for eraser behavior/API feasibility with graph-selection deletion evidence only.
- `docs/phase-539-drawing-primitive-model-gate`: owns #201 / `avalonia-node-map-rwr`; current stacked docs/test gate for rectangle/freehand drawing primitive model decisions on top of Phase 538 / PR #200, with no runtime/API/UI/pointer coordinator/renderer/persistence changes.
- `docs/phase-540-whiteboard-render-persistence-gate`: owns #203 / `avalonia-node-map-91b`; current stacked docs/test gate for persistence/render-layer readiness after drawing model decisions, with no runtime/API/persistence/schema/renderer/screenshot-manifest/UI/pointer coordinator changes.
- `docs/phase-541-post-whiteboard-wave-split`: owns #205 / `avalonia-node-map-2z1`; current stacked docs/test gate for the post-Phase-540 whiteboard implementation wave split, with no runtime behavior changes, no public API changes, no model/schema changes, no renderer-layer changes, no screenshot manifest expansion, and no full React Flow whiteboard parity.
- `feature/phase-542-whiteboard-primitive-core-model`: owns #206 / `avalonia-node-map-b31`; future candidate for the whiteboard primitive core model contract gate and model identity/geometry/style contract.
- `feature/phase-543-whiteboard-renderer-hit-testing`: owns #207 / `avalonia-node-map-aj8`; future candidate for the whiteboard renderer projection and hit-testing proof gate.
- `feature/phase-544-whiteboard-persistence-schema`: owns #208 / `avalonia-node-map-32n`; future candidate for the whiteboard primitive persistence schema policy gate.
- `visual/phase-545-whiteboard-cookbook-screenshot-proof`: owns #209 / `avalonia-node-map-7ns`; future candidate for the whiteboard Cookbook and screenshot proof route gate.

## UI Verification Policy

Expand Down Expand Up @@ -624,4 +640,9 @@ Current coverage includes scene-level route captures plus ten manifest-driven fu
- Phase 536 is GitHub #195 / `avalonia-node-map-uvd`; it adds `cookbook-interaction-lasso-screenshot-proof`, `interaction-lasso-screenshot-proof-route`, `shell-cookbook-lasso-screenshot-proof`, `full-window-shell-lasso-state`, and `LASSO_SCREENSHOT_PROOF_BOUNDARY_OK` without toolbar UX, eraser behavior, drawing primitives, persistence, renderer rewrite, strict pixel baseline enforcement, retained API removal, or full whiteboard parity.
- Phase 539 is GitHub #201 / `avalonia-node-map-rwr`; it records the rectangle/freehand drawing primitive model gate without runtime behavior changes, public API changes, Avalonia pointer coordinator edits, renderer-layer changes, persistence/schema changes, screenshot manifest expansion, UI redesign, eraser behavior, toolbar work, retained API removal, or full React Flow whiteboard parity.
- Phase 540 is GitHub #203 / `avalonia-node-map-91b`; it records the whiteboard persistence and render-layer readiness gate without runtime behavior changes, public API changes, persistence/schema changes, renderer-layer changes, screenshot manifest expansion, Avalonia pointer coordinator edits, UI redesign, drawing tool implementation, eraser behavior, toolbar work, retained API removal, or full React Flow whiteboard parity.
- Product code remains out of scope for Phase 478, Phase 484, Phase 490, Phase 491, Phase 492, Phase 493, Phase 494, Phase 495, Phase 497, Phase 498, Phase 499, Phase 500, Phase 501, Phase 502, Phase 503, Phase 504, Phase 505, Phase 506, Phase 507, Phase 508, Phase 509, Phase 510, Phase 511, Phase 512, Phase 513, Phase 520, Phase 521, Phase 522, Phase 523, Phase 524, Phase 525, Phase 526, Phase 527, Phase 528, Phase 529, Phase 535, Phase 539, and Phase 540 unless a focused test proves a specific missing contract.
- Phase 541 is GitHub #205 / `avalonia-node-map-2z1`; it records the post-Phase-540 whiteboard implementation wave split without runtime behavior changes, public API changes, model/schema changes, renderer-layer changes, screenshot manifest expansion, Avalonia pointer coordinator edits, UI redesign, drawing tool implementation, eraser behavior, toolbar work, retained API removal, or full React Flow whiteboard parity.
- Phase 542 is GitHub #206 / `avalonia-node-map-b31`; it will own the whiteboard primitive core model contract gate and model identity/geometry/style contract.
- Phase 543 is GitHub #207 / `avalonia-node-map-aj8`; it will own the whiteboard renderer projection and hit-testing proof gate.
- Phase 544 is GitHub #208 / `avalonia-node-map-32n`; it will own the whiteboard primitive persistence schema policy gate and persistence/schema policy.
- Phase 545 is GitHub #209 / `avalonia-node-map-7ns`; it will own the whiteboard Cookbook and screenshot proof route gate and Cookbook/screenshot proof route.
- Product code remains out of scope for Phase 478, Phase 484, Phase 490, Phase 491, Phase 492, Phase 493, Phase 494, Phase 495, Phase 497, Phase 498, Phase 499, Phase 500, Phase 501, Phase 502, Phase 503, Phase 504, Phase 505, Phase 506, Phase 507, Phase 508, Phase 509, Phase 510, Phase 511, Phase 512, Phase 513, Phase 520, Phase 521, Phase 522, Phase 523, Phase 524, Phase 525, Phase 526, Phase 527, Phase 528, Phase 529, Phase 535, Phase 539, Phase 540, and Phase 541 unless a focused test proves a specific missing contract.
Loading
Loading