Skip to content

Improve shader debugging workflow - #385

Merged
sebavan merged 2 commits into
masterfrom
sebavan-improve-shader-debugging
Aug 27, 2026
Merged

sebavan merged 2 commits into
masterfrom
sebavan-improve-shader-debugging

Conversation

@sebavan

@sebavan sebavan commented Aug 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Capture complete shader sources, compile status, and compiler/linker logs
  • Add compact shader command entries with source-editor links
  • Beautify GLSL using a parser-backed formatter
  • Display compiler diagnostics as line annotations
  • Preserve vertex and fragment edits across tab switches
  • Add shader debugging samples and browser coverage
  • Update CI to Node 22 for the GLSL formatter

Testing

  • npm run build
  • npm run test:unit -- --runInBand
  • Shader editor Playwright suite
  • Shader debugging sample E2E test

Sample

Run npm start, then open:

http://localhost:1337/sample/index.html?sample=shaderDebug

Closes #283

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves shader debugging by capturing shader data, exposing source links and diagnostics, and adding parser-backed GLSL formatting.

Changes:

  • Capture shader/program status, sources, and diagnostic logs.
  • Enhance the source editor with formatting, annotations, and preserved drafts.
  • Add shader-debugging samples and automated coverage.

Reviewed changes

Copilot reviewed 29 out of 39 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/unit/embeddedFrontend/shaderDiagnostics.test.ts Tests diagnostic parsing.
test/unit/backend/commands/shaderCommands.test.ts Tests shader command capture.
test/integration/visual/source-code.spec.ts Tests editor workflows.
test/integration/fixtures/test-scene.html Supports shader rebuilding.
test/e2e/shaderDebugSample.spec.ts Tests debugging scenarios.
src/shared/capture/programCapture.ts Extends shader capture data.
src/shared/capture/commandCapture.ts Adds command shader/program captures.
src/embeddedFrontend/styles/resultView.scss Styles diagnostic notices.
src/embeddedFrontend/react/shared/types.ts Adds editor and render types.
src/embeddedFrontend/react/shared/shaderFormatter.ts Formats GLSL.
src/embeddedFrontend/react/shared/shaderDiagnostics.ts Parses compiler logs.
src/embeddedFrontend/react/ResultView/SourceCode/SourceCode.tsx Enhances shader editor behavior.
src/embeddedFrontend/react/ResultView/ResultViewRoot.tsx Connects source-opening handlers.
src/embeddedFrontend/react/ResultView/ReactResultView.ts Opens captured shaders.
src/embeddedFrontend/react/ResultView/jsonTreeBuilder.ts Builds shader detail entries.
src/embeddedFrontend/react/ResultView/JSON/JSONShaderSourceItem.tsx Renders source links.
src/embeddedFrontend/react/ResultView/JSON/JSONRenderTree.tsx Supports shader nodes.
src/embeddedFrontend/react/ResultView/CommandList/CommandListItem.tsx Adds command source links.
src/backend/utils/readProgramHelper.ts Captures logs and statuses.
src/backend/spies/commandSpy.ts Registers shader commands.
src/backend/commands/shaderSource.ts Captures compact source commands.
src/backend/commands/linkProgram.ts Captures link results.
src/backend/commands/getShaderInfoLog.ts Summarizes compiler logs.
src/backend/commands/compileShader.ts Captures compilation results.
src/backend/commands/baseShaderCommand.ts Shares shader capture logic.
sample/js/shaderDebug.js Adds debugging sample scenarios.
package.json Adds GLSL formatter dependencies.
package-lock.json Locks formatter dependencies.
documentation/changeLogs.md Documents the feature.
dist/spector.d.ts Updates public declarations.
.github/workflows/githubActions.yml Moves CI to Node 22.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sebavan
sebavan merged commit 8959cf7 into master Aug 27, 2026
3 checks passed
@sebavan
sebavan deleted the sebavan-improve-shader-debugging branch August 27, 2026 21:37
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.

Improve Shader Debbugging

2 participants