docs/plans/2026-04-27-slate-v2-table-horizontal-navigation-offset.md
Done.
Fix /examples/tables so moving right from the end of the first table cell
lands at offset 0 in the second cell, not offset 1.
/Users/zbeyens/git/slate-v2./Users/zbeyens/git/plate-2./examples/tables.1 instead of offset 0.dev-browser --connect http://127.0.0.1:9222 proof because Playwright alone
can miss real browser selection behavior.td, press ArrowRight, model
and DOM selection both moved to [1, 0, 1, 0]@1.Editor.positions(..., { unit: "character" }) grouped text
segments by top-level path. A table therefore became one flattened text
stream, so the iterator skipped the start of the next cell.Editor.after(..., { unit: "character" }) across
nested table-cell text blocks./examples/tables ArrowRight path.dev-browser on /examples/tables.dev-browser, typecheck, lint, and completion.bun test ./packages/slate/test/query-contract.ts -t "nested text-block boundaries" passed before/after the focused fix cycle.bun test ./packages/slate/test/query-contract.ts passed: 72 tests.PLAYWRIGHT_BASE_URL=http://localhost:3100 bunx playwright test ./playwright/integration/examples/tables.test.ts --project=chromium --workers=1 --retries=0 passed: 5 tests.bun --filter slate typecheck passed.bun typecheck:root passed.bun lint:fix passed.dev-browser --connect http://127.0.0.1:9222 real-browser proof passed:
after clicking the first cell and pressing ArrowRight, model selection and
DOM selection were both at [1, 0, 1, 0]@0.