eab5a2d6ac
New examples/mdview2 — render-cache version of mdview: each logical line is rendered into an EMM (char,attr) buffer once during file load (interleaved with index_lines()), then scrolling draws straight from the cache via ESTEX WINREST, with no re-parsing or fb() access in the steady state. Horizontal scroll still uses the old live-render path (Phase 5, not yet migrated). Format and budget were derisked empirically first (tests/winrest): confirmed ESTEX WINCOPY/WINREST buffer layout and measured EMM free space, both folded into the implementation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>