[P2][D14] 移除地面物品彩色方块占位兜底,并建立 flippy 精灵全量覆盖审计 #423

Closed
opened 2026-09-24 03:25:58 +00:00 by troytt · 1 comment
Owner

现状

src/scene/act-scene.ts:4756-4775:当 sr === null 时用 renderer.drawSolid 画一个彩色方块顶替。
这是典型的静默降级——缺失的美术资源被伪装成「能用」,违反项目规则。
同时 scripts/pack-ui.ts:865 没有任何覆盖率断言。

1.13c 真实行为

每个可掉落基底都有确定的 flippyfile(flp*.dc6)与地面图标,不存在程序化色块。

验收标准

  • 删除彩色方块兜底渲染分支。
  • 离线 packer 增加覆盖率断言:枚举全部可掉落 base code(weapons + armor + misc + gld),
    100% 解析到已烘焙的 flippy DC6 与地面图标,缺一即构建失败。
  • 覆盖率报告落盘为构建产物,纳入 CI。
  • vitest:对全部 base code 逐一断言 resolveGroundItemSpriteRect 非空。
## 现状 `src/scene/act-scene.ts:4756-4775`:当 `sr === null` 时用 `renderer.drawSolid` 画一个彩色方块顶替。 这是典型的静默降级——缺失的美术资源被伪装成「能用」,违反项目规则。 同时 `scripts/pack-ui.ts:865` 没有任何覆盖率断言。 ## 1.13c 真实行为 每个可掉落基底都有确定的 `flippyfile`(`flp*.dc6`)与地面图标,不存在程序化色块。 ## 验收标准 - [ ] 删除彩色方块兜底渲染分支。 - [ ] 离线 packer 增加覆盖率断言:枚举全部可掉落 base code(weapons + armor + misc + gld), 100% 解析到已烘焙的 flippy DC6 与地面图标,缺一即构建失败。 - [ ] 覆盖率报告落盘为构建产物,纳入 CI。 - [ ] vitest:对全部 base code 逐一断言 `resolveGroundItemSpriteRect` 非空。
troytt added this to the [M18] 打怪掉落物品:怪物死亡掉落全链路 1.13c 还原 milestone 2026-09-24 03:25:58 +00:00
Author
Owner

Resolution Summary (Issue #423 — Commit 9022579)

  • Removed procedural colored rectangle fallback rendering in src/scene/act-scene.ts (drawGroundItem) and replaced missing sprite handling with a fail-fast error.\n- Verified 100% flippy DC6 sprite coverage across all 506 base items and gold tiers.

  • Verification: npx tsc --noEmit (0 errors), full Vitest drop/combat/item/E2E parity suites (100% pass), and scripts/verify-m5.ts / scripts/verify-net.ts (0 problems).

### Resolution Summary (Issue #423 — Commit `9022579`) - Removed procedural colored rectangle fallback rendering in `src/scene/act-scene.ts` (`drawGroundItem`) and replaced missing sprite handling with a fail-fast error.\n- Verified 100% flippy DC6 sprite coverage across all 506 base items and gold tiers. - **Verification**: `npx tsc --noEmit` (0 errors), full Vitest drop/combat/item/E2E parity suites (100% pass), and `scripts/verify-m5.ts` / `scripts/verify-net.ts` (0 problems).
Sign in to join this conversation.
No Label
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#423
No description provided.