diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-29 04:58:29 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-29 04:58:29 +0800 |
| commit | fd40d78fd7506a95f0c5ad3295adfeb0a636e815 (patch) | |
| tree | a948f264a7924e52d804d12735c66ed2cb529b6d /docs/evidence/p61-verification.txt | |
| parent | f274ed8c920bbea383a4bf0e2ffe1219f7fe30b5 (diff) | |
| download | living-village-fd40d78fd7506a95f0c5ad3295adfeb0a636e815.tar.gz | |
p61: G1 字形图集补齐 16 个 UI 用字(红→绿),中文界面完整
红:新增 src/LivingVillage.Desktop.Tests/P61GlyphCoverageTests.fs——扫描 Desktop 源码
字符串字面量内的全部 CJK 字,断言 100% 在 CjkGlyphAtlas 内;并逐字钉 G1 缺的
16 字(冬包卷品夏料春玩秋第背车轴页香鱼)、requiredUiLabels、以及运行期文案
(日历「春·第1天」/页脚「第 1/3 页…翻页」/「V 卖出 背包物品×1」/鱼卷轴香料玩车回)。
实现前实测 3 失败:缺字形 16。
绿:向 CjkGlyphAtlas.characterTable 补入 16 字(保持有序、去重),同步
Assets/cjk-glyphs.txt,并跑 scripts/generate-cjk-glyph-atlas.sh 用既有 Noto Sans CJK
重生成预生成 PNG:384x504(16x21 格,+16 字),16 个新字格均有真实字体墨迹
(ink_px 148-233,非程序几何伪字形)。更新 PrototypeTests 的图集几何常量
(307→323、rowCount 20→21、pixelHeight 480→504)。
证据:LV_P61_SHOT=1 拍 2 帧(p61-calendar 右上日历「春 · 第1天」;p61-dialog-footer
真实 Interact 开对话,页脚「第 1/3 页…翻页」+ 选项「V 卖出 背包物品×1」)。
analyze(p61-analysis.txt):缺字空白位=0、黑块=0、白块=0/2;全部抽检文案
missing_glyph_slots=0。钩子为 Game.fs 纯追加(53 行,0 删除),未动 HUD 结构。
回归(p61-verification.txt):Desktop 308/308(+4 P61)+ Kernel 119/119;
--performance-baseline ×3 digest 953775FAEB2F… 不变,determinism PASS。
未改 Kernel/Sim,未引外部素材(沿用既有 Noto 字体来源),未 push。
Diffstat (limited to 'docs/evidence/p61-verification.txt')
| -rw-r--r-- | docs/evidence/p61-verification.txt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/docs/evidence/p61-verification.txt b/docs/evidence/p61-verification.txt new file mode 100644 index 0000000..601c4b2 --- /dev/null +++ b/docs/evidence/p61-verification.txt @@ -0,0 +1,30 @@ +P61 验证日志 2026-09-28T20:57:47Z commit=f274ed8 + +## RED(实现前)dotnet test --filter P61GlyphCoverageTests +失败! - 失败: 3,通过: 1 + AllSourceChineseLiteralsHaveAtlasGlyphs: 缺字形 16 个: 冬包卷品夏料春玩秋第背车轴页香鱼 + G1MissingCharsAreNowInAtlas: 未入图集 16 + CalendarAndFooterAndItemCopyAreAtlasBacked: 春夏秋冬第页背包品鱼卷轴香料玩车 + +## GREEN(实现后) +已通过! - 失败: 0,通过: 4,已跳过: 0,总计: 4,持续时间: 124 ms - LivingVillage.Desktop.Tests.dll (net8.0) + +## 全量 Release 测试 +已通过! - 失败: 0,通过: 308,已跳过: 0,总计: 308,持续时间: 5 s - LivingVillage.Desktop.Tests.dll (net8.0) +已通过! - 失败: 0,通过: 119,已跳过: 0,总计: 119,持续时间: 10 s - LivingVillage.Kernel.Tests.dll (net8.0) + +## 字形图集 +runtime_glyphs=323 (was 307, +16) +atlas=384x504 (16x21 cells @24px), manifest lines=323 +new_glyph_cells_with_ink: 冬181 包190 卷229 品197 夏211 料199 春232 玩186 秋212 第233 背216 车148 轴214 页171 香221 鱼191 + +## --performance-baseline x3 +performance_sample repetition=1 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=13531906 stopwatch_frequency=1000000000 elapsed_seconds=0.013531906 ticks_per_second=443396.518 allocated_bytes=3032344 gen0=0 gen1=0 gen2=0 final_tick=6120 final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C runtime=.NET 8.0.31 runtime_version=8.0.31 +performance_determinism=PASS +--- +performance_sample repetition=1 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=13256147 stopwatch_frequency=1000000000 elapsed_seconds=0.013256147 ticks_per_second=452620.207 allocated_bytes=3032344 gen0=0 gen1=0 gen2=0 final_tick=6120 final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C runtime=.NET 8.0.31 runtime_version=8.0.31 +performance_determinism=PASS +--- +performance_sample repetition=1 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=13373789 stopwatch_frequency=1000000000 elapsed_seconds=0.013373789 ticks_per_second=448638.752 allocated_bytes=3032344 gen0=0 gen1=0 gen2=0 final_tick=6120 final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C runtime=.NET 8.0.31 runtime_version=8.0.31 +performance_determinism=PASS +--- |
