docs/plans/2026-04-03-slate-dom-v2-zero-width-selection-proof-plan.md
Implement the first real slate-dom-v2 fix for zero-width / DOM selection
anchor debt without pretending the whole sentinel strategy is solved in one shot.
The smallest honest first cut is likely:
slate-dom-v2toDOMRange / DOM-point resolution around empty text or zero-width
boundariesPublic surface:
DOMBridge.toDOMPoint(editor, point)DOMBridge.toDOMRange(editor, range)Proof semantics:
path -> runtimeId and DOM bindings1Map current bridge semantics and issue-backed failure shapes.
Write the first failing DOM bridge contract test.
Implement the minimal bridge fix.
Verify, deslop, re-verify, architect review, cleanup.
slate-dom-v2 bridge and the #5760 issue pressureDOMBridge.toDOMPoint(editor, point)DOMBridge.toDOMRange(editor, range).tmp/slate-v21 when sentinel text exists1 mapping back to Slate offset 0zsh -lc 'yarn workspace slate-dom-v2 test'zsh -lc 'yarn build:rollup'zsh -lc 'yarn lint:typescript'0 on changed filesAPPROVE