[性能] 渲染主循环掉到 20 tps:零视口剔除(88.6% 白画)+ 图集页切换导致单帧最高 3077 次 draw call
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)
追加:NPC 有立绘时不再叠加绿色占位方块
上一条修复把城镇 NPC 从 103 补到 889 之后暴露出一个渲染层面的旧问题:罗格营地一个分区会出现 19…
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)
追加修复:城镇 NPC 大面积缺失(罗格营地只显示凯恩)
现象
罗格营地只渲染出德卡·凯恩一人,瓦瑞夫、查希、卡夏、阿卡拉、基德以及罗格…
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)
[地图生成/野外] 奶牛关(Moo Moo Farm / Level 39)内部景观缺失:退化为纯平地草坪,缺少牛圈 Corral、营地与水塘等专属预设
[Code Review] 整体代码质量、架构缺陷与技术债务全景审查报告
[Code Review] 整体代码质量、架构缺陷与技术债务全景审查报告
已处理 — 代码审查母议题
本议题点出的三个其他议题未覆盖的实质缺陷已全部修复(提交以 refs #7 标注):
- **锁步
StateHash遗漏背包 /…
[代码质量/鲁棒性] 底层二进制解码过度依赖非空断言 !:缺失防御性越界校验与异常统一
已修复 — 边界检查读取器与领域错误 (a6ca337 → f52edd8)
新增 src/formats/reader.ts:FormatError / TruncatedDataError / InvalidFieldError 错误层次 + ByteReader…
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)
已修复 —
已修复 — feat(scene): 衔接 NPC 数据至引擎层及交互面板验证 (7d8629c)
- 新增
src/game/npc.ts:token → 显示名解析(DC→Deckard Cain、JE→Jerhyn、HR→…
[架构重构] 场景系统架构割裂:抽离统一游戏世界领域层,消除 map-scene 沙盒与 act-scene 大地图割裂
已修复 — 抽取独立的
已修复 — 抽取独立的 GameEngine 领域层 (98d6a6d → 6e6d8ed)
此前完整的玩法逻辑被困在 map-scene.ts 这个 fixture 沙盒里,真实的 5 幕世界 act-scene.ts…
[音频/多媒体] MPQ ADPCM + Huffman 音频解码缺失:支持 572 个音频成员并接入 Web Audio API
已修复 —
已修复 — feat(mpq): 实现 ADPCM 与 Huffman 音频解码并接入 Web Audio (4d47a56)
- 新增
src/mpq/huffman.ts+huffman-tables.ts(9 张表,逐张与 StormLib 对拍)、`a…
[Bug] tbl.ts 字符串表解码器偏差:线性假想索引未对齐暗黑2官方哈希桶(Hash Table)键值格式
已修复 —
已修复 — fix(formats): 按官方哈希桶格式重写 tbl 解码器与编码器 (f4dd55b)
原实现按顺序表解析,与真实 .tbl 的哈希桶布局不符。现已按实际格式…
[测试工程] 缺少现代化单元测试框架:引入 Vitest 规范化测试套件、覆盖率统计与持续集成
已修复 —
已修复 — test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (1a81693)
- 新增
vitest.config.ts、npm test/test:watch/test:coverage。 - 把原先…
[工程化/环境] 测试与构建脚本执行强依赖特定 Node.js 运行时:引入 tsx 解决跨平台与 CI 无法运行 TypeScript 脚本
已修复 —
已修复 — chore(scripts): 使用 tsx 运行 TypeScript 脚本 (63b3962)
package.json 中所有 node scripts/*.ts 的调用已全部改为通过 tsx 运行,并把原先零散的…
[工程化/环境] 测试与构建脚本执行强依赖特定 Node.js 运行时:引入 tsx 解决跨平台与 CI 无法运行 TypeScript 脚本
[测试工程] 缺少现代化单元测试框架:引入 Vitest 规范化测试套件、覆盖率统计与持续集成
[Bug] tbl.ts 字符串表解码器偏差:线性假想索引未对齐暗黑2官方哈希桶(Hash Table)键值格式
[音频/多媒体] MPQ ADPCM + Huffman 音频解码缺失:支持 572 个音频成员并接入 Web Audio API