Repository navigation
Codex/pr4 integration - #6
Merged
Merged
Conversation
Stop tracking sewer_labyrinth, vertical_dock and the vector prototypes while preserving local files through ignore rules. Move prototype-only tests out of the public suite and refresh documentation and CLI replay coverage. Fix GCC enum comparisons in the Host module bridge.
There was a problem hiding this comment.
🟡 Changes recommended
The new Neon Rift Rally feedback and steering checks are not connected to the PR test workflow.
1 open finding
What changed in this PR
Prepares the engine for Registry distribution, streamlines maintained examples, and expands renderer/game validation.
Changes:
- Adds release assembly, archive validation, isolated-consumer CI, API documentation, and a minimal ESP-IDF consumer.
- Pins ESP-Mosaico dependencies, makes Iris services optional, and removes retired examples.
- Optimizes triangle/tinted-texture rendering and expands Neon Rift Rally behavior and tests.
Checks: Static review only; Host tests, native builds, and device startup/input/display/audio/haptics paths were not exercised.
| File | Description |
|---|---|
tools/prepare_release_consumer.py |
Creates isolated archive consumers. |
tools/check_release.py |
Validates staged releases and archives. |
tools/check_markdown_links.py |
Expands maintained-document coverage. |
THIRD_PARTY_NOTICES.md |
Updates dependencies and media provenance. |
tests/test_vertical_dock.py |
Removes retired game tests. |
tests/test_svg2vg.py |
Removes vector-render integration tests. |
tests/test_release_packaging.py |
Adds release packaging tests. |
tests/test_primitives.c |
Adds triangle pixel-oracle coverage. |
tests/test_game_cli.py |
Updates maintained game matrix. |
tests/test_examples.py |
Loads game-local test modules. |
tests/test_columns.c |
Adds tinted-scaling oracle coverage. |
tests/README.md |
Documents unified test discovery. |
tests/fakes/sewer_audio/raylib_lite_game_audio.h |
Removes retired audio fake. |
src/renderer/raylib_lite_renderer.c |
Optimizes opaque tinted scaling. |
src/renderer/raylib_lite_raylib_impl.c |
Optimizes triangle scan conversion. |
release/minimal/README.md |
Documents minimal consumer. |
release/minimal/main/main.c |
Adds offscreen scheduler example. |
release/minimal/main/idf_component.yml |
Declares minimal dependencies. |
release/minimal/main/CMakeLists.txt |
Registers minimal application component. |
release/minimal/CMakeLists.txt |
Adds minimal ESP-IDF project. |
release/asset_provenance.json |
Records maintained media provenance. |
README.md |
Replaces root English documentation. |
README.EN.md |
Removes superseded English README. |
idf_component.yml |
Adds Registry metadata and filters. |
examples/vertical_dock/scenarios/warehouse-loop.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/turn-view.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/power-on.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/outer-corner.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/north-gate.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/maintenance-room.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/maintenance-obstacle.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/high-route.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/exploration-route.json |
Removes retired scenario. |
examples/vertical_dock/scenarios/cargo-occlusion.json |
Removes retired scenario. |
examples/vertical_dock/README.md |
Removes retired game documentation. |
examples/vertical_dock/partitions.csv |
Removes retired partition layout. |
examples/vertical_dock/main/idf_component.yml |
Removes retired manifest. |
examples/vertical_dock/main/CMakeLists.txt |
Removes retired component build. |
examples/vertical_dock/game.sim.json |
Removes retired Host manifest. |
examples/vertical_dock/CMakeLists.txt |
Removes retired native project. |
examples/vertical_dock/assets_src/prepare_materials.py |
Removes retired asset generator. |
examples/vertical_dock/assets_src/materials.json |
Removes retired atlas configuration. |
examples/vertical_dock/assets_src/game_assets.json |
Removes retired asset manifest. |
examples/vertical_dock/assets_src/details.json |
Removes retired atlas configuration. |
examples/vector_puppet/README.md |
Removes experimental example documentation. |
examples/vector_puppet/partitions.csv |
Removes experimental partition layout. |
examples/vector_puppet/main/vg_raster.h |
Removes experimental raster API. |
examples/vector_puppet/main/puppet_rig.h |
Removes experimental rig API. |
examples/vector_puppet/main/puppet_draw.h |
Removes experimental drawing API. |
examples/vector_puppet/main/idf_component.yml |
Removes experimental manifest. |
examples/vector_puppet/main/CMakeLists.txt |
Removes experimental component build. |
examples/vector_puppet/game.sim.json |
Removes experimental Host manifest. |
examples/vector_puppet/CMakeLists.txt |
Removes experimental native project. |
examples/vector_pet/partitions.csv |
Removes experimental partition layout. |
examples/vector_pet/main/vg_raster.h |
Removes experimental raster API. |
examples/vector_pet/main/pet.h |
Removes experimental game API. |
examples/vector_pet/main/pet_draw.h |
Removes experimental drawing API. |
examples/vector_pet/main/idf_component.yml |
Removes experimental manifest. |
examples/vector_pet/main/CMakeLists.txt |
Removes experimental component build. |
examples/vector_pet/game.sim.json |
Removes experimental Host manifest. |
examples/vector_pet/CMakeLists.txt |
Removes experimental native project. |
examples/vector_cat/partitions.csv |
Removes experimental partition layout. |
examples/vector_cat/main/vg_raster.h |
Removes experimental raster API. |
examples/vector_cat/main/vg_asset.h |
Removes experimental asset API. |
examples/vector_cat/main/vg_asset.c |
Removes experimental asset implementation. |
examples/vector_cat/main/idf_component.yml |
Removes experimental manifest. |
examples/vector_cat/main/CMakeLists.txt |
Removes experimental component build. |
examples/vector_cat/main/cat_rig.h |
Removes experimental rig API. |
examples/vector_cat/main/cat_draw.h |
Removes experimental drawing API. |
examples/vector_cat/game.sim.json |
Removes experimental Host manifest. |
examples/vector_cat/CMakeLists.txt |
Removes experimental native project. |
examples/tower_defense/scenarios/start.json |
Adds replay scenario. |
examples/tower_defense/README.md |
Documents pinned dependencies. |
examples/tower_defense/main/CMakeLists.txt |
Supports namespaced engine resolution. |
examples/tomb_raycast/tests/test_tomb_raycast.py |
Corrects repository-root lookup. |
examples/tomb_raycast/README.md |
Updates build and performance guidance. |
examples/tomb_raycast/main/CMakeLists.txt |
Supports namespaced engine resolution. |
examples/tomb_raycast/HISTORICAL_PERFORMANCE.md |
Archives device measurements. |
examples/sky_hop/README.md |
Documents pinned dependencies. |
examples/sky_hop/main/CMakeLists.txt |
Supports namespaced engine resolution. |
examples/sewer_labyrinth/scenarios/unpowered-pump.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/third-person-turn.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/submerged-duct.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/render_workshop.py |
Removes retired capture tool. |
examples/sewer_labyrinth/scenarios/render_service_duct.py |
Removes retired capture tool. |
examples/sewer_labyrinth/scenarios/render_motion.py |
Removes retired capture tool. |
examples/sewer_labyrinth/scenarios/relay-room.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/power-slice.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/patrol-loop.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/missing-fuse.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/mark-start.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/checkpoints.json |
Removes retired checkpoints. |
examples/sewer_labyrinth/scenarios/chart-route.json |
Removes retired scenario. |
examples/sewer_labyrinth/scenarios/center-gate.json |
Removes retired scenario. |
examples/sewer_labyrinth/partitions.csv |
Removes retired partition layout. |
examples/sewer_labyrinth/main/sewer_contracts.h |
Removes retired game contracts. |
examples/sewer_labyrinth/main/idf_component.yml |
Removes retired manifest. |
examples/sewer_labyrinth/main/CMakeLists.txt |
Removes retired component build. |
examples/sewer_labyrinth/game.sim.json |
Removes retired Host manifest. |
examples/sewer_labyrinth/CMakeLists.txt |
Removes retired native project. |
examples/sewer_labyrinth/assets_src/prepare_materials.py |
Removes retired asset generator. |
examples/sewer_labyrinth/assets_src/materials.json |
Removes retired atlas configuration. |
examples/sewer_labyrinth/assets_src/generate_audio.py |
Removes retired audio generator. |
examples/sewer_labyrinth/assets_src/game_assets.json |
Removes retired asset manifest. |
examples/render_benchmark/README.md |
Documents automatic BSP fetching. |
examples/render_benchmark/CMakeLists.txt |
Fetches pinned BSP fallback. |
examples/README.md |
Updates supported example matrix. |
examples/raylib_shooter/README.md |
Documents pinned dependencies. |
examples/raylib_shooter/main/CMakeLists.txt |
Supports namespaced engine resolution. |
examples/neon_rift_rally/tests/test_rally_game.c |
Expands steering/course tests. |
examples/neon_rift_rally/tests/test_neon_rift_rally.py |
Expands deterministic model tests. |
examples/neon_rift_rally/tests/run_host_tests.sh |
Adds standalone feedback/input checks. |
examples/neon_rift_rally/tests/course_select.json |
Exercises pointer course selection. |
examples/neon_rift_rally/tests/check_steering_response.py |
Adds steering calibration acceptance. |
examples/neon_rift_rally/tests/check_imu_steering.py |
Adds IMU/touch replay checks. |
examples/neon_rift_rally/tests/check_feedback.py |
Adds cue/haptic lifecycle check. |
examples/neon_rift_rally/performance/steering-tuning.md |
Records steering methodology. |
examples/neon_rift_rally/performance/host-optimization.md |
Records Host renderer measurements. |
examples/neon_rift_rally/main/rally_view.h |
Extends view inputs and profiling. |
examples/neon_rift_rally/main/rally_game.h |
Adds courses, steering, and opponents. |
examples/neon_rift_rally/main/CMakeLists.txt |
Supports namespaced engine resolution. |
examples/neon_rift_rally/assets_src/prepare_track_background.py |
Adds Pillow compatibility. |
examples/neon_rift_rally/assets_src/prepare_rally_sprites.py |
Adds Pillow compatibility. |
examples/neon_rift_rally/assets_src/motorcycle_poses.json |
Adds motorcycle pose atlas. |
examples/neon_rift_rally/assets_src/generate_audio.py |
Adds collision cue. |
examples/neon_rift_rally/assets_src/game_assets.json |
Registers new game assets. |
examples/living_worlds/tests/test_living_worlds.py |
Corrects repository-root lookup. |
examples/living_worlds/tests/test_living_worlds_session.py |
Relocates session harness lookup. |
examples/living_worlds/tests/test_living_worlds_session.c |
Adds lifecycle/rollback tests. |
examples/living_worlds/tests/test_living_worlds_audio.py |
Relocates audio harness lookup. |
examples/living_worlds/tests/test_living_worlds_audio.c |
Adds audio lifecycle tests. |
examples/living_worlds/README.md |
Updates deployment guidance. |
examples/living_worlds/PERFORMANCE.md |
Marks measurements historical. |
examples/living_worlds/main/CMakeLists.txt |
Supports namespaced engine resolution. |
examples/living_worlds/HISTORICAL_PERFORMANCE.md |
Archives device measurements. |
examples/last_zone_extraction/tests/test_last_zone_model.py |
Relocates model harness lookup. |
examples/last_zone_extraction/tests/test_last_zone_feedback.py |
Relocates feedback harness lookup. |
examples/last_zone_extraction/README.md |
Updates supported build paths. |
examples/last_zone_extraction/main/CMakeLists.txt |
Supports namespaced engine resolution. |
examples/common_components/examples_common/README.md |
Clarifies unsupported ELF path. |
examples/boards/esp-mosaico/sdkconfig.defaults |
Disables Iris by default. |
examples/boards/esp-mosaico/README.md |
Documents pinned Board dependencies. |
examples/boards/esp-mosaico/project.cmake |
Fetches pinned Recovery source. |
examples/boards/esp-mosaico/Kconfig |
Adds Iris opt-in setting. |
examples/boards/esp-mosaico/idf_component.yml |
Pins BSP and Iris revisions. |
examples/boards/esp-mosaico/CMakeLists.txt |
Adds OTA dependency. |
examples/boards/esp-mosaico/board.c |
Gates Iris and confirms OTA directly. |
docs/skills/mosaico-game-development/SKILL.EN.md |
Updates supported workflows. |
docs/skills/mosaico-game-development/SKILL.CN.md |
Updates Chinese workflow guidance. |
docs/reference-designs.EN.md |
Updates documentation link. |
docs/README.md |
Becomes English documentation index. |
docs/README.EN.md |
Removes superseded English index. |
docs/README.CN.md |
Updates bilingual index links. |
docs/quickstart.EN.md |
Clarifies checkout/native requirements. |
docs/quickstart.CN.md |
Updates Chinese quickstart. |
docs/game-development.EN.md |
Documents release and validation workflow. |
docs/game-development.CN.md |
Updates Chinese development workflow. |
docs/engine-capabilities.EN.md |
Links public lifecycle contract. |
docs/board-porting.EN.md |
Documents ownership and concurrency. |
docs/board-porting.CN.md |
Updates Chinese Board contract. |
docs/agent-cli.EN.md |
Updates replay and ELF guidance. |
docs/agent-cli.CN.md |
Updates Chinese CLI guidance. |
CONTRIBUTING.md |
Removes language-selector stub. |
CONTRIBUTING.EN.md |
Updates documentation link. |
CMakeLists.txt |
Clarifies namespaced component use. |
CHANGELOG.md |
Records release integration changes. |
API.md |
Adds public application contract. |
.gitignore |
Ignores experiments and release output. |
.github/workflows/release-checks.yml |
Adds package/build/upload pipeline. |
.github/workflows/checks.yml |
Installs expanded Host dependencies. |
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
espressif2022
marked this pull request as ready for review
October 9, 2026 06:59
espressif2022
commented
Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

修改目的
整理 Raylib Lite Engine 的组件边界、开发入口和发布流程,让普通 native 示例独立构建,同时由 Vibe 负责 Iris 产品集成。
主要修改
1. 分离 Engine、Board 与 Iris 服务
raylib_lite_native_services接口,提供启动、绑定、首帧通知和解除绑定四个生命周期回调。2. 对齐 BSP 依赖
mosaico_boot_splash组件的自动注册。开机 logo 和震动仍由 utils 的保留 bootloader 实现,本 PR 不修改这些功能。
3. 整理游戏开发与 Host 入口
4. 完善组件发布和独立例程
5. 清理文档与补充检查
验证结果
git diff --check通过。最后的 BSP 引用和 splash 构建清理已重新验证配置、构建及打包,未再次烧录。此次未重新验证 BOX-3、开机震动、音频和长时间稳定性。
配套依赖
建议按 BSP → Engine → utils → Vibe 的顺序合并。若 BSP 使用 squash 或 rebase 合并,应更新依赖到最终提交。