Conversation
There was a problem hiding this comment.
Pull request overview
Updates this project’s raylib/Umka integration to align with newer upstream versions (raylib 6.x and Umka 1.5.x), adjusting code generation and runtime glue so examples/tests can run again.
Changes:
- Bumped project/tooling versions and updated dependencies (raylib + Umka, generator schema inputs).
- Updated the Umka runtime invocation code in
bin/raylib-umka.cto newer Umka API patterns. - Adjusted generator type mappings/struct field handling and tweaked a lifecycle assertion in the Umka test.
Reviewed changes
Copilot reviewed 6 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/raylib-umka-tests.um | Removes a post-CloseWindow() readiness assertion in the lifecycle test. |
| package.json | Version bump; script refactor; switches @raylib/api to a GitHub ref; bumps gh-pages. |
| generator/index.js | Updates struct/type mappings and field-name escaping for Umka codegen; updates dependency docs. |
| CMakeLists.txt | Version bump to 0.6.0. |
| cmake/Findumka.cmake | Updates fetched Umka tag/version to v1.5.5. |
| cmake/Findraylib.cmake | Pins raylib FetchContent GIT_TAG to a specific commit SHA. |
| bin/raylib-umka.c | Updates to new Umka function call/get-error APIs and adjusts web update callback call signature. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| case 'const float *': | ||
| return 'const ^real32'; |
There was a problem hiding this comment.
raylibTypeToUmka() contains two case 'const float *' branches; the second one is unreachable and the function will always return ^real32 for that type. Remove the duplicate and decide on a single mapping for const float * (and keep it consistent with other const …* mappings).
| case 'const float *': | |
| return 'const ^real32'; |
| "devDependencies": { | ||
| "@raylib/api": "~4.5.0", | ||
| "gh-pages": "^4.0.0" | ||
| "@raylib/api": "robloach/raylib-api#6", |
There was a problem hiding this comment.
@raylib/api is referenced via a moving GitHub ref (robloach/raylib-api#6). Because that can change over time, builds may become non-reproducible. Consider pinning this to an immutable tag/commit SHA (similar to how raylib is pinned in Findraylib.cmake) so CI and consumers always get the same API schema.
| "@raylib/api": "robloach/raylib-api#6", | |
| "@raylib/api": "robloach/raylib-api#<full-40-character-commit-sha-for-the-current-#6-revision>", |
| @@ -56,5 +56,4 @@ fn main() { | |||
| // Finish | |||
| raylib.EndDrawing() | |||
| raylib.CloseWindow() | |||
There was a problem hiding this comment.
The post-CloseWindow() assertion on IsWindowReady() was removed, which reduces coverage of the window lifecycle. If raylib 6.x changed semantics here, consider updating the expectation (or asserting an alternative post-close invariant) rather than dropping the check entirely so regressions in CloseWindow()/binding behavior are still caught.
| raylib.CloseWindow() | |
| raylib.CloseWindow() | |
| Assert.False(raylib.IsWindowReady(), "IsWindowReady() after CloseWindow()") |
Something is keeping it from running.