From 85c5b28b2ff1d651d5ffa01cc96e400c1d1660d5 Mon Sep 17 00:00:00 2001 From: mosure Date: Wed, 12 Nov 2025 00:40:18 -0600 Subject: [PATCH 1/8] refactor: use published burn_dino --- .github/workflows/deploy-pages.yml | 57 ---- Cargo.lock | 328 ++++++++++++---------- Cargo.toml | 15 +- bench/inference.rs | 6 +- bench/interpolate.rs | 7 +- example/inference.rs | 8 +- src/inference.rs | 2 +- src/model/depth_pro/layers/encoder.rs | 23 +- src/model/depth_pro/layers/fov.rs | 11 +- src/model/depth_pro/layers/vit.rs | 48 +++- src/model/depth_pro/mod.rs | 51 ++-- src/model/dino/layers/attention.rs | 105 ------- src/model/dino/layers/block.rs | 105 ------- src/model/dino/layers/layer_norm.rs | 48 ---- src/model/dino/layers/layer_scale.rs | 36 --- src/model/dino/layers/mlp.rs | 56 ---- src/model/dino/layers/mod.rs | 6 - src/model/dino/layers/patch_embed.rs | 50 ---- src/model/dino/mod.rs | 390 -------------------------- src/model/mod.rs | 1 - 20 files changed, 275 insertions(+), 1078 deletions(-) delete mode 100644 .github/workflows/deploy-pages.yml delete mode 100644 src/model/dino/layers/attention.rs delete mode 100644 src/model/dino/layers/block.rs delete mode 100644 src/model/dino/layers/layer_norm.rs delete mode 100644 src/model/dino/layers/layer_scale.rs delete mode 100644 src/model/dino/layers/mlp.rs delete mode 100644 src/model/dino/layers/mod.rs delete mode 100644 src/model/dino/layers/patch_embed.rs delete mode 100644 src/model/dino/mod.rs diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml deleted file mode 100644 index 8bcdba4..0000000 --- a/.github/workflows/deploy-pages.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: deploy github pages - -on: - push: - branches: - - main - workflow_dispatch: - -permissions: - contents: write - -env: - CARGO_TERM_COLOR: always - RUST_BACKTRACE: 1 - - -jobs: - deploy: - runs-on: macos-latest - - steps: - - name: checkout repository - uses: actions/checkout@v3 - - - name: setup nightly rust toolchain with caching - uses: brndnmtthws/rust-action@v1 - with: - toolchain: nightly - components: rustfmt, clippy - enable-sccache: "false" - - - name: install wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown - - - name: install wasm-bindgen-cli - run: cargo install wasm-bindgen-cli - - # - name: install wasm-opt - # run: cargo install wasm-opt --locked - - - name: build wasm artifacts - run: cargo build -p bevy_burn_dino --target wasm32-unknown-unknown --release --no-default-features --features "web" - - # - name: optimize wasm artifacts - # run: wasm-opt -O -ol 100 -s 100 -o ./target/wasm32-unknown-unknown/release/bevy_burn_dino_opt.wasm ./target/wasm32-unknown-unknown/release/bevy_burn_dino.wasm - - - name: generate bindings with wasm-bindgen - run: wasm-bindgen --out-dir ./crates/bevy_burn_dino/www/out/ --target web ./target/wasm32-unknown-unknown/release/bevy_burn_dino.wasm - - - name: copy assets - run: mkdir -p ./crates/bevy_burn_dino/www/assets && cp -r ./assets/* ./crates/bevy_burn_dino/assets/ && cp -r ./crates/bevy_burn_dino/assets/* ./crates/bevy_burn_dino/www/assets/ - - - name: deploy to github pages - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: ./crates/bevy_burn_dino/www - branch: www diff --git a/Cargo.lock b/Cargo.lock index 16465d8..2427624 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -143,7 +143,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -308,7 +308,7 @@ dependencies = [ "regex", "rustc-hash 2.1.1", "shlex", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -393,9 +393,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "burn" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddecb408e100eedc1175cf0fd8092507dcea92ef5c22e1e25be85af7fed4cd7f" +checksum = "0291ea5c68786545e239a02f63331cfe39da7485164ae05197d5be6f148d0557" dependencies = [ "burn-autodiff", "burn-candle", @@ -418,9 +418,9 @@ dependencies = [ [[package]] name = "burn-autodiff" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76610cf4fd32a9dd35b62989feb40a137a807f6ebfb015166a0b785b55657ff" +checksum = "917423a74bf4d39f17a6799089869648e3d2b6ac89d93901aab4aeb9a7f82138" dependencies = [ "burn-common", "burn-tensor", @@ -434,9 +434,9 @@ dependencies = [ [[package]] name = "burn-candle" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "336126c4874dac8458f65fe743958397833e08a50b702740c042cad6ead8343b" +checksum = "2891811d41ae30b5f1f660e7615b757b2cb4128af5e311b213656de3875e4acb" dependencies = [ "burn-common", "burn-tensor", @@ -447,9 +447,9 @@ dependencies = [ [[package]] name = "burn-collective" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17e9ece52b1a09b9a813b6b43363ec943b404af2797c3c3c1fc2eef2b9ba2aba" +checksum = "78abb99dcf39d0eeca7caf4606afba32924036ed7c387342a0bb855e936ba93c" dependencies = [ "burn-common", "burn-communication", @@ -465,9 +465,9 @@ dependencies = [ [[package]] name = "burn-common" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226fe90c2a4a182dd6e58630ec836772efb8fb263c173bd4cda6f76a08924ac7" +checksum = "5eb445304e4f91f8633d23c9a5258cd93639d13ce2ee47d4821fd519b683bf02" dependencies = [ "cubecl-common", "rayon", @@ -476,9 +476,9 @@ dependencies = [ [[package]] name = "burn-communication" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89193f9a64b9899cade766df4f6b496d087d92e37376b62f161c72e586704284" +checksum = "675c33a2bd0b3861dc672d5f1c9b8469ce1fbb8cbd191b247767fdd2a76f08bf" dependencies = [ "axum", "burn-common", @@ -500,9 +500,9 @@ dependencies = [ [[package]] name = "burn-core" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9621a37f59cdfa4492398f84925acdb0a9fb10d515d4e6809b62353e27e21f5d" +checksum = "20c93e754864080a8c27b9a47e3b6f7d79013cf82c9ce00ed57c9ba51a3e34c5" dependencies = [ "ahash", "bincode", @@ -531,9 +531,9 @@ dependencies = [ [[package]] name = "burn-cpu" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0a8ca74168b23e7dd40d790a213c0e7bd0e9e0fb1f83243888e9f87ab16d988" +checksum = "c4807930d243f1aa9dde99db372af56ac532cc6635fd3187156aee375fbadc07" dependencies = [ "burn-cubecl", "burn-fusion", @@ -547,9 +547,9 @@ dependencies = [ [[package]] name = "burn-cubecl" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6089a87d4646d62b56b527f09120ec11fdd699cce773c93d029ef3f7751911e" +checksum = "0dd16308b7b0291c77f2d7acf428bc8254ec3db88a430a26cf3d3b0b63ae2d46" dependencies = [ "burn-common", "burn-cubecl-fusion", @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "burn-cubecl-fusion" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50398855bd40bfa74e10667c312fe7422986cfc230e854d4512fb709a28f4a81" +checksum = "cc21cf88201dfbf242cadb638a0cc924010727fc37d6a719f7e10548b339c63a" dependencies = [ "burn-common", "burn-fusion", @@ -590,9 +590,9 @@ dependencies = [ [[package]] name = "burn-cuda" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7adaf3f97a129c2394eb3170040410ada7b58d9f1aa28f5ec6cd6deb6f37f1" +checksum = "1e104dcf07eac70c7b5864b51d792df3360b11b00febb60543b4283bb414bb61" dependencies = [ "burn-cubecl", "burn-fusion", @@ -606,9 +606,9 @@ dependencies = [ [[package]] name = "burn-dataset" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cda16435acac1c6ea9c3f9bed5a4210a4cebbdb14abc30a1aeeff45460e3b6e" +checksum = "534d4398fd6aaec32f8caeb3f20ddffcd8a059bdefc01cc2794b91b4e984e8ea" dependencies = [ "csv", "derive-new", @@ -631,21 +631,21 @@ dependencies = [ [[package]] name = "burn-derive" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16277c15ea0eeeab321e8f7251be786483d6e7755e579ab39d7dd15043f7c3e1" +checksum = "3bcf49261de086b8206de6c8962d2adf23feb476119a18e384f5b2c9af07c0cf" dependencies = [ "derive-new", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] name = "burn-fusion" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b706d24d5dba3517ad0239e7591cd41c79dd5331a828ad736988b7735aa3e94a" +checksum = "662bf2679c04be34a0c3f1b11f77f6ff49456af1620d1eca311bc2562bbb56c9" dependencies = [ "burn-common", "burn-ir", @@ -660,9 +660,9 @@ dependencies = [ [[package]] name = "burn-import" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f8cdde63a792b0205abeaf4a73709d76562fe28fc72146bda8e83b3a5f0a08" +checksum = "240eb2026f4bf9de4707449f123eac12adc4246ae07c849b1f73e5ce5790cc8a" dependencies = [ "burn", "burn-ndarray", @@ -678,7 +678,7 @@ dependencies = [ "rust-format", "serde", "serde_json", - "syn 2.0.108", + "syn 2.0.109", "thiserror 2.0.17", "tracing-core", "tracing-subscriber", @@ -687,9 +687,9 @@ dependencies = [ [[package]] name = "burn-ir" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69150047c338878c0fc1a4d8e26c399d1e2d9c97c4f87eecc4130dd03c2472a1" +checksum = "9161239d5691c4ab6f470f2c65aaec5c0a7c1f0b0da390700bcd59f5a77d1d7b" dependencies = [ "burn-tensor", "hashbrown 0.15.5", @@ -699,9 +699,9 @@ dependencies = [ [[package]] name = "burn-ndarray" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9b60c14a706bf2ddc9e1a49e9eb48eb1828b11c719785de676ee7372603de6" +checksum = "b78bcf4a3508043342f918e796dc79108b5f3252398403eb73952847e7683374" dependencies = [ "atomic_float", "burn-autodiff", @@ -726,9 +726,9 @@ dependencies = [ [[package]] name = "burn-nn" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b73072f9c77798f641a7f66dc6fa3e1092021cf39322e8ea68ff7f572c17ae" +checksum = "dc7829c87c4dd6c7929b50fd981e7e8d1b77414323da30ce2067a3e8b7ea422b" dependencies = [ "burn-core", "num-traits", @@ -736,9 +736,9 @@ dependencies = [ [[package]] name = "burn-optim" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f89c10e95d5d4691e5bba54d510e7148687cda9b2a2394eef29683a981cbdd" +checksum = "31758c02e50247f12457fca1905ed8684ac1b1c5292e10cbbfffb9fa0048d4bd" dependencies = [ "burn-core", "derive-new", @@ -750,9 +750,9 @@ dependencies = [ [[package]] name = "burn-remote" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bcb86e558e06c11d8a06619dc6c68a9b872d7e623ab521b2e9e38e42173407a" +checksum = "dcb8e7c0d5466776f884b951ba94eac61ea0c340e7ed2b547a790e303f360c0c" dependencies = [ "async-channel", "axum", @@ -777,9 +777,9 @@ dependencies = [ [[package]] name = "burn-rocm" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f08f8fea5ef76b67731c79529d9346f8623091832789dcc9e47aa85b50fe9d5f" +checksum = "5e1ceb87b6e7349b42d7995477c9a69d0e6c458c64eafa10af3b8b9070f260aa" dependencies = [ "burn-cubecl", "burn-fusion", @@ -793,9 +793,9 @@ dependencies = [ [[package]] name = "burn-router" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9342581c5ca083db421a1c51d2c4c4b3326f5d86dae3d21a81420ac564be4057" +checksum = "45f40403c500b5df380bee47aa0f23032350bdfde5402812d6fcec4d6ff6fbad" dependencies = [ "burn-common", "burn-ir", @@ -807,9 +807,9 @@ dependencies = [ [[package]] name = "burn-store" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c742ebf6d46a092c7324237f6f89a9cff8502c8c48db3961b435e6ee00bc316d" +checksum = "0a2a163486242fcb0c6e2cb89c5a803ab8588673652bb46ecd7af6378d06152f" dependencies = [ "burn-core", "burn-nn", @@ -827,9 +827,9 @@ dependencies = [ [[package]] name = "burn-tch" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eff2dc23cae54b6b3317931c5d454315a465e03f2faf9478c49a34514a286c4" +checksum = "ddf3bc363952fcb0d3d92daec70e04111d94beb5c48aded06ee6719d0b22f8a8" dependencies = [ "burn-common", "burn-tensor", @@ -843,9 +843,9 @@ dependencies = [ [[package]] name = "burn-tensor" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ff77a13d211fbf7a861e07eefc93bd1fb07a84da34e913c6e13ec1271208cc" +checksum = "df8861f7c21d3b07a2b19d028f6eb8903990949708b2ec825559b5200786877c" dependencies = [ "burn-common", "bytemuck", @@ -864,9 +864,9 @@ dependencies = [ [[package]] name = "burn-train" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c35107c50d97b73f2fc96d9c1beaab732e0f27bf5f9b847b8e3f6619ee85873" +checksum = "b0f1553197d50668823a4bafc187c62439df49b218973f0ca79e034b57ce38d6" dependencies = [ "async-channel", "burn-core", @@ -887,9 +887,9 @@ dependencies = [ [[package]] name = "burn-wgpu" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f2361ddac1bdc98e4f10dd8f62ded836537c316ca78ca4f41577ced0de4f21f" +checksum = "c17aeaa2eadaa4831a64672b99f62ffcdf4874fe4757080633d8a6c4452e2b38" dependencies = [ "burn-cubecl", "burn-fusion", @@ -904,6 +904,7 @@ dependencies = [ "burn", "burn-import", "burn-store", + "burn_dino", "clap", "console_error_panic_hook", "criterion", @@ -919,6 +920,19 @@ dependencies = [ "wgpu", ] +[[package]] +name = "burn_dino" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96141bff70c0b3bb6ab51ab8e9b01fce0a61332115f361fb42212e830fa2dcd8" +dependencies = [ + "burn", + "console_error_panic_hook", + "safetensors 0.6.2", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "bytemuck" version = "1.24.0" @@ -936,7 +950,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -1046,9 +1060,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.44" +version = "1.2.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3" +checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe" dependencies = [ "find-msvc-tools", "jobserver", @@ -1166,7 +1180,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -1492,9 +1506,9 @@ dependencies = [ [[package]] name = "cubecl" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f2f345e729b90e342089acfbecb2818d170ff7ecccb2eba441903283f583fe" +checksum = "b8b7c74ecaca9356c9ae79d0ebf1db04f02bd98be09eea61f51d73373dffe758" dependencies = [ "cubecl-convolution", "cubecl-core", @@ -1512,9 +1526,9 @@ dependencies = [ [[package]] name = "cubecl-common" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d733d3437e87635378a16dd6d26062b7f184e5a4dd3437486ed953514bf1efd" +checksum = "4556981155bffc057a8effcd4549b52b51df3e9edec43af6ccae2dd03fc8fbff" dependencies = [ "bytemuck", "cfg-if", @@ -1546,9 +1560,9 @@ dependencies = [ [[package]] name = "cubecl-convolution" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a77dce74132f4c44c7557a01375beb92a25eed242c9082563cb9b6172832b5" +checksum = "27c624ec400b7203673bf2db86d7ff30d1384839d497d2dd029c19b1b7371e0d" dependencies = [ "bytemuck", "cubecl-common", @@ -1565,9 +1579,9 @@ dependencies = [ [[package]] name = "cubecl-core" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850dbdac9cedfa367248e4eae7f26c2011c1ec4b6f4e1d88028a1f947d0d73c2" +checksum = "0ffc10af538ee74535cda260e581f5a177c243803dd30b698934a515f0114b55" dependencies = [ "bitflags 2.10.0", "bytemuck", @@ -1590,9 +1604,9 @@ dependencies = [ [[package]] name = "cubecl-cpp" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8732743cd1167eca4cf4045d3e9f9e219520d92dae17d8aa9bd18d6c2eb49663" +checksum = "d630e4d10cdd3af268ac753914ca79b48f01d1e36c5b5039970a817acc925fea" dependencies = [ "bytemuck", "cubecl-common", @@ -1607,9 +1621,9 @@ dependencies = [ [[package]] name = "cubecl-cpu" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baaa77f85342f7ccf6d33b5707e789a1beab339b00145b5868f7d590c319f4a4" +checksum = "ac1693555277d74152afb61a23e30d1f17d72cebd317a648faf50a8e69380f08" dependencies = [ "bytemuck", "cubecl-common", @@ -1631,9 +1645,9 @@ dependencies = [ [[package]] name = "cubecl-cuda" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839ba85c69d3158b8d11f54e887f794507067be7f5be8547ac53b833f4a58784" +checksum = "67215fcd552a9e8bc68494a71cf2979f2e2bbcbda60f0695f56f86705b89ed5f" dependencies = [ "bytemuck", "cubecl-common", @@ -1649,9 +1663,9 @@ dependencies = [ [[package]] name = "cubecl-hip" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fa7d3f53a8a07656a1caa6414cf94700e25d876a2ff33dff9dea3190736b5b" +checksum = "d5e2e6a257f702fb2eb6f24e640e228a94695e4a4c73a4c549578cbb02ad4ec5" dependencies = [ "bytemuck", "cubecl-common", @@ -1679,9 +1693,9 @@ dependencies = [ [[package]] name = "cubecl-ir" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d8c468ca6c904ad97ed562fb61f77f3cdc929bc322f54b7c39e33cc49b20646" +checksum = "bf5d3aa7857e6aee1622aef128d6ad8d9289ed57362b4e65d10cc182aafc585f" dependencies = [ "cubecl-common", "cubecl-macros-internal", @@ -1699,9 +1713,9 @@ dependencies = [ [[package]] name = "cubecl-macros" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0ac86afe6b0a48569cc839605cf62d1d46e482f3476a87130d5166dafcc5c0" +checksum = "5200fb619be424749901e3c6e8e66ae71146c8f83636a74f171bd980cba379d7" dependencies = [ "cubecl-common", "darling 0.21.3", @@ -1710,26 +1724,26 @@ dependencies = [ "prettyplease 0.2.37", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] name = "cubecl-macros-internal" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7287548e87dcb8226852c3fbd503b2c3b9a7e9f311b0ea14b7e8123a41012824" +checksum = "8a1b673f303396fba18df83368aa4eced474584f1bca34852dccc42bd4ff050c" dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] name = "cubecl-matmul" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdcca3ffa29b2f1abffab6b27046b2f86a9ebedfed597c405e4179984a004f8d" +checksum = "d1cf0a00609a249d5357c27cafea477f35218579db2ab00582d8d5800be4a5a3" dependencies = [ "bytemuck", "cubecl-common", @@ -1745,9 +1759,9 @@ dependencies = [ [[package]] name = "cubecl-opt" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c32810f85959e6c76dd336bf85d5a85b2752edb27310f0993d5b6b2243a308" +checksum = "870ca4b52f9eebd358c9b360b89cdc9f82bde05682db63f0e90c666b3c85a04d" dependencies = [ "cubecl-common", "cubecl-core", @@ -1763,9 +1777,9 @@ dependencies = [ [[package]] name = "cubecl-quant" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "880705a7c0254b619ec30465db8dc8943c3ddba5ea81d644d21e95084f68a4f4" +checksum = "9be3e1202c219078d85dbad7f30d1195fe4f9d42cbfad2c94ab0ea1a6d9f01f6" dependencies = [ "cubecl-common", "cubecl-core", @@ -1777,9 +1791,9 @@ dependencies = [ [[package]] name = "cubecl-random" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7632ca58b1080ac883dd9313f7374757476b3e9c741a32353c71ec5765fa7f9b" +checksum = "9a293a05caa68663675823bab66205bca094a21a2c0f6686ad9f20b392516179" dependencies = [ "cubecl-common", "cubecl-core", @@ -1793,9 +1807,9 @@ dependencies = [ [[package]] name = "cubecl-reduce" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b759b19145c2e3a9d270200745c0fdbb9129c269f33f0b2ceab5e29f794e27" +checksum = "53306ace81f6262f7ae794370f47e6b5019842b27e8800240e5b039386b3ac3a" dependencies = [ "cubecl-core", "cubecl-runtime", @@ -1809,9 +1823,9 @@ dependencies = [ [[package]] name = "cubecl-runtime" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b04e944b2097b7c8931498a57615b290cdda755197d7a24d272c306af6e1edd9" +checksum = "91b823bb5899a6fa8809bf7aa36f93f72ced6de58ab9d6edea2c730b235eeda3" dependencies = [ "async-channel", "bytemuck", @@ -1837,9 +1851,9 @@ dependencies = [ [[package]] name = "cubecl-std" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83ca684200a5c77231460ec613a654ccb7cd46a9ec22d13cc94bc6c78d1a102" +checksum = "24536998f9fff84f9a1dd2a90f981d5aa4d15eb35cddec5021c4fcf977d2e75e" dependencies = [ "cubecl-common", "cubecl-core", @@ -1854,9 +1868,9 @@ dependencies = [ [[package]] name = "cubecl-wgpu" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ec904606258323e0cf56e05935989121cf40f344970023e783682ed757439c" +checksum = "d59a7d737259a784247595e2f0cc5a97d3e50f45cdaefbd4cc7d7fd2126f7a58" dependencies = [ "async-channel", "bytemuck", @@ -1876,8 +1890,9 @@ dependencies = [ [[package]] name = "cudarc" -version = "0.17.3" -source = "git+https://github.com/coreylowman/cudarc?tag=v0.17.3#fdf313cc10cf5504953ac9fe6a5dc78dc6ec4152" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff0da1a70ec91e66731c1752deb9fda3044f1154fe4ceb5873e3f96ed34cafa3" dependencies = [ "libloading", ] @@ -1913,7 +1928,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -1927,7 +1942,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -1938,7 +1953,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -1949,7 +1964,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -1995,7 +2010,7 @@ checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2006,7 +2021,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2026,7 +2041,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", "unicode-xid", ] @@ -2082,7 +2097,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2197,7 +2212,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2218,7 +2233,7 @@ dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2238,7 +2253,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2328,7 +2343,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2426,7 +2441,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -2524,7 +2539,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -3424,7 +3439,7 @@ dependencies = [ "indoc", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -3435,7 +3450,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -3736,7 +3751,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -4033,7 +4048,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -4106,7 +4121,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -4183,9 +4198,9 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "onnx-ir" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e4728f82add48aed8e36d8ce55ad109e316ca1a9daf2f2ea6ce1120da0a36c" +checksum = "8f9057cdc3e6ac04c5a82699fa501d50bc7b8d62bc56d583de4071c0daad1d4f" dependencies = [ "bytemuck", "derive-new", @@ -4449,7 +4464,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -4486,7 +4501,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" dependencies = [ "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -4648,9 +4663,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.41" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] @@ -5055,7 +5070,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.108", + "syn 2.0.109", "unicode-ident", ] @@ -5291,7 +5306,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -5555,7 +5570,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -5567,7 +5582,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -5588,9 +5603,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.108" +version = "2.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" +checksum = "2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f" dependencies = [ "proc-macro2", "quote", @@ -5614,7 +5629,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -5793,7 +5808,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -5804,7 +5819,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -5940,7 +5955,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -6174,7 +6189,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.108", + "syn 2.0.109", "tracel-llvm-bundler", "tracel-tblgen-rs", "unindent", @@ -6235,7 +6250,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -6497,7 +6512,7 @@ checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -6603,7 +6618,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", "wasm-bindgen-shared", ] @@ -6929,7 +6944,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -6940,7 +6955,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -6951,7 +6966,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -6962,7 +6977,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -7222,7 +7237,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -7284,7 +7299,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", "synstructure", ] @@ -7296,7 +7311,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", "synstructure", ] @@ -7317,7 +7332,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -7337,7 +7352,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", "synstructure", ] @@ -7358,7 +7373,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -7391,7 +7406,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.109", ] [[package]] @@ -7544,3 +7559,8 @@ checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" dependencies = [ "zune-core", ] + +[[patch.unused]] +name = "cudarc" +version = "0.17.3" +source = "git+https://github.com/coreylowman/cudarc?tag=v0.17.3#fdf313cc10cf5504953ac9fe6a5dc78dc6ec4152" diff --git a/Cargo.toml b/Cargo.toml index 1f8f01d..51841d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,12 +29,12 @@ exclude = [ [features] default = [ - # "backend_fusion", + "backend_fusion", # "backend_cpu", - # "backend_cuda", + "backend_cuda", - "backend_ndarray", + # "backend_ndarray", ] import = [ @@ -48,15 +48,16 @@ import = [ ] # note: one-hot requirement -backend_cpu = ["burn/cpu"] -backend_cuda =["burn/cuda"] +backend_cpu = ["burn/cpu", "burn_dino/backend_cpu"] +backend_cuda = ["burn/cuda", "burn_dino/backend_cuda"] backend_fusion = ["burn/fusion"] -backend_ndarray = ["burn/ndarray"] -backend_wgpu = ["burn/wgpu", "half"] +backend_ndarray = ["burn/ndarray", "burn_dino/backend_ndarray"] +backend_wgpu = ["burn/wgpu", "burn_dino/backend_wgpu", "half"] [dependencies] burn = "0.19" +burn_dino = { version = "0.5.2", default-features = false } half = { version = "2", optional = true } diff --git a/bench/inference.rs b/bench/inference.rs index 5749082..2eaf170 100644 --- a/bench/inference.rs +++ b/bench/inference.rs @@ -3,14 +3,11 @@ use burn::prelude::*; use burn_depth::{ InferenceBackend, - model::depth_pro::{ - DepthPro, DepthProConfig, - }, + model::depth_pro::{DepthPro, DepthProConfig}, }; use criterion::{Criterion, Throughput, criterion_group, criterion_main}; use std::hint::black_box; - criterion_group! { name = depth_pro_benchmarks; config = Criterion::default().sample_size(10); @@ -18,7 +15,6 @@ criterion_group! { } criterion_main!(depth_pro_benchmarks); - fn inference_benchmark(c: &mut Criterion) { let device = ::Device::default(); let model = DepthPro::::new(&device, DepthProConfig::default()); diff --git a/bench/interpolate.rs b/bench/interpolate.rs index a1877da..11f4a18 100644 --- a/bench/interpolate.rs +++ b/bench/interpolate.rs @@ -3,15 +3,11 @@ use burn::prelude::*; use burn_depth::{ InferenceBackend, - model::depth_pro::{ - InterpolationMethod, - resize_bilinear_align_corners_false, - }, + model::depth_pro::{InterpolationMethod, resize_bilinear_align_corners_false}, }; use criterion::{Criterion, Throughput, criterion_group, criterion_main}; use std::hint::black_box; - criterion_group! { name = interpolation_benchmarks; config = Criterion::default().sample_size(100); @@ -19,7 +15,6 @@ criterion_group! { } criterion_main!(interpolation_benchmarks); - fn interpolation_benchmark(c: &mut Criterion) { let device = ::Device::default(); let bench_device = device.clone(); diff --git a/example/inference.rs b/example/inference.rs index 678b121..56ebacd 100644 --- a/example/inference.rs +++ b/example/inference.rs @@ -30,9 +30,8 @@ fn main() -> Result<(), Box> { let width = orig_width as usize; let height = orig_height as usize; - let result = - infer_from_rgb::(&model, rgb.as_raw(), width, height, &device) - .map_err(|err| format!("Failed to run inference: {err}"))?; + let result = infer_from_rgb::(&model, rgb.as_raw(), width, height, &device) + .map_err(|err| format!("Failed to run inference: {err}"))?; let depth_data = result.depth.clone().into_data().convert::(); let shape = depth_data.shape.clone(); @@ -94,7 +93,8 @@ fn main() -> Result<(), Box> { let focal_values = focal_data .to_vec::() .map_err(|err| format!("Failed to read focal length tensor: {err:?}"))?; - let fovy_values = result.fovy_rad + let fovy_values = result + .fovy_rad .clone() .into_data() .convert::() diff --git a/src/inference.rs b/src/inference.rs index 08a5e05..77ba1c6 100644 --- a/src/inference.rs +++ b/src/inference.rs @@ -51,7 +51,7 @@ pub fn rgb_to_input_tensor( /// the preprocessing pipeline. pub fn infer_from_rgb( model: &DepthPro, - rgb: &[u8], // TODO: use an image type here + rgb: &[u8], // TODO: use an image type here width: usize, height: usize, device: &B::Device, diff --git a/src/model/depth_pro/layers/encoder.rs b/src/model/depth_pro/layers/encoder.rs index 6d32bb8..f5fcb10 100644 --- a/src/model/depth_pro/layers/encoder.rs +++ b/src/model/depth_pro/layers/encoder.rs @@ -4,10 +4,8 @@ use burn::{ prelude::*, }; -use crate::model::{ - depth_pro::{InterpolationMethod, layers::vit::ViTConfig, resize_bilinear_scale}, - dino::DinoVisionTransformer, -}; +use crate::model::depth_pro::{InterpolationMethod, layers::vit::ViTConfig, resize_bilinear_scale}; +use burn_dino::model::dino::DinoVisionTransformer; #[derive(Clone)] struct PatchSplit { @@ -132,6 +130,7 @@ impl DepthProEncoder { patch_encoder: DinoVisionTransformer, patch_config: &ViTConfig, image_encoder: DinoVisionTransformer, + image_embed_dim: usize, hook_block_ids: Vec, decoder_features: usize, interpolation: InterpolationMethod, @@ -155,12 +154,10 @@ impl DepthProEncoder { let upsample1 = upsample_block(patch_config.embed_dim, dims_encoder[2], 1, None); let upsample2 = upsample_block(patch_config.embed_dim, dims_encoder[3], 1, None); - let upsample_lowres = ConvTranspose2dConfig::new( - [image_encoder.embedding_dimension(), dims_encoder[3]], - [2, 2], - ) - .with_stride([2, 2]) - .init(device); + let upsample_lowres = + ConvTranspose2dConfig::new([image_embed_dim, dims_encoder[3]], [2, 2]) + .with_stride([2, 2]) + .init(device); let fuse_lowres = Conv2dConfig::new([dims_encoder[3] * 2, dims_encoder[3]], [1, 1]) .with_bias(true) @@ -339,10 +336,9 @@ impl DepthProEncoder { hook_tokens.len() >= 2, "DepthPro encoder expects at least two hook tokens" ); - let patch_output = patch_output.x_norm_patchtokens; let x_pyramid_encodings = - self.reshape_feature(patch_output, self.out_size, self.out_size, 0); + self.reshape_feature(patch_output.x_norm_patchtokens, self.out_size, self.out_size, 0); let len0 = x0_split.tensor.shape().dims::<4>()[0]; let len1 = x1_split.tensor.shape().dims::<4>()[0]; @@ -455,7 +451,7 @@ mod tests { device: &::Device, ) -> (DepthProEncoder, ViTConfig) { let (patch_encoder, patch_config) = create_vit::(device, DINOV2_L16_128); - let (image_encoder, _) = create_vit::(device, DINOV2_L16_128); + let (image_encoder, image_config) = create_vit::(device, DINOV2_L16_128); let encoder = DepthProEncoder::new( device, @@ -463,6 +459,7 @@ mod tests { patch_encoder, &patch_config, image_encoder, + image_config.embed_dim, patch_config.encoder_feature_layer_ids.clone(), 64, InterpolationMethod::Custom, diff --git a/src/model/depth_pro/layers/fov.rs b/src/model/depth_pro/layers/fov.rs index bb06bab..7e66b17 100644 --- a/src/model/depth_pro/layers/fov.rs +++ b/src/model/depth_pro/layers/fov.rs @@ -7,11 +7,11 @@ use burn::{ prelude::*, }; -use crate::model::{ - depth_pro::{InterpolationMethod, resize_bilinear_align_corners_false, resize_bilinear_scale}, - dino::DinoVisionTransformer, +use crate::model::depth_pro::{ + InterpolationMethod, resize_bilinear_align_corners_false, resize_bilinear_scale, }; use burn::tensor::activation::relu; +use burn_dino::model::dino::DinoVisionTransformer; #[derive(Module, Debug)] struct ConvActivation { @@ -63,7 +63,7 @@ impl FOVNetwork { pub fn new( device: &B::Device, num_features: usize, - fov_encoder: Option>, + fov_encoder: Option<(DinoVisionTransformer, usize)>, interpolation: InterpolationMethod, ) -> Self { let mut downsample_blocks = Vec::new(); @@ -72,8 +72,7 @@ impl FOVNetwork { let mut downsample_input_scale = None; let mut encoder = None; - if let Some(model) = fov_encoder { - let embed_dim = model.embedding_dimension(); + if let Some((model, embed_dim)) = fov_encoder { encoder_proj = Some(LinearConfig::new(embed_dim, num_features / 2).init(device)); downsample_input_scale = Some([0.25, 0.25]); diff --git a/src/model/depth_pro/layers/vit.rs b/src/model/depth_pro/layers/vit.rs index 4d2bc0d..d4406d2 100644 --- a/src/model/depth_pro/layers/vit.rs +++ b/src/model/depth_pro/layers/vit.rs @@ -1,6 +1,5 @@ use burn::prelude::*; - -use crate::model::dino::{DinoVisionTransformer, DinoVisionTransformerConfig}; +use burn_dino::model::dino::{DinoVisionTransformer, DinoVisionTransformerConfig}; #[derive(Clone, Debug)] pub struct ViTConfig { @@ -50,18 +49,49 @@ pub fn create_vit( let config = vit_config_from_preset(preset) .unwrap_or_else(|| panic!("unsupported ViT preset `{preset}`")); - let vit = match preset { - DINOV2_L16_384 => { - DinoVisionTransformerConfig::vitl(Some(config.img_size), Some(config.patch_size)) - .init(device) - } - DINOV2_L16_128 => { + let mut builder = match preset { + DINOV2_L16_384 | DINOV2_L16_128 => { DinoVisionTransformerConfig::vitl(Some(config.img_size), Some(config.patch_size)) - .init(device) } // Safety: unreachable due to unwrap above. _ => unreachable!(), }; + builder.block_config.attn.quiet_softmax = false; + builder.register_token_count = 0; + builder.use_register_tokens = false; + builder.normalize_intermediate_tokens = false; + + let vit = builder.init(device); + (vit, config) } + +#[cfg(test)] +mod tests { + use super::*; + + type TestBackend = crate::InferenceBackend; + + #[test] + fn dinov2_patch_count_matches_grid() { + let device = ::Device::default(); + let (vit, config) = create_vit::(&device, DINOV2_L16_384); + let grid = config.grid_size(); + + let input = Tensor::::ones( + [1, config.in_chans, config.img_size, config.img_size], + &device, + ); + let output = vit.forward(input, None); + let dims: [usize; 3] = output.x_norm_patchtokens.shape().dims(); + + assert_eq!( + dims[1], + grid * grid, + "patch tokens ({}) did not match expected grid size ({})", + dims[1], + grid * grid + ); + } +} diff --git a/src/model/depth_pro/mod.rs b/src/model/depth_pro/mod.rs index 09caf97..55555b3 100644 --- a/src/model/depth_pro/mod.rs +++ b/src/model/depth_pro/mod.rs @@ -144,21 +144,16 @@ pub struct HeadDebug { impl DepthPro { pub fn new(device: &B::Device, config: DepthProConfig) -> Self { let (patch_encoder, patch_config) = create_vit(device, &config.patch_encoder_preset); - let (image_encoder, _) = create_vit(device, &config.image_encoder_preset); + let (image_encoder, image_config) = create_vit(device, &config.image_encoder_preset); let interpolation = config.interpolation; - let fov_encoder = config - .fov_encoder_preset - .as_ref() - .filter(|_| config.use_fov_head) - .map(|preset| create_vit(device, preset).0); - let encoder = DepthProEncoder::new( device, patch_config.encoder_feature_dims.clone(), patch_encoder, &patch_config, image_encoder, + image_config.embed_dim, patch_config.encoder_feature_layer_ids.clone(), config.decoder_features, interpolation, @@ -171,9 +166,20 @@ impl DepthPro { let head = DepthHead::new(device, config.decoder_features, (32, 1)); - let fov = config - .use_fov_head - .then(|| FOVNetwork::new(device, config.decoder_features, fov_encoder, interpolation)); + let fov = if config.use_fov_head { + let fov_encoder = config.fov_encoder_preset.as_ref().map(|preset| { + let (encoder, vit_config) = create_vit(device, preset); + (encoder, vit_config.embed_dim) + }); + Some(FOVNetwork::new( + device, + config.decoder_features, + fov_encoder, + interpolation, + )) + } else { + None + }; Self { encoder, @@ -358,7 +364,6 @@ impl DepthPro { } } - /// fovy = 2 * atan( (H/W) * tan(fovx/2) ) /// uses raján atan approx on [0,1] with range reduction for |x|>1. /// input: fovx_rad (radians), output: fovy_rad (radians). @@ -367,7 +372,7 @@ pub fn fovy_from_fovx_rad( h: usize, w: usize, ) -> Tensor { - let k = 0.273; // raján constant + let k = 0.273; // raján constant let pi_over_4 = core::f64::consts::FRAC_PI_4; let pi_over_2 = core::f64::consts::FRAC_PI_2; @@ -380,17 +385,27 @@ pub fn fovy_from_fovx_rad( // atan(t): range reduction + raján on [0,1] let s = t.clone().sign(); let ax = t.abs(); - let use_inv = ax.clone().greater_elem(1.0).float(); // 1 where |x|>1 else 0 + let use_inv = ax.clone().greater_elem(1.0).float(); // 1 where |x|>1 else 0 let inv = ax.clone().recip(); - let xr = ax.mul(use_inv.clone().neg().add_scalar(1.0)) // (1-use_inv)*ax - .add(inv.mul(use_inv.clone())); // + use_inv*(1/ax) + let xr = ax + .mul(use_inv.clone().neg().add_scalar(1.0)) // (1-use_inv)*ax + .add(inv.mul(use_inv.clone())); // + use_inv*(1/ax) // atan(xr) ≈ xr * (π/4 + k*(1 - xr)), xr∈[0,1] - let inner = xr.clone().neg().add_scalar(1.0).mul_scalar(k).add_scalar(pi_over_4); + let inner = xr + .clone() + .neg() + .add_scalar(1.0) + .mul_scalar(k) + .add_scalar(pi_over_4); let atan_reduced = xr.mul(inner); // undo reduction: atan(ax) = atan_reduced + use_inv * (π/2 - 2*atan_reduced) - let delta = atan_reduced.clone().mul_scalar(2.0).neg().add_scalar(pi_over_2); + let delta = atan_reduced + .clone() + .mul_scalar(2.0) + .neg() + .add_scalar(pi_over_2); let atan_ax = atan_reduced.add(delta.mul(use_inv)); // restore sign and finish @@ -398,7 +413,6 @@ pub fn fovy_from_fovx_rad( atan_t.mul_scalar(2.0) } - pub(crate) fn maybe_fix_conv_transpose2d(conv: &mut ConvTranspose2d) { let weight = conv.weight.val(); let dims: [usize; 4] = weight.shape().dims(); @@ -416,7 +430,6 @@ pub(crate) fn maybe_fix_conv_transpose2d(conv: &mut ConvTranspose2d< } } - #[cfg(test)] mod tests { use super::*; diff --git a/src/model/dino/layers/attention.rs b/src/model/dino/layers/attention.rs deleted file mode 100644 index 99c7411..0000000 --- a/src/model/dino/layers/attention.rs +++ /dev/null @@ -1,105 +0,0 @@ -use burn::{ - prelude::*, - tensor::activation::{quiet_softmax, softmax}, -}; - -#[derive(Config, Debug)] -pub struct AttentionConfig { - pub dim: usize, - pub num_heads: usize, - pub qkv_bias: bool, - pub proj_bias: bool, - pub attn_drop: f64, - pub proj_drop: f64, - pub quiet_softmax: bool, -} - -impl Default for AttentionConfig { - fn default() -> Self { - Self { - dim: 768, - num_heads: 12, - qkv_bias: true, - proj_bias: true, - attn_drop: 0.0, - proj_drop: 0.0, - quiet_softmax: false, - } - } -} - -impl AttentionConfig { - pub fn init(&self, device: &B::Device) -> Attention { - Attention::new(device, self.clone()) - } -} - -#[derive(Module, Debug)] -pub struct Attention { - pub qkv: nn::Linear, - pub attn_drop: nn::Dropout, - pub proj: nn::Linear, - pub proj_drop: nn::Dropout, - pub num_heads: usize, - pub scale: f32, - pub quiet_softmax: bool, -} - -impl Attention { - pub fn new(device: &B::Device, config: AttentionConfig) -> Self { - let head_dim = config.dim / config.num_heads; - let scale = (head_dim as f32).powf(-0.5); - - let qkv = nn::LinearConfig::new(config.dim, config.dim * 3) - .with_bias(config.qkv_bias) - .init::(device); - - let attn_drop = nn::DropoutConfig::new(config.attn_drop).init(); - - let proj = nn::LinearConfig::new(config.dim, config.dim) - .with_bias(config.proj_bias) - .init::(device); - - let proj_drop = nn::DropoutConfig::new(config.proj_drop).init(); - - Self { - qkv, - attn_drop, - proj, - proj_drop, - num_heads: config.num_heads, - scale, - quiet_softmax: config.quiet_softmax, - } - } - - #[allow(non_snake_case, clippy::single_range_in_vec_init)] - pub fn forward(&self, x: Tensor) -> Tensor { - let [B, N, C] = x.shape().dims(); - - let qkv = self - .qkv - .forward(x) - .reshape([B, N, 3, self.num_heads, C / self.num_heads]) - .permute([2, 0, 3, 1, 4]); - - let q: Tensor = qkv.clone().slice([0..1]).squeeze_dim(0) * self.scale; - let k = qkv.clone().slice([1..2]).squeeze_dim(0); - let v = qkv.slice([2..3]).squeeze_dim(0); - - let attn = q.matmul(k.swap_dims(2, 3)); - - let attn = if self.quiet_softmax { - quiet_softmax(attn, 3) - } else { - softmax(attn, 3) - }; - - let attn = self.attn_drop.forward(attn); - - let x = attn.matmul(v).swap_dims(1, 2).reshape([B, N, C]); - - let x = self.proj.forward(x); - self.proj_drop.forward(x) - } -} diff --git a/src/model/dino/layers/block.rs b/src/model/dino/layers/block.rs deleted file mode 100644 index 765161f..0000000 --- a/src/model/dino/layers/block.rs +++ /dev/null @@ -1,105 +0,0 @@ -use burn::prelude::*; - -use crate::model::dino::layers::{ - attention::{Attention, AttentionConfig}, - layer_norm::{LayerNorm, LayerNormConfig}, - layer_scale::{LayerScale, LayerScaleConfig}, - mlp::{Mlp, MlpConfig}, -}; - -#[derive(Config, Debug)] -pub struct BlockConfig { - pub attn: AttentionConfig, - pub layer_scale: Option, - pub mlp_ratio: f32, -} - -impl Default for BlockConfig { - fn default() -> Self { - Self { - attn: AttentionConfig::default(), - layer_scale: None, - mlp_ratio: 4.0, - } - } -} - -impl BlockConfig { - pub fn init(&self, device: &B::Device) -> Block { - Block::new(device, self.clone()) - } -} - -#[derive(Module, Debug)] -pub struct Block { - norm1: LayerNorm, - attn: Attention, - ls1: Option>, - // TODO: drop_path_1 - norm2: LayerNorm, - mlp: Mlp, - ls2: Option>, - // TODO: drop_path_2 -} - -impl Block { - pub fn new(device: &B::Device, config: BlockConfig) -> Self { - let norm1 = LayerNormConfig::new(config.attn.dim).init(device); - let attn = config.attn.init(device); - - // self.ls1 = LayerScale(dim, init_values=init_values) if init_values else nn.Identity() - // self.drop_path1 = DropPath(drop_path) if drop_path > 0.0 else nn.Identity() - let ls1 = if let Some(layer_scale_config) = &config.layer_scale { - layer_scale_config.init::(device).into() - } else { - None - }; - - let norm2 = LayerNormConfig::new(config.attn.dim).init(device); - - let mlp_hidden_dim = (config.attn.dim as f32 * config.mlp_ratio) as usize; - let mlp = MlpConfig::new(config.attn.dim) - .with_hidden_features(mlp_hidden_dim.into()) - .with_bias(true.into()) - .init::(device); - - let ls2 = if let Some(layer_scale_config) = &config.layer_scale { - layer_scale_config.init::(device).into() - } else { - None - }; - // self.drop_path2 = DropPath(drop_path) if drop_path > 0.0 else nn.Identity() - - Self { - norm1, - attn, - ls1, - norm2, - mlp, - ls2, - } - } - - pub fn forward(&self, x: Tensor) -> Tensor { - // TODO: implement train mode drop_path and `drop_add_residual_stochastic_depth` for sample_drop_ratio > 0.1 - - let norm = self.norm1.forward(x.clone()); - let residual = self.attn.forward(norm.clone()); - let residual = if let Some(ls1) = &self.ls1 { - ls1.forward(residual) - } else { - residual - }; - - let x = x + residual; - - let norm = self.norm2.forward(x.clone()); - let mlp = self.mlp.forward(norm.clone()); - let residual = if let Some(ls2) = &self.ls2 { - ls2.forward(mlp.clone()) - } else { - mlp.clone() - }; - x + residual - } -} diff --git a/src/model/dino/layers/layer_norm.rs b/src/model/dino/layers/layer_norm.rs deleted file mode 100644 index b6185d5..0000000 --- a/src/model/dino/layers/layer_norm.rs +++ /dev/null @@ -1,48 +0,0 @@ -use burn::{module::Param, nn::Initializer, prelude::*}; - -#[derive(Config, Debug)] -pub struct LayerNormConfig { - pub dim: usize, -} - -impl Default for LayerNormConfig { - fn default() -> Self { - Self::new(0) - } -} - -impl LayerNormConfig { - pub fn init(&self, device: &B::Device) -> LayerNorm { - LayerNorm::new(device, self) - } -} - -#[derive(Module, Debug)] -pub struct LayerNorm { - pub gamma: Param>, - pub beta: Param>, -} - -impl LayerNorm { - pub fn new(device: &B::Device, config: &LayerNormConfig) -> Self { - let gamma = Initializer::Ones.init([config.dim], device); - let beta = Initializer::Zeros.init([config.dim], device); - - Self { gamma, beta } - } - - pub fn forward(&self, x: Tensor) -> Tensor { - let n = x.shape().dims[D - 1] as f32; - - let mean = x.clone().mean_dim(D - 1); - let diff = x.clone().sub(mean); - let var = diff.clone().powi_scalar(2).sum_dim(D - 1).div_scalar(n); - - let input_normalized = diff.div(var.add_scalar(1e-5).sqrt()); - - // TODO: numerically different than torch layernorm, write test - input_normalized - .mul(self.gamma.val().unsqueeze()) - .add(self.beta.val().unsqueeze()) - } -} diff --git a/src/model/dino/layers/layer_scale.rs b/src/model/dino/layers/layer_scale.rs deleted file mode 100644 index 28729af..0000000 --- a/src/model/dino/layers/layer_scale.rs +++ /dev/null @@ -1,36 +0,0 @@ -use burn::{module::Param, nn::Initializer, prelude::*}; - -#[derive(Config, Debug)] -pub struct LayerScaleConfig { - pub dim: usize, -} - -impl Default for LayerScaleConfig { - fn default() -> Self { - Self::new(0) - } -} - -impl LayerScaleConfig { - pub fn init(&self, device: &B::Device) -> LayerScale { - LayerScale::new(device, self) - } -} - -#[derive(Module, Debug)] -pub struct LayerScale { - pub gamma: Param>, -} - -impl LayerScale { - pub fn new(device: &B::Device, config: &LayerScaleConfig) -> Self { - let gamma = Initializer::Constant { value: 1e-5 }.init([config.dim], device); - - Self { gamma } - } - - pub fn forward(&self, x: Tensor) -> Tensor { - let shape = x.shape(); - x.mul(self.gamma.val().expand(shape)) - } -} diff --git a/src/model/dino/layers/mlp.rs b/src/model/dino/layers/mlp.rs deleted file mode 100644 index 7f4f702..0000000 --- a/src/model/dino/layers/mlp.rs +++ /dev/null @@ -1,56 +0,0 @@ -use burn::prelude::*; - -#[derive(Config, Debug)] -pub struct MlpConfig { - pub in_features: usize, - pub hidden_features: Option, - pub out_features: Option, - pub dropout: Option, - pub bias: Option, -} - -impl MlpConfig { - pub fn init(&self, device: &B::Device) -> Mlp { - Mlp::new(device, self.clone()) - } -} - -#[derive(Module, Debug)] -pub struct Mlp { - pub act: nn::Gelu, - pub dropout: nn::Dropout, - pub fc1: nn::Linear, - pub fc2: nn::Linear, -} - -impl Mlp { - fn new(device: &B::Device, config: MlpConfig) -> Self { - let hidden_features = config.hidden_features.unwrap_or(config.in_features); - let fc1 = nn::LinearConfig::new(config.in_features, hidden_features) - .with_bias(config.bias.unwrap_or(false)) - .init(device); - - let out_features = config.out_features.unwrap_or(config.in_features); - let fc2 = nn::LinearConfig::new(hidden_features, out_features) - .with_bias(config.bias.unwrap_or(false)) - .init(device); - - let act = nn::Gelu::new(); - let dropout = config.dropout.unwrap_or(nn::DropoutConfig::new(0.0)).init(); - - Self { - act, - dropout, - fc1, - fc2, - } - } - - pub fn forward(&self, x: Tensor) -> Tensor { - let x = self.fc1.forward(x); - let x = self.act.forward(x); - let x = self.dropout.forward(x); - let x = self.fc2.forward(x); - self.dropout.forward(x) - } -} diff --git a/src/model/dino/layers/mod.rs b/src/model/dino/layers/mod.rs deleted file mode 100644 index a17a7fd..0000000 --- a/src/model/dino/layers/mod.rs +++ /dev/null @@ -1,6 +0,0 @@ -pub mod attention; -pub mod block; -pub mod layer_norm; -pub mod layer_scale; -pub mod mlp; -pub mod patch_embed; diff --git a/src/model/dino/layers/patch_embed.rs b/src/model/dino/layers/patch_embed.rs deleted file mode 100644 index 7d880ec..0000000 --- a/src/model/dino/layers/patch_embed.rs +++ /dev/null @@ -1,50 +0,0 @@ -use burn::prelude::*; - -#[derive(Config, Debug)] -pub struct PatchEmbedConfig { - pub image_size: usize, - pub patch_size: usize, - pub input_channels: usize, - pub embedding_dimension: usize, -} - -impl Default for PatchEmbedConfig { - fn default() -> Self { - Self { - image_size: 224, - patch_size: 16, - input_channels: 3, - embedding_dimension: 768, - } - } -} - -impl PatchEmbedConfig { - pub fn init(&self, device: &B::Device) -> PatchEmbed { - PatchEmbed::new(device, self.clone()) - } -} - -#[derive(Module, Debug)] -pub struct PatchEmbed { - proj: nn::conv::Conv2d, -} - -impl PatchEmbed { - pub fn new(device: &B::Device, config: PatchEmbedConfig) -> Self { - let kernel_size = [config.patch_size, config.patch_size]; - let proj = nn::conv::Conv2dConfig::new( - [config.input_channels, config.embedding_dimension], - kernel_size, - ) - .with_stride(kernel_size) - .init(device); - - Self { proj } - } - - #[allow(non_snake_case)] - pub fn forward(&self, x: Tensor) -> Tensor { - self.proj.forward(x).flatten(2, 3).swap_dims(1, 2) - } -} diff --git a/src/model/dino/mod.rs b/src/model/dino/mod.rs deleted file mode 100644 index 7194162..0000000 --- a/src/model/dino/mod.rs +++ /dev/null @@ -1,390 +0,0 @@ -use burn::{ - module::Param, - nn::{Gelu, Initializer}, - prelude::*, -}; - -use layers::{ - attention::AttentionConfig, - block::{Block, BlockConfig}, - layer_norm::{LayerNorm, LayerNormConfig}, - layer_scale::LayerScaleConfig, - patch_embed::{PatchEmbed, PatchEmbedConfig}, -}; - -pub mod layers; - -#[derive(Config, Debug)] -pub struct DinoVisionTransformerConfig { - pub image_size: usize, - pub patch_size: usize, - pub input_channels: usize, - pub embedding_dimension: usize, - pub depth: usize, - pub block_config: BlockConfig, - pub positional_encoding_interpolate: nn::interpolate::Interpolate2dConfig, - pub num_patches: usize, - - #[config(default = "Initializer::Normal{mean:0.02, std:1.0}")] - pub initializer: Initializer, -} - -impl DinoVisionTransformerConfig { - pub fn init(&self, device: &B::Device) -> DinoVisionTransformer { - DinoVisionTransformer::new(device, self.clone()) - } - - #[allow(non_snake_case)] - pub fn from_size(image_size: Option, patch_size: Option) -> Self { - let image_size = image_size.unwrap_or(518); - let patch_size = patch_size.unwrap_or(14); - - let interpolate_size = [image_size / patch_size, image_size / patch_size]; - - let dim = 768; - - let w0 = image_size / patch_size; - let h0 = image_size / patch_size; - let num_patches = w0 * h0; - - // let M = num_patches.isqrt(); - // let sx = (w0 as f32 * 0.1) / M as f32; - // let sy = (h0 as f32 * 0.1) / M as f32; - - Self::new( - image_size, - patch_size, - 3, - dim, - 12, - BlockConfig { - attn: AttentionConfig { - dim, - ..Default::default() - }, - layer_scale: LayerScaleConfig { dim }.into(), - ..Default::default() - }, - nn::interpolate::Interpolate2dConfig { - mode: nn::interpolate::InterpolateMode::Cubic, - output_size: interpolate_size.into(), - scale_factor: None, //[sx, sy].into(), - }, - num_patches, - ) - } - - pub fn vits(image_size: Option, patch_size: Option) -> Self { - let embedding_dimension = 384; - Self { - embedding_dimension, - block_config: BlockConfig { - attn: AttentionConfig { - dim: embedding_dimension, - num_heads: 6, - ..Default::default() - }, - layer_scale: LayerScaleConfig { - dim: embedding_dimension, - } - .into(), - ..Default::default() - }, - ..Self::from_size(image_size, patch_size) - } - } - - pub fn vitb(image_size: Option, patch_size: Option) -> Self { - Self::from_size(image_size, patch_size) - } - - pub fn vitl(image_size: Option, patch_size: Option) -> Self { - let embedding_dimension = 1024; - Self { - embedding_dimension, - depth: 24, - block_config: BlockConfig { - attn: AttentionConfig { - dim: embedding_dimension, - num_heads: 16, - ..Default::default() - }, - layer_scale: LayerScaleConfig { - dim: embedding_dimension, - } - .into(), - ..Default::default() - }, - ..Self::from_size(image_size, patch_size) - } - } - - pub fn vitg(image_size: Option, patch_size: Option) -> Self { - let embedding_dimension = 1536; - Self { - embedding_dimension, - depth: 40, - block_config: BlockConfig { - attn: AttentionConfig { - dim: embedding_dimension, - num_heads: 24, - ..Default::default() - }, - layer_scale: LayerScaleConfig { - dim: embedding_dimension, - } - .into(), - ..Default::default() - }, - ..Self::from_size(image_size, patch_size) - } - } -} - -#[derive(Debug, Clone)] -pub struct DinoOutput { - pub x_norm_clstoken: Tensor, - pub x_norm_patchtokens: Tensor, - pub x_prenorm: Tensor, - pub masks: Option>, -} - -#[derive(Module, Debug)] -pub struct DinoVisionTransformer { - activation: Gelu, - cls_token: Param>, - pub pos_embed: Param>, - mask_token: Param>, - interpolate: nn::interpolate::Interpolate2d, - patch_embed: PatchEmbed, - norm: LayerNorm, - blocks: Vec>, - patch_size: usize, -} - -impl DinoVisionTransformer { - fn finalize_output( - &self, - tokens: Tensor, - masks: Option>, - ) -> DinoOutput { - let x_norm = self.norm.forward(tokens.clone()); - - let b_dim = tokens.shape().dims[0]; - let n_dim = tokens.shape().dims[1]; - - let x_norm_clstoken = x_norm.clone().slice([0..b_dim, 0..1]).squeeze_dim(1); - let x_norm_patchtokens = x_norm.clone().slice([0..b_dim, 1..n_dim]); - - DinoOutput { - x_norm_clstoken, - x_norm_patchtokens, - x_prenorm: tokens, - masks, - } - } - - pub fn new(device: &B::Device, config: DinoVisionTransformerConfig) -> Self { - // TODO: initialize cls_token and pos_embed with trainable weights - // trunc_normal_(self.pos_embed, std=0.02) - // nn.init.normal_(self.cls_token, std=1e-6) - // if self.register_tokens is not None: - // nn.init.normal_(self.register_tokens, std=1e-6) - // named_apply(init_weights_vit_timm, self) - // if isinstance(module, nn.Linear): - // trunc_normal_(module.weight, std=0.02) - // if module.bias is not None: - // nn.init.zeros_(module.bias) - - let cls_token = config - .initializer - .init([1, 1, config.embedding_dimension], device); - - let num_tokens = 1; - let pos_embed = config.initializer.init( - [ - 1, - config.num_patches + num_tokens, - config.embedding_dimension, - ], - device, - ); - - let mask_token = config - .initializer - .init([1, config.embedding_dimension], device); - - let interpolate = config.positional_encoding_interpolate.init(); - - let patch_embed = PatchEmbedConfig::new( - config.image_size, - config.patch_size, - config.input_channels, - config.embedding_dimension, - ) - .init(device); - - let norm: LayerNorm = LayerNormConfig::new(config.embedding_dimension).init(device); - - let mut blocks = Vec::with_capacity(config.depth); - for _ in 0..config.depth { - let block = config.block_config.init(device); - blocks.push(block); - } - - Self { - activation: Gelu::new(), - cls_token, - pos_embed, - mask_token, - interpolate, - patch_embed, - norm, - blocks, - patch_size: config.patch_size, - } - } - - #[allow(non_snake_case)] - pub fn interpolate_pos_encoding(&self, x: Tensor, W: usize, H: usize) -> Tensor { - let npatch = x.shape().dims[1] - 1; - let N = self.pos_embed.shape().dims[1] - 1; - - if npatch == N && W == H { - return self.pos_embed.val().clone(); - } - - let b_dim = self.pos_embed.shape().dims[0]; - let n_dim = self.pos_embed.shape().dims[1]; - // let c_dim: usize = self.pos_embed.shape().dims[2]; - - let class_pos_embed: Tensor = self - .pos_embed - .val() - .clone() - .slice([0..b_dim, 0..1]) - .squeeze_dim(1); - let patch_pos_embed = self.pos_embed.val().clone().slice([0..b_dim, 1..n_dim]); - let dim = x.shape().dims[2]; - let M = N.isqrt(); - - assert!(N == M * M, "number of patches should be a square number",); - - let patch_pos_embed = self - .interpolate - .forward( - patch_pos_embed - .reshape([1, M, M, dim]) - .permute([0, 3, 1, 2]), - ) - .permute([0, 2, 3, 1]) - .reshape([1_i32, -1, dim as i32]); - - Tensor::cat(vec![class_pos_embed.unsqueeze_dim(0), patch_pos_embed], 1) - } - - #[allow(non_snake_case)] - pub fn prepare_tokens_with_masks( - &self, - x: Tensor, - mask: Option>, - ) -> Tensor { - // TODO: H, W? - let [_B, _C, W, H] = x.shape().dims(); - - let x = self.patch_embed.forward(x); - let x = if let Some(mask) = mask { - x.mask_where(mask, self.mask_token.val().unsqueeze_dim(0)) - } else { - x - }; - - let x = Tensor::cat( - vec![ - self.cls_token - .val() - .expand([x.shape().dims[0] as i64, -1, -1]), - x, - ], - 1, - ); - - let residual = self.interpolate_pos_encoding(x.clone(), W, H); - x + residual.clone() - } - - #[allow(non_snake_case)] - pub fn intermediate_layers( - &self, - x: Tensor, - layers: &[usize], - ) -> (Vec>, Vec>) { - let mut x = self.prepare_tokens_with_masks(x, None); - - let mut class_tokens = Vec::with_capacity(layers.len()); - let mut output = Vec::with_capacity(layers.len()); - - for (i, block) in self.blocks.iter().enumerate() { - x = block.forward(x); - - if layers.contains(&i) { - let x = self.norm.forward(x.clone()); - - let class_token: Tensor = - x.clone().slice([0..x.shape().dims[0], 0..1]).squeeze_dim(1); - let out = x - .clone() - .slice([0..x.shape().dims[0], 1..x.shape().dims[1]]); - - let [B, _, W, H] = x.shape().dims(); - let reshaped = out - .reshape([ - B as i32, - (W / self.patch_size) as i32, - (H / self.patch_size) as i32, - -1, - ]) - .permute([0, 3, 1, 2]); - - class_tokens.push(class_token); - output.push(reshaped); - } - } - - (class_tokens, output) - } - - pub fn forward_with_intermediate_tokens( - &self, - x: Tensor, - layers: &[usize], - ) -> (DinoOutput, Vec>) { - let mut tokens = self.prepare_tokens_with_masks(x, None); - let mut selected = Vec::with_capacity(layers.len()); - - for (index, block) in self.blocks.iter().enumerate() { - tokens = block.forward(tokens); - - if layers.contains(&index) { - selected.push(tokens.clone()); - } - } - - let output = self.finalize_output(tokens, None); - (output, selected) - } - - pub fn embedding_dimension(&self) -> usize { - self.cls_token.val().shape().dims[2] - } - - pub fn forward(&self, x: Tensor, masks: Option>) -> DinoOutput { - let mut tokens = self.prepare_tokens_with_masks(x, None); - - for block in &self.blocks { - tokens = block.forward(tokens); - } - - self.finalize_output(tokens, masks) - } -} diff --git a/src/model/mod.rs b/src/model/mod.rs index 18bfea2..4ef4c80 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -1,2 +1 @@ pub mod depth_pro; -pub mod dino; From cec10db59f6d8389d3b6efb7c7f8ebb8e35a8820 Mon Sep 17 00:00:00 2001 From: mosure Date: Wed, 12 Nov 2025 15:19:00 -0600 Subject: [PATCH 2/8] feat: bevy_burn_depth (scaffold) --- Cargo.lock | 3254 ++++++++++++++++- Cargo.toml | 6 + crates/bevy_burn_depth/Cargo.toml | 111 + .../assets/fonts/Caveat-Bold.ttf | Bin 0 -> 257240 bytes .../assets/fonts/Caveat-Medium.ttf | Bin 0 -> 257752 bytes .../assets/fonts/Caveat-Regular.ttf | Bin 0 -> 256900 bytes .../assets/fonts/Caveat-SemiBold.ttf | Bin 0 -> 257836 bytes crates/bevy_burn_depth/src/lib.rs | 79 + crates/bevy_burn_depth/src/main.rs | 494 +++ crates/bevy_burn_depth/src/platform.rs | 113 + crates/bevy_burn_depth/www/index.html | 122 + 11 files changed, 3992 insertions(+), 187 deletions(-) create mode 100644 crates/bevy_burn_depth/Cargo.toml create mode 100644 crates/bevy_burn_depth/assets/fonts/Caveat-Bold.ttf create mode 100644 crates/bevy_burn_depth/assets/fonts/Caveat-Medium.ttf create mode 100644 crates/bevy_burn_depth/assets/fonts/Caveat-Regular.ttf create mode 100644 crates/bevy_burn_depth/assets/fonts/Caveat-SemiBold.ttf create mode 100644 crates/bevy_burn_depth/src/lib.rs create mode 100644 crates/bevy_burn_depth/src/main.rs create mode 100644 crates/bevy_burn_depth/src/platform.rs create mode 100644 crates/bevy_burn_depth/www/index.html diff --git a/Cargo.lock b/Cargo.lock index 2427624..3019ea0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,63 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "accesskit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99" + +[[package]] +name = "accesskit_consumer" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db81010a6895d8707f9072e6ce98070579b43b717193d2614014abd5cb17dd43" +dependencies = [ + "accesskit", + "hashbrown 0.15.5", +] + +[[package]] +name = "accesskit_macos" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0089e5c0ac0ca281e13ea374773898d9354cc28d15af9f0f7394d44a495b575" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown 0.15.5", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "accesskit_windows" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d63dd5041e49c363d83f5419a896ecb074d309c414036f616dc0b04faca971" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown 0.15.5", + "static_assertions", + "windows 0.61.3", + "windows-core 0.61.2", +] + +[[package]] +name = "accesskit_winit" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8cfabe59d0eaca7412bfb1f70198dd31e3b0496fee7e15b066f9c36a1a140a0" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_windows", + "raw-window-handle", + "winit", +] + [[package]] name = "adler2" version = "2.0.1" @@ -14,7 +71,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "cipher", "cpufeatures", ] @@ -25,7 +82,7 @@ version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "once_cell", "version_check", "zerocopy", @@ -55,6 +112,39 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "android-activity" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" +dependencies = [ + "android-properties", + "bitflags 2.10.0", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", + "thiserror 1.0.69", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "android_log-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -126,6 +216,15 @@ version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + [[package]] name = "arbitrary" version = "1.4.2" @@ -146,12 +245,24 @@ dependencies = [ "syn 2.0.109", ] +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + [[package]] name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + [[package]] name = "ash" version = "0.38.0+1.3.281" @@ -161,6 +272,29 @@ dependencies = [ "libloading", ] +[[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.109", +] + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + [[package]] name = "async-channel" version = "2.5.0" @@ -173,11 +307,59 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "async-executor" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-lock" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +dependencies = [ + "portable-atomic", +] + [[package]] name = "atomic-waker" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +dependencies = [ + "portable-atomic", +] [[package]] name = "atomic_float" @@ -185,6 +367,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "628d228f918ac3b82fe590352cc719d30664a0c13ca3a60266fe02c7132d480a" +[[package]] +name = "atomicow" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52e8890bb9844440d0c412fa74b67fd2f14e85248b6e00708059b6da9e5f8bf" +dependencies = [ + "portable-atomic", + "portable-atomic-util", +] + [[package]] name = "autocfg" version = "1.5.0" @@ -282,110 +474,1248 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] -name = "bincode" -version = "2.0.1" +name = "bevy" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +checksum = "342f7e9335416dc98642d5747c4ed8a6ad9f7244a36d5b2b7a1b7910e4d8f524" dependencies = [ - "serde", - "unty", + "bevy_internal", ] [[package]] -name = "bindgen" -version = "0.71.1" +name = "bevy_a11y" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" +checksum = "3917cd35096fb2fe176632740b68a4b53cb61006cfff13d66ef47ee2c2478d53" dependencies = [ - "bitflags 2.10.0", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "log", - "prettyplease 0.2.37", - "proc-macro2", - "quote", - "regex", - "rustc-hash 2.1.1", - "shlex", - "syn 2.0.109", + "accesskit", + "bevy_app", + "bevy_derive", + "bevy_ecs", + "bevy_reflect", ] [[package]] -name = "bit-set" -version = "0.8.0" +name = "bevy_android" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +checksum = "c2a9dd9488c77fa2ea31b5da2f978aab7f1cc82e6d2c3be0adf637d9fd7cb6c8" dependencies = [ - "bit-vec", + "android-activity", ] [[package]] -name = "bit-vec" -version = "0.8.0" +name = "bevy_anti_alias" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +checksum = "38c1adb85fe0956d6c3b6f90777b829785bb7e29a48f58febeeefd2bad317713" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_utils", + "tracing", +] [[package]] -name = "bit_field" -version = "0.10.3" +name = "bevy_app" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" +checksum = "9f582409b4ed3850d9b66ee94e71a0e2c20e7068121d372530060c4dfcba66fa" +dependencies = [ + "bevy_derive", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "cfg-if 1.0.4", + "console_error_panic_hook", + "ctrlc", + "downcast-rs", + "log", + "thiserror 2.0.17", + "variadics_please", + "wasm-bindgen", + "web-sys", +] [[package]] -name = "bitflags" -version = "1.3.2" +name = "bevy_args" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "78be90b7057af29f4d871d241718a974f921ee9cd04efc1d8e3c8eb1d40c8b8a" +dependencies = [ + "bevy", + "clap", + "console_error_panic_hook", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] [[package]] -name = "bitflags" -version = "2.10.0" +name = "bevy_asset" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "9e6ee42e74a64a46ab91bd1c0155f8abe5b732bdb948a9b26e541456cc7940e5" dependencies = [ - "serde_core", + "async-broadcast", + "async-fs", + "async-lock", + "atomicow", + "bevy_android", + "bevy_app", + "bevy_asset_macros", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bitflags 2.10.0", + "blake3", + "crossbeam-channel", + "derive_more", + "disqualified", + "downcast-rs", + "either", + "futures-io", + "futures-lite", + "js-sys", + "parking_lot", + "ron", + "serde", + "stackfuture", + "thiserror 2.0.17", + "tracing", + "uuid", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "bitstream-io" -version = "2.6.0" +name = "bevy_asset_macros" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" +checksum = "d03711d2c087227f64ba85dd38a99d4d6893f80d2475c2e77fb90a883760a055" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.109", +] [[package]] -name = "block" -version = "0.1.6" +name = "bevy_burn" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +checksum = "1ff62e1c3105d1ce251eca77f6db3e4d9718f174444507e6205c9bd5fbd95363" +dependencies = [ + "bevy", + "burn", + "burn-core", + "burn-cubecl", + "burn-fusion", + "burn-wgpu", + "bytemuck", + "console_error_panic_hook", + "cubecl", + "getrandom 0.3.4", + "wasm-bindgen", + "web-sys", + "wgpu", +] [[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +name = "bevy_burn_depth" +version = "0.2.0" dependencies = [ - "generic-array", + "bevy", + "bevy_args", + "bevy_burn", + "burn", + "burn_depth", + "clap", + "console_error_panic_hook", + "futures", + "futures-intrusive", + "image", + "js-sys", + "nokhwa", + "once_cell", + "serde", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "bstr" -version = "1.12.1" +name = "bevy_camera" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +checksum = "b70d79ccbd8bfefc79f33a104dfd82ae2f5276ce04d6df75787bfa3edc4c4c1a" dependencies = [ - "memchr", - "regex-automata", + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "downcast-rs", "serde", + "smallvec", + "thiserror 2.0.17", + "wgpu-types", ] [[package]] -name = "built" -version = "0.7.7" +name = "bevy_color" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" - -[[package]] +checksum = "94dc78477c1c208c0cd221c64e907aba8ba165f39bebb72adc6180e1a13e8938" +dependencies = [ + "bevy_math", + "bevy_reflect", + "bytemuck", + "derive_more", + "encase", + "serde", + "thiserror 2.0.17", + "wgpu-types", +] + +[[package]] +name = "bevy_core_pipeline" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c866a2fe33ec27a612d883223d30f1857aa852766b21a9603628735dace632f" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "nonmax", + "radsort", + "smallvec", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_derive" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8c733807158f8fcac68e23222e69ed91a6492ae9410fc2c145b9bb182cfd63e" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn 2.0.109", +] + +[[package]] +name = "bevy_diagnostic" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f12fa32312818c08aa4035bebe9fb3f62aaf7efae33688e718dd6ee6c0147493" +dependencies = [ + "atomic-waker", + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_tasks", + "bevy_time", + "const-fnv1a-hash", + "log", + "serde", +] + +[[package]] +name = "bevy_ecs" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69d929d32190cfcde6efd2df493601c4dbc18a691fd9775a544c951c3c112e1a" +dependencies = [ + "arrayvec", + "bevy_ecs_macros", + "bevy_platform", + "bevy_ptr", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bitflags 2.10.0", + "bumpalo", + "concurrent-queue", + "derive_more", + "fixedbitset 0.5.7", + "indexmap", + "log", + "nonmax", + "serde", + "slotmap", + "smallvec", + "thiserror 2.0.17", + "variadics_please", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eeddfb80a2e000663e87be9229c26b4da92bddbc06c8776bc0d1f4a7f679079" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.109", +] + +[[package]] +name = "bevy_encase_derive" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7449e5903594a00f007732ba232af0c527ad4e6e3d29bc3e195ec78dbd20c8b2" +dependencies = [ + "bevy_macro_utils", + "encase_derive_impl", +] + +[[package]] +name = "bevy_gizmos" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d3f174faa13041634060dd99f6f59c29997fd62f40252f0466c2ebea8603d4d" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_gizmos_macros", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite_render", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bytemuck", + "tracing", +] + +[[package]] +name = "bevy_gizmos_macros" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "714273aa7f285c0aaa874b7fbe37fe4e6e45355e3e6f3321aefa1b78cda259e0" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn 2.0.109", +] + +[[package]] +name = "bevy_image" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168de8239b2aedd2eeef9f76ae1909b2fdf859b11dcdb4d4d01b93f5f2c771be" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_ecs", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "futures-lite", + "guillotiere", + "half", + "image", + "ktx2", + "rectangle-pack", + "ruzstd", + "serde", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_input" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cf4074b2d0d6680b4deb308ded7b4e8b1b99181c0502e2632e78af815b26f01" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "derive_more", + "log", + "smol_str", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_input_focus" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70761eba0f616a1caa761457bff2b8ae80c9916f39d167fab8c2d5c98d2b8951" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_picking", + "bevy_reflect", + "bevy_window", + "log", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_internal" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43985739584f3a5d43026aa1edd772f064830be46c497518f05f7dfbc886bba" +dependencies = [ + "bevy_a11y", + "bevy_android", + "bevy_anti_alias", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_gizmos", + "bevy_image", + "bevy_input", + "bevy_input_focus", + "bevy_light", + "bevy_log", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_platform", + "bevy_ptr", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_state", + "bevy_tasks", + "bevy_text", + "bevy_time", + "bevy_transform", + "bevy_ui", + "bevy_ui_render", + "bevy_utils", + "bevy_window", + "bevy_winit", +] + +[[package]] +name = "bevy_light" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cad00ab66d1e93edb928be66606a71066f3b1cbc9f414720e290ef5361eb6237" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "tracing", +] + +[[package]] +name = "bevy_log" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae217a035714a37b779487f82edc4c7c1223f7088d7ad94054f29f524d61c51" +dependencies = [ + "android_log-sys", + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_utils", + "tracing", + "tracing-log", + "tracing-oslog", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] +name = "bevy_macro_utils" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17dbc3f8948da58b3c17767d20fd3cd35fe4721ed19a9a3204a6f1d6c9951bdd" +dependencies = [ + "parking_lot", + "proc-macro2", + "quote", + "syn 2.0.109", + "toml_edit 0.23.7", +] + +[[package]] +name = "bevy_math" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7a41e368ffa95ae2a353197d1ae3993f4d3d471444d80b65c932db667ea7b9e" +dependencies = [ + "approx", + "bevy_reflect", + "derive_more", + "glam", + "itertools 0.14.0", + "libm", + "rand 0.9.2", + "rand_distr", + "serde", + "smallvec", + "thiserror 2.0.17", + "variadics_please", +] + +[[package]] +name = "bevy_mesh" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6255244b71153b305fddb4e6f827cb97ed51f276b6e632f5fc46538647948f6" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mikktspace", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "hexasphere", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_mikktspace" +version = "0.17.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef8e4b7e61dfe7719bb03c884dc270cd46a82efb40f93e9933b990c5c190c59" + +[[package]] +name = "bevy_pbr" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8c76337a6ae9d73d50be168aeee974d05fdeda9129a413eaff719e3b7b5fea" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "fixedbitset 0.5.7", + "nonmax", + "offset-allocator", + "smallvec", + "static_assertions", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_picking" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a232a8ea4dc9b83c08226f56b868acb1ead06946a95d8b9c8cbbcc860cd8090" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_derive", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_time", + "bevy_transform", + "bevy_window", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_platform" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cf8cda162688c95250e74cffaa1c3a04597f105d4ca35554106f107308ea57" +dependencies = [ + "critical-section", + "foldhash 0.2.0", + "futures-channel", + "getrandom 0.3.4", + "hashbrown 0.16.0", + "js-sys", + "portable-atomic", + "portable-atomic-util", + "serde", + "spin 0.10.0", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-time", +] + +[[package]] +name = "bevy_ptr" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28ab4074e7b781bab84e9b0a41ede245d673d1f75646ce0db27643aedcfb3a85" + +[[package]] +name = "bevy_reflect" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "333df3f5947b7e62728eb5c0b51d679716b16c7c5283118fed4563f13230954e" +dependencies = [ + "assert_type_match", + "bevy_platform", + "bevy_ptr", + "bevy_reflect_derive", + "bevy_utils", + "derive_more", + "disqualified", + "downcast-rs", + "erased-serde", + "foldhash 0.2.0", + "glam", + "inventory", + "serde", + "smallvec", + "smol_str", + "thiserror 2.0.17", + "uuid", + "variadics_please", + "wgpu-types", +] + +[[package]] +name = "bevy_reflect_derive" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0205dce9c5a4d8d041b263bcfd96e9d9d6f3d49416e12db347ab5778b3071fe1" +dependencies = [ + "bevy_macro_utils", + "indexmap", + "proc-macro2", + "quote", + "syn 2.0.109", + "uuid", +] + +[[package]] +name = "bevy_render" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70d6a5d47ebb247e4ecaaf4a3b0310b7c518728ff2362c69f4220d0d3228e17d" +dependencies = [ + "async-channel", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_encase_derive", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render_macros", + "bevy_shader", + "bevy_tasks", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "downcast-rs", + "encase", + "fixedbitset 0.5.7", + "image", + "indexmap", + "js-sys", + "naga", + "nonmax", + "offset-allocator", + "send_wrapper", + "smallvec", + "thiserror 2.0.17", + "tracing", + "variadics_please", + "wasm-bindgen", + "web-sys", + "wgpu", +] + +[[package]] +name = "bevy_render_macros" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7e8b553adf0a4f9f059c5c2dcb52d9ac09abede1c322a92b43b9f4bb11c3843" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.109", +] + +[[package]] +name = "bevy_shader" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cef8f8e53776d286eb62bb60164f30671f07005ff407e94ec1176e9426d1477" +dependencies = [ + "bevy_asset", + "bevy_platform", + "bevy_reflect", + "naga", + "naga_oil", + "serde", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_sprite" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74bb52fa52caa1cc8d95acf45e52efc0c72b59755c2f0801a30fdab367921db0" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_reflect", + "bevy_text", + "bevy_transform", + "bevy_window", + "radsort", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_sprite_render" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31bb90a9139b04568bd30b2492ba61234092d95a7f7e3c84b55369b16d7e261b" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_text", + "bevy_transform", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "fixedbitset 0.5.7", + "nonmax", + "tracing", +] + +[[package]] +name = "bevy_state" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe4e955f36cdc7b31556e4619a653dcf65d46967d90d36fb788f746c8e89257e" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_state_macros", + "bevy_utils", + "log", + "variadics_please", +] + +[[package]] +name = "bevy_state_macros" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3e4e32b1b96585740a2b447661af7db1b9d688db5e4d96da50461cd8f5ce63" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn 2.0.109", +] + +[[package]] +name = "bevy_tasks" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18839182775f30d26f0f84d9de85d25361bb593c99517a80b64ede6cbaf41adc" +dependencies = [ + "async-channel", + "async-executor", + "async-task", + "atomic-waker", + "bevy_platform", + "crossbeam-queue", + "derive_more", + "futures-lite", + "heapless", + "pin-project", +] + +[[package]] +name = "bevy_text" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc1b759cf2ed8992132bd541ebb9ffcfa777d2faf3596d418fb25984bc6677d8" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_log", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_utils", + "cosmic-text", + "serde", + "smallvec", + "sys-locale", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_time" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a52edd3d30ed94074f646ba1c9914e407af9abe5b6fb7a4322c855341a536cc" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "crossbeam-channel", + "log", + "serde", +] + +[[package]] +name = "bevy_transform" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7995ae14430b1a268d1e4f098ab770e8af880d2df5e4e37161b47d8d9e9625bd" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_log", + "bevy_math", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "derive_more", + "serde", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_ui" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc999815a67a6b2fc911df9eea27af703ff656aed6fd31d8606dced701f07fd6" +dependencies = [ + "accesskit", + "bevy_a11y", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_sprite", + "bevy_text", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "smallvec", + "taffy", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_ui_render" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adae9770089e04339d003afe7abe7153fe71600d81c828f964c7ac329b04d5b9" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_text", + "bevy_transform", + "bevy_ui", + "bevy_utils", + "bytemuck", + "derive_more", + "tracing", +] + +[[package]] +name = "bevy_utils" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080254083c74d5f6eb0649d7cd6181bda277e8fe3c509ec68990a5d56ec23f24" +dependencies = [ + "bevy_platform", + "disqualified", + "thread_local", +] + +[[package]] +name = "bevy_window" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f582478606d6b6e5c53befbe7612f038fdfb73f8a27f7aae644406637347acd4" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "log", + "raw-window-handle", + "serde", +] + +[[package]] +name = "bevy_winit" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb0ccf2faca4b4c156a26284d1bbf90a8cac8568a273adcd6c1a270c1342f3df" +dependencies = [ + "accesskit", + "accesskit_winit", + "approx", + "bevy_a11y", + "bevy_android", + "bevy_app", + "bevy_derive", + "bevy_ecs", + "bevy_input", + "bevy_input_focus", + "bevy_log", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_window", + "cfg-if 1.0.4", + "tracing", + "wasm-bindgen", + "web-sys", + "winit", +] + +[[package]] +name = "bincode" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +dependencies = [ + "serde", + "unty", +] + +[[package]] +name = "bindgen" +version = "0.65.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "log", + "peeking_take_while", + "prettyplease 0.2.37", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.109", + "which", +] + +[[package]] +name = "bindgen" +version = "0.71.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" +dependencies = [ + "bitflags 2.10.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "log", + "prettyplease 0.2.37", + "proc-macro2", + "quote", + "regex", + "rustc-hash 2.1.1", + "shlex", + "syn 2.0.109", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bit_field" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +dependencies = [ + "bytemuck", + "serde_core", +] + +[[package]] +name = "bitstream-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" + +[[package]] +name = "blake3" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if 1.0.4", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2 0.5.2", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2 0.6.3", +] + +[[package]] +name = "blocking" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "bstr" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +dependencies = [ + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "built" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" + +[[package]] name = "bumpalo" version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -429,7 +1759,7 @@ dependencies = [ "log", "num-traits", "portable-atomic", - "spin", + "spin 0.10.0", ] [[package]] @@ -524,7 +1854,7 @@ dependencies = [ "rmp-serde", "serde", "serde_json", - "spin", + "spin 0.10.0", "thiserror 2.0.17", "uuid", ] @@ -567,7 +1897,7 @@ dependencies = [ "num-traits", "rand 0.9.2", "serde", - "spin", + "spin 0.10.0", "text_placeholder", ] @@ -655,7 +1985,7 @@ dependencies = [ "hashbrown 0.15.5", "log", "serde", - "spin", + "spin 0.10.0", ] [[package]] @@ -721,7 +2051,7 @@ dependencies = [ "portable-atomic-util", "rand 0.9.2", "seq-macro", - "spin", + "spin 0.10.0", ] [[package]] @@ -802,7 +2132,7 @@ dependencies = [ "burn-tensor", "hashbrown 0.15.5", "log", - "spin", + "spin 0.10.0", ] [[package]] @@ -1006,6 +2336,20 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "calloop" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" +dependencies = [ + "bitflags 2.10.0", + "log", + "polling", + "rustix 0.38.44", + "slab", + "thiserror 1.0.69", +] + [[package]] name = "candle-core" version = "0.9.1" @@ -1070,6 +2414,12 @@ dependencies = [ "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cexpr" version = "0.6.0" @@ -1089,6 +2439,12 @@ dependencies = [ "target-lexicon", ] +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + [[package]] name = "cfg-if" version = "1.0.4" @@ -1189,6 +2545,34 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +[[package]] +name = "cocoa" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c49e86fc36d5704151f5996b7b3795385f50ce09e3be0f47a0cfde869681cf8" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation 0.7.0", + "core-graphics 0.19.2", + "foreign-types 0.3.2", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81411967c50ee9a1fc11365f8c585f863a22a9697c89239c452292c40ba79b0d" +dependencies = [ + "bitflags 2.10.0", + "block", + "core-foundation 0.10.1", + "core-graphics-types 0.2.0", + "objc", +] + [[package]] name = "codespan-reporting" version = "0.12.0" @@ -1221,6 +2605,16 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "compact_str" version = "0.8.1" @@ -1228,7 +2622,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" dependencies = [ "castaway", - "cfg-if", + "cfg-if 1.0.4", "itoa", "rustversion", "ryu", @@ -1256,6 +2650,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", + "portable-atomic", ] [[package]] @@ -1264,10 +2659,16 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "wasm-bindgen", ] +[[package]] +name = "const-fnv1a-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" + [[package]] name = "const-random" version = "0.1.18" @@ -1288,6 +2689,21 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "const_panic" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e262cdaac42494e3ae34c43969f9cdeb7da178bdb4b66fa6a1ea2edb4c8ae652" +dependencies = [ + "typewit", +] + +[[package]] +name = "const_soft_float" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" + [[package]] name = "constant_time_eq" version = "0.1.5" @@ -1300,6 +2716,15 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +[[package]] +name = "constgebra" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1aaf9b65849a68662ac6c0810c8893a765c960b907dd7cfab9c4a50bf764fbc" +dependencies = [ + "const_soft_float", +] + [[package]] name = "convert_case" version = "0.8.0" @@ -1309,31 +2734,141 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys 0.8.7", + "libc", +] + [[package]] name = "core-foundation" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ - "core-foundation-sys", + "core-foundation-sys 0.8.7", "libc", ] +[[package]] +name = "core-foundation-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + [[package]] name = "core-foundation-sys" version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.7.0", + "foreign-types 0.3.2", + "libc", +] + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.4", + "core-graphics-types 0.1.3", + "foreign-types 0.5.0", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.4", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.10.0", + "core-foundation 0.10.1", + "libc", +] + +[[package]] +name = "core-media-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "273bf3fc5bf51fd06a7766a84788c1540b6527130a0bce39e00567d6ab9f31f1" +dependencies = [ + "cfg-if 0.1.10", + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "core-video-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828" +dependencies = [ + "cfg-if 0.1.10", + "core-foundation-sys 0.7.0", + "core-graphics 0.19.2", + "libc", + "metal 0.18.0", + "objc", +] [[package]] -name = "core-graphics-types" -version = "0.2.0" +name = "cosmic-text" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8" dependencies = [ "bitflags 2.10.0", - "core-foundation", - "libc", + "fontdb", + "log", + "rangemap", + "rustc-hash 1.1.0", + "rustybuzz", + "self_cell", + "smol_str", + "swash", + "sys-locale", + "ttf-parser 0.21.1", + "unicode-bidi", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", ] [[package]] @@ -1366,7 +2901,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", ] [[package]] @@ -1436,6 +2971,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1504,6 +3048,17 @@ dependencies = [ "memchr", ] +[[package]] +name = "ctrlc" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +dependencies = [ + "dispatch2", + "nix", + "windows-sys 0.61.2", +] + [[package]] name = "cubecl" version = "0.8.1" @@ -1531,7 +3086,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4556981155bffc057a8effcd4549b52b51df3e9edec43af6ccae2dd03fc8fbff" dependencies = [ "bytemuck", - "cfg-if", + "cfg-if 1.0.4", "cfg_aliases", "derive-new", "derive_more", @@ -1553,7 +3108,7 @@ dependencies = [ "serde", "serde_bytes", "serde_json", - "spin", + "spin 0.10.0", "wasm-bindgen-futures", "web-time", ] @@ -1829,20 +3384,20 @@ checksum = "91b823bb5899a6fa8809bf7aa36f93f72ced6de58ab9d6edea2c730b235eeda3" dependencies = [ "async-channel", "bytemuck", - "cfg-if", + "cfg-if 1.0.4", "cfg_aliases", "cubecl-common", "cubecl-ir", "derive-new", "dirs", "enumset", - "foldhash", + "foldhash 0.1.5", "hashbrown 0.15.5", "log", "md5", "serde", "serde_json", - "spin", + "spin 0.10.0", "thiserror 2.0.17", "toml 0.9.8", "variadics_please", @@ -1858,11 +3413,11 @@ dependencies = [ "cubecl-common", "cubecl-core", "cubecl-runtime", - "foldhash", + "foldhash 0.1.5", "half", "paste", "serde", - "spin", + "spin 0.10.0", "variadics_please", ] @@ -1874,7 +3429,7 @@ checksum = "d59a7d737259a784247595e2f0cc5a97d3e50f45cdaefbd4cc7d7fd2126f7a58" dependencies = [ "async-channel", "bytemuck", - "cfg-if", + "cfg-if 1.0.4", "cfg_aliases", "cubecl-common", "cubecl-core", @@ -1897,6 +3452,12 @@ dependencies = [ "libloading", ] +[[package]] +name = "cursor-icon" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" + [[package]] name = "darling" version = "0.20.11" @@ -1973,7 +3534,7 @@ version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "crossbeam-utils", "hashbrown 0.14.5", "lock_api", @@ -2089,6 +3650,24 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.10.0", + "block2 0.6.2", + "libc", + "objc2 0.6.3", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -2100,6 +3679,21 @@ dependencies = [ "syn 2.0.109", ] +[[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" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading", +] + [[package]] name = "document-features" version = "0.2.12" @@ -2109,6 +3703,24 @@ dependencies = [ "litrs", ] +[[package]] +name = "downcast-rs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + [[package]] name = "dyn-stack" version = "0.10.0" @@ -2153,7 +3765,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f820157f198ada183ad62e0a66f554c610cdcd1a9f27d4b316358103ced7a1f8" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "critical-section", "document-features", "embassy-time-driver", @@ -2197,6 +3809,38 @@ dependencies = [ "embedded-hal 1.0.0", ] +[[package]] +name = "encase" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02ba239319a4f60905966390f5e52799d868103a533bb7e27822792332504ddd" +dependencies = [ + "const_panic", + "encase_derive", + "glam", + "thiserror 2.0.17", +] + +[[package]] +name = "encase_derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5223d6c647f09870553224f6e37261fe5567bc5a4f4cf13ed337476e79990f2f" +dependencies = [ + "encase_derive_impl", +] + +[[package]] +name = "encase_derive_impl" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1796db3d892515842ca2dfb11124c4bb4a9e58d9f2c5c1072e5bca1b2334507b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.109", +] + [[package]] name = "entities" version = "1.0.1" @@ -2262,6 +3906,17 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "erased-serde" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + [[package]] name = "errno" version = "0.3.14" @@ -2272,6 +3927,15 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "euclid" +version = "0.22.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" +dependencies = [ + "num-traits", +] + [[package]] name = "event-listener" version = "5.4.1" @@ -2361,7 +4025,7 @@ version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "libc", "libredox", "windows-sys 0.60.2", @@ -2379,6 +4043,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + [[package]] name = "flate2" version = "1.1.5" @@ -2411,6 +4081,18 @@ dependencies = [ "half", ] +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "spin 0.9.8", +] + [[package]] name = "fnv" version = "1.0.7" @@ -2423,6 +4105,53 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "font-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "fontconfig-parser" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" +dependencies = [ + "roxmltree", +] + +[[package]] +name = "fontdb" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2", + "slotmap", + "tinyvec", + "ttf-parser 0.20.0", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -2430,7 +4159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared", + "foreign-types-shared 0.3.1", ] [[package]] @@ -2444,6 +4173,12 @@ dependencies = [ "syn 2.0.109", ] +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -2825,13 +4560,23 @@ dependencies = [ "version_check", ] +[[package]] +name = "gethostname" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" +dependencies = [ + "rustix 1.1.2", + "windows-link 0.2.1", +] + [[package]] name = "getrandom" version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "js-sys", "libc", "wasi", @@ -2844,7 +4589,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "js-sys", "libc", "r-efi", @@ -2952,6 +4697,18 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "glam" +version = "0.30.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" +dependencies = [ + "bytemuck", + "libm", + "rand 0.9.2", + "serde_core", +] + [[package]] name = "glob" version = "0.3.3" @@ -3030,6 +4787,22 @@ dependencies = [ "bitflags 2.10.0", ] +[[package]] +name = "grid" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36119f3a540b086b4e436bb2b588cf98a68863470e0e880f4d0842f112a3183a" + +[[package]] +name = "guillotiere" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" +dependencies = [ + "euclid", + "svg_fmt", +] + [[package]] name = "h2" version = "0.4.12" @@ -3056,7 +4829,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ "bytemuck", - "cfg-if", + "cfg-if 1.0.4", "crunchy", "num-traits", "rand 0.9.2", @@ -3065,6 +4838,15 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.13.2" @@ -3088,7 +4870,7 @@ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", "serde", ] @@ -3097,6 +4879,10 @@ name = "hashbrown" version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +dependencies = [ + "equivalent", + "serde", +] [[package]] name = "hashlink" @@ -3107,6 +4893,17 @@ dependencies = [ "hashbrown 0.15.5", ] +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "portable-atomic", + "stable_deref_trait", +] + [[package]] name = "heck" version = "0.5.0" @@ -3119,6 +4916,17 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +[[package]] +name = "hexasphere" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29a164ceff4500f2a72b1d21beaa8aa8ad83aec2b641844c659b190cb3ea2e0b" +dependencies = [ + "constgebra", + "glam", + "tinyvec", +] + [[package]] name = "hexf-parse" version = "0.2.1" @@ -3453,6 +5261,15 @@ dependencies = [ "syn 2.0.109", ] +[[package]] +name = "inventory" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" +dependencies = [ + "rustversion", +] + [[package]] name = "ipnet" version = "2.11.0" @@ -3508,6 +5325,22 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if 1.0.4", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + [[package]] name = "jni-sys" version = "0.3.0" @@ -3551,12 +5384,27 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" +[[package]] +name = "ktx2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff7f53bdf698e7aa7ec916411bbdc8078135da11b66db5182675b2227f6c0d07" +dependencies = [ + "bitflags 2.10.0", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "lebe" version = "0.5.3" @@ -3591,7 +5439,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "windows-link 0.2.1", ] @@ -3630,7 +5478,7 @@ checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ "bitflags 2.10.0", "libc", - "redox_syscall", + "redox_syscall 0.5.18", ] [[package]] @@ -3763,6 +5611,15 @@ dependencies = [ "libc", ] +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + [[package]] name = "matchit" version = "0.8.4" @@ -3788,7 +5645,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "rayon", ] @@ -3814,6 +5671,21 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "metal" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e198a0ee42bdbe9ef2c09d0b9426f3b2b47d90d93a4a9b0395c4cea605e92dc0" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa", + "core-graphics 0.19.2", + "foreign-types 0.3.2", + "log", + "objc", +] + [[package]] name = "metal" version = "0.32.0" @@ -3822,8 +5694,8 @@ checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ "bitflags 2.10.0", "block", - "core-graphics-types", - "foreign-types", + "core-graphics-types 0.2.0", + "foreign-types 0.5.0", "log", "objc", "paste", @@ -3879,6 +5751,31 @@ dependencies = [ "pxfm", ] +[[package]] +name = "mozjpeg" +version = "0.10.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7891b80aaa86097d38d276eb98b3805d6280708c4e0a1e6f6aed9380c51fec9" +dependencies = [ + "arrayvec", + "bytemuck", + "libc", + "mozjpeg-sys", + "rgb", +] + +[[package]] +name = "mozjpeg-sys" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f0dc668bf9bf888c88e2fb1ab16a406d2c380f1d082b20d51dd540ab2aa70c1" +dependencies = [ + "cc", + "dunce", + "libc", + "nasm-rs", +] + [[package]] name = "naga" version = "26.0.0" @@ -3888,7 +5785,7 @@ dependencies = [ "arrayvec", "bit-set", "bitflags 2.10.0", - "cfg-if", + "cfg-if 1.0.4", "cfg_aliases", "codespan-reporting", "half", @@ -3899,12 +5796,49 @@ dependencies = [ "log", "num-traits", "once_cell", + "pp-rs", "rustc-hash 1.1.0", "spirv", "thiserror 2.0.17", "unicode-ident", ] +[[package]] +name = "naga_oil" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b586d3cf5c9b7e13fe2af6e114406ff70773fd80881960378933b63e76f37dd" +dependencies = [ + "codespan-reporting", + "data-encoding", + "indexmap", + "naga", + "regex", + "rustc-hash 1.1.0", + "thiserror 2.0.17", + "tracing", + "unicode-ident", +] + +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "nasm-rs" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34f676553b60ccbb76f41f9ae8f2428dac3f259ff8f1c2468a174778d06a1af9" +dependencies = [ + "jobserver", + "log", +] + [[package]] name = "nb" version = "0.1.3" @@ -3936,6 +5870,27 @@ dependencies = [ "rayon", ] +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.10.0", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + [[package]] name = "ndk-sys" version = "0.6.0+11769913" @@ -3951,12 +5906,91 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +[[package]] +name = "nix" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +dependencies = [ + "bitflags 2.10.0", + "cfg-if 1.0.4", + "cfg_aliases", + "libc", +] + [[package]] name = "no-std-compat" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df270209a7f04d62459240d890ecb792714d5db12c92937823574a09930276b4" +[[package]] +name = "nokhwa" +version = "0.10.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4cae50786bfa1214ed441f98addbea51ca1b9aaa9e4bf5369cda36654b3efaa" +dependencies = [ + "flume", + "image", + "nokhwa-bindings-linux", + "nokhwa-bindings-macos", + "nokhwa-bindings-windows", + "nokhwa-core", + "parking_lot", + "paste", + "thiserror 2.0.17", +] + +[[package]] +name = "nokhwa-bindings-linux" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bd666aaa41d14357817bd9a981773a73c4d00b34d344cfc244e47ebd397b1ec" +dependencies = [ + "nokhwa-core", + "v4l", +] + +[[package]] +name = "nokhwa-bindings-macos" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de78eb4a2d47a68f490899aa0516070d7a972f853ec2bb374ab53be0bd39b60f" +dependencies = [ + "block", + "cocoa-foundation", + "core-foundation 0.10.1", + "core-media-sys", + "core-video-sys", + "flume", + "nokhwa-core", + "objc", + "once_cell", +] + +[[package]] +name = "nokhwa-bindings-windows" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899799275c93ef69bbe8cb888cf6f8249abe751cbc50be5299105022aec14a1c" +dependencies = [ + "nokhwa-core", + "once_cell", + "windows 0.62.2", +] + +[[package]] +name = "nokhwa-core" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109975552bbd690894f613bce3d408222911e317197c72b2e8b9a1912dc261ae" +dependencies = [ + "bytes", + "image", + "mozjpeg", + "thiserror 2.0.17", +] + [[package]] name = "nom" version = "7.1.3" @@ -3976,6 +6010,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "nonmax" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" + [[package]] name = "noop_proc_macro" version = "0.3.0" @@ -4057,131 +6097,363 @@ version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "num-traits", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.109", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "nvml-wrapper" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d5c6c0ef9702176a570f06ad94f3198bc29c524c8b498f1b9346e1b1bdcbb3a" +dependencies = [ + "bitflags 2.10.0", + "libloading", + "nvml-wrapper-sys", + "static_assertions", + "thiserror 1.0.69", + "wrapcenum-derive", +] + +[[package]] +name = "nvml-wrapper-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd23dbe2eb8d8335d2bce0299e0a07d6a63c089243d626ca75b770a962ff49e6" +dependencies = [ + "libloading", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "libc", + "objc2 0.5.2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.10.0", ] [[package]] -name = "num-iter" -version = "0.1.45" +name = "objc2-core-image" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", + "objc2-metal", ] [[package]] -name = "num-rational" -version = "0.4.2" +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "num-bigint", - "num-integer", - "num-traits", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-contacts", + "objc2-foundation", ] [[package]] -name = "num-traits" -version = "0.2.19" +name = "objc2-encode" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" [[package]] -name = "num_cpus" -version = "1.17.0" +name = "objc2-foundation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "hermit-abi", + "bitflags 2.10.0", + "block2 0.5.1", + "dispatch", "libc", + "objc2 0.5.2", ] [[package]] -name = "num_enum" -version = "0.7.5" +name = "objc2-io-kit" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" dependencies = [ - "num_enum_derive", - "rustversion", + "libc", + "objc2-core-foundation", ] [[package]] -name = "num_enum_derive" -version = "0.7.5" +name = "objc2-link-presentation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.109", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] -name = "num_threads" -version = "0.1.7" +name = "objc2-metal" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "libc", + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", ] [[package]] -name = "nvml-wrapper" -version = "0.11.0" +name = "objc2-quartz-core" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d5c6c0ef9702176a570f06ad94f3198bc29c524c8b498f1b9346e1b1bdcbb3a" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ "bitflags 2.10.0", - "libloading", - "nvml-wrapper-sys", - "static_assertions", - "thiserror 1.0.69", - "wrapcenum-derive", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", + "objc2-metal", ] [[package]] -name = "nvml-wrapper-sys" -version = "0.9.0" +name = "objc2-symbols" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd23dbe2eb8d8335d2bce0299e0a07d6a63c089243d626ca75b770a962ff49e6" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "libloading", + "objc2 0.5.2", + "objc2-foundation", ] [[package]] -name = "objc" -version = "0.2.7" +name = "objc2-ui-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "malloc_buf", + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", ] [[package]] -name = "objc2-core-foundation" -version = "0.3.2" +name = "objc2-user-notifications" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation", ] [[package]] -name = "objc2-io-kit" -version = "0.3.2" +name = "objc_exception" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" dependencies = [ - "libc", - "objc2-core-foundation", + "cc", +] + +[[package]] +name = "offset-allocator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e234d535da3521eb95106f40f0b73483d80bfb3aacf27c40d7e2b72f1a3e00a2" +dependencies = [ + "log", + "nonmax", ] [[package]] @@ -4225,6 +6497,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "orbclient" +version = "0.3.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "247ad146e19b9437f8604c21f8652423595cf710ad108af40e77d3ae6e96b827" +dependencies = [ + "libredox", +] + [[package]] name = "ordered-float" version = "5.0.0" @@ -4256,9 +6537,9 @@ version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "libc", - "redox_syscall", + "redox_syscall 0.5.18", "smallvec", "windows-link 0.2.1", ] @@ -4302,6 +6583,12 @@ dependencies = [ "hmac", ] +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + [[package]] name = "percent-encoding" version = "2.3.2" @@ -4314,10 +6601,30 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "fixedbitset", + "fixedbitset 0.4.2", "indexmap", ] +[[package]] +name = "pin-project" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.109", +] + [[package]] name = "pin-project-lite" version = "0.2.16" @@ -4330,6 +6637,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.32" @@ -4377,6 +6695,20 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "polling" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" +dependencies = [ + "cfg-if 1.0.4", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 1.1.2", + "windows-sys 0.61.2", +] + [[package]] name = "pollster" version = "0.4.0" @@ -4416,6 +6748,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +[[package]] +name = "pp-rs" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee" +dependencies = [ + "unicode-xid", +] + [[package]] name = "ppmd-rust" version = "1.3.0" @@ -4575,7 +6916,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96b86df24f0a7ddd5e4b95c94fc9ed8a98f1ca94d3b01bdce2824097e7835907" dependencies = [ "bytemuck", - "cfg-if", + "cfg-if 1.0.4", "libm", "num-complex", "reborrow", @@ -4698,6 +7039,12 @@ dependencies = [ "uuid", ] +[[package]] +name = "radsort" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "019b4b213425016d7d84a153c4c73afb0946fbb4840e4eece7ba8848b9d6da22" + [[package]] name = "rand" version = "0.8.5" @@ -4773,6 +7120,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" +[[package]] +name = "rangemap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7e49bb0bf967717f7bd674458b3d6b0c5f48ec7e3038166026a69fc22223" + [[package]] name = "ratatui" version = "0.29.0" @@ -4807,7 +7160,7 @@ dependencies = [ "av1-grain", "bitstream-io", "built", - "cfg-if", + "cfg-if 1.0.4", "interpolate_name", "itertools 0.12.1", "libc", @@ -4895,12 +7248,37 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "read-fonts" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358" +dependencies = [ + "bytemuck", + "font-types", +] + [[package]] name = "reborrow" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" +[[package]] +name = "rectangle-pack" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.5.18" @@ -5008,6 +7386,9 @@ name = "rgb" version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" +dependencies = [ + "bytemuck", +] [[package]] name = "ring" @@ -5016,7 +7397,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", - "cfg-if", + "cfg-if 1.0.4", "getrandom 0.2.16", "libc", "untrusted", @@ -5045,6 +7426,25 @@ dependencies = [ "serde", ] +[[package]] +name = "ron" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" +dependencies = [ + "base64", + "bitflags 2.10.0", + "serde", + "serde_derive", + "unicode-ident", +] + +[[package]] +name = "roxmltree" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + [[package]] name = "rstest" version = "0.26.1" @@ -5062,7 +7462,7 @@ version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "glob", "proc-macro-crate", "proc-macro2", @@ -5188,6 +7588,32 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.10.0", + "bytemuck", + "libm", + "smallvec", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "ruzstd" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" +dependencies = [ + "twox-hash", +] + [[package]] name = "ryu" version = "1.0.20" @@ -5257,12 +7683,24 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "self_cell" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33" + [[package]] name = "semver" version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "seq-macro" version = "0.3.6" @@ -5379,7 +7817,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "cpufeatures", "digest", ] @@ -5390,7 +7828,7 @@ version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "cpufeatures", "digest", ] @@ -5455,6 +7893,16 @@ dependencies = [ "quote", ] +[[package]] +name = "skrifa" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841" +dependencies = [ + "bytemuck", + "read-fonts", +] + [[package]] name = "slab" version = "0.4.11" @@ -5486,6 +7934,15 @@ version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] + [[package]] name = "socket2" version = "0.6.1" @@ -5496,6 +7953,15 @@ dependencies = [ "windows-sys 0.60.2", ] +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + [[package]] name = "spin" version = "0.10.0" @@ -5530,6 +7996,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +[[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" @@ -5591,6 +8063,23 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "svg_fmt" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" + +[[package]] +name = "swash" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" +dependencies = [ + "skrifa", + "yazi", + "zeno", +] + [[package]] name = "syn" version = "1.0.109" @@ -5627,9 +8116,18 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.109", + "proc-macro2", + "quote", + "syn 2.0.109", +] + +[[package]] +name = "sys-locale" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" +dependencies = [ + "libc", ] [[package]] @@ -5715,6 +8213,18 @@ dependencies = [ "winapi", ] +[[package]] +name = "taffy" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab4f4d046dd956a47a7e1a2947083d7ac3e6aa3cfaaead36173ceaa5ab11878c" +dependencies = [ + "arrayvec", + "grid", + "serde", + "slotmap", +] + [[package]] name = "tar" version = "0.4.44" @@ -5837,7 +8347,7 @@ version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", ] [[package]] @@ -6201,7 +8711,7 @@ version = "20.1.4-5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89c805f361a6f927ba3c404866bd2e6568cb4ae638328305648917ff05ca2413" dependencies = [ - "bindgen", + "bindgen 0.71.1", "tracel-llvm-bundler", ] @@ -6211,7 +8721,7 @@ version = "20.1.4-5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8bbcec2bc5d8c8b5d0f02694e986296a997c49e9b4395a31a54327545556107" dependencies = [ - "bindgen", + "bindgen 0.71.1", "cc", "paste", "thiserror 2.0.17", @@ -6274,26 +8784,65 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-oslog" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76902d2a8d5f9f55a81155c08971734071968c90f2d9bfe645fe700579b2950" +dependencies = [ + "cc", + "cfg-if 1.0.4", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "tracing-subscriber" version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ + "matchers", "nu-ansi-term", + "once_cell", + "regex-automata", "sharded-slab", "smallvec", "thread_local", + "tracing", "tracing-core", "tracing-log", ] +[[package]] +name = "tracing-wasm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" +dependencies = [ + "tracing", + "tracing-subscriber", + "wasm-bindgen", +] + [[package]] name = "try-lock" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "ttf-parser" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + [[package]] name = "tungstenite" version = "0.28.0" @@ -6311,6 +8860,12 @@ dependencies = [ "utf-8", ] +[[package]] +name = "twox-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" + [[package]] name = "type-map" version = "0.5.1" @@ -6326,12 +8881,24 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + [[package]] name = "typenum" version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +[[package]] +name = "typewit" +version = "1.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" + [[package]] name = "ug" version = "0.4.0" @@ -6353,12 +8920,36 @@ dependencies = [ "yoke 0.7.5", ] +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + [[package]] name = "unicode-ident" version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + [[package]] name = "unicode-normalization" version = "0.1.25" @@ -6368,6 +8959,18 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + +[[package]] +name = "unicode-script" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" + [[package]] name = "unicode-segmentation" version = "1.12.0" @@ -6484,9 +9087,30 @@ dependencies = [ "getrandom 0.3.4", "js-sys", "rand 0.9.2", + "serde", "wasm-bindgen", ] +[[package]] +name = "v4l" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8fbfea44a46799d62c55323f3c55d06df722fbe577851d848d328a1041c3403" +dependencies = [ + "bitflags 1.3.2", + "libc", + "v4l2-sys-mit", +] + +[[package]] +name = "v4l2-sys-mit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6779878362b9bacadc7893eac76abe69612e8837ef746573c4a5239daf11990b" +dependencies = [ + "bindgen 0.65.1", +] + [[package]] name = "v_frame" version = "0.3.9" @@ -6579,7 +9203,7 @@ version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "once_cell", "rustversion", "wasm-bindgen-macro", @@ -6592,7 +9216,7 @@ version = "0.4.55" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" dependencies = [ - "cfg-if", + "cfg-if 1.0.4", "js-sys", "once_cell", "wasm-bindgen", @@ -6683,7 +9307,7 @@ checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798" dependencies = [ "arrayvec", "bitflags 2.10.0", - "cfg-if", + "cfg-if 1.0.4", "cfg_aliases", "document-features", "hashbrown 0.15.5", @@ -6775,9 +9399,9 @@ dependencies = [ "bitflags 2.10.0", "block", "bytemuck", - "cfg-if", + "cfg-if 1.0.4", "cfg_aliases", - "core-graphics-types", + "core-graphics-types 0.2.0", "glow", "glutin_wgl_sys", "gpu-alloc", @@ -6789,7 +9413,7 @@ dependencies = [ "libc", "libloading", "log", - "metal", + "metal 0.32.0", "naga", "ndk-sys", "objc", @@ -6820,6 +9444,7 @@ dependencies = [ "bytemuck", "js-sys", "log", + "serde", "thiserror 2.0.17", "web-sys", ] @@ -6883,11 +9508,23 @@ version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ - "windows-collections", + "windows-collections 0.2.0", "windows-core 0.61.2", - "windows-future", + "windows-future 0.2.1", "windows-link 0.1.3", - "windows-numerics", + "windows-numerics 0.2.0", +] + +[[package]] +name = "windows" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +dependencies = [ + "windows-collections 0.3.2", + "windows-core 0.62.2", + "windows-future 0.3.2", + "windows-numerics 0.3.1", ] [[package]] @@ -6899,6 +9536,15 @@ dependencies = [ "windows-core 0.61.2", ] +[[package]] +name = "windows-collections" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +dependencies = [ + "windows-core 0.62.2", +] + [[package]] name = "windows-core" version = "0.58.0" @@ -6925,6 +9571,19 @@ dependencies = [ "windows-strings 0.4.2", ] +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + [[package]] name = "windows-future" version = "0.2.1" @@ -6933,7 +9592,18 @@ checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ "windows-core 0.61.2", "windows-link 0.1.3", - "windows-threading", + "windows-threading 0.1.0", +] + +[[package]] +name = "windows-future" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +dependencies = [ + "windows-core 0.62.2", + "windows-link 0.2.1", + "windows-threading 0.2.1", ] [[package]] @@ -7002,6 +9672,16 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-numerics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +dependencies = [ + "windows-core 0.62.2", + "windows-link 0.2.1", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -7020,6 +9700,15 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-strings" version = "0.1.0" @@ -7039,6 +9728,24 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.52.0" @@ -7075,6 +9782,21 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -7117,6 +9839,21 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-threading" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -7129,6 +9866,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -7141,6 +9884,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -7165,6 +9914,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -7177,6 +9932,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -7189,6 +9950,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -7201,6 +9968,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -7213,6 +9986,50 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +[[package]] +name = "winit" +version = "0.30.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732" +dependencies = [ + "android-activity", + "atomic-waker", + "bitflags 2.10.0", + "block2 0.5.1", + "bytemuck", + "calloop", + "cfg_aliases", + "concurrent-queue", + "core-foundation 0.9.4", + "core-graphics 0.23.2", + "cursor-icon", + "dpi", + "js-sys", + "libc", + "ndk", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "orbclient", + "percent-encoding", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix 0.38.44", + "smol_str", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "web-time", + "windows-sys 0.52.0", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + [[package]] name = "winnow" version = "0.7.13" @@ -7246,6 +10063,38 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", + "rustix 1.1.2", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" + [[package]] name = "xattr" version = "1.6.1" @@ -7256,6 +10105,25 @@ dependencies = [ "rustix 1.1.2", ] +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.10.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + [[package]] name = "xml-rs" version = "0.8.28" @@ -7268,6 +10136,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yazi" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" + [[package]] name = "yoke" version = "0.7.5" @@ -7315,6 +10189,12 @@ dependencies = [ "synstructure", ] +[[package]] +name = "zeno" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" + [[package]] name = "zerocopy" version = "0.8.27" diff --git a/Cargo.toml b/Cargo.toml index 51841d9..c7591fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,12 @@ exclude = [ "credits", ] +[workspace] +members = [ + "crates/bevy_burn_depth", +] +resolver = "2" + [features] default = [ diff --git a/crates/bevy_burn_depth/Cargo.toml b/crates/bevy_burn_depth/Cargo.toml new file mode 100644 index 0000000..7eaf485 --- /dev/null +++ b/crates/bevy_burn_depth/Cargo.toml @@ -0,0 +1,111 @@ +[package] +name = "bevy_burn_depth" +version = "0.2.0" +edition = "2021" +authors = ["mosure "] +license = "MIT OR Apache-2.0" +keywords = [ + "bevy", + "burn", + "depth", + "nokhwa", +] +categories = [ + "computer-vision", +] + + +[features] +default = ["native"] + +fusion_backend = ["burn/fusion"] + +native = ["burn/autotune", "futures", "nokhwa", "fusion_backend"] +web = [] + +editor = [] +perftest = [] + + + +[dependencies] +bevy_args = "2.0" +bevy_burn = "0.4" +burn_depth = { path = "../../", default-features = false, features = ["backend_wgpu"] } +clap = { version = "4.5", features = ["derive"] } +futures = { version = "0.3", optional = true } +futures-intrusive = "0.5" +image = { version = "0.25.2", default-features = false, features = ["png"] } +nokhwa = { version = "0.10", features = ["input-native", "output-threaded"], optional = true } +once_cell = "1.19" +serde = "1.0" + + +[dependencies.bevy] +version = "0.17" +default-features = false +features = [ + "bevy_asset", + "bevy_camera", + "bevy_core_pipeline", + "bevy_image", + "bevy_log", + "bevy_pbr", + "bevy_render", + "bevy_sprite", + "bevy_text", + "bevy_ui", + "bevy_ui_render", + "bevy_window", + "bevy_winit", + "debug", + "default_font", + "png", + "std", + "tonemapping_luts", + "webgpu", + "x11", + "zstd_rust", +] + +[dependencies.burn] +version = "0.19" +default-features = false +features = [ + # "autotune", + # "fusion", + "std", + # "template", + "wgpu", +] + + +[target.'cfg(target_arch = "wasm32")'.dependencies] +console_error_panic_hook = "0.1" +js-sys = "0.3" +wasm-bindgen = "0.2" +wasm-bindgen-futures = "0.4" + + +[dependencies.web-sys] +version = "0.3" +features = [ + 'Document', + 'Element', + 'HtmlElement', + 'Location', + 'Node', + 'Request', + 'RequestInit', + 'RequestMode', + 'Response', + 'Window', +] + + +[lib] +path = "src/lib.rs" + +[[bin]] +name = "bevy_burn_depth" +path = "src/main.rs" diff --git a/crates/bevy_burn_depth/assets/fonts/Caveat-Bold.ttf b/crates/bevy_burn_depth/assets/fonts/Caveat-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5b05296f0400cf5b7284061b51cdf9ed0d16308f GIT binary patch literal 257240 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
Qj-uA$aw7KHJ9aN6UU!X_e3ZR0zc$-=@$JYo%7% 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 z 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

