- Extract the shared markdown renderer/theme out of TextParticleView into
a reusable MarkdownBody component (DRY).
- PaperParticleView renders desktop-authored documents (title + markdown)
with a length-based dwell.
- FileParticleView shows name/size and a Download action that opens a
signed URL via the OS.
- Both wired into StreamView's render switch; FallbackParticleView is now a
true catch-all for unknown/folder types only.
Deferred (documented for a follow-up phase): composing papers/files from
mobile, particle attachments + lightbox, and link previews in text.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01LqGPzXQ1AA9CqYHgCgmbtV