Back to Plate

Slate v2 Example Parity Matrix

docs/slate-v2/ledgers/example-parity-matrix.md

53.0.622.5 KB
Original Source

Slate v2 Example Parity Matrix

Purpose

Exact inventory for legacy/current example parity.

This is not a deletion ledger. It answers:

  • which legacy examples already have current same-path owners
  • which legacy examples still lack direct parity owners
  • which current-only examples are rewrite unlocks that need extended or explicit cut classification

Why The Old Ledger Missed Real Drift

  • rows were getting promoted to paired parity row once any current + legacy proof existed
  • replacement-compatibility mostly proves narrow behavior seams, not contributor-facing source shape or control-surface parity
  • the matrix had no explicit source/UI parity read, so scratch rewrites could hide behind green tokenization, selection, or typing rows
  • same-path current files were being treated as ambient closure instead of being held to the closer standard: the nearest honest legacy source shape

Source-First Rule

Same-path example rows are now classified from the source diff first.

  • if the current file still reads like a close legacy port, it can be recovered
  • if the shell is close but important behavior or interaction proof is still narrow, it is mixed
  • if the file still reads like a rewrite in diff, it is open even when a browser row is green

Runtime proof can confirm a source-close row. It cannot rescue a source-drifted row.

Current Counts

  • legacy TS example surfaces: 24
  • current TS example surfaces: 61
  • legacy Playwright example tests: 23
  • current Playwright example tests: 61

Legacy TS Example Inventory

Legacy exampleCurrent same-path exampleCurrent replacement-compat ownerCurrent read
android-testssite/examples/ts/android-tests.tsxcurrent + legacy rows present; current row is explicitly extended with the legacy manual case picker plus the new IME hub linksextended parity row
check-listssite/examples/ts/check-lists.tsxsource now reads close to legacy after the actual port (0.861 similarity); the earlier as CustomEditor and test-only id drift are gone; remaining source drift is limited to current type/module syntax around imports and props; standalone current checkbox proof is still red and explicitly deferred to the later test-fix passrecovered
code-highlightingsite/examples/ts/code-highlighting.tsxcurrent shell/proof exists, but the file is still full drift in source (0.062 similarity, 674 diff lines)open
custom-placeholdersite/examples/ts/custom-placeholder.tsxsource is now equivalent to the legacy example aside from current type-only import syntax, and Chromium proof covers custom placeholder rendering plus editor heightrecovered
editable-voidssite/examples/ts/editable-voids.tsxsource is much closer than before (0.568 similarity, 194 diff lines), and Chromium proof now covers shell elements, insertion/duplication, plain input editing, and nested editor editing inside the voidrecovered
embedssite/examples/ts/embeds.tsxsource now reads close to legacy (0.763 similarity, 122 diff lines); current proof closes the restored embed shellrecovered
forced-layoutsite/examples/ts/forced-layout.tsxsource now reads close to legacy again after restoring the in-file layout normalizer, legacy initial copy, and contributor-facing title/paragraph shell; current browser proof for initial layout and full-delete restoration is greenrecovered
hovering-toolbarsite/examples/ts/hovering-toolbar.tsxsource now reads close to legacy (0.856 similarity, 135 diff lines); current browser proof for menu reveal/hide and mark toggle is greenrecovered
huge-documentsite/examples/ts/huge-document.tsxexplicit cut for replacement parity: the same-path example intentionally remains the legacy chunking playground and should not be treated as the v2 runtime owner; v2 huge-doc truth is owned by large-document-runtime, bench:react:huge-document-overlays:local, and the 5000-block legacy compare gateexplicit cut
iframesite/examples/ts/iframe.tsxsource now reads very close to legacy (0.917 similarity, 117 diff lines); current iframe editing proof is greenrecovered
imagessite/examples/ts/images.tsxsource now reads fairly close to legacy (0.699 similarity, 192 diff lines), and Chromium proof covers the restored shell plus invalid prompt handling and selected-image deletionrecovered
inlinessite/examples/ts/inlines.tsxsource now reads close to legacy (0.850 similarity, 334 diff lines); current browser proof for the seeded inline link is greenrecovered
markdown-previewsite/examples/ts/markdown-preview.tsxcurrent + legacy rows exist, but the source diff still reads like a rewrite (0.082 similarity, 286 diff lines)open
markdown-shortcutssite/examples/ts/markdown-shortcuts.tsxcurrent + legacy rows exist, but the source diff still reads like a rewrite (0.086 similarity, 440 diff lines)open
mentionssite/examples/ts/mentions.tsxsource now reads very close to legacy (0.970 similarity, 233 diff lines); current browser proof for chips, portal, and insertion is greenrecovered
paste-htmlsite/examples/ts/paste-html.tsxsource now reads close to legacy (0.820 similarity, 233 diff lines), and Chromium proof for the supported explicit formatting subset is green for bold and coderecovered
plaintextsite/examples/ts/plaintext.tsxsource now reads close to legacy again after dropping the extra type-only drift and restoring the minimal example shell; current browser proof for typing is greenrecovered
read-onlysite/examples/ts/read-only.tsxsource now reads close to legacy again after dropping the extra type-only drift and preserving the minimal readOnly shell; current browser proof for non-editability is greenrecovered
richtextsite/examples/ts/richtext.tsxsource now reads close to legacy (0.874 similarity, 225 diff lines), and Chromium proof is green for render, browser text insertion, and undo restoring deleted selected rich textrecovered
scroll-into-viewsite/examples/ts/scroll-into-view.tsxcurrent dedicated row exists in scroll-into-view.test.ts; source is still not close (0.232 similarity, 194 diff lines) and the mirrored legacy/current action is still redopen
search-highlightingsite/examples/ts/search-highlighting.tsxsource now reads close to legacy again after restoring the legacy search/decorate flow, Slate wrapper, and contributor-facing input shell; remaining forced drift is the current projectionStore + renderSegment wiring instead of legacy decorate + renderLeaf; current browser proof for two highlighted matches is greenrecovered
shadow-domsite/examples/ts/shadow-dom.tsxcurrent + legacy rows exist, but the source diff still reads materially rewritten (0.120 similarity, 86 diff lines)open
stylingsite/examples/ts/styling.tsxcurrent + legacy rows exist, but the source diff still reads materially rewritten (0.384 similarity, 103 diff lines)open
tablessite/examples/ts/tables.tsxcurrent + legacy rows exist, but the source diff still reads like a rewrite (0.036 similarity, 270 diff lines)open