+ + + + From 1713e3e0404d8ae3f326a08cd2f896bed883b142 Mon Sep 17 00:00:00 2001 From: mosure Date: Wed, 12 Nov 2025 16:44:43 -0600 Subject: [PATCH 3/8] chore: hide lockfile diff --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitattributes b/.gitattributes index 43fc914..07f313b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,5 @@ *.ply binary *.splat binary + +*.lock diff=hidden From 45837068b2d323414c32a33a0d64ec1403ca0e5e Mon Sep 17 00:00:00 2001 From: mosure Date: Wed, 12 Nov 2025 16:45:55 -0600 Subject: [PATCH 4/8] fix: hidden diff --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 07f313b..8177356 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,4 +7,4 @@ *.ply binary *.splat binary -*.lock diff=hidden +*.lock -diff From 5cdd70e2d6be98cc0d74196bf7de24b4253a3890 Mon Sep 17 00:00:00 2001 From: mosure Date: Wed, 12 Nov 2025 22:43:00 -0600 Subject: [PATCH 5/8] fix: texture format --- Cargo.lock | 2 +- crates/bevy_burn_depth/Cargo.toml | 7 +- crates/bevy_burn_depth/src/lib.rs | 85 ++++++++------------ crates/bevy_burn_depth/src/main.rs | 124 ++++++++++++++++++++++++----- src/inference.rs | 27 +++++-- 5 files changed, 164 insertions(+), 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3019ea0..8c664a9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -639,7 +639,7 @@ dependencies = [ [[package]] name = "bevy_burn_depth" -version = "0.2.0" +version = "0.1.0" dependencies = [ "bevy", "bevy_args", diff --git a/crates/bevy_burn_depth/Cargo.toml b/crates/bevy_burn_depth/Cargo.toml index 7eaf485..17702da 100644 --- a/crates/bevy_burn_depth/Cargo.toml +++ b/crates/bevy_burn_depth/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_burn_depth" -version = "0.2.0" +version = "0.1.0" edition = "2021" authors = ["mosure "] license = "MIT OR Apache-2.0" @@ -20,7 +20,7 @@ default = ["native"] fusion_backend = ["burn/fusion"] -native = ["burn/autotune", "futures", "nokhwa", "fusion_backend"] +native = ["futures", "nokhwa", "fusion_backend"] web = [] editor = [] @@ -35,7 +35,7 @@ burn_depth = { path = "../../", default-features = false, features = ["backend_w clap = { version = "4.5", features = ["derive"] } futures = { version = "0.3", optional = true } futures-intrusive = "0.5" -image = { version = "0.25.2", default-features = false, features = ["png"] } +image = { version = "0.25.2", default-features = false, features = ["jpeg", "png"] } nokhwa = { version = "0.10", features = ["input-native", "output-threaded"], optional = true } once_cell = "1.19" serde = "1.0" @@ -72,7 +72,6 @@ features = [ version = "0.19" default-features = false features = [ - # "autotune", # "fusion", "std", # "template", diff --git a/crates/bevy_burn_depth/src/lib.rs b/crates/bevy_burn_depth/src/lib.rs index ae0b21f..5614fba 100644 --- a/crates/bevy_burn_depth/src/lib.rs +++ b/crates/bevy_burn_depth/src/lib.rs @@ -1,79 +1,64 @@ use std::sync::{Arc, Mutex}; use burn::prelude::*; -use burn_depth::{inference::rgb_to_input_tensor, model::depth_pro::DepthPro}; -use image::{imageops::FilterType, DynamicImage, RgbImage}; +use burn_depth::{ + inference::infer_from_rgb, + model::depth_pro::DepthPro, +}; +use image::RgbImage; pub mod platform; -fn resize_frame(input: RgbImage, target_size: usize) -> (Vec, usize, usize) { - let resized = DynamicImage::ImageRgb8(input) - .resize_exact(target_size as u32, target_size as u32, FilterType::Triangle) - .to_rgb8(); - - let width = resized.width() as usize; - let height = resized.height() as usize; - - (resized.into_raw(), width, height) -} - -fn normalize_depth_rgba( - depth: Tensor, - min_value: f32, - max_value: f32, - device: &B::Device, -) -> Tensor { - let dims: [usize; 2] = depth.shape().dims(); - let height = dims[0]; - let width = dims[1]; - - let range = (max_value - min_value).max(1e-6); - - let normalized = depth - .sub_scalar(min_value) - .div_scalar(range) - .clamp(0.0, 1.0) - .reshape([height as i32, width as i32, 1]); - - let rgb = Tensor::::cat(vec![normalized.clone(), normalized.clone(), normalized], 2); - let alpha = Tensor::::ones([height, width, 1], device); - - Tensor::::cat(vec![rgb, alpha], 2) -} - pub async fn process_frame( frame: RgbImage, model: Arc>>, device: B::Device, ) -> Tensor { - let target_size = { - let guard = model.lock().expect("depth model poisoned"); - guard.img_size() - }; - - let (pixels, width, height) = resize_frame(frame, target_size); - let input = - rgb_to_input_tensor::(&pixels, width, height, &device).expect("invalid frame data"); + let width = frame.width() as usize; + let height = frame.height() as usize; + let pixels = frame.into_raw(); let inference = { let guard = model.lock().expect("depth model poisoned"); - guard.infer(input) + infer_from_rgb(&*guard, &pixels, width, height, &device) + .expect("failed to run inference") }; - let depth_map = inference.depth.squeeze_dim(0); + let depth_map: Tensor = inference.depth.squeeze_dim(0); + let dims: [usize; 2] = depth_map.shape().dims(); + let height = dims[0]; + let width = dims[1]; - let min_value = depth_map + let min_depth = depth_map .clone() .min() .into_scalar_async() .await .elem::(); - let max_value = depth_map + let max_depth = depth_map .clone() .max() .into_scalar_async() .await .elem::(); + let range = (max_depth - min_depth).max(f32::EPSILON); + + let normalized = depth_map + .sub_scalar(min_depth) + .div_scalar(range) + .clamp(0.0, 1.0) + .reshape([height as i32, width as i32, 1]); + + let rgb = Tensor::::cat( + vec![ + normalized.clone(), + normalized.clone(), + normalized.clone(), + ], + 2, + ); + + let alpha = Tensor::::ones([height, width, 1], &device); - normalize_depth_rgba(depth_map, min_value, max_value, &device) + Tensor::::cat(vec![rgb, alpha], 2).reshape([height as i32, width as i32, 4]) } diff --git a/crates/bevy_burn_depth/src/main.rs b/crates/bevy_burn_depth/src/main.rs index 6a28852..f565c8d 100644 --- a/crates/bevy_burn_depth/src/main.rs +++ b/crates/bevy_burn_depth/src/main.rs @@ -31,7 +31,8 @@ use burn::{ backend::wgpu::{init_setup_async, Wgpu}, prelude::*, }; -use burn_depth::model::depth_pro::{layers::vit::DINOV2_L16_128, DepthPro, DepthProConfig}; +use burn_depth::model::depth_pro::{DepthPro, DepthProConfig}; +use image::RgbImage; const DEFAULT_CHECKPOINT: &str = "assets/model/depth_pro.mpk"; const MAX_IN_FLIGHT_TASKS: usize = 1; @@ -48,6 +49,9 @@ pub struct BevyBurnDepthConfig { #[arg(long, default_value = DEFAULT_CHECKPOINT)] pub checkpoint: PathBuf, + + #[arg(long)] + pub image_path: Option, } impl Default for BevyBurnDepthConfig { @@ -56,6 +60,7 @@ impl Default for BevyBurnDepthConfig { press_esc_to_close: true, show_fps: true, checkpoint: PathBuf::from(DEFAULT_CHECKPOINT), + image_path: None, } } } @@ -132,15 +137,30 @@ mod io { struct DepthModel { device: B::Device, model: Arc>>, - image_size: usize, } -#[derive(Resource, Default)] +#[derive(Resource)] struct DepthTexture { image: Handle, entity: Option, + width: u32, + height: u32, +} + +impl Default for DepthTexture { + fn default() -> Self { + Self { + image: Handle::default(), + entity: None, + width: 1, + height: 1, + } + } } +#[derive(Resource, Default, Clone)] +struct StaticFrame(Option>); + #[derive(Component)] struct ProcessDepth(Task); @@ -148,6 +168,7 @@ fn process_frames( mut commands: Commands, depth_model: Res>, depth_texture: Res, + static_frame: Res, active_tasks: Query<&ProcessDepth>, ) { let Some(image_entity) = depth_texture.entity else { @@ -158,7 +179,13 @@ fn process_frames( return; } - if let Some(frame) = receive_image() { + let frame_source = if let Some(frame) = static_frame.0.as_ref() { + Some((**frame).clone()) + } else { + receive_image() + }; + + if let Some(frame) = frame_source { let thread_pool = AsyncComputeTaskPool::get(); let task_entity = commands.spawn_empty().id(); let device = depth_model.device.clone(); @@ -168,16 +195,57 @@ fn process_frames( let target = image_entity; async move { let tensor = process_frame(frame, model.clone(), device.clone()).await; + let [tensor_height, tensor_width, _] = tensor.dims(); let mut queue = CommandQueue::default(); queue.push(move |world: &mut World| { + let mut image_handle = None; if let Ok(mut entity) = world.get_entity_mut(target) { if let Some(mut handle) = entity.get_mut::>() { + image_handle = Some(handle.bevy_image.clone()); handle.tensor = tensor.clone(); handle.upload = true; } } + if let Some(handle) = image_handle { + if let Some(mut images) = world.get_resource_mut::>() { + let desired = Extent3d { + width: tensor_width as u32, + height: tensor_height as u32, + depth_or_array_layers: 1, + }; + + let needs_resize = images + .get(handle.id()) + .map(|image| { + image.texture_descriptor.size.width != desired.width + || image.texture_descriptor.size.height != desired.height + }) + .unwrap_or(true); + + if needs_resize { + let (fill_bytes, texture_format, _, texture_usage) = + depth_image_setup(); + let mut replacement = Image::new_fill( + desired, + TextureDimension::D2, + fill_bytes, + texture_format, + RenderAssetUsages::RENDER_WORLD, + ); + replacement.texture_descriptor.usage |= texture_usage; + + let _ = images.insert(handle.id(), replacement); + } + } + } + + if let Some(mut texture_meta) = world.get_resource_mut::() { + texture_meta.width = tensor_width as u32; + texture_meta.height = tensor_height as u32; + } + if let Ok(mut tracker) = world.get_entity_mut(task_entity) { tracker.remove::(); tracker.despawn(); @@ -243,8 +311,8 @@ fn setup_ui( mut images: ResMut>, ) { let size = Extent3d { - width: depth.image_size as u32, - height: depth.image_size as u32, + width: depth_texture.width.max(1), + height: depth_texture.height.max(1), depth_or_array_layers: 1, }; @@ -276,7 +344,11 @@ fn setup_ui( BevyBurnHandle:: { bevy_image: depth_texture.image.clone(), tensor: Tensor::::zeros( - [depth.image_size, depth.image_size, 4], + [ + depth_texture.height.max(1) as usize, + depth_texture.width.max(1) as usize, + 4, + ], &depth.device, ), upload: true, @@ -410,21 +482,15 @@ fn fps_update_system( } } -async fn run_app() { +async fn run_app(args: BevyBurnDepthConfig) { log("running app..."); - - let args = parse_args::(); log(&format!("{args:?}")); let device = Default::default(); init_setup_async::(&device, Default::default()).await; log("device created"); - let mut config = DepthProConfig::default(); - config.patch_encoder_preset = DINOV2_L16_128.into(); - config.image_encoder_preset = DINOV2_L16_128.into(); - config.fov_encoder_preset = Some(DINOV2_L16_128.into()); - config.decoder_features = 64; + let config = DepthProConfig::default(); log("loading depth model..."); @@ -442,13 +508,26 @@ async fn run_app() { let image_size = depth.img_size(); log(&format!("depth model ready (inference resolution: {image_size}px)")); + let static_frame = args.image_path.as_ref().map(|path| { + image::open(path) + .unwrap_or_else(|err| panic!("failed to load image `{}`: {err}", path.display())) + .to_rgb8() + }); + let static_frame = static_frame.map(Arc::new); + + let mut depth_texture = DepthTexture::default(); + if let Some(frame) = static_frame.as_ref() { + depth_texture.width = frame.width(); + depth_texture.height = frame.height(); + } + let mut app = viewer_app(args.clone()); - app.init_resource::(); + app.insert_resource(depth_texture); + app.insert_resource(StaticFrame(static_frame.clone())); app.insert_resource(DepthModel { device: device.clone(), model: Arc::new(Mutex::new(depth)), - image_size, }); app.add_systems(Startup, setup_ui); @@ -480,15 +559,20 @@ pub fn log(message: &str) { fn main() { #[cfg(feature = "native")] { - std::thread::spawn(bevy_burn_depth::platform::camera::native_camera_thread); - futures::executor::block_on(run_app()); + let args = parse_args::(); + if args.image_path.is_none() { + std::thread::spawn(bevy_burn_depth::platform::camera::native_camera_thread); + } + futures::executor::block_on(run_app(args)); } #[cfg(target_arch = "wasm32")] { + let args = parse_args::(); + #[cfg(debug_assertions)] console_error_panic_hook::set_once(); - wasm_bindgen_futures::spawn_local(run_app()); + wasm_bindgen_futures::spawn_local(run_app(args)); } } diff --git a/src/inference.rs b/src/inference.rs index 77ba1c6..163a371 100644 --- a/src/inference.rs +++ b/src/inference.rs @@ -5,7 +5,9 @@ use crate::model::depth_pro::{DepthPro, DepthProInference}; /// Converts packed RGB bytes into a normalized tensor suitable for `DepthPro::infer`. /// /// The input slice must contain `width * height * 3` bytes in row-major order. -/// The output tensor is channel-first (`NCHW`) with values scaled to `[-1, 1]`. +/// Each pixel is converted to floats in `[0, 1]`, then normalized with the ImageNet +/// mean / standard deviation expected by the DINO encoder. The output tensor is +/// channel-first (`NCHW`). pub fn rgb_to_input_tensor( rgb: &[u8], width: usize, @@ -27,11 +29,17 @@ pub fn rgb_to_input_tensor( let hw = width * height; let mut data = vec![0.0f32; 3 * hw]; + const MEAN: [f32; 3] = [0.485, 0.456, 0.406]; + const STD: [f32; 3] = [0.229, 0.224, 0.225]; + for (idx, pixel) in rgb.chunks_exact(3).enumerate() { - for channel in 0..3 { - let value = pixel[channel] as f32 / 255.0; - data[channel * hw + idx] = value * 2.0 - 1.0; - } + let r = pixel[0] as f32 / 255.0; + let g = pixel[1] as f32 / 255.0; + let b = pixel[2] as f32 / 255.0; + + data[idx] = (r - MEAN[0]) / STD[0]; + data[hw + idx] = (g - MEAN[1]) / STD[1]; + data[2 * hw + idx] = (b - MEAN[2]) / STD[2]; } Ok( @@ -78,7 +86,14 @@ mod tests { assert_eq!(data.shape.as_slice(), &[1, 3, 2, 1]); let values = data.to_vec::().unwrap(); - let expected = [-1.0f32, 1.0f32, 1.0f32, -1.0f32, 0.0039215689, 0.0039215689]; + let expected = [ + -2.1187758, + 2.2500000, + 2.4285715, + -2.0357141, + 0.42649236, + 0.42649236, + ]; assert_eq!(values.len(), expected.len()); for (value, expected) in values.iter().zip(expected.iter()) { assert!((value - expected).abs() < 1e-6); From 41deb26b5265613548d757e8728acdb2639e7020 Mon Sep 17 00:00:00 2001 From: mosure Date: Fri, 14 Nov 2025 11:42:14 -0600 Subject: [PATCH 6/8] fix: default to ndarray for ci --- Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index c7591fb..2b5cb3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,12 +35,12 @@ resolver = "2" [features] default = [ - "backend_fusion", + # "backend_fusion", # "backend_cpu", - "backend_cuda", + # "backend_cuda", - # "backend_ndarray", + "backend_ndarray", ] import = [ From a84a6d7fc986004c1a9b92289761b0875e07c3a2 Mon Sep 17 00:00:00 2001 From: mosure Date: Sat, 15 Nov 2025 01:21:46 -0600 Subject: [PATCH 7/8] fix: input norm --- Cargo.toml | 6 +++--- src/inference.rs | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2b5cb3b..c7591fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,12 +35,12 @@ resolver = "2" [features] default = [ - # "backend_fusion", + "backend_fusion", # "backend_cpu", - # "backend_cuda", + "backend_cuda", - "backend_ndarray", + # "backend_ndarray", ] import = [ diff --git a/src/inference.rs b/src/inference.rs index 163a371..682d498 100644 --- a/src/inference.rs +++ b/src/inference.rs @@ -86,13 +86,14 @@ mod tests { assert_eq!(data.shape.as_slice(), &[1, 3, 2, 1]); let values = data.to_vec::().unwrap(); + // Expected values computed using f32 precision to align with PyTorch's normalization. let expected = [ - -2.1187758, - 2.2500000, + -2.1179039, + 2.2489083, 2.4285715, -2.0357141, - 0.42649236, - 0.42649236, + 0.42649257, + 0.42649257, ]; assert_eq!(values.len(), expected.len()); for (value, expected) in values.iter().zip(expected.iter()) { From f132f0ff5a285212ce9733e828797dc72859d231 Mon Sep 17 00:00:00 2001 From: mosure Date: Sat, 15 Nov 2025 21:10:38 -0600 Subject: [PATCH 8/8] fix: tests --- .github/workflows/test.yml | 2 +- .gitignore | 2 ++ src/lib.rs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7f47cbf..726cc82 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,4 +34,4 @@ jobs: enable-sccache: "false" - name: test (default) - run: cargo test + run: cargo test --no-default-features --features backend_ndarray diff --git a/.gitignore b/.gitignore index f7bdbba..5e79b24 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,8 @@ out/ *.safetensors assets/model/ +__pycache__/ + .DS_Store test_depth.png diff --git a/src/lib.rs b/src/lib.rs index 9c095c0..0ee50ad 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -33,7 +33,7 @@ mod tests { #[cfg(feature = "backend_wgpu")] use burn::backend::{ - Wgpu as WgpuBackend, + Wgpu, wgpu::{RuntimeOptions, graphics::AutoGraphicsApi, init_setup}, };

tTF2WQ(&owCbKAAs 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 IE>Ob%2lur0VE_OC literal 0 HcmV?d00001 diff --git a/crates/bevy_burn_depth/src/lib.rs b/crates/bevy_burn_depth/src/lib.rs new file mode 100644 index 0000000..ae0b21f --- /dev/null +++ b/crates/bevy_burn_depth/src/lib.rs @@ -0,0 +1,79 @@ +use std::sync::{Arc, Mutex}; + +use burn::prelude::*; +use burn_depth::{inference::rgb_to_input_tensor, model::depth_pro::DepthPro}; +use image::{imageops::FilterType, DynamicImage, RgbImage}; + +pub mod platform; + +fn resize_frame(input: RgbImage, target_size: usize) -> (Vec, usize, usize) { + let resized = DynamicImage::ImageRgb8(input) + .resize_exact(target_size as u32, target_size as u32, FilterType::Triangle) + .to_rgb8(); + + let width = resized.width() as usize; + let height = resized.height() as usize; + + (resized.into_raw(), width, height) +} + +fn normalize_depth_rgba( + depth: Tensor, + min_value: f32, + max_value: f32, + device: &B::Device, +) -> Tensor { + let dims: [usize; 2] = depth.shape().dims(); + let height = dims[0]; + let width = dims[1]; + + let range = (max_value - min_value).max(1e-6); + + let normalized = depth + .sub_scalar(min_value) + .div_scalar(range) + .clamp(0.0, 1.0) + .reshape([height as i32, width as i32, 1]); + + let rgb = Tensor::::cat(vec![normalized.clone(), normalized.clone(), normalized], 2); + let alpha = Tensor::::ones([height, width, 1], device); + + Tensor::::cat(vec![rgb, alpha], 2) +} + +pub async fn process_frame( + frame: RgbImage, + model: Arc>>, + device: B::Device, +) -> Tensor { + let target_size = { + let guard = model.lock().expect("depth model poisoned"); + guard.img_size() + }; + + let (pixels, width, height) = resize_frame(frame, target_size); + let input = + rgb_to_input_tensor::(&pixels, width, height, &device).expect("invalid frame data"); + + let inference = { + let guard = model.lock().expect("depth model poisoned"); + guard.infer(input) + }; + + let depth_map = inference.depth.squeeze_dim(0); + + let min_value = depth_map + .clone() + .min() + .into_scalar_async() + .await + .elem::(); + let max_value = depth_map + .clone() + .max() + .into_scalar_async() + .await + .elem::(); + + normalize_depth_rgba(depth_map, min_value, max_value, &device) +} diff --git a/crates/bevy_burn_depth/src/main.rs b/crates/bevy_burn_depth/src/main.rs new file mode 100644 index 0000000..6a28852 --- /dev/null +++ b/crates/bevy_burn_depth/src/main.rs @@ -0,0 +1,494 @@ +#![recursion_limit = "256"] + +use std::{ + path::PathBuf, + sync::{Arc, Mutex}, +}; + +use bevy::asset::RenderAssetUsages; +use bevy::{ + color::palettes::css::GOLD, + diagnostic::{ + Diagnostic, DiagnosticPath, Diagnostics, DiagnosticsStore, FrameTimeDiagnosticsPlugin, + RegisterDiagnostic, + }, + ecs::world::CommandQueue, + prelude::*, + render::{ + render_resource::{Extent3d, TextureDimension, TextureFormat, TextureUsages}, + settings::{RenderCreation, WgpuFeatures, WgpuSettings}, + RenderPlugin, + }, + tasks::{block_on, futures_lite::future, AsyncComputeTaskPool, Task}, + ui::widget::ImageNode, + window::WindowResolution, +}; +use bevy_args::{parse_args, Deserialize, Parser, Serialize}; +use bevy_burn::{BevyBurnBridgePlugin, BevyBurnHandle, BindingDirection, TransferKind}; +use bevy_burn_depth::{platform::camera::receive_image, process_frame}; +use burn::{ + backend::wgpu::graphics::AutoGraphicsApi, + backend::wgpu::{init_setup_async, Wgpu}, + prelude::*, +}; +use burn_depth::model::depth_pro::{layers::vit::DINOV2_L16_128, DepthPro, DepthProConfig}; + +const DEFAULT_CHECKPOINT: &str = "assets/model/depth_pro.mpk"; +const MAX_IN_FLIGHT_TASKS: usize = 1; + +#[derive(Resource, Clone, Debug, Serialize, Deserialize, Parser, Reflect)] +#[reflect(Resource)] +#[command(about = "bevy_burn_depth", version, long_about = None)] +pub struct BevyBurnDepthConfig { + #[arg(long, default_value = "true")] + pub press_esc_to_close: bool, + + #[arg(long, default_value = "true")] + pub show_fps: bool, + + #[arg(long, default_value = DEFAULT_CHECKPOINT)] + pub checkpoint: PathBuf, +} + +impl Default for BevyBurnDepthConfig { + fn default() -> Self { + Self { + press_esc_to_close: true, + show_fps: true, + checkpoint: PathBuf::from(DEFAULT_CHECKPOINT), + } + } +} + +#[cfg(feature = "native")] +mod io { + use std::path::Path; + + use burn::prelude::*; + use burn_depth::model::depth_pro::{DepthPro, DepthProConfig}; + + pub async fn load_model( + config: DepthProConfig, + checkpoint: &Path, + device: &B::Device, + ) -> DepthPro { + DepthPro::load_with_config(device, config, checkpoint) + .expect("failed to load DepthPro checkpoint") + } +} + +#[cfg(feature = "web")] +mod io { + use burn::{ + prelude::*, + record::{HalfPrecisionSettings, NamedMpkBytesRecorder, Recorder}, + }; + use burn_depth::model::depth_pro::{DepthPro, DepthProConfig}; + use js_sys::Uint8Array; + use wasm_bindgen::JsCast; + use wasm_bindgen_futures::JsFuture; + use web_sys::{window, Request, RequestInit, RequestMode, Response}; + + pub async fn load_model( + config: DepthProConfig, + checkpoint: &str, + device: &B::Device, + ) -> DepthPro { + let mut opts = RequestInit::new(); + opts.set_method("GET"); + opts.set_mode(RequestMode::Cors); + + let request = Request::new_with_str_and_init(checkpoint, &opts) + .unwrap_or_else(|_| panic!("failed to construct request for {checkpoint}")); + + let window = window().expect("missing browser window"); + let response = JsFuture::from(window.fetch_with_request(&request)) + .await + .expect("failed to fetch checkpoint"); + let response: Response = response.dyn_into().expect("invalid response type"); + + let buffer = JsFuture::from( + response + .array_buffer() + .expect("failed to retrieve checkpoint buffer"), + ) + .await + .expect("failed to read checkpoint buffer"); + let bytes = Uint8Array::new(&buffer); + + let mut data = vec![0; bytes.length() as usize]; + bytes.copy_to(&mut data); + + let record = NamedMpkBytesRecorder::::default() + .load(data, &Default::default()) + .expect("failed to decode checkpoint"); + + let model = DepthPro::new(device, config); + model.load_record(record) + } +} + +#[derive(Resource)] +struct DepthModel { + device: B::Device, + model: Arc>>, + image_size: usize, +} + +#[derive(Resource, Default)] +struct DepthTexture { + image: Handle, + entity: Option, +} + +#[derive(Component)] +struct ProcessDepth(Task); + +fn process_frames( + mut commands: Commands, + depth_model: Res>, + depth_texture: Res, + active_tasks: Query<&ProcessDepth>, +) { + let Some(image_entity) = depth_texture.entity else { + return; + }; + + if active_tasks.iter().count() >= MAX_IN_FLIGHT_TASKS { + return; + } + + if let Some(frame) = receive_image() { + let thread_pool = AsyncComputeTaskPool::get(); + let task_entity = commands.spawn_empty().id(); + let device = depth_model.device.clone(); + let model = depth_model.model.clone(); + + let task = thread_pool.spawn({ + let target = image_entity; + async move { + let tensor = process_frame(frame, model.clone(), device.clone()).await; + + let mut queue = CommandQueue::default(); + queue.push(move |world: &mut World| { + if let Ok(mut entity) = world.get_entity_mut(target) { + if let Some(mut handle) = entity.get_mut::>() { + handle.tensor = tensor.clone(); + handle.upload = true; + } + } + + if let Ok(mut tracker) = world.get_entity_mut(task_entity) { + tracker.remove::(); + tracker.despawn(); + } + }); + + queue + } + }); + + commands.entity(task_entity).insert(ProcessDepth(task)); + } +} + +fn handle_tasks( + mut commands: Commands, + mut diagnostics: Diagnostics, + mut last_frame: Local>, + mut active_tasks: Query<&mut ProcessDepth>, +) { + for mut task in &mut active_tasks { + if let Some(mut queue) = block_on(future::poll_once(&mut task.0)) { + if let Some(last_instant) = last_frame.last_update() { + let delta_seconds = last_instant.elapsed().as_secs_f64(); + if delta_seconds > 0.0 { + diagnostics.add_measurement(&INFERENCE_FPS, || 1.0 / delta_seconds); + } + } + last_frame.update(); + + commands.append(&mut queue); + } + } +} + +#[cfg(target_arch = "wasm32")] +fn depth_image_setup() -> (&'static [u8], TextureFormat, TransferKind, TextureUsages) { + ( + &[0u8; 4], + TextureFormat::Rgba8UnormSrgb, + TransferKind::Cpu, + TextureUsages::COPY_SRC | TextureUsages::COPY_DST | TextureUsages::TEXTURE_BINDING, + ) +} + +#[cfg(not(target_arch = "wasm32"))] +fn depth_image_setup() -> (&'static [u8], TextureFormat, TransferKind, TextureUsages) { + ( + &[0u8; 16], + TextureFormat::Rgba32Float, + TransferKind::Gpu, + TextureUsages::COPY_SRC + | TextureUsages::COPY_DST + | TextureUsages::TEXTURE_BINDING + | TextureUsages::STORAGE_BINDING, + ) +} + +fn setup_ui( + mut commands: Commands, + depth: Res>, + mut depth_texture: ResMut, + mut images: ResMut>, +) { + let size = Extent3d { + width: depth.image_size as u32, + height: depth.image_size as u32, + depth_or_array_layers: 1, + }; + + let (fill_bytes, texture_format, transfer_kind, texture_usage) = depth_image_setup(); + let mut image = Image::new_fill( + size, + TextureDimension::D2, + fill_bytes, + texture_format, + RenderAssetUsages::RENDER_WORLD, + ); + image.texture_descriptor.usage |= texture_usage; + depth_texture.image = images.add(image); + + let mut image_entity = None; + commands + .spawn(Node { + display: Display::Grid, + width: Val::Percent(100.0), + height: Val::Percent(100.0), + grid_template_columns: RepeatedGridTrack::flex(1, 1.0), + grid_template_rows: RepeatedGridTrack::flex(1, 1.0), + ..default() + }) + .with_children(|builder| { + let entity = builder + .spawn(( + ImageNode::new(depth_texture.image.clone()).with_mode(NodeImageMode::Stretch), + BevyBurnHandle:: { + bevy_image: depth_texture.image.clone(), + tensor: Tensor::::zeros( + [depth.image_size, depth.image_size, 4], + &depth.device, + ), + upload: true, + direction: BindingDirection::BurnToBevy, + xfer: transfer_kind, + }, + )) + .id(); + image_entity = Some(entity); + }); + + depth_texture.entity = image_entity; + + commands.spawn(Camera2d); +} + +pub fn viewer_app(args: BevyBurnDepthConfig) -> App { + let mut app = App::new(); + app.insert_resource(args.clone()); + + let title = "bevy_burn_depth".to_string(); + + #[cfg(target_arch = "wasm32")] + let primary_window = Some(Window { + canvas: Some("#bevy".to_string()), + mode: bevy::window::WindowMode::Windowed, + prevent_default_event_handling: true, + title: title.clone(), + #[cfg(feature = "perftest")] + present_mode: bevy::window::PresentMode::AutoNoVsync, + #[cfg(not(feature = "perftest"))] + present_mode: bevy::window::PresentMode::AutoVsync, + ..default() + }); + + #[cfg(not(target_arch = "wasm32"))] + let primary_window = Some(Window { + mode: bevy::window::WindowMode::Windowed, + prevent_default_event_handling: false, + resolution: WindowResolution::new(1024, 1024), + title, + #[cfg(feature = "perftest")] + present_mode: bevy::window::PresentMode::AutoNoVsync, + #[cfg(not(feature = "perftest"))] + present_mode: bevy::window::PresentMode::AutoVsync, + ..default() + }); + + app.insert_resource(ClearColor(Color::srgba(0.0, 0.0, 0.0, 0.0))); + + let default_plugins = DefaultPlugins + .set(ImagePlugin::default_nearest()) + .set(RenderPlugin { + render_creation: RenderCreation::Automatic(WgpuSettings { + features: WgpuFeatures::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES, + ..Default::default() + }), + ..Default::default() + }) + .set(WindowPlugin { + primary_window, + ..default() + }); + + app.add_plugins(default_plugins); + app.add_plugins(BevyBurnBridgePlugin::::default()); + + if args.press_esc_to_close { + app.add_systems(Update, press_esc_close); + } + + if args.show_fps { + app.add_plugins(FrameTimeDiagnosticsPlugin::default()); + app.register_diagnostic(Diagnostic::new(INFERENCE_FPS)); + app.add_systems(Startup, fps_display_setup); + app.add_systems(Update, fps_update_system); + } + + app +} + +fn press_esc_close(keys: Res>, mut exit: MessageWriter) { + if keys.just_pressed(KeyCode::Escape) { + exit.write(AppExit::Success); + } +} + +const INFERENCE_FPS: DiagnosticPath = DiagnosticPath::const_new("inference_fps"); + +fn fps_display_setup(mut commands: Commands) { + commands + .spawn(( + Text("fps: ".to_string()), + TextFont { + font_size: 60.0, + ..Default::default() + }, + TextColor(Color::WHITE), + Node { + position_type: PositionType::Absolute, + bottom: Val::Px(5.0), + left: Val::Px(15.0), + ..default() + }, + ZIndex(2), + )) + .with_child(( + FpsText, + TextColor(Color::Srgba(GOLD)), + TextFont { + font_size: 60.0, + ..Default::default() + }, + TextSpan::default(), + )); +} + +#[derive(Component)] +struct FpsText; + +fn fps_update_system( + diagnostics: Res, + mut query: Query<&mut TextSpan, With>, +) { + for mut text in &mut query { + if let Some(fps) = diagnostics.get(&INFERENCE_FPS) { + if let Some(value) = fps.smoothed() { + **text = format!("{value:.2}"); + } + } + } +} + +async fn run_app() { + log("running app..."); + + let args = parse_args::(); + log(&format!("{args:?}")); + + let device = Default::default(); + init_setup_async::(&device, Default::default()).await; + log("device created"); + + let mut config = DepthProConfig::default(); + config.patch_encoder_preset = DINOV2_L16_128.into(); + config.image_encoder_preset = DINOV2_L16_128.into(); + config.fov_encoder_preset = Some(DINOV2_L16_128.into()); + config.decoder_features = 64; + + log("loading depth model..."); + + #[cfg(feature = "native")] + let depth = io::load_model::(config.clone(), args.checkpoint.as_path(), &device).await; + + #[cfg(feature = "web")] + let depth = io::load_model::( + config.clone(), + args.checkpoint.to_string_lossy().as_ref(), + &device, + ) + .await; + + let image_size = depth.img_size(); + log(&format!("depth model ready (inference resolution: {image_size}px)")); + + let mut app = viewer_app(args.clone()); + + app.init_resource::(); + app.insert_resource(DepthModel { + device: device.clone(), + model: Arc::new(Mutex::new(depth)), + image_size, + }); + + app.add_systems(Startup, setup_ui); + app.add_systems(Update, (handle_tasks, process_frames)); + + log("launching Bevy application..."); + app.run(); + + #[cfg(feature = "native")] + if let Some(sender) = bevy_burn_depth::platform::camera::APP_RUN_SENDER.get() { + let _ = sender.send(()); + } +} + +pub fn log(message: &str) { + #[cfg(debug_assertions)] + #[cfg(target_arch = "wasm32")] + { + web_sys::console::log_1(&message.into()); + } + + #[cfg(debug_assertions)] + #[cfg(not(target_arch = "wasm32"))] + { + println!("{message}"); + } +} + +fn main() { + #[cfg(feature = "native")] + { + std::thread::spawn(bevy_burn_depth::platform::camera::native_camera_thread); + futures::executor::block_on(run_app()); + } + + #[cfg(target_arch = "wasm32")] + { + #[cfg(debug_assertions)] + console_error_panic_hook::set_once(); + + wasm_bindgen_futures::spawn_local(run_app()); + } +} diff --git a/crates/bevy_burn_depth/src/platform.rs b/crates/bevy_burn_depth/src/platform.rs new file mode 100644 index 0000000..f4937a8 --- /dev/null +++ b/crates/bevy_burn_depth/src/platform.rs @@ -0,0 +1,113 @@ +#[cfg(feature = "native")] +pub mod camera { + use std::sync::{ + mpsc::{self, Receiver, Sender, SyncSender, TryRecvError}, + Arc, Mutex, + }; + + use image::RgbImage; + use nokhwa::{ + nokhwa_initialize, + pixel_format::RgbFormat, + query, + utils::{ApiBackend, RequestedFormat, RequestedFormatType}, + CallbackCamera, + }; + use once_cell::sync::OnceCell; + + pub static SAMPLE_RECEIVER: OnceCell>>> = OnceCell::new(); + pub static SAMPLE_SENDER: OnceCell> = OnceCell::new(); + + pub static APP_RUN_RECEIVER: OnceCell>>> = OnceCell::new(); + pub static APP_RUN_SENDER: OnceCell> = OnceCell::new(); + + pub fn native_camera_thread() { + let (sample_sender, sample_receiver) = mpsc::sync_channel(1); + SAMPLE_RECEIVER + .set(Arc::new(Mutex::new(sample_receiver))) + .unwrap(); + SAMPLE_SENDER.set(sample_sender).unwrap(); + + let (app_run_sender, app_run_receiver) = mpsc::channel(); + APP_RUN_RECEIVER + .set(Arc::new(Mutex::new(app_run_receiver))) + .unwrap(); + APP_RUN_SENDER.set(app_run_sender).unwrap(); + + nokhwa_initialize(|granted| { + if !granted { + panic!("failed to initialize camera"); + } + }); + + let devices = query(ApiBackend::Auto).unwrap(); + let index = devices.first().unwrap().index(); + + let format = RequestedFormat::new::(RequestedFormatType::None); + let mut camera = CallbackCamera::new(index.clone(), format, |buffer| { + let image = buffer.decode_image::().unwrap(); + let sender = SAMPLE_SENDER.get().unwrap(); + sender.send(image).unwrap(); + }) + .unwrap(); + + camera.open_stream().unwrap(); + + loop { + camera.poll_frame().unwrap(); + + let receiver = APP_RUN_RECEIVER.get().unwrap(); + match receiver.lock().unwrap().try_recv() { + Ok(_) => break, + Err(TryRecvError::Empty) => continue, + Err(TryRecvError::Disconnected) => break, + }; + } + + camera.stop_stream().unwrap(); + } + + pub fn receive_image() -> Option { + let receiver = SAMPLE_RECEIVER.get().unwrap(); + let mut last_image = None; + + { + let receiver = receiver.lock().unwrap(); + while let Ok(image) = receiver.try_recv() { + last_image = Some(image); + } + } + + last_image + } +} + +#[cfg(feature = "web")] +pub mod camera { + use std::cell::RefCell; + + use image::{DynamicImage, RgbImage, RgbaImage}; + use wasm_bindgen::prelude::*; + + thread_local! { + pub static SAMPLE_RECEIVER: RefCell> = RefCell::new(None); + } + + #[wasm_bindgen] + pub fn frame_input(pixel_data: &[u8], width: u32, height: u32) { + let rgba_image = RgbaImage::from_raw(width, height, pixel_data.to_vec()) + .expect("failed to create RgbImage"); + + // TODO: perform video element -> burn's webgpu texture conversion directly + let dynamic_image = DynamicImage::ImageRgba8(rgba_image); + let rgb_image: RgbImage = dynamic_image.to_rgb8(); + + SAMPLE_RECEIVER.with(|receiver| { + *receiver.borrow_mut() = Some(rgb_image); + }); + } + + pub fn receive_image() -> Option { + SAMPLE_RECEIVER.with(|receiver| receiver.borrow_mut().take()) + } +} diff --git a/crates/bevy_burn_depth/www/index.html b/crates/bevy_burn_depth/www/index.html new file mode 100644 index 0000000..6652545 --- /dev/null +++ b/crates/bevy_burn_depth/www/index.html @@ -0,0 +1,122 @@ + + + + bevy_burn_dino + + + + + + +