Add RenderScheduleOrder resource to allow for RenderApp Schedule changes#23513
Add RenderScheduleOrder resource to allow for RenderApp Schedule changes#23513alice-i-cecile merged 6 commits intobevyengine:mainfrom
RenderScheduleOrder resource to allow for RenderApp Schedule changes#23513Conversation
4530c9f to
5560bd6
Compare
5560bd6 to
fdf7e9d
Compare
|
I'm not sure I understand the rationale well enough here. Can you restate the problem we're trying to solve for me using more words? |
|
So, I don't think this is the right approach. You can do this in a renderstartup system: just check if your resource is already initialized, and only do so if it hasn't been. The render world is never wiped, so you can store that state downstream and we don't need a RenderStartup change to accomodate this. Am i missing something? |
|
Hmm okay I can be convinced on that, but I still need the |
PreRenderStartup schedule and RenderMainScheduleOrder resourceRenderMainScheduleOrder resource to allow for RenderApp Schedule changes
|
Okay so this is much simpler now - this follows the same as the main world Main schedule phases (see |
kfc35
left a comment
There was a problem hiding this comment.
I don’t have any blocking comments
|
I like the new direction much better here. |
RenderMainScheduleOrder resource to allow for RenderApp Schedule changesRenderScheduleOrder resource to allow for RenderApp Schedule changes
| } | ||
|
|
||
| fn run_render_schedule(world: &mut World) { | ||
| world.run_schedule(Render); |
There was a problem hiding this comment.
nit: The name of this function should probably be updated
# Objective - BRP on the `RenderApp` ## Solution - Add type registry to `RenderApp` - Add BRP systems to render app - Add HTTP listener to extra port I suggest hiding whitespace for reviewing: <img width="422" height="360" alt="image" src="https://github.com/user-attachments/assets/3d76eafb-40f5-42f6-8752-c9d94f81d378" /> ## Related: - #23513 - #23447 - #23452 ## Testing - CI - in terminal 1 run `cargo run --example client --features="bevy_remote"` - in terminal 2 run `curl -d'{"jsonrpc":"2.0","method":"world.list_resources","id":1,"params":{}}' -X POST -H "Accept: applcation/json" -H "Content-Type: application/json" http://127.0.0.1:15702` - in terminal 2 run `curl -d'{"jsonrpc":"2.0","method":"world.list_resources","id":1,"params":{}}' -X POST -H "Accept: applcation/json" -H "Content-Type: application/json" http://127.0.0.1:15703` --------- Co-authored-by: Kevin Chen <chen.kevin.f@gmail.com>
…` changes (bevyengine#23513) # Objective - Render schedules are static, compared to the main schedules in the main world that can be dynamically added with the `MainScheduleOrder` resource - This is necessary to allow BRP introspection of schedules in the Render world (see bevyengine#23452 ) ## Solution - Add `RenderScheduleOrder` resource that allows for ordering of `Render` schedules ## Testing - CI - bevyengine#23446
- BRP on the `RenderApp` - Add type registry to `RenderApp` - Add BRP systems to render app - Add HTTP listener to extra port I suggest hiding whitespace for reviewing: <img width="422" height="360" alt="image" src="https://github.com/user-attachments/assets/3d76eafb-40f5-42f6-8752-c9d94f81d378" /> - bevyengine#23513 - bevyengine#23447 - bevyengine#23452 - CI - in terminal 1 run `cargo run --example client --features="bevy_remote"` - in terminal 2 run `curl -d'{"jsonrpc":"2.0","method":"world.list_resources","id":1,"params":{}}' -X POST -H "Accept: applcation/json" -H "Content-Type: application/json" http://127.0.0.1:15702` - in terminal 2 run `curl -d'{"jsonrpc":"2.0","method":"world.list_resources","id":1,"params":{}}' -X POST -H "Accept: applcation/json" -H "Content-Type: application/json" http://127.0.0.1:15703` --------- Co-authored-by: Kevin Chen <chen.kevin.f@gmail.com>
Objective
MainScheduleOrderresourceschedule.graphendpoint #23452 )Solution
RenderScheduleOrderresource that allows for ordering ofRenderschedulesTesting