SpirvUnit
One assembled unit, compiled once and evaluated many times.
In the namespace eval::internal. Declared in src/libs/libeval/eval/SpirvLane.hpp.
Detailed description
`evaluateViaSpirv` compiles on every call, which is the right shape for a single shot and the wrong one for a harness: the lowering harness evaluates **512 sample points per record**, and paying glslang plus the validator 512 times over would make the lane too slow to measure rather than measurably slow. Splitting the compile out is the whole difference between a lane that runs and a lane that times out.
The two produce the same numbers by construction — `evaluateViaSpirv` is a wrapper over this, not a second implementation of it.
One `evaluate` call is one invocation. `gl_GlobalInvocationID` reads as zero on the interpreter (§SUR-34f), so the caller advances the sample by passing the next element's inputs, not by moving an index.