diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-22 01:21:46 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-22 01:21:46 +0800 |
| commit | a67e9262caca67f1078f77ed2f274a46e284c6c8 (patch) | |
| tree | 5c68b39069fb3c7a8fc73b1f9f27b0bda0c16df4 /docs/维护说明.md | |
| parent | 8fad58bd62155da653251ab7457cd54ebba0b279 (diff) | |
| download | living-village-a67e9262caca67f1078f77ed2f274a46e284c6c8.tar.gz | |
fix(desktop): P17-FIX 起时钩子在 sample/autoplay 路径生效(resolveStartTick 纯函数 + 回归 + 重拍证据)
Diffstat (limited to 'docs/维护说明.md')
| -rw-r--r-- | docs/维护说明.md | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/docs/维护说明.md b/docs/维护说明.md index 024248f..3e055c3 100644 --- a/docs/维护说明.md +++ b/docs/维护说明.md @@ -188,10 +188,19 @@ dotnet src/LivingVillage.Headless/bin/Release/net8.0/LivingVillage.Headless.dll 1,正午/午夜 0)驱动 `backgroundAtWarmth/worldTintAtWarmth`,`M6RenderProfile` 增 `SkyWarmth`。 - ④回归:更新/新增确定性测试(行走节奏、光照锚点与暖色、图集 28 格与 PNG 尺寸、证据起时纯函数); Desktop 107 / Kernel 89 全绿(未触碰 Kernel/Sim.fs 数值路径)。 -- ⑤证据:`/tmp/opencode/lv-p17-art/`(`p17-day-0{1,2}.png`、`p17-dusk-0{1,2}.png`、`p17-night-0{1,2}.png`、 - `p17-diff-before-dawn.png` vs `p17-diff-after-dawn.png`(同一 6:00 tick,P17 前/后各 1 帧)、`sample.mp4` - 13.1 s);`check-no-white-blocks.py` 对所选 6 帧 0 命中。起时用新增环境钩子 `LV_AUTOPLAY_START_HOUR` - (纯函数 `M6Presentation.startTickForHour`,桌面演示专用,不进 Kernel)。 +- ⑤证据:`/tmp/opencode/lv-p17-art/`(`p17-day-12h-0{1,2}.png`、`p17-dusk-20h45-0{1,2}.png`、 + `p17-night-00h-0{1,2}.png`、`p17-diff-before-dawn.png` vs `p17-diff-after-dawn.png`(同一 6:00 tick, + P17 前/后各 1 帧)、`sample.mp4` 13.1 s);`check-no-white-blocks.py` 对所选 6 帧 0 命中。起时用新增 + 环境钩子 `LV_AUTOPLAY_START_HOUR`(纯函数 `M6Presentation.startTickForHour`,桌面演示专用,不进 Kernel)。 +- ⑥(P17-FIX 起时钩子修复)旧 `p17-day-0{1,2}` / `p17-dusk-0{1,2}` 帧的钩子在 sample/autoplay 取证路径下 + 失效:`StartNewGame` 重新创建世界时按 `daylightAutoplay` 把 Tick 重设为 0/6:00,覆盖了 + `createInitialWorld` 设好的值,导致黄昏/昼取证实际全为「夜晚 00:00」,P17 光照精修未被真实帧展示。 + 修复:抽纯函数 `M6Presentation.resolveStartTick (startHour option) (startAtDaylight)`(显式小时优先, + 否则 daylight 6:00,否则 0),`createInitialWorld` 与 `StartNewGame` 统一经 `evidenceStartTick`/`withStartTick` + 取同一 startTick(占位/任务日一致),`new-game=ok` 日志追加 `tick=` 便于机器核验;非取证人工路径不受影响。 + 回归:`StartTickResolutionHonoursEvidenceHourThenDaylightThenMidnight`(Desktop 107→108), + 实测 `tick`:昼 12.0→2,592,000、黄昏 20.75→4,482,000、夜 0→0,`sample.mp4` 为黄昏 20:45。 + 以上新文件名(`p17-day-12h-*` / `p17-dusk-20h45-*` / `p17-night-00h-*`)为准,旧名作废。 - 门槛:clean rebuild 0 警告 0 错误;`final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C` 一致、`performance_determinism=PASS`。 @@ -228,10 +237,10 @@ timeout 90 xvfb-run -a -s "-screen 0 1280x720x24" env \ dotnet src/LivingVillage.Desktop/bin/Release/net8.0/LivingVillage.Desktop.dll # P17 取证(街边细节/人物节奏/昼夜精修;LV_AUTOPLAY_START_HOUR 定起时:昼 12 / 黄昏 20.75 / 夜 0) -for spec in "day 12.0" "dusk 20.75" "night 0.0"; do set -- $spec; \ +for pair in day:12.0 dusk:20.75 night:0.0; do name=${pair%%:*}; hour=${pair##*:}; \ timeout 100 xvfb-run -a -s "-screen 0 1280x720x24" env LV_AUTOPLAY_SAMPLE=1 \ - LV_AUTOPLAY_START_HOUR=$2 LV_AUTOPLAY_RECORD=1 \ - LV_RECORD_DIR=/tmp/opencode/lv-p17-art/$1 LV_RECORD_EVERY=2 \ + LV_AUTOPLAY_START_HOUR=$hour LV_AUTOPLAY_RECORD=1 \ + LV_RECORD_DIR=/tmp/opencode/lv-p17-art/$name LV_RECORD_EVERY=2 \ dotnet src/LivingVillage.Desktop/bin/Release/net8.0/LivingVillage.Desktop.dll; done # 街边细节图集再生成(确定性,二次运行 byte-identical) python3 scripts/make-jiangnan-art.py @@ -266,8 +275,9 @@ python3 scripts/check-no-white-blocks.py evidence/night-run - `/tmp/opencode/lv-p13/evidence/`(P13:`walk-idle-frames.png`、`water-3phase.png`、 `smoke-3phase.png`、`water-2frame.png`、`smoke-2frame.png`、`day-panorama.png`、 `night-lantern.png`、`day-night-compare.png`、`walk-real-run.png`、`day-run/`、`night-run/`) -- `/tmp/opencode/lv-p17-art/`(P17:`p17-day-0{1,2}.png`、`p17-dusk-0{1,2}.png`、`p17-night-0{1,2}.png`、 - `p17-diff-before-dawn.png`/`p17-diff-after-dawn.png`、`sample.mp4`;同一份拷入 `evidence/`) +- `/tmp/opencode/lv-p17-art/`(P17:`p17-day-12h-0{1,2}.png`、`p17-dusk-20h45-0{1,2}.png`、 + `p17-night-00h-0{1,2}.png`、`p17-diff-before-dawn.png`/`p17-diff-after-dawn.png`、`sample.mp4`; + 同一份拷入 `evidence/`) - `/tmp/opencode/lv-p16-art/`(P16:`frame-day-0{1,2,3}.png`、`frame-night-0{1,2,3}.png`、 `frame-splash-01.png`、`frame-menu-0{1,2}.png`、`hud-bar-day.png`、`hud-bar-night.png`、 `sample.mp4`、`final_verification.txt`;沙箱不允许 `/tmp/lv-p16-art`,故落此路径) |
