diff options
Diffstat (limited to 'docs/维护说明.md')
| -rw-r--r-- | docs/维护说明.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/维护说明.md b/docs/维护说明.md index 96dcecd..c095914 100644 --- a/docs/维护说明.md +++ b/docs/维护说明.md @@ -1073,3 +1073,39 @@ late pass),故「灯笼光晕 + 水面」以生成器夜帧为准,「炊� ``` - 范围:本单只接入基础地块与一类角色;动画全套 / 全村 / 中式元素补绘留待后续切片。 + +## P34 素材扩展切片(水面 / 屋顶 / 墙体 / 栏杆) + +在 P33 竖直切片之上,把样例村庄更多表面/构件从程序几何切到真像素素材,延续 `LV_ASSET_PACK=cc0` +开关与程序绘制 fallback。来源/许可/自绘清单见 `docs/素材来源.md`。 + +- 图集扩展:`Assets/cc0-tiles.png` 由 128x32(4 格)扩到 **384x32(12 格)**。0-3 格仍为 + Kenney Tiny Farm 地面(整数 2x);4-11 格为**自绘**构件(Kenney 农场包无水面/屋顶/墙/栏杆): + `4 water A / 5 water B / 6 roof ridge / 7 roof eave / 8 wall wood / 9 wall window / 10 railing / 11 door`。 +- 构建:`python3 scripts/make-cc0-art.py`(确定性,二次运行 byte-identical)。 +- 水面:自绘 **2 相位**,`cc0WaterTileIndexAt tick x y = (tick/32 + x + 2y) mod 2`,单帧内沿河 + 同时出现两相位;河道与水田/水网(生成器 `code=4`)共用。江南 fallback 仍是 3 相位。 +- 屋顶 / 墙体 / 门:样例民居在 cc0 模式下用 6/7/8/9/11 格;桥面用 10 格栏杆;其余道具仍走 + 江南图集。 +- 断言:`src/LivingVillage.Desktop.Tests/AssetPackTests.fs` 更新图集尺寸(12 格)与整数缩放, + 并新增「构件索引都在图集内 + 单帧覆盖两水相位」用例。 +- 证据(`docs/evidence/`,`git add -f`;`check-no-white-blocks.py` 5 帧 0 命中): + - `p34-realassets-day.png` / `p34-realassets-night.png`:样例村庄真实素材昼 / 夜整帧 1280x720。 + - `p34-realassets-closeup-2x.png`:民居屋顶/白墙/桥栏杆/水面 2x NEAREST(青灰瓦 (52,58,72)、 + 白墙 (234,228,212)、木栏杆 (112,74,46)、水面 (54,110,170) 均在场)。 + - `p34-water-2x.png`:河面 2x 特写(同帧可见两相位波纹)。 + - `p34-baseline-day.png`:同场景程序绘制 fallback 对照。 +- 复现: + + ```bash + DLL=src/LivingVillage.Desktop/bin/Release/net8.0/LivingVillage.Desktop.dll + for h in 12.0 23.5; do + tag=day; [ "$h" = 23.5 ] && tag=night + timeout 20 xvfb-run -a -s "-screen 0 1280x720x24" env LV_AUTOPLAY_SAMPLE=1 \ + LV_AUTOPLAY_RECORD=1 LV_AUTOPLAY_START_HOUR=$h LV_RECORD_EVERY=5 \ + LV_RECORD_NAME=p34-$tag- LV_ASSET_PACK=cc0 \ + LV_RECORD_DIR=/tmp/opencode/lv-p34-evidence/$tag dotnet "$DLL" + done + ``` + +- 范围:仍为切片,不做全村;动画全套与更多中式元素补绘留待后续。 |
