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
11 changes: 9 additions & 2 deletions docs/en/phase-0-reactflow-parity-audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,10 @@ Phase 546 is GitHub #215 / `avalonia-node-map-0l9`, the post-Phase-545 whiteboar

Phase 547 is GitHub #217 / `avalonia-node-map-rs0`, the first whiteboard primitive model skeleton. This internal Core model slice records `WHITEBOARD_PRIMITIVE_MODEL_SKELETON`: rectangle/freehand primitive identity, kind, renderer-neutral geometry, style/brush metadata, z-order, and edit lifecycle metadata are now covered by focused Core/Editor tests and remain separate from graph nodes, connections, groups, selection rectangles, lasso feedback, renderer projection, and persistence/schema state. Phase 547 is stacked after PR #216 and must not merge before Phase 546. It authorizes no public API claim expansion, no Avalonia pointer coordinator edits, no toolbar/tool activation, no eraser behavior, no renderer adapter implementation, no persistence/schema change, no schema version bump, no screenshot manifest expansion, no Cookbook visual proof implementation, no UI redesign, no retained API removal, and no full React Flow whiteboard parity.

## Phase 548 Update

Phase 548 is GitHub #219 / `avalonia-node-map-10p`, the first whiteboard primitive renderer adapter skeleton. This internal Core adapter slice records `WHITEBOARD_PRIMITIVE_RENDERER_ADAPTER_SKELETON`: `GraphWhiteboardPrimitiveRendererAdapter` maps rectangle/freehand primitive projection into `GraphWhiteboardPrimitiveSceneSnapshot` scene items, and `GraphWhiteboardPrimitiveHitTestResult` records topmost primitive hit-testing evidence with z-order plus edit lifecycle metadata. The adapter remains renderer-neutral and separate from `GraphDocument`, `GraphEditorSceneSnapshot`, and `NodeCanvasConnectionSceneRenderer`. Phase 548 is stacked after PR #218 and must not merge before Phase 547. It authorizes no GraphDocument schema change, no public drawing API, no Avalonia renderer rewrite, no NodeCanvasConnectionSceneRenderer edits, no pointer coordinator changes, no toolbar/tool activation, no eraser behavior, no persistence/schema work, no schema version bump, no screenshot manifest expansion, no Cookbook visual proof implementation, no UI redesign, 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 @@ -561,6 +565,8 @@ Phase 546 records the post-Phase-545 whiteboard implementation queue refresh thr

Phase 547 records the first whiteboard primitive model skeleton through GitHub #217 / `avalonia-node-map-rs0`. It adds only internal renderer-neutral model types and focused contract coverage for primitive identity, kind, geometry, style, z-order, edit lifecycle, and separation from graph/selection state; renderer adapter, persistence/schema, pointer coordinator, toolbar, eraser, screenshot, and Cookbook implementation remain later tracker-backed work.

Phase 548 records the whiteboard primitive renderer adapter skeleton through GitHub #219 / `avalonia-node-map-10p`. It adds only internal renderer-neutral projection and topmost primitive hit-testing evidence for the Phase 547 primitive model; persistence/schema, Avalonia pointer coordinators, toolbar activation, eraser behavior, screenshot manifests, Cookbook implementation, and any full React Flow whiteboard parity claim remain later tracker-backed work.

| 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 @@ -576,7 +582,7 @@ Phase 547 records the first whiteboard primitive model skeleton through GitHub #
| #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 | Stacked after Phase 544 / PR #213; do not merge before Phase 544. This gate owns the Cookbook/screenshot proof route without claiming full React Flow whiteboard parity. |
| #215 | `avalonia-node-map-0l9` | Phase 546: post-Phase-545 whiteboard implementation queue refresh | P4 | parity roadmap docs and focused docs tests | Stacked after PR #214; do not merge before Phase 545. This queue refresh records the next candidates without runtime/API/model/schema/renderer/screenshot-manifest behavior. |
| #217 | `avalonia-node-map-rs0` | Phase 547: whiteboard primitive model skeleton | P2 | Core/Editor primitive model tests, internal model types, and renderer-neutral contract docs | Stacked after PR #216; do not merge before Phase 546. This slice adds the internal model skeleton only and must not touch renderer adapters, persistence/schema, pointer coordinators, screenshot manifests, toolbar UX, or eraser behavior. |
| TBD | TBD | Phase 548: whiteboard primitive renderer adapter skeleton | P2 | renderer adapter tests, scene snapshot projection proof, and hit-testing evidence | Candidate after Phase 547 model skeleton. Must keep persistence/schema, Cookbook screenshot rows, pointer coordinators, and toolbar activation out of scope. |
| #219 | `avalonia-node-map-10p` | Phase 548: whiteboard primitive renderer adapter skeleton | P2 | renderer adapter tests, scene snapshot projection proof, and topmost primitive hit-testing evidence | Stacked after PR #218; do not merge before Phase 547. Must keep persistence/schema, Cookbook screenshot rows, pointer coordinators, and toolbar activation out of scope. |
| TBD | TBD | Phase 549: whiteboard primitive persistence decision implementation gate | P3 | persistence decision tests, schema/surface choice, migration criteria, and compatibility coverage | Candidate after Phase 547 and the Phase 544 policy gate. Must decide storage ownership before any saved whiteboard primitive claim. |
| TBD | TBD | Phase 550: whiteboard primitive Cookbook screenshot implementation gate | P3 | Cookbook screenshot implementation gate docs/tests, route metadata, shell state, and non-overlap visual proof | Candidate after model, renderer, and persistence decisions. Must add visual proof before any whiteboard visual parity claim. |

