fix(engine): densify drawelement self-verify with parallel worker count

This commit is contained in:
Vance Ingalls
2026-07-11 14:14:08 -07:00
parent ddcd380a1a
commit 1b95af8bbb
4 changed files with 62 additions and 2 deletions
@@ -6,6 +6,7 @@ import {
selectWorkerDiagnostics,
shouldDisableBrowserPoolForParallelWorker,
shouldVerifyWorkerGpu,
resolveParallelDeVerifySamples,
} from "./parallelCoordinator.js";
import type { EngineConfig } from "../config.js";
@@ -176,3 +177,24 @@ describe("shouldVerifyWorkerGpu", () => {
expect(shouldVerifyWorkerGpu(3, undefined)).toBe(false);
});
});
describe("resolveParallelDeVerifySamples", () => {
it("densifies with worker count: 4 base + 2 per extra worker", () => {
expect(resolveParallelDeVerifySamples(undefined, 2)).toBe(6);
expect(resolveParallelDeVerifySamples(undefined, 3)).toBe(8);
});
it("clamps at the verify path's max of 8", () => {
expect(resolveParallelDeVerifySamples(undefined, 5)).toBe(8);
expect(resolveParallelDeVerifySamples(undefined, 16)).toBe(8);
});
it("leaves single-worker capture on the session default", () => {
expect(resolveParallelDeVerifySamples(undefined, 1)).toBeUndefined();
expect(resolveParallelDeVerifySamples(undefined, 0)).toBeUndefined();
});
it("passes a caller-set value through untouched", () => {
expect(resolveParallelDeVerifySamples(2, 3)).toBe(2);
});
});