feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)

Copy and adapt OpenGL GAL to WebGL:
- Copy all OpenGL GAL source files to tests/gal-regression/wasm/webgl/
- Rename classes from OPENGL_* to WEBGL_*
- Add kiglew.h with WebGL2/GLES3 headers and GLEW stubs
- Add webgl_antialiasing.h/cpp adapted for WEBGL_COMPOSITOR
- Add shader generator (generate_shaders.py) for WASM build
- Update Makefile with all KiCad dependencies (C++20, GLM, clipper2, etc.)

Build produces 544KB JS + 4.9MB WASM. Tests run but render blank
(expected - GL context initialization needs WebGL adaptation).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2026-01-07 21:04:42 +01:00
commit c381fdb85c
60 changed files with 27839 additions and 16 deletions

View file

@ -0,0 +1,13 @@
// Auto-generated shader header from kicad_frag.glsl
#ifndef GLSL_KICAD_FRAG_H
#define GLSL_KICAD_FRAG_H
#include <string>
namespace KIGFX {
namespace BUILTIN_SHADERS {
extern std::string glsl_kicad_frag;
}
}
#endif // GLSL_KICAD_FRAG_H