Wave 8 coverage a3 (PeriodicTableHUD.render in projects/spikersoft/src/app/_components/_games/space-game/hud/periodic-table-hud.ts).
The overlay path sets renderer.autoClear = false, then clearDepth() + render(). The previous autoClear is restored only on the success path. If renderer.render throws, the catch logs and returns without restoring, so the game renderer keeps autoClear = false for subsequent frames.
Observed: render() does not throw (error is logged as [PeriodicTableHUD] Render error:), but renderer.autoClear is left false.
Expected: restore autoClear in a finally (same pattern as other HUD overlays that already test this).
Covered by periodic-table-hud.leftovers.spec.ts (“render swallows WebGL errors but leaves autoClear=false”).
Wave 8 coverage a3 (`PeriodicTableHUD.render` in `projects/spikersoft/src/app/_components/_games/space-game/hud/periodic-table-hud.ts`).
The overlay path sets `renderer.autoClear = false`, then `clearDepth()` + `render()`. The previous `autoClear` is restored only on the success path. If `renderer.render` throws, the `catch` logs and returns without restoring, so the game renderer keeps `autoClear = false` for subsequent frames.
Repro (unit, jsdom, stub WebGLRenderer — no GPU):
1. `show()`.
2. `render({ autoClear: true, clearDepth, render: () => { throw new Error("fake gpu"); } })`.
Observed: `render()` does not throw (error is logged as `[PeriodicTableHUD] Render error:`), but `renderer.autoClear` is left `false`.
Expected: restore `autoClear` in a `finally` (same pattern as other HUD overlays that already test this).
Covered by `periodic-table-hud.leftovers.spec.ts` (“render swallows WebGL errors but leaves autoClear=false”).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Wave 8 coverage a3 (
PeriodicTableHUD.renderinprojects/spikersoft/src/app/_components/_games/space-game/hud/periodic-table-hud.ts).The overlay path sets
renderer.autoClear = false, thenclearDepth()+render(). The previousautoClearis restored only on the success path. Ifrenderer.renderthrows, thecatchlogs and returns without restoring, so the game renderer keepsautoClear = falsefor subsequent frames.Repro (unit, jsdom, stub WebGLRenderer — no GPU):
show().render({ autoClear: true, clearDepth, render: () => { throw new Error("fake gpu"); } }).Observed:
render()does not throw (error is logged as[PeriodicTableHUD] Render error:), butrenderer.autoClearis leftfalse.Expected: restore
autoClearin afinally(same pattern as other HUD overlays that already test this).Covered by
periodic-table-hud.leftovers.spec.ts(“render swallows WebGL errors but leaves autoClear=false”).Fixed in
spikersoft-angularPR #823 (a0f0ccd9). Closing.