Part of #834 (Production-Readiness Audit) — Batch B4 (make bench/visual actually fail, parallel-safe).
Replaces audit items #4 + #23 (merged because both touch the benchmark harness source). Parallel with: audit-b4 siblings — this issue owns the benchmark harness Zig source.
Problem
Two related gaps in the same source area, so they ship as one PR:
feat: worm cave system with connected underground networks #4 — no frame-time / SLO assertion. Benchmarks report FPS percentiles (p1, p5, p50, p95, p99), CPU ms, GPU ms, draw calls, vertices — but nothing fails. A 50% FPS regression ships green.
Resolve Issue #19: Remaining Audit Fixes #23 — no draw-call / GPU-memory / vertex budget test. Benchmarks log draw_calls_avg, vertices_avg, GPU ms — but never assert a ceiling. A 3× draw-call regression ships green.
Acceptance criteria
Files in scope
benchmark harness source (find the runner — likely under modules/engine-graphics or src/game benchmark code; identify and edit)
docs/benchmarks/README.md (threshold table)
Dependencies
Out of scope
Branch / PR
Branch: bench/slo-drawcall-ceilings · Targets: dev
Part of #834 (Production-Readiness Audit) — Batch B4 (make bench/visual actually fail, parallel-safe).
Replaces audit items #4 + #23 (merged because both touch the benchmark harness source). Parallel with:
audit-b4siblings — this issue owns the benchmark harness Zig source.Problem
Two related gaps in the same source area, so they ship as one PR:
draw_calls_avg,vertices_avg, GPU ms — but never assert a ceiling. A 3× draw-call regression ships green.Acceptance criteria
docs/benchmarks/README.mdwith rationale.Files in scope
modules/engine-graphicsorsrc/gamebenchmark code; identify and edit)docs/benchmarks/README.md(threshold table)Dependencies
Out of scope
Branch / PR
bench/slo-drawcall-ceilings· Targets:dev