将位图字体从 RGBA8888 atlas 改为 1-bit mask,避免继续为字体存储无效颜色信息。 生成端现在按 row-major、MSB-first 将 8 个像素打包进 1 个 uint8_t;运行时由 draw_text 提供目标颜色,并在 DrawContext 中直接把 bit=1 的像素写入 RGB565 framebuffer。同步补充了回归测试与文档,确保颜色替换、背景填充和裁剪语义保持稳定。 Constraint: 本次只收口字体路径,不改 sprite/tilemap 资源格式 Constraint: 运行时保持纯二值绘制语义,不引入 alpha blending 或抗锯齿 Rejected: 继续兼容 RGBA8888 字体输入 | 会保留双路径复杂度且无实际收益 Confidence: high Scope-risk: moderate Reversibility: clean Directive: 后续字体资源必须继续使用 row-major + MSB-first 的 1-bit mask;修改位序前先同步生成脚本、运行时读取和测试 Tested: cmake --build build-win --config Release Tested: build-win/Release/render_pipeline_tests.exe Tested: ctest -C Release --output-on-failure Tested: font_atlas_mask 字节数校验(2808 == ceil(208*108/8)) Not-tested: Demo/设备上的人工目视文字显示效果 |
||
|---|---|---|
| .. | ||
| APP_AND_CORE_ARCHITECTURE.md | ||
| CONVENTIONS.md | ||
| DEVELOPMENT_GUIDELINES.md | ||