# Maintained .NET tools Every `.csproj` under `tools/` is part of `AcDream.slnx`. The complete Release gate restores and builds these tools, so a missing personal checkout or an API change cannot leave a tracked tool silently broken. They are diagnostic/manual programs: the gate builds them but does not run data-dependent investigations. | Tool | Purpose | Runtime prerequisite | | --- | --- | --- | | `A8CellAudit` | Inspect landblock, EnvCell, portal, and collision topology. | Installed AC DAT files / the arguments documented by the program. | | `dump-keymap` | Extract the retail master input maps and decoded actions. | Installed `client_portal.dat`. | | `PesChainAudit` | Walk weather PES call chains and particle emitters. | Installed AC DAT files. | | `ProjectileVfxAudit` | Audit projectile physics-script and particle-emitter VFX mappings. | Installed AC DAT files. | | `RainMeshProbe` | Inspect rain surfaces, polygon sidedness, and generated mesh counts. | Installed AC DAT files. | | `RetailTimeProbe` | Read retail time-of-day and sky state for comparison. | Windows, a running retail client, and process-read access. | | `SetupInspect` | Dump Setup parts, placement poses, and animation frames. | Installed AC DAT files and a Setup ID. | | `ShaderCompiler` | Compile the Vulkan GLSL shader set to committed SPIR-V. | Source and output directory arguments. | | `SkyObjectInspect` | Inspect Dereth sky/day-group objects and texture data. | Installed AC DAT files. | | `StarsProbe` | Audit sky-object geometry, UV ranges, and surfaces. | Installed AC DAT files. | | `TextureDump` | Dump render-surface statistics and texture images. | Installed AC DAT files. | | `WeatherEnumerator` | Enumerate weather sky objects and their bounds. | Installed AC DAT files. | | `WeatherSetupProbe` | Inspect the parts and surfaces of weather Setups. | Installed AC DAT files. | Build the complete maintained graph with: ```powershell dotnet restore AcDream.slnx --locked-mode --force-evaluate dotnet build AcDream.slnx -c Release --no-restore ``` Use `pwsh ./tools/run-release-gate.ps1` for the authoritative bounded gate. Package versions and lock-file maintenance are documented in [`docs/release-gate.md`](../docs/release-gate.md).