Back to Plate

Slate v2 Example Parity Matrix

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

53.0.613.7 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 the current EditableBlocks surface not exposing legacy spellCheck / autoFocus plus the 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.tsxcurrent + legacy rows exist, but the source diff is still materially rewritten (0.234 similarity, 77 diff lines)open
editable-voidssite/examples/ts/editable-voids.tsxthe source is now much closer than before (0.568 similarity, 194 diff lines), but the current proof only closes the restored shell/insertion lane, not the full legacy embedded-form interaction storymixed
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; remaining drift is limited to the current EditableBlocks surface replacing legacy Editable; 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.tsxbenchmark-owned parity owner via bench:replacement:huge-document:local and bench:replacement:huge-document:overlays:localextended benchmark-owned parity row
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), but current proof only closes the restored shell, not the full prompt/delete interaction lanemixed
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), but current proof still has one red explicit-formatting rowmixed
plaintextsite/examples/ts/plaintext.tsxcurrent + legacy rows exist, but the source diff still reads materially rewritten (0.322 similarity, 42 diff lines)open
read-onlysite/examples/ts/read-only.tsxcurrent + legacy rows exist, but the source diff still reads materially rewritten (0.301 similarity, 42 diff lines)open
richtextsite/examples/ts/richtext.tsxsource now reads close to legacy (0.874 similarity, 225 diff lines), but current proof still has red multi-block transform rowsmixed
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 the current EditableBlocks surface gap (spellCheck / autoFocus) plus current type/module syntaxupgraded back to recovered
custom-placeholderstill materially rewritten in diffinvalidated back to open
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
plaintextstill materially rewritten in diffinvalidated back to open
read-onlystill materially rewritten in diffinvalidated back to open
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, but proof still incompletemixed
richtextnow source-close, but proof still incompletemixed
search-highlightingcontinuation batch restored the legacy search/decorate shape and green highlight proofupgraded to recovered
editable-voidsnow much closer in diff, but proof still incompletemixed
imagesnow much closer in diff, but proof still incompletemixed

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 benchmark-owned row, not a same-shape source target
  • check-lists: 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
  • 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, but still needs explicit example-parity classification
huge-document.test.tsbenchmark lanesexplicit cut in deletion closure, but still needs explicit example-parity sign-off

Current-Only TS Example Surfaces

These are rewrite unlocks or split-out proof surfaces and need explicit extended, mixed, explicit cut, or open classification:

  • android-empty-rebuild
  • android-remove-range
  • android-special-structural
  • android-split-join
  • check-list-unit-rich-inline
  • complex-list-units-rich-inline
  • deep-wrapper-rich-inline
  • drag-drop-cleanup
  • external-decoration-sources
  • firefox-nested-editable-focus
  • highlighted-text
  • inline-edge
  • links
  • list-rich-inline
  • list-unit-quote-rich-inline
  • list-unit-rich-inline
  • mark-placeholder
  • mixed-inline
  • mixed-inline-multiblock
  • multi-block-complex-list-units-rich-inline
  • nested-complex-list-units-rich-inline
  • nested-list-rich-inline
  • nested-list-unit-quote-rich-inline
  • nested-list-unit-rich-inline
  • nested-mixed-inline
  • nested-multi-block-complex-list-units-rich-inline
  • nested-quote
  • nested-rich-inline
  • ordered-list-unit-rich-inline
  • persistent-annotation-anchors
  • placeholder
  • placeholder-no-feff
  • review-comments
  • rich-inline
  • table-multi-range-firefox
  • void-edge
  • zero-width-matrix

Current-Only Browser / Proof Surfaces

These are current-only Playwright/proof surfaces and also need explicit classification instead of being left as ambient drift:

  • firefox-direct-ime
  • ime-proxy
  • inline-edge-ime
  • placeholder-ime
  • replacement-compatibility
  • void-edge-ime
  • webkit-direct-ime-ceiling

Next Recovery Batch

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

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