feat(netproto,client): implement pure-browser D2 1.13c online client (N0-N10)
- Add isolated zero-dependency protocol engine in src/netproto/ (BNCS OLS xsha1,
CheckRevision, CD-Key hash, MCP realm session, Fog.dll Huffman codec, 167-opcode
D2GS S2C/C2S codecs, 0x9C/0x9D item bitstreams, D2OnlineFlow, and TS server
adapter stub) enforced by tsconfig.netproto.json and boundary.test.ts.
- Add deterministic 1.13c binary table extractor (scripts/extract-d2net-tables.ts),
live headless bot (scripts/d2-bot.ts), .d2s save unlocker (scripts/d2s-unlock.ts),
tile atlas packer (scripts/pack-tiles.ts), and strict .d2cap offline replay
verifier (scripts/netproto-replay.ts) with 4 live server capture fixtures.
- Add runtime seed-driven DRLG MapService, TileAtlas, A* sub-tile pathfinder,
LocalMovementPredictor, and RemoteEntityInterpolator verified across all 136
levels and 5-Act live waypoint tours.
- Build play.html and src/client/ online session, WebGL2 TileAtlasGpuCache +
renderSceneSourceFrame, dual 800x600 / 1024x768 viewports, top DOM Toolbar
(host validation, live ZH/EN toggle, 7 lighting presets, automap reveal,
Packet Inspector), SoundService, OpfsMpqManager, and 5-tier E2E test suite.
TAG=agy
CONV=a30b2fd5-74b7-4c2f-8d0b-f09c1d751495