diff options
-rw-r--r-- | .github/workflows/docs.yml | 50 | ||||
-rw-r--r-- | .github/workflows/rust.yml | 24 | ||||
-rw-r--r-- | Cargo.lock | 1769 | ||||
-rw-r--r-- | Cargo.toml | 16 | ||||
-rw-r--r-- | README.md | 23 | ||||
-rw-r--r-- | src/display/components.rs | 125 |
6 files changed, 1572 insertions, 435 deletions
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml deleted file mode 100644 index e0044de..0000000 --- a/.github/workflows/docs.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Docs -on: - push: - branches: [master] -permissions: - contents: read - pages: write - id-token: write -concurrency: - group: deploy - cancel-in-progress: false -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Install Dependencies - run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev - - name: Setup Rust - uses: dtolnay/rust-toolchain@stable - - name: Configure cache - uses: Swatinem/rust-cache@v2 - - name: Setup pages - id: pages - uses: actions/configure-pages@v4 - - name: Clean docs folder - run: cargo clean --doc - - name: Build docs - run: cargo doc --no-deps - - name: Add redirect - run: echo '<meta http-equiv="refresh" content="0;url=bevy_terminal_display/index.html">' > target/doc/index.html - - name: Remove lock file - run: rm target/doc/.lock - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: target/doc - deploy: - name: Deploy - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml deleted file mode 100644 index e38739d..0000000 --- a/.github/workflows/rust.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Rust - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -env: - CARGO_TERM_COLOR: always - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - name: Install Dependencies - run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev - - name: Build - run: cargo build --verbose - - name: Run tests - run: cargo test --verbose @@ -25,12 +25,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" [[package]] +name = "accesskit" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" + +[[package]] name = "accesskit_consumer" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bdfa1638ddd6eb9c752def95568df8b3ad832df252e9156d2eb783b201ca8a9" dependencies = [ - "accesskit", + "accesskit 0.14.0", "immutable-chunkmap", ] @@ -40,7 +46,7 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c236a84ff1111defc280cee755eaa953d0b24398786851b9d28322c6d3bb1ebd" dependencies = [ - "accesskit", + "accesskit 0.14.0", "accesskit_consumer", "objc2", "objc2-app-kit", @@ -54,7 +60,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d7f43d24b16b3e76bef248124fbfd2493c3a9860edb5aae1010c890e826de5e" dependencies = [ - "accesskit", + "accesskit 0.14.0", "accesskit_consumer", "paste", "static_assertions", @@ -67,7 +73,7 @@ version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "755535e6bf711a42dac28b888b884b10fc00ff4010d9d3bd871c5f5beae5aa78" dependencies = [ - "accesskit", + "accesskit 0.14.0", "accesskit_macos", "accesskit_windows", "raw-window-handle", @@ -90,12 +96,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] name = "ahash" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "const-random", "getrandom", "once_cell", "version_check", @@ -190,6 +203,26 @@ dependencies = [ ] [[package]] +name = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading 0.8.6", +] + +[[package]] +name = "assert_type_match" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] name = "async-broadcast" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -259,6 +292,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] +name = "atomicow" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467163b50876d3a4a44da5f4dbd417537e522fc059ede8d518d57941cfb3d745" + +[[package]] name = "autocfg" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -274,7 +313,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -291,7 +330,16 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "043c9ad4b6fc4ca52d779873a8ca792a4e37842d07fce95363c9e17e36a1d8a0" dependencies = [ - "bevy_internal", + "bevy_internal 0.14.2", +] + +[[package]] +name = "bevy" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6a01cd51a5cd310e4e7aa6e1560b1aabf29efc6a095a01e6daa8bf0a19f1fea" +dependencies = [ + "bevy_internal 0.15.0", ] [[package]] @@ -300,10 +348,23 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae1a976cb539d6a5a3ff579cdb78187a6bcfbffa7e8224ea28f23d8b983d9389" dependencies = [ - "accesskit", - "bevy_app", - "bevy_derive", - "bevy_ecs", + "accesskit 0.14.0", + "bevy_app 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", +] + +[[package]] +name = "bevy_a11y" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82c66b5bc82a2660a5663d85b3354ddb72c8ab2c443989333cbea146f39a4e9a" +dependencies = [ + "accesskit 0.17.1", + "bevy_app 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", ] [[package]] @@ -312,11 +373,11 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5361d0f8a8677a5d0102cfe7321a7ecd2a8b9a4f887ce0dde1059311cf9cd42" dependencies = [ - "bevy_derive", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "console_error_panic_hook", "downcast-rs", "thiserror", @@ -325,6 +386,25 @@ dependencies = [ ] [[package]] +name = "bevy_app" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "652574e4c10efcfa70f98036709dd5b67e5cb8d46c58087ef48c2ac6b62df9da" +dependencies = [ + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "console_error_panic_hook", + "ctrlc", + "derive_more 1.0.0", + "downcast-rs", + "wasm-bindgen", + "web-sys", +] + +[[package]] name = "bevy_asset" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -333,12 +413,12 @@ dependencies = [ "async-broadcast", "async-fs", "async-lock", - "bevy_app", - "bevy_asset_macros", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset_macros 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "bevy_winit", "blake3", "crossbeam-channel", @@ -357,12 +437,61 @@ dependencies = [ ] [[package]] +name = "bevy_asset" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d7d501eda01be6d500d843a06d9b9800c3f0fffaae3c29d17d9e4e172c28d37" +dependencies = [ + "async-broadcast", + "async-fs", + "async-lock", + "atomicow", + "bevy_app 0.15.0", + "bevy_asset_macros 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bitflags 2.6.0", + "blake3", + "crossbeam-channel", + "derive_more 1.0.0", + "disqualified", + "downcast-rs", + "either", + "futures-io", + "futures-lite", + "js-sys", + "parking_lot", + "ron", + "serde", + "stackfuture", + "uuid", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] name = "bevy_asset_macros" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9eb05ce838d282f09d83380b4d6432aec7519d421dee8c75cc20e6148237e6e" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_asset_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7474b77fc27db11ec03d49ca04f1a7471f369dc373fd5e091a12ad7ab533d8c8" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.90", @@ -374,13 +503,28 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04842e9d38a93f0c75ab46f7f404ea24ef57ad83dbd159e5b4b35318b02257bb" dependencies = [ - "bevy_math", - "bevy_reflect", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bytemuck", - "encase", + "encase 0.8.0", "serde", "thiserror", - "wgpu-types", + "wgpu-types 0.20.0", +] + +[[package]] +name = "bevy_color" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87bccacba27db37375eb97ffc86e91a7d95db3f5faa6a834fa7306db02cde327" +dependencies = [ + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bytemuck", + "derive_more 1.0.0", + "encase 0.10.0", + "serde", + "wgpu-types 23.0.0", ] [[package]] @@ -389,32 +533,46 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de706862871a1fe99ea619bff2f99d73e43ad82f19ef866a9e19a14c957c8537" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "serde", "uuid", ] [[package]] +name = "bevy_core" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecccf7be33330f58d4c7033b212a25c414d388e3a8d55b61331346da5dbabf22" +dependencies = [ + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "uuid", +] + +[[package]] name = "bevy_core_pipeline" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f6e1e122ada4cd811442e083fb5ad3e325c59a87271d5ef57193f1c2cad7f8c" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.6.0", "nonmax", "radsort", @@ -424,12 +582,50 @@ dependencies = [ ] [[package]] +name = "bevy_core_pipeline" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3fb9f84fa60c2006d4a15e039c3d08d4d10599441b9175907341a77a69d627" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bitflags 2.6.0", + "derive_more 1.0.0", + "nonmax", + "radsort", + "serde", + "smallvec", +] + +[[package]] name = "bevy_derive" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fbfc33a4c6b80760bb8bf850a2cc65a1e031da62fd3ca8b552189104dc98514" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_derive" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e141b7eda52a23bb88740b37a291e26394524cb9ee3b034c7014669671fc2bb5" +dependencies = [ + "bevy_macro_utils 0.15.0", "quote", "syn 2.0.90", ] @@ -440,21 +636,37 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bebb154e0cc78e3bbfbfdb42fb502b14c1cd47e72f16e6d4228dfe6233ba6cbd" dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_tasks", - "bevy_time", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_core 0.14.2", + "bevy_ecs 0.14.2", + "bevy_tasks 0.14.2", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", + "const-fnv1a-hash", +] + +[[package]] +name = "bevy_diagnostic" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa97748337405089edfb2857f7608f21bcc648a7ad272c9209808aad252ed542" +dependencies = [ + "bevy_app 0.15.0", + "bevy_core 0.15.0", + "bevy_ecs 0.15.0", + "bevy_tasks 0.15.0", + "bevy_time 0.15.0", + "bevy_utils 0.15.0", "const-fnv1a-hash", ] [[package]] name = "bevy_dither_post_process" -version = "0.2.1" -source = "git+https://github.com/exvacuum/bevy_dither_post_process?branch=wip#091db43227592d660641c486a0ef742b12f729e5" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f3318ee0fd8667a911def5aedec7c7e4a36b0d4d7c78de6a8be357c1658132" dependencies = [ - "bevy", + "bevy 0.15.0", ] [[package]] @@ -463,11 +675,11 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ee4222406637f3c8e3991a99788cfcde76097bf997c311f1b6297364057483f" dependencies = [ - "bevy_ecs_macros", - "bevy_ptr", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_ecs_macros 0.14.2", + "bevy_ptr 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.6.0", "concurrent-queue", "fixedbitset 0.5.7", @@ -478,12 +690,46 @@ dependencies = [ ] [[package]] +name = "bevy_ecs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4c4b60d2a712c6d5cbe610bac7ecf0838fc56a095fd5b15f30230873e84f15" +dependencies = [ + "bevy_ecs_macros 0.15.0", + "bevy_ptr 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "bitflags 2.6.0", + "concurrent-queue", + "derive_more 1.0.0", + "disqualified", + "fixedbitset 0.5.7", + "nonmax", + "petgraph", + "serde", + "smallvec", +] + +[[package]] name = "bevy_ecs_macros" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36b573430b67aff7bde8292257494f39343401379bfbda64035ba4918bba7b20" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4296b3254b8bd29769f6a4512731b2e6c4b163343ca18b72316927315b6096" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.90", @@ -495,8 +741,18 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06c9693847a2a6ea61d6b86288dd4d8b6a79f05d4bf6e27b96d4f5c8d552fe4" dependencies = [ - "bevy_macro_utils", - "encase_derive_impl", + "bevy_macro_utils 0.14.2", + "encase_derive_impl 0.8.0", +] + +[[package]] +name = "bevy_encase_derive" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe562b883fb652acde84cb6bb01cbc9f23c377e411f1484467ecfdd3a3d234e" +dependencies = [ + "bevy_macro_utils 0.15.0", + "encase_derive_impl 0.10.0", ] [[package]] @@ -505,11 +761,11 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0422ccb3ce0f79b264100cf064fdc5ef65cef5c7d51bf6378058f9b96fea4183" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_time", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_input 0.14.2", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", "gilrs", "thiserror", ] @@ -520,19 +776,42 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfe32af0666d8d8a7fd6eb6b5e41eceefdc6f2e5441c74b812e8f0902a9d7f52" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_gizmos_macros", - "bevy_math", - "bevy_reflect", - "bevy_render", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core_pipeline 0.14.2", + "bevy_ecs 0.14.2", + "bevy_gizmos_macros 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", "bevy_sprite", - "bevy_time", - "bevy_transform", - "bevy_utils", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bytemuck", +] + +[[package]] +name = "bevy_gizmos" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1c82341f6a3517efeeeef2fe68135ac3a91b11b6e369fc1a07f6e9a4b462b57" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core_pipeline 0.15.0", + "bevy_ecs 0.15.0", + "bevy_gizmos_macros 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_pbr", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", "bytemuck", ] @@ -542,7 +821,19 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "906b052f8cf3f3983f0f6df625fb10cbd9b27d44e362a327dc1ed51300d362bc" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_gizmos_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9454ac9f0a2141900ef9f3482af9333e490d5546bbea3cab63a777447d35beed" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.90", @@ -550,10 +841,11 @@ dependencies = [ [[package]] name = "bevy_headless_render" -version = "0.1.2" -source = "git+https://github.com/exvacuum/bevy_headless_render?branch=wip#3c711f2012c865c2a17077b2980c53437c4812bc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36196cbca01967b8325a0874ed66d3d07a2e6535f99ec92e7e2f0c7a507dcc59" dependencies = [ - "bevy", + "bevy 0.15.0", "oneshot", "pollster", ] @@ -564,82 +856,180 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a88b912b37e1bc4dbb2aa40723199f74c8b06c4fbb6da0bb4585131df28ef66e" dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_core 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", + "smallvec", +] + +[[package]] +name = "bevy_hierarchy" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe0b538beea7edbf30a6062242b99e67ff3bfa716566aacf91d5b5e027f02a2" +dependencies = [ + "bevy_app 0.15.0", + "bevy_core 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "disqualified", "smallvec", ] [[package]] +name = "bevy_image" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db46fa6a2f9e20435f3231710abbb136d2cc0a376f3f8e6ecfe071e286f5a246" +dependencies = [ + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "bitflags 2.6.0", + "bytemuck", + "derive_more 1.0.0", + "futures-lite", + "image", + "serde", + "wgpu 23.0.1", +] + +[[package]] name = "bevy_input" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8dd3a54e67cc3ba17971de7b1a7e64eda84493c1e7bb6bfa11c6cf8ac124377b" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "serde", "smol_str", "thiserror", ] [[package]] +name = "bevy_input" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46b4ea60095d1a1851e40cb12481ad3d5d234e14376d6b73142a85586c266b74" +dependencies = [ + "bevy_app 0.15.0", + "bevy_core 0.15.0", + "bevy_ecs 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", + "smol_str", +] + +[[package]] name = "bevy_internal" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45d435cac77c568f3aef65f786a5fee0e53c81950c5258182dd2c1d6cd6c4fec" dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_core_pipeline", - "bevy_derive", - "bevy_diagnostic", - "bevy_ecs", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core 0.14.2", + "bevy_core_pipeline 0.14.2", + "bevy_derive 0.14.2", + "bevy_diagnostic 0.14.2", + "bevy_ecs 0.14.2", "bevy_gilrs", - "bevy_gizmos", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_ptr", - "bevy_reflect", - "bevy_render", - "bevy_scene", + "bevy_gizmos 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", + "bevy_ptr 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_scene 0.14.2", "bevy_sprite", - "bevy_tasks", + "bevy_tasks 0.14.2", "bevy_text", - "bevy_time", - "bevy_transform", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", "bevy_ui", - "bevy_utils", - "bevy_window", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bevy_winit", ] [[package]] +name = "bevy_internal" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4237e6e9b03902321032f00f931f18a4a211093bd9a7cf81276a0228a2a4417" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_core_pipeline 0.15.0", + "bevy_derive 0.15.0", + "bevy_diagnostic 0.15.0", + "bevy_ecs 0.15.0", + "bevy_gizmos 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_image", + "bevy_input 0.15.0", + "bevy_log 0.15.0", + "bevy_math 0.15.0", + "bevy_pbr", + "bevy_ptr 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_scene 0.15.0", + "bevy_tasks 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", +] + +[[package]] name = "bevy_log" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67240c7596c8f0653e50fce35a60196516817449235193246599facba9002e02" dependencies = [ "android_log-sys", - "bevy_app", - "bevy_ecs", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_utils 0.14.2", "tracing-log", "tracing-subscriber", "tracing-wasm", ] [[package]] +name = "bevy_log" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0bdb42b00ac3752f0d6f531fbda8abf313603157a7b3163da8529412119a0a" +dependencies = [ + "android_log-sys", + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_utils 0.15.0", + "tracing-log", + "tracing-oslog", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] name = "bevy_macro_utils" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -652,13 +1042,25 @@ dependencies = [ ] [[package]] +name = "bevy_macro_utils" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954dbb56a66a6c09c783e767f6ceca0dc0492c22e536e2aeaefb5545eac33c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", + "toml_edit", +] + +[[package]] name = "bevy_math" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5421792749dda753ab3718e77d27bfce38443daf1850b836b97530b6245a4581" dependencies = [ - "bevy_reflect", - "glam", + "bevy_reflect 0.14.2", + "glam 0.27.0", "rand", "serde", "smallvec", @@ -666,12 +1068,89 @@ dependencies = [ ] [[package]] +name = "bevy_math" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae26f952598e293acac783d947b21af1809673cbeba25d76b969a56f287160b" +dependencies = [ + "bevy_reflect 0.15.0", + "derive_more 1.0.0", + "glam 0.29.2", + "itertools", + "rand", + "rand_distr", + "serde", + "smallvec", +] + +[[package]] +name = "bevy_mesh" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c324d45ca0043a4696d7324b569de65be17066ed3a97dd42205bc28693d20b5" +dependencies = [ + "bevy_asset 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_mikktspace 0.15.0", + "bevy_reflect 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bitflags 2.6.0", + "bytemuck", + "derive_more 1.0.0", + "hexasphere 15.0.0", + "serde", + "wgpu 23.0.1", +] + +[[package]] name = "bevy_mikktspace" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66cf695a264b043f2c4edb92dd5c742e6892180d2b30dac870012d153f8557ea" dependencies = [ - "glam", + "glam 0.27.0", +] + +[[package]] +name = "bevy_mikktspace" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da5ea3ad25d74ea36ea45418ad799f135d046db35c322b9704c4a8934eb65ce9" +dependencies = [ + "glam 0.29.2", +] + +[[package]] +name = "bevy_pbr" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b3bd8e646ddd3f27743b712957d2990d7361eb21044accc47c4f66711bf2cb" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core_pipeline 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bitflags 2.6.0", + "bytemuck", + "derive_more 1.0.0", + "fixedbitset 0.5.7", + "nonmax", + "radsort", + "smallvec", + "static_assertions", ] [[package]] @@ -681,17 +1160,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61baa1bdc1f4a7ac2c18217570a7cc04e1cd54d38456e91782f0371c79afe0a8" [[package]] +name = "bevy_ptr" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af9e30b40fb3f0a80a658419f670f2de1e743efcaca1952c43cdcc923287944" + +[[package]] name = "bevy_reflect" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2508785a4a5809f25a237eec4fee2c91a4dbcf81324b2bbc2d6c52629e603781" dependencies = [ - "bevy_ptr", - "bevy_reflect_derive", - "bevy_utils", + "bevy_ptr 0.14.2", + "bevy_reflect_derive 0.14.2", + "bevy_utils 0.14.2", "downcast-rs", "erased-serde", - "glam", + "glam 0.27.0", "serde", "smallvec", "smol_str", @@ -700,12 +1185,46 @@ dependencies = [ ] [[package]] +name = "bevy_reflect" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a37e2ae5ed62df4a0e3f958076effe280b39bc81fe878587350897a89332a2" +dependencies = [ + "assert_type_match", + "bevy_ptr 0.15.0", + "bevy_reflect_derive 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", + "disqualified", + "downcast-rs", + "erased-serde", + "glam 0.29.2", + "serde", + "smallvec", + "smol_str", + "uuid", +] + +[[package]] name = "bevy_reflect_derive" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "967d5da1882ec3bb3675353915d3da909cafac033cbf31e58727824a1ad2a288" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.90", + "uuid", +] + +[[package]] +name = "bevy_reflect_derive" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c683fc68c75fc26f90bb1e529590095380d7cec66f6610dbe6b93d9fd26f94" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.90", @@ -719,35 +1238,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "836cf8a513db013cbe7d55a331060088efd407e49fd5b05c8404700cd82e7619" dependencies = [ "async-channel", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_derive", - "bevy_diagnostic", - "bevy_ecs", - "bevy_encase_derive", - "bevy_hierarchy", - "bevy_math", - "bevy_mikktspace", - "bevy_reflect", - "bevy_render_macros", - "bevy_tasks", - "bevy_time", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core 0.14.2", + "bevy_derive 0.14.2", + "bevy_diagnostic 0.14.2", + "bevy_ecs 0.14.2", + "bevy_encase_derive 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", + "bevy_mikktspace 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render_macros 0.14.2", + "bevy_tasks 0.14.2", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bitflags 2.6.0", "bytemuck", "codespan-reporting", "downcast-rs", - "encase", + "encase 0.8.0", "futures-lite", - "hexasphere", + "hexasphere 12.0.0", "image", "js-sys", - "naga", - "naga_oil", + "naga 0.20.0", + "naga_oil 0.14.0", "nonmax", "send_wrapper", "serde", @@ -755,7 +1274,53 @@ dependencies = [ "thiserror", "wasm-bindgen", "web-sys", - "wgpu", + "wgpu 0.20.1", +] + +[[package]] +name = "bevy_render" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d188f392edf4edcae53dfda07f3ec618a7a704183ec3f2e8504657a9fb940c8a" +dependencies = [ + "async-channel", + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_derive 0.15.0", + "bevy_diagnostic 0.15.0", + "bevy_ecs 0.15.0", + "bevy_encase_derive 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_mesh", + "bevy_reflect 0.15.0", + "bevy_render_macros 0.15.0", + "bevy_tasks 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bytemuck", + "codespan-reporting", + "derive_more 1.0.0", + "downcast-rs", + "encase 0.10.0", + "futures-lite", + "image", + "js-sys", + "naga 23.0.0", + "naga_oil 0.16.0", + "nonmax", + "offset-allocator", + "send_wrapper", + "serde", + "smallvec", + "wasm-bindgen", + "web-sys", + "wgpu 23.0.1", ] [[package]] @@ -764,7 +1329,19 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbc24e0e95061a38a7744218b9c7e52e4c08b53f1499f33480e2b749f3864432" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_render_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ab37ee2945f93e9ba8daf91cd968b4cba9c677ac51d349dd8512a107a9a5d92" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.90", @@ -776,37 +1353,57 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ec57a72d75273bdbb6154390688fd07ba79ae9f6f99476d1937f799c736c2da" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "serde", "thiserror", "uuid", ] [[package]] +name = "bevy_scene" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e883fd3c6d6e7761f1fe662e79bc7bdc7e917e73e7bfc434b1d16d2a5852119" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", + "serde", + "uuid", +] + +[[package]] name = "bevy_sprite" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e045b4d8cc8e7422a4c29b1eadbe224f5cc42f170b88d43e7535892fcede3840" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core_pipeline 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.6.0", "bytemuck", "fixedbitset 0.5.7", @@ -828,10 +1425,23 @@ dependencies = [ ] [[package]] +name = "bevy_tasks" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5171c605b462b4e3249e01986505e62e3933aa27642a9f793c841814fcbbfb4f" +dependencies = [ + "async-executor", + "futures-channel", + "futures-lite", + "pin-project", + "wasm-bindgen-futures", +] + +[[package]] name = "bevy_terminal_display" -version = "0.4.4" +version = "0.5.1" dependencies = [ - "bevy", + "bevy 0.15.0", "bevy_dither_post_process", "bevy_headless_render", "color-eyre", @@ -852,17 +1462,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b661db828fd423fc41a4ccf43aa4d1b8e50e75057ec40453317d0d761e8ad62d" dependencies = [ "ab_glyph", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", "bevy_sprite", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "glyph_brush_layout", "serde", "thiserror", @@ -874,53 +1484,80 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4e4d53ec32a1b16492396951d04de0d2d90e924bf9adcb8d1adacab5ab6c17c" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "crossbeam-channel", "serde", "thiserror", ] [[package]] +name = "bevy_time" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291b6993b899c04554fc034ebb9e0d7fde9cb9b2fb58dcd912bfa6247abdedbb" +dependencies = [ + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "crossbeam-channel", +] + +[[package]] name = "bevy_transform" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5493dce84427d00a9266e8e4386d738a72ee8640423b62dfcecb6dfccbfe0d2" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", - "bevy_reflect", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "serde", "thiserror", ] [[package]] +name = "bevy_transform" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35665624d0c728107ab0920d5ad2d352362b906a8c376eaf375ec9c751faf4" +dependencies = [ + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "derive_more 1.0.0", +] + +[[package]] name = "bevy_ui" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56d2cba6603b39a3765f043212ae530e25550af168a7eec6b23b9b93c19bc5f7" dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_math", - "bevy_reflect", - "bevy_render", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core_pipeline 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", "bevy_sprite", "bevy_text", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bytemuck", "nonmax", "serde", @@ -936,7 +1573,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffb0ec333b5965771153bd746f92ffd8aeeb9d008a8620ffd9ed474859381a5e" dependencies = [ "ahash", - "bevy_utils_proc_macros", + "bevy_utils_proc_macros 0.14.2", + "getrandom", + "hashbrown 0.14.5", + "thread_local", + "tracing", + "web-time", +] + +[[package]] +name = "bevy_utils" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0a48bad33c385a7818b7683a16c8b5c6930eded05cd3f176264fc1f5acea473" +dependencies = [ + "ahash", + "bevy_utils_proc_macros 0.15.0", "getrandom", "hashbrown 0.14.5", "thread_local", @@ -956,23 +1608,52 @@ dependencies = [ ] [[package]] +name = "bevy_utils_proc_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfd8d4a525b8f04f85863e45ccad3e922d4c11ed4a8d54f7f62a40bf83fb90f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] name = "bevy_window" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c89e88a20db64ea8204540afb4699295947c454738fd50293f7b32ab8be857a6" dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "raw-window-handle", "serde", "smol_str", ] [[package]] +name = "bevy_window" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f3520279aae65935d6a84443202c154ead3abebf8dae906d095665162de358" +dependencies = [ + "android-activity", + "bevy_a11y 0.15.0", + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_input 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "raw-window-handle", + "smol_str", +] + +[[package]] name = "bevy_winit" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -980,18 +1661,18 @@ checksum = "d0bef8ec3e4b45db943ad4d1c0bf59b09e382ce0651a706e2f33a70fa955303c" dependencies = [ "accesskit_winit", "approx", - "bevy_a11y", - "bevy_app", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "bevy_window", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "cfg-if", "crossbeam-channel", "raw-window-handle", @@ -1002,12 +1683,41 @@ dependencies = [ ] [[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.90", +] + +[[package]] name = "bit-set" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec 0.8.0", ] [[package]] @@ -1017,6 +1727,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1099,6 +1815,12 @@ dependencies = [ ] [[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] name = "byteorder-lite" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1141,9 +1863,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.5" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" +checksum = "27f657647bcff5394bf56c7317665bbf790a137a50eaaa5c6bfbb9e27a518f2d" dependencies = [ "jobserver", "libc", @@ -1157,6 +1879,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1175,6 +1906,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading 0.8.6", +] + +[[package]] name = "codespan-reporting" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1292,10 +2034,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" [[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] + +[[package]] name = "const_panic" -version = "0.2.11" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53857514f72ee4a2b583de67401e3ff63a5472ca4acf289d09a9ea7636dfec17" +checksum = "013b6c2c3a14d678f38cd23994b02da3a1a1b6a5d1eedddfe63a5a5f11b13a81" [[package]] name = "const_soft_float" @@ -1359,19 +2121,28 @@ dependencies = [ ] [[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] name = "crossbeam-channel" -version = "0.5.14" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.21" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crossterm" @@ -1400,6 +2171,22 @@ dependencies = [ ] [[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "ctrlc" +version = "3.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +dependencies = [ + "nix", + "windows-sys 0.59.0", +] + +[[package]] name = "cursor-icon" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1469,6 +2256,27 @@ dependencies = [ ] [[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", + "unicode-xid", +] + +[[package]] name = "diff" version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1481,6 +2289,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] +name = "disqualified" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" + +[[package]] name = "dlib" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1541,8 +2355,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a9299a95fa5671ddf29ecc22b00e121843a65cb9ff24911e394b4ae556baf36" dependencies = [ "const_panic", - "encase_derive", - "glam", + "encase_derive 0.8.0", + "glam 0.27.0", + "thiserror", +] + +[[package]] +name = "encase" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0a05902cf601ed11d564128448097b98ebe3c6574bd7b6a653a3d56d54aa020" +dependencies = [ + "const_panic", + "encase_derive 0.10.0", + "glam 0.29.2", "thiserror", ] @@ -1552,7 +2378,16 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e09decb3beb1fe2db6940f598957b2e1f7df6206a804d438ff6cb2a9cddc10" dependencies = [ - "encase_derive_impl", + "encase_derive_impl 0.8.0", +] + +[[package]] +name = "encase_derive" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "181d475b694e2dd56ae919ce7699d344d1fd259292d590c723a50d1189a2ea85" +dependencies = [ + "encase_derive_impl 0.10.0", ] [[package]] @@ -1567,6 +2402,17 @@ dependencies = [ ] [[package]] +name = "encase_derive_impl" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f97b51c5cc57ef7c5f7a0c57c250251c49ee4c28f819f87ac32f4aceabc36792" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] name = "equivalent" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1645,6 +2491,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] name = "fixedbitset" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1657,6 +2512,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] +name = "flate2" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +dependencies = [ + "crc32fast", + "miniz_oxide 0.8.0", +] + +[[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1664,9 +2529,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" [[package]] name = "foreign-types" @@ -1696,6 +2561,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", +] + +[[package]] name = "futures-core" version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1796,6 +2670,23 @@ dependencies = [ ] [[package]] +name = "glam" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677" +dependencies = [ + "bytemuck", + "rand", + "serde", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] name = "glow" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1808,6 +2699,18 @@ dependencies = [ ] [[package]] +name = "glow" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] name = "glutin_wgl_sys" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1817,6 +2720,15 @@ dependencies = [ ] [[package]] +name = "glutin_wgl_sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" +dependencies = [ + "gl_generator", +] + +[[package]] name = "glyph_brush_layout" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1860,14 +2772,26 @@ dependencies = [ ] [[package]] +name = "gpu-allocator" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" +dependencies = [ + "log", + "presser", + "thiserror", + "windows 0.58.0", +] + +[[package]] name = "gpu-descriptor" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf29e94d6d243368b7a56caa16bc213e4f9f8ed38c4d9557069527b5d5281ca" +checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ "bitflags 2.6.0", "gpu-descriptor-types", - "hashbrown 0.15.2", + "hashbrown 0.14.5", ] [[package]] @@ -1951,7 +2875,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edd6b038160f086b0a7496edae34169ae22f328793cbe2b627a5a3d8373748ec" dependencies = [ "constgebra", - "glam", + "glam 0.27.0", +] + +[[package]] +name = "hexasphere" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "741ab88b8cc670443da777c3daab02cebf5a3caccfc04e3c052f55c94d1643fe" +dependencies = [ + "constgebra", + "glam 0.29.2", ] [[package]] @@ -1975,6 +2909,7 @@ dependencies = [ "bytemuck", "byteorder-lite", "num-traits", + "png", ] [[package]] @@ -2137,8 +3072,8 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4021fbf18a5ed42d81fe26d1976b11567db22ebb80baa06d05dcbd270d455c7e" dependencies = [ - "bevy", - "derive_more", + "bevy 0.14.2", + "derive_more 0.99.18", "dyn-clone", "dyn-eq", "dyn-hash", @@ -2163,9 +3098,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.169" +version = "0.2.168" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" [[package]] name = "libloading" @@ -2188,6 +3123,12 @@ dependencies = [ ] [[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] name = "libredox" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2294,6 +3235,27 @@ dependencies = [ ] [[package]] +name = "metal" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] name = "miniz_oxide" version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2303,6 +3265,16 @@ dependencies = [ ] [[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] name = "mio" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2321,7 +3293,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ "arrayvec", - "bit-set", + "bit-set 0.5.3", "bitflags 2.6.0", "codespan-reporting", "hexf-parse", @@ -2337,16 +3309,58 @@ dependencies = [ ] [[package]] +name = "naga" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d5941e45a15b53aad4375eedf02033adb7a28931eedc31117faffa52e6a857e" +dependencies = [ + "arrayvec", + "bit-set 0.8.0", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "pp-rs", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] name = "naga_oil" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "275d9720a7338eedac966141089232514c84d76a246a58ef501af88c5edf402f" dependencies = [ - "bit-set", + "bit-set 0.5.3", + "codespan-reporting", + "data-encoding", + "indexmap", + "naga 0.20.0", + "once_cell", + "regex", + "regex-syntax 0.8.5", + "rustc-hash", + "thiserror", + "tracing", + "unicode-ident", +] + +[[package]] +name = "naga_oil" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31ea1f080bb359927cd5404d0af1e5e6758f4f2d82ecfbebb0a0c434764e40f1" +dependencies = [ + "bit-set 0.5.3", "codespan-reporting", "data-encoding", "indexmap", - "naga", + "naga 23.0.0", "once_cell", "regex", "regex-syntax 0.8.5", @@ -2408,6 +3422,16 @@ dependencies = [ ] [[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] name = "nonmax" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2430,6 +3454,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -2675,6 +3700,16 @@ dependencies = [ ] [[package]] +name = "offset-allocator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e234d535da3521eb95106f40f0b73483d80bfb3aacf27c40d7e2b72f1a3e00a2" +dependencies = [ + "log", + "nonmax", +] + +[[package]] name = "once_cell" version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2805,6 +3840,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] +name = "png" +version = "0.17.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67582bd5b65bdff614270e2ea89a1cf15bef71245cc1e5f7ea126977144211d" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.0", +] + +[[package]] name = "polling" version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2821,9 +3869,9 @@ dependencies = [ [[package]] name = "pollster" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "pp-rs" @@ -2835,6 +3883,15 @@ dependencies = [ ] [[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] name = "presser" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2851,6 +3908,16 @@ dependencies = [ ] [[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn 2.0.90", +] + +[[package]] name = "proc-macro-crate" version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2895,6 +3962,18 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", "rand_core", ] @@ -2903,6 +3982,19 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand", +] [[package]] name = "range-alloc" @@ -3157,6 +4249,12 @@ dependencies = [ ] [[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] name = "slab" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3202,6 +4300,12 @@ dependencies = [ ] [[package]] +name = "stackfuture" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eae92052b72ef70dafa16eddbabffc77e5ca3574be2f7bc1127b36f0a7ad7f2" + +[[package]] name = "static_assertions" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3316,6 +4420,15 @@ dependencies = [ ] [[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3386,6 +4499,21 @@ dependencies = [ ] [[package]] +name = "tracing-oslog" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" +dependencies = [ + "bindgen", + "cc", + "cfg-if", + "once_cell", + "parking_lot", + "tracing-core", + "tracing-subscriber", +] + +[[package]] name = "tracing-subscriber" version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3610,7 +4738,7 @@ dependencies = [ "document-features", "js-sys", "log", - "naga", + "naga 0.20.0", "parking_lot", "profiling", "raw-window-handle", @@ -3619,9 +4747,34 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core", - "wgpu-hal", - "wgpu-types", + "wgpu-core 0.21.1", + "wgpu-hal 0.21.1", + "wgpu-types 0.20.0", +] + +[[package]] +name = "wgpu" +version = "23.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" +dependencies = [ + "arrayvec", + "cfg_aliases 0.1.1", + "document-features", + "js-sys", + "log", + "naga 23.0.0", + "parking_lot", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core 23.0.1", + "wgpu-hal 23.0.1", + "wgpu-types 23.0.0", ] [[package]] @@ -3631,14 +4784,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" dependencies = [ "arrayvec", - "bit-vec", + "bit-vec 0.6.3", "bitflags 2.6.0", "cfg_aliases 0.1.1", "codespan-reporting", "document-features", "indexmap", "log", - "naga", + "naga 0.20.0", "once_cell", "parking_lot", "profiling", @@ -3647,8 +4800,33 @@ dependencies = [ "smallvec", "thiserror", "web-sys", - "wgpu-hal", - "wgpu-types", + "wgpu-hal 0.21.1", + "wgpu-types 0.20.0", +] + +[[package]] +name = "wgpu-core" +version = "23.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" +dependencies = [ + "arrayvec", + "bit-vec 0.8.0", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "document-features", + "indexmap", + "log", + "naga 23.0.0", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror", + "wgpu-hal 23.0.1", + "wgpu-types 23.0.0", ] [[package]] @@ -3659,17 +4837,17 @@ checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" dependencies = [ "android_system_properties", "arrayvec", - "ash", - "bit-set", + "ash 0.37.3+1.3.251", + "bit-set 0.5.3", "bitflags 2.6.0", "block", "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", - "glow", - "glutin_wgl_sys", + "glow 0.13.1", + "glutin_wgl_sys 0.5.0", "gpu-alloc", - "gpu-allocator", + "gpu-allocator 0.25.0", "gpu-descriptor", "hassle-rs", "js-sys", @@ -3677,8 +4855,8 @@ dependencies = [ "libc", "libloading 0.8.6", "log", - "metal", - "naga", + "metal 0.28.0", + "naga 0.20.0", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", @@ -3692,11 +4870,56 @@ dependencies = [ "thiserror", "wasm-bindgen", "web-sys", - "wgpu-types", + "wgpu-types 0.20.0", "winapi", ] [[package]] +name = "wgpu-hal" +version = "23.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash 0.38.0+1.3.281", + "bit-set 0.8.0", + "bitflags 2.6.0", + "block", + "bytemuck", + "cfg_aliases 0.1.1", + "core-graphics-types", + "glow 0.14.2", + "glutin_wgl_sys 0.6.0", + "gpu-alloc", + "gpu-allocator 0.27.0", + "gpu-descriptor", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.6", + "log", + "metal 0.29.0", + "naga 23.0.0", + "ndk-sys 0.5.0+25.2.9519653", + "objc", + "once_cell", + "parking_lot", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types 23.0.0", + "windows 0.58.0", + "windows-core 0.58.0", +] + +[[package]] name = "wgpu-types" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3708,6 +4931,17 @@ dependencies = [ ] [[package]] +name = "wgpu-types" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" +dependencies = [ + "bitflags 2.6.0", + "js-sys", + "web-sys", +] + +[[package]] name = "widestring" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4120,6 +5354,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -1,31 +1,25 @@ [package] name = "bevy_terminal_display" -version = "0.4.4" +version = "0.5.1" edition = "2021" license = "0BSD OR MIT OR Apache-2.0" description = "A plugin for the Bevy game engine which enables rendering to a terminal using unicode braille characters." -repository = "https://github.com/exvacuum/bevy_terminal_display" +repository = "https://git.exvacuum.dev/bevy_terminal_display" [dependencies] crossbeam-channel = "0.5" downcast-rs = "1.2" once_cell = "1.19" +bevy_headless_render = "0.2" +bevy_dither_post_process = "0.3" ratatui = "0.29" color-eyre = "0.6" leafwing-input-manager = "0.15" serde = "1.0" smol_str = "0.2" -[dependencies.bevy_headless_render] -git = "https://github.com/exvacuum/bevy_headless_render" -branch = "wip" - -[dependencies.bevy_dither_post_process] -git = "https://github.com/exvacuum/bevy_dither_post_process" -branch = "wip" - [dependencies.bevy] -version = "0.14" +version = "0.15" default-features = false features = ["bevy_render"] @@ -3,7 +3,6 @@ [![Crates](https://img.shields.io/crates/v/bevy_terminal_display)](https://crates.io/crates/bevy_terminal_display) ![License](https://img.shields.io/badge/license-0BSD%2FMIT%2FApache-blue.svg) ![Tag](https://img.shields.io/github/v/tag/exvacuum/bevy_terminal_display) -![Build](https://img.shields.io/github/actions/workflow/status/exvacuum/bevy_terminal_display/rust.yml) [![Docs](https://img.shields.io/website?url=https%3A%2F%2Fexvacuum.github.io%2Fbevy_terminal_display%2F&label=docs)](https://exvacuum.github.io/bevy_terminal_display) A (very experimental) plugin for the [Bevy](https://bevyengine.org) engine which allows for rendering to a terminal window. @@ -11,7 +10,7 @@ A (very experimental) plugin for the [Bevy](https://bevyengine.org) engine which WARNING: I highly recommend using the kitty terminal emulator with this, not only due to the gpu-accelerated rendering, but also the implementation of the kitty protocol which enables the advanced input detection. Features Include: -- `TerminalDisplayBundle` automatically sets up a correctly-formatted render texture +- `TerminalDisplay` automatically sets up a correctly-formatted render texture - Post-process dithers colors to pure black and white, which are then printed as braille characters to the terminal - Responsiveness to terminal window resizing - `TerminalInput` resource which keeps track of pressed & released keys @@ -20,11 +19,12 @@ Features Include: - Log redirection ## Screenshots -![](./doc/screenshot.png) +![](https://git.exvacuum.dev/bevy_terminal_display/plain/doc/screenshot.png) ## Compatibility | Crate Version | Bevy Version | |--- |--- | +| 0.5 | 0.15 | | 0.3-0.4 | 0.14 | | 0.2 | 0.13 | @@ -33,13 +33,13 @@ Features Include: ### crates.io ```toml [dependencies] -bevy_terminal_display = "0.3" +bevy_terminal_display = "0.5" ``` ### Using git URL in Cargo.toml ```toml [dependencies.bevy_terminal_display] -git = "https://github.com/exvacuum/bevy_terminal_display.git" +git = "https://git.exvacuum.dev/bevy_terminal_display" ``` ## Example Usage @@ -56,24 +56,15 @@ fn main() { ScheduleRunnerPlugin::run_loop(Duration::from_secs_f32(1.0 / 60.0)), bevy_terminal_display::TerminalDisplayPlugin::default(), )) - .insert_resource(Msaa::Off) // For post-process .run(); } ``` When spawning a camera: ```rs -let terminal_display_bundle = bevy_terminal_display::display::components::TerminalDisplayBundle::new(3, &asset_server); - commands.spawn(( - Camera3dBundle { - camera: Camera { - target: terminal_display_bundle.image_handle().into(), - ..Default::default() - }, - ..Default::default() - }, - terminal_display_bundle, + // Camera3d... + TerminalDisplay(3), // Field is level of dithering )); ``` diff --git a/src/display/components.rs b/src/display/components.rs index 1deb6f5..1346f50 100644 --- a/src/display/components.rs +++ b/src/display/components.rs @@ -1,72 +1,63 @@ -use bevy::{prelude::*, render::render_resource::{Extent3d, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages}}; +use bevy::{ + ecs::{ + component::ComponentId, + world::DeferredWorld, + }, + prelude::*, + render::render_resource::{ + Extent3d, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages, + }, +}; use bevy_dither_post_process::components::DitherPostProcessSettings; -use bevy_headless_render::{components::{HeadlessRenderBundle, HeadlessRenderDestination}, render_assets::HeadlessRenderSource}; +use bevy_headless_render::components::HeadlessRenderSource; /// Marker component for terminal display -#[derive(Component)] -pub struct TerminalDisplay; - -/// Bundle for terminal display, contains a handle to an image to be used as a render target to -/// render to the terminal -#[derive(Bundle)] -pub struct TerminalDisplayBundle { - _terminal_display: TerminalDisplay, - _headless_render_bundle: HeadlessRenderBundle, - _dither_post_process_settings: DitherPostProcessSettings, - image_handle: Handle<Image>, -} - -impl TerminalDisplayBundle { - /// Create a new terminal display with the given dither level. A higher level exponentially - /// increases the size of the bayer matrix used in the ordered dithering calculations. If in - /// doubt, 3 is a good starting value to test with. - pub fn new(dither_level: u32, asset_server: &AssetServer) -> Self { - let terminal_size = crossterm::terminal::size().unwrap(); - let size = Extent3d { - width: (terminal_size.0 as u32) * 2, - height: (terminal_size.1 as u32) * 4, - depth_or_array_layers: 1, - }; - - let mut image = Image { - texture_descriptor: TextureDescriptor { - label: None, - size, - dimension: TextureDimension::D2, - format: TextureFormat::R8Unorm, - mip_level_count: 1, - sample_count: 1, - usage: TextureUsages::TEXTURE_BINDING - | TextureUsages::COPY_SRC - | TextureUsages::RENDER_ATTACHMENT, - view_formats: &[], - }, - ..default() - }; - - image.resize(size); - let image_handle = asset_server.add(image); - - let framebuffer_extract_source = - asset_server.add(HeadlessRenderSource(image_handle.clone())); - - Self { - _terminal_display: TerminalDisplay, - _headless_render_bundle: HeadlessRenderBundle { - source: framebuffer_extract_source, - dest: HeadlessRenderDestination::default(), - }, - image_handle, - _dither_post_process_settings: DitherPostProcessSettings::new( - dither_level, - asset_server, - ), - } - } - - /// Retrieves the handle to this display's target image. Anything written here will be - /// displayed. - pub fn image_handle(&self) -> Handle<Image> { - self.image_handle.clone() +#[derive(Component, Debug)] +#[component(on_add = on_add_terminal_display)] +pub struct TerminalDisplay(pub u32); + +fn on_add_terminal_display(mut world: DeferredWorld, entity: Entity, _id: ComponentId) { + let asset_server = world.get_resource::<AssetServer>().unwrap(); + let dither_level = world.entity(entity).get::<TerminalDisplay>().unwrap().0; + + let terminal_size = crossterm::terminal::size().unwrap(); + let size = Extent3d { + width: (terminal_size.0 as u32) * 2, + height: (terminal_size.1 as u32) * 4, + depth_or_array_layers: 1, + }; + + let mut image = Image { + texture_descriptor: TextureDescriptor { + label: None, + size, + dimension: TextureDimension::D2, + format: TextureFormat::R8Unorm, + mip_level_count: 1, + sample_count: 1, + usage: TextureUsages::TEXTURE_BINDING + | TextureUsages::COPY_SRC + | TextureUsages::RENDER_ATTACHMENT, + view_formats: &[], + }, + ..default() + }; + + image.resize(size); + let image_handle = asset_server.add(image); + + let headless_render_source = HeadlessRenderSource::new(&asset_server, image_handle.clone()); + let post_process_settings = DitherPostProcessSettings::new(dither_level, &asset_server); + world + .commands() + .entity(entity) + .insert((headless_render_source, post_process_settings)); + if let Some(mut camera) = world.entity_mut(entity).get_mut::<Camera>() { + camera.target = image_handle.into(); + } else { + world.commands().entity(entity).insert(Camera { + target: image_handle.into(), + ..Default::default() + }); } } |