2026-04-15 Git-Diff Rebaseline

This pass invalidates or upgrades rows from the source diff itself instead of from browser feel.

ExampleSource-diff readLedger result
code-highlightingstill full rewrite in diffstays open
check-listsnow source-close after the actual port; remaining source drift is limited to current type/module syntaxupgraded back to recovered
custom-placeholdersource now reads as the legacy example with current import syntax, and custom placeholder proof is greenupgraded to recovered
forced-layoutrebaseline invalidated it as open, but the continuation batch restored the legacy source flow and green delete proofupgraded to recovered
markdown-previewstill full rewrite in diffinvalidated back to open
markdown-shortcutsstill full rewrite in diffinvalidated back to open
plaintextsource-close again after the minimal same-path cleanupupgraded to recovered
read-onlysource-close again after the minimal same-path cleanupupgraded to recovered
shadow-domstill materially rewritten in diffinvalidated back to open
stylingstill materially rewritten in diffinvalidated back to open
tablesstill full rewrite in diffinvalidated back to open
embedsnow source-close after the actual portupgraded to recovered
hovering-toolbarnow source-close after the actual portupgraded to recovered
iframenow source-close after the actual portupgraded to recovered
inlinesnow source-close after the actual portupgraded to recovered
mentionsnow source-close after the actual portupgraded to recovered
paste-htmlnow source-close and formatting proof is greenupgraded to recovered
richtextnow source-close and undo/typing proof is greenupgraded to recovered
search-highlightingcontinuation batch restored the legacy search/decorate shape and green highlight proofupgraded to recovered
editable-voidsnow much closer in diff and embedded-form proof is greenupgraded to recovered
imagesnow much closer in diff and prompt/delete proof is greenupgraded to recovered

