feat(webgl): Migrate to pure WebGL 2.0 and fix GL canvas layering

Update submodules and build config for pure WebGL 2.0 (drop -sFULL_ES3):
- kicad: VBO-based drawing, compositor FBO rewrite, shader conversion
- wxwidgets: Fix z-index layering so GL canvas renders above 2D UI canvas
- Build: Remove FULL_ES3 from linker flags
- GAL tests: White background, opaque alpha, shared shader converter,
  updated baseline screenshots

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2026-03-20 12:38:24 +01:00
commit 6fa6c9207f
56 changed files with 32 additions and 196 deletions

View file

@ -69,11 +69,11 @@ BASE_LDFLAGS = -sALLOW_MEMORY_GROWTH=1 \
-sEXPORTED_RUNTIME_METHODS=['ccall','cwrap','HEAPU8'] \
-sMODULARIZE=1 \
-sEXPORT_NAME='createGALTest' \
-sENVIRONMENT=web
-sENVIRONMENT=web,worker
# GL-specific flags - WebGL 2.0 with full ES3 support
# GL-specific flags - pure WebGL 2.0 (matching KiCad PCBnew build, no FULL_ES3 emulation)
# No LEGACY_GL_EMULATION - WEBGL_GAL uses VBOs and custom shaders
EM_GL_FLAGS = -sFULL_ES3=1 -sMAX_WEBGL_VERSION=2
EM_GL_FLAGS = -sMAX_WEBGL_VERSION=2
# Legacy GL stubs for wxWidgets compatibility
# wxWidgets GL library may reference legacy functions at runtime, but actual