## Context src/renderer/plugins/math.tsx (166 LOC, KaTeX block + inline) becomes a satellite consuming the markdown renderer extension points. ## Acceptance criteria - [ ] Repo from plugin-template; npm `@dripnex/plugin-math`; runtime id `dripnex-math` - [ ] Uses ONLY @dripnex/plugin-api (markdown.registerBlockRenderer for ```math fences + inline renderer) — CI boundary enforced - [ ] Desktop preinstalls it via PluginRegistry; hardcoded math.tsx deleted - [ ] Toggleable in settings; math still renders identically (visual check + e2e block-render assertion) ## Depends on Markdown extension points + publish pipeline (Q1).
Context
src/renderer/plugins/math.tsx (166 LOC, KaTeX block + inline) becomes a satellite consuming the markdown renderer extension points.
Acceptance criteria
@dripnex/plugin-math; runtime iddripnex-mathDepends on
Markdown extension points + publish pipeline (Q1).