develop
fix(muya): stop arrow nav from crashing on null cursor coords (#4480)
fix(muya): insertParagraph immediate-block anchoring in nested blocks (PG13) (#4408)
chore: audit Claude-authored comments against the commenting guidelines (#4740)
fix: paragraph menu / command palette parity (focus, list unwrap, shortcut symbols) (#4504)
feat(muya): implement focus mode (dim inactive blocks) (#4389)
feat(muya): emit format-click and preview-image interaction events (#4390)
refactor(muya): decouple engine/block layers from src/ui plugin internals (#4587)
refactor(muya): rename selection enum members to UPPER_SNAKE_CASE (#4531)
fix(muya): show and slug TOC headings by rendered plain text (#3516) (#4811)
test(muya): de-flake heading-locale + backspace regression specs (#4434 review) (#4436)
fix(muya): escape parentheses in inserted image paths so they don't truncate (#3060) (#4728)
test(muya): backfill engine unit coverage for post-migration gaps (#4589)
feat(muya): add invalidateImageCache (#4396)
test(muya): backfill engine-unit coverage for audited gaps (#4508)
refactor(muya): rework the selection type surface (#4512)
fix(muya): destroy UI plugins on Muya.destroy() to avoid leaking DOM nodes (#3315) (#4659)
feat(muya): add spellcheck word-replacement API (#4392)
fix(editor): keep spelling suggestions when "no underline" is enabled (#4584)