feat(webgl): Enable all 28 scenarios for WebGL test harness

- Update wasm/Makefile to compile ALL scenario files using wildcard
- Add conditional compilation to scenario_bitmap.cpp (#ifdef __EMSCRIPTEN__)
  to handle OpenGL-specific shader workaround code for native only
- Change canvas dimensions to 1600x1200 to match native baseline (2x Retina)
- Set white background color to match native screenshots
- Update gal-webgl.spec.ts to hide UI overlay before taking screenshots
- Improve test-gal-regression.sh with better ImageMagick comparison

All 28 scenarios now compile and run on both native and WebGL backends.
Native vs baseline: PASSED (28/28 matching)
WebGL rendering: In progress (primitives not yet visible)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2026-01-08 11:11:03 +01:00
commit d0e2500048
8 changed files with 129 additions and 35 deletions

View file

@ -203,10 +203,10 @@
canvas.style.position = 'absolute';
canvas.style.left = '0';
canvas.style.top = '0';
canvas.width = 800;
canvas.height = 600;
canvas.style.width = '800px';
canvas.style.height = '600px';
canvas.width = 1600;
canvas.height = 1200;
canvas.style.width = '1600px';
canvas.style.height = '1200px';
canvas.oncontextmenu = function(e) { e.preventDefault(); };
canvas.addEventListener("webglcontextlost", function(e) {
setStatus('WebGL context lost!');