summaryrefslogtreecommitdiff
path: root/docs/evidence/p60-verification.txt
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-29 04:36:27 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-29 04:36:27 +0800
commit3a76bb5691a44d0b47cfb0abe332f1fe79c98a30 (patch)
treeaede2761514622f65e42ddfa3d9d2c6a256a67bb /docs/evidence/p60-verification.txt
parentf22fe938b8e15fd88b87b47a38952b7ce47105ad (diff)
downloadliving-village-3a76bb5691a44d0b47cfb0abe332f1fe79c98a30.tar.gz
p60: 江南可玩样板端到端盘点与缺口证据(只盘点,零代码改动)
入口:仓内不存在 LV_DEBUGGAME;用真实游戏内钩子驱动同一 Game 循环取证 (LV_P46_SHOT 启动/菜单、LV_P44_SHOT 白天 NPC 对话、LV_P39_SHOT 夜晚石灯笼、 LV_P53_REC 提示-交互-关闭短帧链),复制为 docs/evidence/p60-*.png 共 7 帧。 盘点结论(docs/evidence/p60-inventory.md): - 已完成:桥/河/岸/石板路/植物、村民四向动画、昼夜光照、提示-交互-关闭链、玩家与可区分村民。 - 部分完成:① 民居可进入——功能与测试齐备(Interaction.fs:400-424、Game.fs:2688-2690、 PrototypeTests/P36PromptTests/SampleTests),但无内景游戏截图;② 中文界面——字形图集 (CjkGlyphAtlas.characterTable,307 字)缺 16 个 UI 用字:冬包卷品夏料春玩秋第背车轴页香鱼, 缺字被置空(Game.fs:73-92),影响右上日历「春夏秋冬·第N天」、对话页脚「第…页」、 背包/交易/物品名/回车提示等。 帧分析(p60-analysis.txt):黑块 0、白块 0/7 failures、字面豆腐块 0; 对话 rect (190,558,900,138),提示 rect (598,288,52,26) 且 paint 44.55 / restore 0.00(P53 PASS)。 缺口分层:阻塞确认门 = 缺字 16(G1)、民居内景无截图(G2)、逐帧 vision 自审未执行(G3, 本 writer 模型无图像输入且环境无 OCR/vision CLI/凭据);不阻塞 = 长视野成本留档(G4)、 复用钩子非单一入口(G5)。均只给最小整改建议,未修。 回归(p60-verification.txt):Desktop 304/304 + Kernel 119/119; --performance-baseline ×3 digest 953775FAEB2F… 不变,determinism PASS。未 push。
Diffstat (limited to 'docs/evidence/p60-verification.txt')
-rw-r--r--docs/evidence/p60-verification.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/docs/evidence/p60-verification.txt b/docs/evidence/p60-verification.txt
new file mode 100644
index 0000000..8cae863
--- /dev/null
+++ b/docs/evidence/p60-verification.txt
@@ -0,0 +1,24 @@
+P60 验证日志 2026-09-28T20:35:42Z commit=f22fe93
+
+## dotnet test LivingVillage.sln -c Release --no-build
+/home/somhairle/projects/living-village/src/LivingVillage.Kernel.Tests/bin/Release/net8.0/LivingVillage.Kernel.Tests.dll (.NETCoreApp,Version=v8.0)的测试运行
+/home/somhairle/projects/living-village/src/LivingVillage.Desktop.Tests/bin/Release/net8.0/LivingVillage.Desktop.Tests.dll (.NETCoreApp,Version=v8.0)的测试运行
+已通过! - 失败: 0,通过: 304,已跳过: 0,总计: 304,持续时间: 5 s - LivingVillage.Desktop.Tests.dll (net8.0)
+已通过! - 失败: 0,通过: 119,已跳过: 0,总计: 119,持续时间: 10 s - LivingVillage.Kernel.Tests.dll (net8.0)
+
+## --performance-baseline x3 (pin 953775FAEB2F…)
+performance_sample repetition=1 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=13194435 stopwatch_frequency=1000000000 elapsed_seconds=0.013194435 ticks_per_second=454737.168 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_sample repetition=2 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=7861227 stopwatch_frequency=1000000000 elapsed_seconds=0.007861227 ticks_per_second=763239.632 allocated_bytes=3032104 gen0=0 gen1=0 gen2=0 final_tick=6120 final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C runtime=.NET 8.0.31 runtime_version=8.0.31
+performance_sample repetition=3 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=5732608 stopwatch_frequency=1000000000 elapsed_seconds=0.005732608 ticks_per_second=1046644.041 allocated_bytes=3032104 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=13150232 stopwatch_frequency=1000000000 elapsed_seconds=0.013150232 ticks_per_second=456265.715 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_sample repetition=2 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=8211585 stopwatch_frequency=1000000000 elapsed_seconds=0.008211585 ticks_per_second=730675.016 allocated_bytes=3032104 gen0=0 gen1=0 gen2=0 final_tick=6120 final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C runtime=.NET 8.0.31 runtime_version=8.0.31
+performance_sample repetition=3 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=6088086 stopwatch_frequency=1000000000 elapsed_seconds=0.006088086 ticks_per_second=985531.413 allocated_bytes=3032104 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=12936091 stopwatch_frequency=1000000000 elapsed_seconds=0.012936091 ticks_per_second=463818.630 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_sample repetition=2 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=7744118 stopwatch_frequency=1000000000 elapsed_seconds=0.007744118 ticks_per_second=774781.583 allocated_bytes=3032104 gen0=0 gen1=0 gen2=0 final_tick=6120 final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C runtime=.NET 8.0.31 runtime_version=8.0.31
+performance_sample repetition=3 seed=42 npc_count=4 warmup_ticks=120 measure_ticks=6000 elapsed_stopwatch_ticks=5896266 stopwatch_frequency=1000000000 elapsed_seconds=0.005896266 ticks_per_second=1017593.168 allocated_bytes=3032104 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
+---