Expand Down Expand Up @@ -627,7 +633,7 @@ Phase 547 records the first whiteboard primitive model skeleton through GitHub #
- `visual/phase-545-whiteboard-cookbook-screenshot-proof`: owns #209 / `avalonia-node-map-7ns`; current stacked docs/test gate for the whiteboard Cookbook and screenshot proof route gate.
- `docs/phase-546-post-whiteboard-queue`: owns #215 / `avalonia-node-map-0l9`; current stacked docs/test queue refresh after the Phase 545 proof-route gate, with no runtime/API/model/schema/renderer/screenshot-manifest changes.
- `feature/phase-547-whiteboard-primitive-model-skeleton`: owns #217 / `avalonia-node-map-rs0`; current stacked implementation worktree for the internal whiteboard primitive model skeleton after Phase 546, with renderer adapters, persistence/schema, pointer coordinators, screenshot manifests, toolbar UX, eraser behavior, and public API claim expansion out of scope.
- `feature/phase-548-whiteboard-renderer-adapter-skeleton`: future candidate for whiteboard primitive renderer adapter and hit-testing proof after the model skeleton.
- `feature/phase-548-whiteboard-renderer-adapter-skeleton`: owns #219 / `avalonia-node-map-10p`; current stacked implementation worktree for the internal renderer-neutral whiteboard primitive renderer adapter and topmost primitive hit-testing proof after the Phase 547 model skeleton, with persistence/schema, pointer coordinators, toolbar, eraser, screenshot manifests, and Cookbook implementation out of scope.
- `feature/phase-549-whiteboard-persistence-decision`: future candidate for the first persistence decision implementation gate after model ownership is settled.
- `visual/phase-550-whiteboard-cookbook-screenshot-implementation`: future candidate for the Cookbook screenshot implementation gate after model, renderer, and persistence decisions.

Expand Down Expand Up @@ -693,4 +699,5 @@ Current coverage includes scene-level route captures plus ten manifest-driven fu
- Phase 545 is GitHub #209 / `avalonia-node-map-7ns`; it records the whiteboard Cookbook and screenshot proof route gate and `WHITEBOARD_COOKBOOK_SCREENSHOT_PROOF_ROUTE_GATE` without screenshot manifest expansion, runtime UI behavior, UI redesign, drawing tool implementation, renderer changes, persistence/schema changes, pointer coordinator edits, retained API removal, or full React Flow whiteboard parity.
- Phase 546 is GitHub #215 / `avalonia-node-map-0l9`; it records the post-Phase-545 whiteboard implementation queue refresh and `WHITEBOARD_POST_GATE_QUEUE_REFRESH` without runtime behavior changes, public API changes, production model/schema changes, renderer-layer changes, screenshot manifest expansion, pointer coordinator edits, UI redesign, drawing tool implementation, eraser behavior, toolbar work, retained API removal, or full React Flow whiteboard parity.
- Phase 547 is GitHub #217 / `avalonia-node-map-rs0`; it records `WHITEBOARD_PRIMITIVE_MODEL_SKELETON` with internal Core model types and focused Core/Editor contract tests only. Renderer adapters, persistence/schema, pointer coordinators, toolbar/tool activation, eraser behavior, screenshot manifests, Cookbook visual proof, public API claim expansion, retained API removal, and full React Flow whiteboard parity remain out of scope.
- Phase 548 is GitHub #219 / `avalonia-node-map-10p`; it records `WHITEBOARD_PRIMITIVE_RENDERER_ADAPTER_SKELETON` with internal Core renderer-neutral projection and hit-testing tests only. GraphDocument schema changes, public drawing API, Avalonia renderer rewrites, NodeCanvasConnectionSceneRenderer edits, pointer coordinators, toolbar/tool activation, eraser behavior, persistence/schema work, screenshot manifests, Cookbook visual proof, retained API removal, and full React Flow whiteboard parity remain out of scope.
- 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, Phase 541, and Phase 546 unless a focused test proves a specific missing contract.
Loading
Loading