docs/research/systems/editor-architecture-landscape.md
This page is the compiled system map for the editor-architecture candidates that mattered to the Slate v2 decorations / annotations architecture lane.
It is not a market map.
It is the answer to:
Role:
Take:
Role:
Take:
Role:
Take:
Role:
Take:
Role:
Take:
decorate remains the abstraction to escape, not the contract to
protectRole:
Take:
Role:
Take:
Role:
Take:
Role:
Take:
The cross-editor landscape points to one architecture shape, not many:
Decoration
transient, overlap-friendly, mapped or externally indexedAnnotation
durable, id-bearing, bookmark-backedWidget
anchored UI, geometry-derived, narrower public surfaceAnd it points away from a bunch of bullshit:
decorate callback as the center of the worldRangeRef as the preferred durable-anchor storyAfter implementation and doc closure, the current read is:
On theory alone, the honest read is narrower than “we are better than all of them”.
useSyncExternalStore-style selector/store subscriptionsReact 19.2 closes the React-side excuse surface:
So if Slate v2 still loses the architecture argument after that, the remaining problem is not “React is the wrong engine”. It is deeper invalidation architecture.
If the goal is field-best perf architecture for decorations, the next reshape is not “more React”.
It is:
That is the pressure coming from ProseMirror, Lexical, and VS Code together.
What Slate v2 now does especially well:
BookmarkWhat it still does not claim:
../, not
normalized ../raw/<corpus> familiesurql, and
@react-libraries/markdown-editor still lack compiled pages for this lane