mdview2: add render-cache markdown viewer (Phases 0-4)

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>
This commit is contained in:
2026-06-23 22:41:32 +03:00
parent 1b39a60ff0
commit eab5a2d6ac
6 changed files with 3034 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
# Build winrest.exe — probes ESTEX WINCOPY/WINREST buffer format, TINY mode.
PROJ_ROOT := $(abspath $(CURDIR)/../..)
EXAMPLE := winrest
include $(PROJ_ROOT)/app.mk