You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Phase 557 / GitHub #237 records the separate whiteboard annotation-store contract gate. It requires future persistence work to define store ownership, lifetime, annotation identity, primitive reference rules, style/geometry serialization, edit lifecycle serialization, migration metadata, read/write API boundaries, and compatibility proof before saved whiteboard primitive state can exist.
The current stack has transient internal whiteboard primitives, renderer-neutral projection, pointer capture, hosted activation, eraser behavior, and a deferred persistence decision. The next narrow implementation step is an internal contract skeleton that captures the annotation-store shape without adding persistence behavior.
Scope
Add an internal, non-public whiteboard annotation-store contract skeleton:
define internal Core contract/model types for annotation-store metadata, annotation records, primitive references, serialized geometry/style/lifecycle payload shape, and migration/version metadata;
define an internal read/write boundary shape that is persistence-neutral and does not touch GraphDocument, workspace save/load, clipboard fragments, scene export, or screenshot artifacts;
add focused contract tests proving the skeleton remains internal, graph-document-free, persistence-neutral, and compatible with the Phase 557 boundary wording;
update EN/ZH parity docs and focused docs tests to record Phase 558 after Phase 557.
Out of scope
No production annotation store implementation, no file/database I/O, no GraphDocument schema change, no schema version bump, no workspace persistence behavior change, no clipboard/export serialization change, no screenshot manifest expansion, no renderer rewrite, no pointer coordinator edits, no toolbar changes, no eraser changes, no public API exposure, no retained API removal, and no full React Flow whiteboard parity claim.
Dependency / stacking
Depends on Phase 557 / PR #238 and must not merge before Phase 557 and the lower whiteboard stack land. May be implemented as a stacked branch on top of docs/phase-557-whiteboard-annotation-store-contract while PR #238 is blocked.
Acceptance Criteria
Internal Core annotation-store contract/model types exist for store metadata, annotation identity/reference, primitive record payload shape, serialized geometry/style/edit-lifecycle, migration/version metadata, and a persistence-neutral read/write boundary.
Focused tests prove these types remain internal and do not add GraphDocument properties, workspace persistence behavior, clipboard/export serialization behavior, screenshot artifacts, renderer behavior, pointer behavior, or public API surface.
Context
Phase 557 / GitHub #237 records the separate whiteboard annotation-store contract gate. It requires future persistence work to define store ownership, lifetime, annotation identity, primitive reference rules, style/geometry serialization, edit lifecycle serialization, migration metadata, read/write API boundaries, and compatibility proof before saved whiteboard primitive state can exist.
The current stack has transient internal whiteboard primitives, renderer-neutral projection, pointer capture, hosted activation, eraser behavior, and a deferred persistence decision. The next narrow implementation step is an internal contract skeleton that captures the annotation-store shape without adding persistence behavior.
Scope
Add an internal, non-public whiteboard annotation-store contract skeleton:
Out of scope
No production annotation store implementation, no file/database I/O, no GraphDocument schema change, no schema version bump, no workspace persistence behavior change, no clipboard/export serialization change, no screenshot manifest expansion, no renderer rewrite, no pointer coordinator edits, no toolbar changes, no eraser changes, no public API exposure, no retained API removal, and no full React Flow whiteboard parity claim.
Dependency / stacking
Depends on Phase 557 / PR #238 and must not merge before Phase 557 and the lower whiteboard stack land. May be implemented as a stacked branch on top of
docs/phase-557-whiteboard-annotation-store-contractwhile PR #238 is blocked.Acceptance Criteria