Replace the two-engine setup (MDXEditor for editing + react-markdown for
display) with a single Crepe-based component used for both. Editing is inline
WYSIWYG with full GFM that actually works — task lists, tables, and code
blocks via type-to-create / the slash menu — and read-only mode renders the
exact same way, so write and read can no longer drift (the root cause of the
heading/list/table/checkbox bugs).
- markdown-editor.tsx: Crepe wrapper supporting edit + readOnly, themed to the
glass card via --crepe-* variable overrides (scoped to .milkdown so they win
over frame-dark's own definitions).
- text-particle-view.tsx: render the message card with the read-only editor;
drop the react-markdown component map.
- Remove now-unused deps: @mdxeditor/editor, react-markdown, remark-gfm,
rehype-highlight, highlight.js.
The compose immersive mode (short, centered plain text) is unchanged.
https://claude.ai/code/session_019DU6V5z6Nr4Vu7b1fBDnq4