diablo2-web/tools
troytt 820ca12221 refactor: split into isolated common/netproto/server/client/baker modules
Split the mixed src/ and scripts/ trees into five compiler-enforced modules
aligned with the 1.13c DLL architecture, plus tools/:

- src/common/   (D2Common/Storm/D2Lang): formats, MPQ, data tables, DRLG,
                items/skills/units metadata, RNG, pack contracts. No DOM/Node.
- src/netproto/ (D2Net/Bnclient/D2MCPClient): BNCS/MCP/D2GS protocol; external
                code imports only src/netproto/index.ts.
- src/server/   (D2Game): authoritative simulation + LocalLoopbackAdapter.
                All 23 reverse deps into client removed; no Math.random /
                Date.now / performance.now.
- src/client/   (D2Client/D2Gfx/D2Win/D2Launch/D2Sound): render, UI, frontend,
                audio, session, toolbar and the play.html entry.
- src/baker/    Node-only offline packers/extractors + unified `npm run bake`.
- tools/        bot, replay, unlock, verify/audit/benchmark CLIs.

play.html is now the only HTML entry; index.html, acts*.html and bnet.html
plus legacy entry glue (src/main.ts, act-scene, net-scene, lockstep src/net)
are removed.

Adds tsconfig.{common,netproto,server,client,baker}.json wired into
`npm run typecheck`, and tests/arch/boundaries.test.ts enforcing the module
boundaries with zero whitelist exceptions.

Verification: typecheck 6/6 clean; vitest 556 files / 6640 tests pass;
npm run build clean; bake --verify (136/136 levels, universal DT1s);
netproto-replay --strict 0 unknown/opaque/errors; d2-bot walk hardSnaps=0;
audit-levels 136/136; verify-play 9/9 gates at 800x600 and 1024x768.
2026-10-01 00:10:18 +00:00
..
browser refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
d2moo-oracle feat(drlg): port 1:1 D2MOO outdoor DRLG for Acts 2, 3, 4, and 5 (#496, #497, #498, #499) 2026-09-28 11:22:08 +00:00
go-oracle fix(collision): 修复 DT1 碰撞网格方向与朝向对齐 (fixes #4) 2026-09-14 07:54:38 +00:00
lib refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
refactor refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
audit-levels-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
audit-parity.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
audit-skills-d2moo.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
benchmark-act-concurrency.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
benchmark-entity-concurrency.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
create-gitea-skills-milestone.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
create-gitea-vendor-milestone.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
d2-bot.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
d2s-unlock.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
drlg-diff.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
drlg-fixtures.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
dump-format.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
execute-r3-all-221-skills.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
forensic-audit-m3.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
gitea-skill-workflow.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
inspect-mpq.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
make-fixtures.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
make-map-fixtures.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
make-mpq-fixture.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
make-pl2-fixture.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
netproto-replay.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
pack-all.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
render-drlg-compare.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
scratch-audit-dt1-inventory.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
spike-chrome-net.mjs refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-acts.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-animation-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-archive.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-audio.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-automap.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-bundle-no-mpq.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-elite-stats.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m1-2.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m1-stress.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m1-tooltip.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m1-transparency.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m1.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m2-monster-art.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m2-stress.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m2-tooltip.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m3-stress.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m3-tooltip.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-challenger-m3.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-char-appearance.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-collision-orientation.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-combat.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-controlbar-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-d2-data.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-dc6.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-dcc.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-deploy.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-depth-order.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-dt1-pixels.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-exp-bar-m1.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-format-parity.sh refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-formats.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-ground-combat-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-implode.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-issue-503-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-issue-504-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-items.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-listfile.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-m4.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-m5.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-monster-dispatch.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-monsters.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-mpq-roundtrip.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-object-lookup.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-objects.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-play.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-png-stress.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-renderer-lifecycle.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-scene-object-dispatch.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-skill-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-sprites.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-tbl.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-tooltip-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-tooltip-empirical.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-ui-browser.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-vendor-ui.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-widths.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-world-graph.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
verify-world-walk.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
worktree.sh refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00