Files
andriyDev efc6464f9b Create types to store serializable data about the ECS schedule and provide tools for extracting this data. (#22520)
# Objective

- A step towards #10981.
- Allow us to extract data from an app about the schedules.

Here are also some **non-goals** for this PR. These are left as future
work:

- Extract every piece of data in the schedule. I've focused on a rough
set of information that should let us visualization the most important
parts.
- Provide utilities for interpreting the data. This PR is focused on
just extracting the data, interpreting it comes next.
- Any sort of dot graph tools.

## Solution

- Create ser/de compatible structs for representing schedule data.
- Create a function to get schedule data from an initialized `Schedule`.
- Create a plugin to automatically extract the schedule data for every
schedule in the `App`.
- Note this doesn't include other subapps, I'll also leave that to
another PR.
- Make `bevy_ecs` return edges that build passes added.
- Make `bevy_ecs` return the "build metadata" to the caller, and also
trigger as an event.

## Testing

- Added tests!
- Added an example - it outputs a ron file. I assume its all valid.

---------

Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Co-authored-by: Kevin Chen <chen.kevin.f@gmail.com>
2026-04-06 23:06:15 +00:00

45 lines
1019 B
Plaintext

# If your IDE needs additional project specific files, configure git to ignore them:
# https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer
# Rust build artifacts
target
crates/**/target
benches/**/target
tools/**/target
**/*.rs.bk
rustc-ice-*.txt
# DX12 wgpu backend
dxcompiler.dll
dxil.dll
# Cargo
Cargo.lock
.cargo/config
.cargo/config.toml
# Bevy Assets
assets/**/*.meta
crates/bevy_asset/imported_assets
imported_assets
.web-asset-cache
examples/large_scenes/bistro/assets/*
examples/large_scenes/caldera_hotel/assets/*
examples/asset/saved_assets
# Bevy Examples
example_showcase_config.ron
example-showcase-reports/
# Generated by "examples/scene/scene.rs"
assets/serialized_worlds/load_scene_example-new.scn.ron
# Generated by "examples/window/screenshot.rs"
**/screenshot-*.png
# Generated by "examples/large_scenes"
compressed_texture_cache
# Generated by "examples/dev_tools/schedule_data.rs"
**/app_data.ron