Back to Plate

Non React Coverage Roadmap Phase 2

docs/plans/2026-03-24-non-react-coverage-roadmap-phase-2.md

53.0.54.0 KB
Original Source

Non React Coverage Roadmap Phase 2

Goal

Freeze the last worthwhile non-React cleanup batch so future passes stop re-ranking the same leftovers and just burn down the queue.

Lock Rules

Execution Policy

  • Finish Tier 1 in order.
  • Do Tier 2 only if we still want more non-React work after Tier 1.
  • After Tier 2, stop non-React coverage and move on.

Tier 1: Execute Now

  1. [done] 7 htmlDeserializerCodeBlock.ts
  2. [done] 7 HtmlPlugin.ts
  3. [done] 7 htmlStringToEditorDOM.ts
  4. [done] 6 pluginRenderTextStatic.tsx
  5. [done] 6 ParserPlugin.ts
  6. [done] 6 pipeDecorate.ts
  7. [done] 6 BaseExcalidrawPlugin.ts
  8. [done] 6 ViewPlugin.ts

Tier 2: Still Worth Doing

  1. [done] 5 getSelectedDomFragment.tsx
  2. [done] 5 pluginRenderLeafStatic.tsx
  3. [done] 5 withScrolling.ts
  4. [done] 5 pluginRenderElementStatic.tsx
  5. [done] 5 onDropNode.ts
  6. [done] 5 htmlElementToLeaf.ts
  7. [done] 5 AstPlugin.ts
  8. [done] 5 upsertLink.ts
  9. [done] 5 convertNodesSerialize.ts

Deferred By Design

  • [deferred] 5 isEditOnlyDisabled.ts Reason: one-line partial gap. Not worth a dedicated trip unless a nearby Tier 1 spec naturally closes it.
  • [deferred] 5 pipeInjectNodeProps.tsx Reason: same story. Tiny leftover, not a real phase driver.
  • [deferred] 4 html-to-docx.ts Reason: giant serializer sludge. Bad ROI for the last non-React pass.
  • [deferred] 4 font-table.ts Reason: schema boilerplate.
  • [deferred] 4 content-types.ts Reason: schema boilerplate.
  • [deferred] 4 focus.ts Reason: DOM-ish utility crumb. Save it for a DOM-focused phase if it ever matters.
  • [deferred] 4 useRecordHotkeys.ts Reason: not in /react, but still close enough to React-side behavior that it can wait for the React phase.
  • [deferred] 4 AutoformatPlugin.ts Reason: small partial gap only. Not worth pulling ahead of the stricter queue.

Update Rule

  • When a file gets direct tests, flip it to [done].
  • When a file proves to be fake ROI, flip it to [deferred] with a reason.
  • When a file disappears, flip it to [removed].
  • Do not reshuffle the queue because a fresh pass had a new vibe.