docs: add WorldBuilder-ACME-Edition to CLAUDE.md reference repos

ACME Edition contains ClientReference.cs — a faithful C# port of the
decompiled retail AC client (CLandBlockStruct.cpp) with exact offsets.
This is ground truth for terrain algorithms and already solved the
triangle-boundary Z bug that resisted 5 other fix attempts.

Key resources: ClientReference.cs (oracle), TerrainConformanceTests.cs
(4M+ cell sweep), StaticObjectManager.cs (GfxObj+Setup+CreaturePalette),
EnvCellManager.cs (dungeon portal visibility).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-04-12 22:35:47 +02:00
parent 131594d91b
commit 624f55d60d

View file

@ -159,6 +159,24 @@ these, ideally all four:
atlases, shader patterns. Most useful for "how do I do this GL thing
with Silk.NET on net10 idiomatically?" Less useful for protocol or
character appearance (dat editor, not game client).
- **`references/WorldBuilder-ACME-Edition/`** — **Fork of WorldBuilder
with decompiled AC client source code.** THE most authoritative
reference for any terrain/rendering algorithm. Key files:
- `WorldBuilder.Tests/ClientReference.cs` — faithful C# port of
decompiled `CLandBlockStruct.cpp` with exact offsets. Ground truth
for split direction, palCode, vertex height, vertex position.
**Check this BEFORE implementing any terrain algorithm.**
- `WorldBuilder.Tests/TerrainConformanceTests.cs` — exhaustive
sweeps (4M+ cells) proving ACME matches the retail client.
- `StaticObjectManager.cs` — complete GfxObj+Setup rendering with
CreaturePalette assembly (the ObjDesc pipeline).
- `EnvCellManager.cs` — dungeon cell rendering with portal
visibility traversal and collision mesh caching.
- `TerrainGeometryGenerator.cs``GetHeight()` and `GetNormal()`
that match the mesh index buffer exactly.
Already proved its value: solved the triangle-boundary Z bug that
resisted 5 other fix attempts. Use as the oracle for ALL dat
interpretation algorithms.
- **`references/Chorizite.ACProtocol/`** — clean-room C# protocol
library generated from a protocol XML description. Useful sanity check
on field order, packed-dword conventions, type-prefix handling. The