# V2 Shader Distribution

`V2/ue/Tools/plan-v2-shader-distribution.py` expands
`V2/ue/Build/Shaders/v2-shader-distribution.json` into deterministic Horde
shards for ShaderCompileWorker-backed DDC fill jobs. Each shard compiles one
platform and one permutation bucket slice, writes through `DerivedDataCache`,
and uses the shared cache root `$(UE_SHARED_DDC)/V2/DDC`.

The shard command uses `-AllowShaderCompilingThroughWorkers`,
`-SharedDataCachePath`, and `-V2ShaderShard` so Horde agents can execute
independent slices while still publishing compiled shader results to the same
network DDC. The manifest keeps the shard size bounded at 512 estimated
permutations and allows up to 48 remote workers.

The generated plan includes the Horde pool, shader formats, package roots,
response file, shared DDC namespace, and command for every shard. The release
evidence path is `$(ArchiveRoot)/Shaders/shader-distribution-plan.json`.

Required gates:

- `shader-distribution-plan-generated`
- `shader-distribution-permutation-coverage`
- `shader-distribution-farm-shards`
- `shader-distribution-shared-ddc-enabled`

The primary metric names are `shader.distribution.farm_shard_count` and
`shader.distribution.permutation_coverage_pct`. The CI validator is:

```bash
python3 V2/ue/Tools/check-v2-shader-distribution.py
```
