Skip to content

chore(slim): remove the bundled wgpu backend — extracted out-of-tree (#386 Phase 6c) - #429

Merged
apotema merged 1 commit into
mainfrom
chore/386-slim-remove-bundled-wgpu
Jun 30, 2026
Merged

chore(slim): remove the bundled wgpu backend — extracted out-of-tree (#386 Phase 6c)#429
apotema merged 1 commit into
mainfrom
chore/386-slim-remove-bundled-wgpu

Conversation

@apotema

@apotema apotema commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Second backend fully out of the bundle (after bgfx #420). wgpu resolves out-of-tree now (.backend = .wgpulabelle-wgpu, flipped in #428).

Changes

  • Delete backends/wgpu/ (src/templates/build_fragments/manifest/build + example).
  • Remove examples/wgpu — its assembler builds a wgpu project coverage (incl. the Foundation/QuartzCore/Metal link-fragment regression guard) moved to labelle-wgpu's CI (labelle-wgpu#1, an assembler-integration job on Metal).
  • CI: drop the wgpu backend WAV parser tests + wgpu backend demo build (macOS) steps and the Generate + build the wgpu example examples-integration step.
  • Tests: drop the desktop wgpu-artifacts unit test (no in-tree package to resolve) + the wgpu case from the in-tree-template preview list.

The agnostic external-fetch path stays covered by the external-null (nullfixture) step. backend_registry's lookup("wgpu") derivation test stays (pure name→layout).

Gated on labelle-wgpu#1 landing first (so the assembler-integration coverage is live before it's removed here).

zig build + zig build test green.

Summary by CodeRabbit

  • Chores
    • Streamlined CI and test coverage by removing checks for an out-of-tree rendering backend.
    • Cleaned up example and packaging references related to that backend.
  • Tests
    • Updated regression coverage to skip backend-specific template validation now handled elsewhere.
  • Documentation
    • No user-facing docs changes.

…hase 6c)

wgpu is resolved out-of-tree now (`.backend = .wgpu` → the labelle-wgpu provider,
flipped in #428), so the in-tree backends/wgpu/ slot is dead weight. Delete it +
the assembler example + the coverage that built them in-tree:

- Remove backends/wgpu/ (src/templates/build_fragments/manifest/build + example).
- Remove examples/wgpu (the assembler-generated wgpu project) — its
  assembler-builds-a-wgpu-project coverage (incl. the Foundation/QuartzCore/Metal
  link-fragment regression guard) moved to labelle-wgpu's CI (PR #1).
- CI: drop the `wgpu backend WAV parser tests` + `wgpu backend demo build (macOS)`
  steps and the `Generate + build the wgpu example` examples-integration step.
- Tests: drop the desktop wgpu-artifacts unit test (no in-tree package to resolve)
  and the wgpu case from the in-tree-template preview regression list.

Two backends now fully out of the assembler bundle (bgfx + wgpu). The agnostic
external-fetch path stays covered by the `external-null` (nullfixture) step.
@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a31e4326-3d73-4f3b-b38d-e14c63fe2498

📥 Commits

Reviewing files that changed from the base of the PR and between 9e79830 and 8a9a160.

📒 Files selected for processing (31)
  • .github/workflows/ci.yml
  • backends/wgpu/backend.manifest.zon
  • backends/wgpu/build.zig
  • backends/wgpu/build.zig.zon
  • backends/wgpu/build_fragments/backend_dep.txt
  • backends/wgpu/build_fragments/link.txt
  • backends/wgpu/example/build.zig
  • backends/wgpu/example/build.zig.zon
  • backends/wgpu/example/main.zig
  • backends/wgpu/src/audio.zig
  • backends/wgpu/src/gfx.zig
  • backends/wgpu/src/gfx/astc.zig
  • backends/wgpu/src/gfx/batch.zig
  • backends/wgpu/src/gfx/draw.zig
  • backends/wgpu/src/gfx/font.zig
  • backends/wgpu/src/gfx/state.zig
  • backends/wgpu/src/gfx/texture.zig
  • backends/wgpu/src/gfx/types.zig
  • backends/wgpu/src/input.zig
  • backends/wgpu/src/window.zig
  • backends/wgpu/templates/desktop.txt
  • examples/wgpu/.gitignore
  • examples/wgpu/components
  • examples/wgpu/gizmos
  • examples/wgpu/hooks
  • examples/wgpu/prefabs
  • examples/wgpu/project.labelle
  • examples/wgpu/scenes/main.jsonc
  • examples/wgpu/scripts/.gitkeep
  • test/build_zig_tests.zig
  • test/preview_mode_tests.zig
💤 Files with no reviewable changes (28)
  • examples/wgpu/components
  • backends/wgpu/src/gfx/draw.zig
  • backends/wgpu/src/gfx.zig
  • examples/wgpu/prefabs
  • backends/wgpu/build.zig.zon
  • examples/wgpu/hooks
  • examples/wgpu/gizmos
  • backends/wgpu/example/build.zig.zon
  • backends/wgpu/example/build.zig
  • examples/wgpu/scenes/main.jsonc
  • backends/wgpu/build_fragments/link.txt
  • backends/wgpu/src/gfx/state.zig
  • examples/wgpu/.gitignore
  • backends/wgpu/src/gfx/astc.zig
  • backends/wgpu/build_fragments/backend_dep.txt
  • examples/wgpu/project.labelle
  • backends/wgpu/src/gfx/font.zig
  • backends/wgpu/example/main.zig
  • backends/wgpu/templates/desktop.txt
  • backends/wgpu/src/gfx/types.zig
  • backends/wgpu/src/audio.zig
  • backends/wgpu/src/gfx/batch.zig
  • backends/wgpu/src/gfx/texture.zig
  • backends/wgpu/src/window.zig
  • backends/wgpu/build.zig
  • backends/wgpu/src/input.zig
  • backends/wgpu/backend.manifest.zon
  • .github/workflows/ci.yml

📝 Walkthrough

Walkthrough

The entire backends/wgpu directory is removed, including all Zig source modules, build scripts, package manifests, build fragments, the desktop template, and the example project. CI workflow steps for wgpu tests and example builds are deleted. In-tree test coverage referencing wgpu is removed or replaced with comments pointing to out-of-tree CI.

Changes

wgpu Backend Removal

Layer / File(s) Summary
wgpu backend source, build files, and CI
.github/workflows/ci.yml, backends/wgpu/..., examples/wgpu/...
All wgpu backend Zig modules (gfx, input, audio, window, sub-modules), build scripts (build.zig, build.zig.zon), manifest (backend.manifest.zon), build fragments, desktop template, and the entire example project are deleted. CI steps that ran wgpu tests and built the wgpu desktop example are also removed.
In-tree test references removed
test/build_zig_tests.zig, test/preview_mode_tests.zig
The links wgpu glfw artifact unit test is removed and replaced with a NOTE comment. The wgpu entry is dropped from the REAL backend template regression list with a comment indicating it moved to out-of-tree CI.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • labelle-toolkit/labelle-assembler#389: Rewrote backends/wgpu/src/audio.zig to forward to labelle_audio and removed the WAV parser — directly precedes the deletion of that same file in this PR.
  • labelle-toolkit/labelle-assembler#413: Modified .github/workflows/ci.yml examples-integration coverage for extracted backends (bgfx), the same CI section edited here for wgpu removal.

Poem

🐇 Hop hop, the wgpu code is gone,
No more shaders to compile at dawn.
The batch, the gfx, the window too,
All swept away with a git rm -r review.
Out-of-tree it goes, bye-bye wgpu! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: removing the bundled wgpu backend after extracting it out of tree.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/386-slim-remove-bundled-wgpu

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request removes the in-tree WebGPU (wgpu) backend, including its source code, build files, templates, and example project, following its extraction into the external labelle-wgpu repository. Additionally, the associated unit tests in test/build_zig_tests.zig and test/preview_mode_tests.zig have been cleaned up to reflect this extraction. There are no review comments to evaluate, so I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@apotema
apotema merged commit 9f0ef71 into main Jun 30, 2026
4 checks passed
@apotema
apotema deleted the chore/386-slim-remove-bundled-wgpu branch June 30, 2026 17:10
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