Skip to content

refactor(effects-manager): extract GLSL shaders to .glsl files via raw-loader (#886)#933

Open
deveshbervar wants to merge 3 commits into
HSF:mainfrom
deveshbervar:refactor/shader-extraction-886
Open

refactor(effects-manager): extract GLSL shaders to .glsl files via raw-loader (#886)#933
deveshbervar wants to merge 3 commits into
HSF:mainfrom
deveshbervar:refactor/shader-extraction-886

Conversation

@deveshbervar

Copy link
Copy Markdown
Collaborator

Summary

Phase 2 (PR 2a of 2) of the refactoring proposed in #886.

Extracts the two inline GLSL shader strings from effects-manager.ts into dedicated .glsl files,
loaded at build time via raw-loader.

What changed

New files:

  • shaders/hover-vertex.glsl — vertex shader extracted from TS string
  • shaders/hover-fragment.glsl — fragment shader extracted from TS string
  • src/glsl.d.ts — TypeScript declaration for .glsl imports
  • src/tests/helpers/glsl-mock.js — Jest mock for .glsl files

Modified files:

  • configs/webpack.conf.js — added raw-loader rule for .glsl
  • configs/jest.conf.js — added moduleNameMapper for .glsl in tests
  • effects-manager.ts — replaced inline strings with ES6 imports
  • package.json — added raw-loader as devDependency

Why

From #886 Gap 1: GLSL embedded as TypeScript strings has no validation path — a syntax error only surfaces at WebGL
runtime, never in yarn test:ci.

This extraction is the prerequisite for PR 2b which adds glslangValidator CI validation.

Scope

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant