fix(wilderness): 修复 pack-act-assets 漏传 dt1Libraries 及 wilderness 自动贴图跨章节污染 #113
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景与问题描述
在 #111 全地图走查中,发现大量野外关卡出现严重地表穿孔与黑色网格空洞:
根因剖析 (1.13c 对比)
scripts/pack-act-assets.ts:1677在调用generateWilderness(profile, seed, undefined)时漏传了dt1Libraries参数。src/game/wilderness.ts中:isTileAvailable中的availableTiles.size === 0,导致其直接回退返回true(恒真);applyGroundTransitions(Issue #70 引入的自动边缘过渡算法) 内部硬编码了针对 Act 1 的查找表(style: 0泥路,style: 2水流);isTileAvailable失去约束,算法强行将 Act 1 的泥路与水流转接瓦片涂抹到了沙漠、雪地与台地边缘上;修复要求
scripts/pack-act-assets.ts中调用generateWilderness时补全传入dt1Libraries: resolvedLibraries。src/game/wilderness.ts中的applyGroundTransitions:isTileAvailable的空库防错逻辑;tests/wilderness-ground-blend.test.ts及相关测试全过。npm run typecheck、npx vitest run。关联主 Issue: #111
修复完成并已合并至 main
985d85ebb04feba8d498faab1fe370f996a11496(Merge:0535a63之前合入)scripts/pack-act-assets.ts中调用generateWilderness漏传dt1Libraries的参数缺失缺陷。src/game/wilderness.ts中isTileAvailable在 libraries 为空时的无条件放行逻辑。applyGroundTransitions(auto-tiling LUT):在应用道路及水面过渡贴图前严格校验isTileAvailable,杜绝 Act 1 过渡贴图在沙漠(Desert 3)、高地(Mesa 1)、雪山堡垒(Barricade 2 / Snow)等跨章节场景中被错误强行引入导致的数百处 missingTile 报错。npm run typecheck0 errors,全量vitest run测试通过。