Source-Diff Stats

Exact paired same-path source stats from the 2026-04-15 rebaseline:

ExampleSimilarityLegacy linesCurrent linesDiff lines
android-tests0.732266281209
check-lists0.861198203122
code-highlighting0.062473277674
custom-placeholder0.234366177
editable-voids0.568166168194
embeds0.763160168122
forced-layout0.043121151240
hovering-toolbar0.856178157135
huge-document0.02110405741492
iframe0.917183182117
images0.699222224192
inlines0.850454432334
markdown-preview0.082138182286
markdown-shortcuts0.086247287440
mentions0.970746747233
paste-html0.820305294233
plaintext0.322243442
read-only0.301253542
richtext0.874328349225
scroll-into-view0.232136116194
search-highlighting0.170141197278
shadow-dom0.120485886
styling0.3844768103
tables0.036215145270

Stable Or Explicitly Owned Rows After Git-Diff Rebaseline

  • android-tests: explicit extended parity row
  • huge-document: explicit cut for parity; same-path source is the legacy chunking playground, while v2 huge-doc runtime truth is owned by large-document-runtime and benchmark gates
  • check-lists: source-close recovered row
  • custom-placeholder: source-close recovered row
  • embeds: source-close recovered row
  • forced-layout: source-close recovered row
  • hovering-toolbar: source-close recovered row
  • iframe: source-close recovered row
  • inlines: source-close recovered row
  • mentions: source-close recovered row
  • plaintext: source-close recovered row
  • read-only: source-close recovered row
  • search-highlighting: source-close recovered row
  • scroll-into-view: still open, and now explicitly open on source diff too

Legacy Playwright Drift

Legacy testCurrent ownerCurrent read
select.test.tsrichtext.test.tsrecovered; the triple-click paragraph-selection intent is explicitly owned on the current richtext browser seam
huge-document.test.tsbenchmark lanes + large-document-runtime.test.tsexplicit cut; the legacy test asserts old chunking internals, while v2 huge-doc behavior is owned by the runtime browser rows and 5000-block benchmark gate

Current-Only TS Example Surfaces

All currently live current-only TS example surfaces in .tmp/slate-v2 are classified here.

Broader draft-only names that do not currently map to live files in .tmp/slate-v2/site/examples/ts/** stay in the draft docs until they exist in the repo.

  • already classified current-only v2 north-star rows:
    • external-decoration-sources: extended current-only explicit external overlay-source example; Chromium proof is green and the surface is a deliberate v2 addition rather than same-path parity debt
    • highlighted-text: extended current-only overlap-safe highlight example; Chromium proof is green and the surface is a deliberate v2 overlay owner, not a missing legacy port
    • persistent-annotation-anchors: extended current-only durable-annotation anchor example; Chromium proof is green and the surface is deliberate v2 value beyond the legacy example set
    • review-comments: extended current-only review UI example; Chromium proof is green and the surface is deliberate v2 annotation/widget value beyond the legacy example set
  • broader browser/input parity rows that do not currently map to live example or Playwright files stay tracked in true-slate-rc-proof-ledger.md, not here

Next Recovery Batch

Highest-signal immediate recoveries after the git-diff invalidation:

  1. recover the still-full-rewrite rows first:
    • code-highlighting
    • markdown-preview
    • markdown-shortcuts
    • tables
  2. recover the remaining materially rewritten same-path rows:
    • shadow-dom
    • styling
  3. finish the remaining open rows:
    • code-highlighting
    • custom-placeholder
    • markdown-preview
    • markdown-shortcuts
    • scroll-into-view
    • shadow-dom
    • styling
    • tables
  4. finish the already-open parity row:
    • scroll-into-view
  5. classify current-only rewrite unlocks as extended, mixed, explicit cut, or open