docs/solutions/workflow-issues/2026-05-08-dom-selection-ralplans-should-rank-editor-test-sources-by-owner.md
DOM selection planning gets sloppy when every editor test corpus is treated as equally authoritative. Lexical, ProseMirror, and Tiptap are useful for different reasons.
Rank sources by the owner they actually prove:
view/test/webtest-selection.ts is the primary source for DOM
selection import/export, coordinates, fallback, BR-hack, and selectable-node
movement invariants.focus.ts is pressure for focus timing only: mobile direct focus,
Safari preventScroll, and React RAF. It does not justify copying Tiptap's
command API into Slate.Then classify each row as steal, reject, or defer, with a Slate owner:
slate-dom, slate-react, slate core, or another lane.
It preserves the portable behavior invariant without importing another editor's framework shape. The source ranking also prevents closure lies: jsdom renderer composition does not prove mobile IME, clipboard transform tests do not prove a DOM selection bridge, and whole-table selection does not become a raw Slate requirement just because Lexical owns it.
docs/plans/2026-05-08-slate-v2-dom-selection-focus-bridge-ralplan.mddocs/editor-test-harvester/lexical/report.mddocs/solutions/test-failures/2026-04-22-slate-browser-selectionchange-proof-must-separate-traceability-from-programmatic-import.mddocs/solutions/logic-errors/2026-05-06-slate-react-foreign-dom-selections-must-be-ignored-before-import.md