chore(examples): bump bgfx-external to labelle-bgfx v0.2.0 (de-vendored gamepad packages) - #415
Conversation
labelle-bgfx v0.2.0 depends on the new labelle-sdl-gamepad / labelle-android-gamepad packages instead of vendoring them. Point the opt-in CI example at v0.2.0 so the examples-integration step verifies the de-duped package graph resolves (the gamepad packages are now fetched as url+hash deps, not staged from inside bgfx).
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe external Changesbgfx External Backend Updates
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the version of the bgfx backend package from 0.1.0 to 0.2.0 in the project.labelle configuration file for the bgfx-external example. There are no review comments, and 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.
labelle-bgfx v0.2.0 no longer vendors the gamepad sub-packages, so the staged backend has no sdl_gamepad/android_gamepad subdirs. Replace the stale `test -d` vendored-subdir checks with: the staged build.zig.zon references the labelle-sdl-gamepad / labelle-android-gamepad packages (url deps), and the subdirs are absent (de-vendored).
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yml:
- Around line 512-513: The current CI checks only grep for the package slugs in
build.zig.zon, which does not verify the de-vendored dependency contract. Update
the workflow step to assert the actual dependency fields for the relevant
entries in build.zig.zon, specifically that the `labelle-sdl-gamepad` and
`labelle-android-gamepad` entries include the expected `url` and `hash` values
rather than just matching names. Use the existing CI step around the `grep`
checks in `.github/workflows/ci.yml` to tighten the validation so a different
dependency form cannot pass.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 1bb4d611-3830-47ba-bb0a-c2824fbc9d81
📒 Files selected for processing (1)
.github/workflows/ci.yml
Match the actual `.url = "...labelle-*-gamepad...tar.gz"` lines so the check proves the gamepad sources are real url package deps (the de-vendoring point), not a slug that could appear in a comment.
… (#418) Pluggable-backends Phases 5+6 (epic #386): the assembler can now FETCH, verify, and build out-of-tree backend packages, and bgfx is extracted to its own repo. - #409 6a: remote .backend_package cache-fetch (fetched like a plugin) - #410 6b: contract-verify an external backend (assertBackend/Window/Input) - #411: conform raylib + null windows to the canonical window contract - #412 Phase 5: enum-as-shorthand resolution (a built-in tag can resolve to a package) - #413 6c: bgfx extracted -> github.com/labelle-toolkit/labelle-bgfx; opt-in CI-verified - #414: select the GUI bridge by backend name, not the enum (external backends) - #415: labelle-bgfx v0.2.0 — gamepad sources extracted to their own packages - #416/#417: the two flip-blockers (callback-external guard; android enum-fallthrough) Opt-in today via .backend_package; built-in .backend = .bgfx still ships bundled (the default-flip is a follow-up gated on this release). Built-in backends are byte-identical. External bgfx validated on-device (Galaxy Tab A7): builds, runs crash-free, behaves identically to bundled.
Follow-up to the bgfx extraction.
labelle-bgfxv0.2.0 no longer vendors the shared gamepad sources — they're now standalone packages:labelle-sdl-gamepadv0.1.0labelle-android-gamepadv0.1.0labelle-bgfxdepends on them via url+hash, making it a thin backend package and giving the gamepad sources a reusable, versioned home for future backend extractions (raylib/sokol). No source change — same gamepad code, now packaged.This bumps the opt-in
examples/bgfx-externalto v0.2.0 so the examples-integration CI step verifies the de-duped package graph: the backend stages thin (no vendored sub-packages) and the gamepad packages resolve as fetched url+hash deps.Verified locally:
install(fetch) →generate(stagedlabelle-bgfxhas nosdl_gamepad/android_gamepadsubdirs) → full graph resolves (zig build --help, fetching both gamepad packages + zbgfx/zglfw + url core/audio).The in-tree
backends/sdl_gamepad/backends/android_gamepadare unchanged — the still-bundled raylib/sokol keep using them. Repinning those onto the new packages (and deleting the in-tree copies) is a follow-up that travels with their own extraction.Summary by CodeRabbit