From 34de72680f61cc502d5188735efcdaa254de676a Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Tue, 21 Jul 2026 11:42:08 -0400 Subject: [PATCH] fix(display): use deterministic X3 LUT classification --- ISSUES.md | 4 +--- third_party/qemu | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ISSUES.md b/ISSUES.md index 5ea9189..989e0a8 100644 --- a/ISSUES.md +++ b/ISSUES.md @@ -16,9 +16,7 @@ Worked around by forcing store-containing TBs to TCI (`wasm_tci_only_tb = true` ## Resolved: reader grayscale rendered inverted and muddled -The reader drew a crisp BW page, then a 4-level grayscale antialiasing pass (inverted plane polarity, near-empty planes) that the old model rendered as a full frame, wiping the page to an inverted muddle. The `xteink_x3_eink` model now keeps a persistent surface, detects grayscale vs BW by DTM2's set-fraction, and treats grayscale level 0 as no-drive (keep pixel) so only antialiased edges repaint over the retained BW page. Reader text renders sharp on native and wasm. - -Ceiling: the BW-vs-grayscale detector assumes the background is the white pixel majority, so a genuinely mostly-black BW frame would flip. Upgrade path: decode the loaded LUT directly. +The reader drew a crisp BW page, then a 4-level grayscale antialiasing pass (inverted plane polarity, near-empty planes) that the old model rendered as a full frame, wiping the page to an inverted muddle. The `xteink_x3_eink` model now keeps a persistent surface, identifies known BW and grayscale modes by exact comparison of the complete loaded LUT bank, and treats grayscale level 0 as no-drive (keep pixel) so only antialiased edges repaint over the retained BW page. Unknown LUTs are logged and skipped instead of guessed from pixel content. Reader text renders sharp on native and wasm. ## Cold boot requires a manual power-button hold diff --git a/third_party/qemu b/third_party/qemu index e6ed782..cbeba3f 160000 --- a/third_party/qemu +++ b/third_party/qemu @@ -1 +1 @@ -Subproject commit e6ed78243d69ec79677c037614ca76918cebcfc3 +Subproject commit cbeba3fbe9acc47e4c62334b698998af0c7f3344