diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..0041340 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,17 @@ +changelog: + categories: + - title: Breaking Changes 🛠 + labels: + - breaking-change + - title: Exciting New Features 🎉 + labels: + - enhancement + - title: Improvements to existing features + labels: + - improvement + - title: Bug Fixes + labels: + - bug + - title: Other Changes + labels: + - "*" \ No newline at end of file diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml new file mode 100644 index 0000000..d22735e --- /dev/null +++ b/.github/workflows/book.yml @@ -0,0 +1,32 @@ +name: book + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - name: Checkout sources + uses: actions/checkout@v4 + + - name: Setup mdBook + uses: peaceiris/actions-mdbook@v2 + with: + mdbook-version: 'latest' + + - name: Build docs + run: | + cd docs + mdbook build + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs/book diff --git a/Cargo.lock b/Cargo.lock index 1cdf910..42e1c5c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,8 +48,8 @@ dependencies = [ "hashbrown", "paste", "static_assertions", - "windows 0.58.0", - "windows-core 0.58.0", + "windows", + "windows-core", ] [[package]] @@ -89,28 +89,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "alsa" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" -dependencies = [ - "alsa-sys", - "bitflags 2.9.1", - "cfg-if", - "libc", -] - -[[package]] -name = "alsa-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" -dependencies = [ - "libc", - "pkg-config", -] - [[package]] name = "android-activity" version = "0.6.0" @@ -125,7 +103,7 @@ dependencies = [ "jni-sys", "libc", "log", - "ndk 0.9.0", + "ndk", "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum", @@ -230,12 +208,6 @@ 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" @@ -418,40 +390,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bevy_animation" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49796627726d0b9a722ad9a0127719e7c1868f474d6575ec0f411e8299c4d7bb" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_derive", - "bevy_ecs", - "bevy_log", - "bevy_math", - "bevy_mesh", - "bevy_platform", - "bevy_reflect", - "bevy_render", - "bevy_time", - "bevy_transform", - "bevy_utils", - "blake3", - "derive_more", - "downcast-rs", - "either", - "petgraph", - "ron", - "serde", - "smallvec", - "thiserror 2.0.12", - "thread_local", - "tracing", - "uuid", -] - [[package]] name = "bevy_app" version = "0.16.1" @@ -528,24 +466,6 @@ dependencies = [ "syn", ] -[[package]] -name = "bevy_audio" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b4f6f2a5c6c0e7c6825e791d2a061c76c2d6784f114c8f24382163fabbfaaa" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_transform", - "cpal", - "rodio", - "tracing", -] - [[package]] name = "bevy_cef" version = "0.1.0" @@ -583,7 +503,6 @@ version = "0.1.0" dependencies = [ "bevy_cef_core", "cef", - "libloading", ] [[package]] @@ -658,7 +577,6 @@ dependencies = [ "const-fnv1a-hash", "log", "serde", - "sysinfo", ] [[package]] @@ -711,23 +629,6 @@ dependencies = [ "encase_derive_impl", ] -[[package]] -name = "bevy_gilrs" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97efef87c631949e67d06bb5d7dfd2a5f936b3b379afb6b1485b08edbb219b87" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_platform", - "bevy_time", - "bevy_utils", - "gilrs", - "thiserror 2.0.12", - "tracing", -] - [[package]] name = "bevy_gizmos" version = "0.16.1" @@ -765,41 +666,6 @@ dependencies = [ "syn", ] -[[package]] -name = "bevy_gltf" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a080237c0b8842ccc15a06d3379302c68580eeea4497b1c7387e470eda1f07" -dependencies = [ - "base64 0.22.1", - "bevy_animation", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_image", - "bevy_math", - "bevy_mesh", - "bevy_pbr", - "bevy_platform", - "bevy_reflect", - "bevy_render", - "bevy_scene", - "bevy_tasks", - "bevy_transform", - "bevy_utils", - "fixedbitset", - "gltf", - "itertools 0.14.0", - "percent-encoding", - "serde", - "serde_json", - "smallvec", - "thiserror 2.0.12", - "tracing", -] - [[package]] name = "bevy_image" version = "0.16.1" @@ -870,18 +736,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "857da8785678fde537d02944cd20dec9cafb7d4c447efe15f898dc60e733cacd" dependencies = [ "bevy_a11y", - "bevy_animation", "bevy_app", "bevy_asset", - "bevy_audio", "bevy_color", "bevy_core_pipeline", "bevy_derive", "bevy_diagnostic", "bevy_ecs", - "bevy_gilrs", "bevy_gizmos", - "bevy_gltf", "bevy_image", "bevy_input", "bevy_input_focus", @@ -897,7 +759,6 @@ dependencies = [ "bevy_sprite", "bevy_state", "bevy_tasks", - "bevy_text", "bevy_time", "bevy_transform", "bevy_ui", @@ -1090,7 +951,6 @@ dependencies = [ "erased-serde", "foldhash", "glam", - "petgraph", "serde", "smallvec", "smol_str", @@ -1381,7 +1241,6 @@ dependencies = [ "bevy_image", "bevy_input", "bevy_math", - "bevy_picking", "bevy_platform", "bevy_reflect", "bevy_render", @@ -1441,10 +1300,8 @@ dependencies = [ "approx", "bevy_a11y", "bevy_app", - "bevy_asset", "bevy_derive", "bevy_ecs", - "bevy_image", "bevy_input", "bevy_input_focus", "bevy_log", @@ -1454,7 +1311,6 @@ dependencies = [ "bevy_tasks", "bevy_utils", "bevy_window", - "bytemuck", "cfg-if", "crossbeam-channel", "raw-window-handle", @@ -1462,7 +1318,6 @@ dependencies = [ "tracing", "wasm-bindgen", "web-sys", - "wgpu-types", "winit", ] @@ -1481,25 +1336,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash 1.1.0", - "shlex", - "syn", -] - -[[package]] -name = "bindgen" -version = "0.72.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f72209734318d0b619a5e0f5129918b848c416e122a3c4ce054e03cb87b726f" -dependencies = [ - "bitflags 2.9.1", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "proc-macro2", - "quote", - "regex", - "rustc-hash 2.1.1", + "rustc-hash", "shlex", "syn", ] @@ -1670,9 +1507,9 @@ dependencies = [ [[package]] name = "cef" -version = "138.8.0+138.0.34" +version = "139.0.1+139.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcab070ca301bdcc6e27d38f00840dafb241701270ddd4648c182cab0b0fbdca" +checksum = "39b749cfc4124f9505b3fbe32279c0e93f30831f1ecf3c2cf85863179319cd7b" dependencies = [ "cef-dll-sys", "libloading", @@ -1681,9 +1518,9 @@ dependencies = [ [[package]] name = "cef-dll-sys" -version = "138.8.0+138.0.34" +version = "139.0.1+139.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c169c1f879d08df993756c21f6f24f0b14795e92eedab57c13c94c727cdcbe" +checksum = "fc42adb0adc477860b705e967d9f899be05ba3775fe4d6dc4d844a1391ffa3dd" dependencies = [ "anyhow", "cmake", @@ -1909,16 +1746,6 @@ dependencies = [ "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", - "libc", -] - [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1932,7 +1759,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", - "core-foundation 0.9.4", + "core-foundation", "core-graphics-types", "foreign-types", "libc", @@ -1945,30 +1772,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ "bitflags 1.3.2", - "core-foundation 0.9.4", + "core-foundation", "libc", ] -[[package]] -name = "coreaudio-rs" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" -dependencies = [ - "bitflags 1.3.2", - "core-foundation-sys", - "coreaudio-sys", -] - -[[package]] -name = "coreaudio-sys" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6" -dependencies = [ - "bindgen 0.72.0", -] - [[package]] name = "cosmic-text" version = "0.13.2" @@ -1979,7 +1786,7 @@ dependencies = [ "fontdb", "log", "rangemap", - "rustc-hash 1.1.0", + "rustc-hash", "rustybuzz", "self_cell", "smol_str", @@ -1992,29 +1799,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "cpal" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" -dependencies = [ - "alsa", - "core-foundation-sys", - "coreaudio-rs", - "dasp_sample", - "jni", - "js-sys", - "libc", - "mach2", - "ndk 0.8.0", - "ndk-context", - "oboe", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows 0.54.0", -] - [[package]] name = "crc32fast" version = "1.5.0" @@ -2066,7 +1850,7 @@ version = "3.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" dependencies = [ - "nix 0.30.1", + "nix", "windows-sys 0.59.0", ] @@ -2076,12 +1860,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" -[[package]] -name = "dasp_sample" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" - [[package]] name = "data-encoding" version = "2.9.0" @@ -2316,15 +2094,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "fdeflate" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" -dependencies = [ - "simd-adler32", -] - [[package]] name = "file-id" version = "0.2.3" @@ -2503,16 +2272,6 @@ dependencies = [ "pin-utils", ] -[[package]] -name = "gethostname" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" -dependencies = [ - "libc", - "windows-targets 0.48.5", -] - [[package]] name = "getrandom" version = "0.2.16" @@ -2538,40 +2297,6 @@ dependencies = [ "wasi 0.14.2+wasi-0.2.4", ] -[[package]] -name = "gilrs" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb2c998745a3c1ac90f64f4f7b3a54219fd3612d7705e7798212935641ed18f" -dependencies = [ - "fnv", - "gilrs-core", - "log", - "uuid", - "vec_map", -] - -[[package]] -name = "gilrs-core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d95ae10ce5aa99543a28cf74e41c11f3b9e3c14f0452bbde46024753cd683e" -dependencies = [ - "core-foundation 0.10.1", - "inotify", - "io-kit-sys", - "js-sys", - "libc", - "libudev-sys", - "log", - "nix 0.29.0", - "uuid", - "vec_map", - "wasm-bindgen", - "web-sys", - "windows 0.61.3", -] - [[package]] name = "gimli" version = "0.31.1" @@ -2619,42 +2344,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "gltf" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ce1918195723ce6ac74e80542c5a96a40c2b26162c1957a5cd70799b8cacf7" -dependencies = [ - "byteorder", - "gltf-json", - "lazy_static", - "serde_json", -] - -[[package]] -name = "gltf-derive" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14070e711538afba5d6c807edb74bcb84e5dbb9211a3bf5dea0dfab5b24f4c51" -dependencies = [ - "inflections", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "gltf-json" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6176f9d60a7eab0a877e8e96548605dedbde9190a7ae1e80bbcc1c9af03ab14" -dependencies = [ - "gltf-derive", - "serde", - "serde_derive", - "serde_json", -] - [[package]] name = "glutin_wgl_sys" version = "0.6.1" @@ -2692,7 +2381,7 @@ dependencies = [ "log", "presser", "thiserror 1.0.69", - "windows 0.58.0", + "windows", ] [[package]] @@ -2982,7 +2671,6 @@ dependencies = [ "bytemuck", "byteorder-lite", "num-traits", - "png", ] [[package]] @@ -3018,12 +2706,6 @@ dependencies = [ "web-time", ] -[[package]] -name = "inflections" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" - [[package]] name = "inotify" version = "0.11.0" @@ -3044,16 +2726,6 @@ dependencies = [ "libc", ] -[[package]] -name = "io-kit-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617ee6cf8e3f66f3b4ea67a4058564628cde41901316e19f559e14c7c72c5e7b" -dependencies = [ - "core-foundation-sys", - "mach2", -] - [[package]] name = "io-uring" version = "0.7.9" @@ -3189,17 +2861,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lewton" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" -dependencies = [ - "byteorder", - "ogg", - "tinyvec", -] - [[package]] name = "libbz2-rs-sys" version = "0.2.1" @@ -3239,16 +2900,6 @@ dependencies = [ "redox_syscall 0.5.17", ] -[[package]] -name = "libudev-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" -dependencies = [ - "libc", - "pkg-config", -] - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -3289,15 +2940,6 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" -[[package]] -name = "mach2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" -dependencies = [ - "libc", -] - [[package]] name = "malloc_buf" version = "0.0.6" @@ -3359,7 +3001,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", - "simd-adler32", ] [[package]] @@ -3389,7 +3030,7 @@ dependencies = [ "indexmap", "log", "pp-rs", - "rustc-hash 1.1.0", + "rustc-hash", "spirv", "strum", "termcolor", @@ -3411,26 +3052,12 @@ dependencies = [ "once_cell", "regex", "regex-syntax 0.8.5", - "rustc-hash 1.1.0", + "rustc-hash", "thiserror 1.0.69", "tracing", "unicode-ident", ] -[[package]] -name = "ndk" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" -dependencies = [ - "bitflags 2.9.1", - "jni-sys", - "log", - "ndk-sys 0.5.0+25.2.9519653", - "num_enum", - "thiserror 1.0.69", -] - [[package]] name = "ndk" version = "0.9.0" @@ -3470,18 +3097,6 @@ dependencies = [ "jni-sys", ] -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags 2.9.1", - "cfg-if", - "cfg_aliases", - "libc", -] - [[package]] name = "nix" version = "0.30.1" @@ -3547,15 +3162,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -3572,17 +3178,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -3692,15 +3287,6 @@ dependencies = [ "objc2-foundation", ] -[[package]] -name = "objc2-core-foundation" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" -dependencies = [ - "bitflags 2.9.1", -] - [[package]] name = "objc2-core-image" version = "0.2.2" @@ -3845,29 +3431,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "oboe" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" -dependencies = [ - "jni", - "ndk 0.8.0", - "ndk-context", - "num-derive", - "num-traits", - "oboe-sys", -] - -[[package]] -name = "oboe-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" -dependencies = [ - "cc", -] - [[package]] name = "offset-allocator" version = "0.2.0" @@ -3878,15 +3441,6 @@ dependencies = [ "nonmax", ] -[[package]] -name = "ogg" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" -dependencies = [ - "byteorder", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -3964,18 +3518,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "petgraph" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" -dependencies = [ - "fixedbitset", - "indexmap", - "serde", - "serde_derive", -] - [[package]] name = "pin-project" version = "1.1.10" @@ -4025,19 +3567,6 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" -[[package]] -name = "png" -version = "0.17.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - [[package]] name = "polling" version = "3.9.0" @@ -4317,16 +3846,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rodio" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" -dependencies = [ - "cpal", - "lewton", -] - [[package]] name = "ron" version = "0.8.1" @@ -4357,12 +3876,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - [[package]] name = "rustix" version = "0.38.44" @@ -4557,12 +4070,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - [[package]] name = "skrifa" version = "0.31.3" @@ -4748,19 +4255,6 @@ dependencies = [ "libc", ] -[[package]] -name = "sysinfo" -version = "0.34.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b93974b3d3aeaa036504b8eefd4c039dced109171c1ae973f1dc63b2c7e4b2" -dependencies = [ - "libc", - "memchr", - "ntapi", - "objc2-core-foundation", - "windows 0.57.0", -] - [[package]] name = "taffy" version = "0.7.7" @@ -4978,7 +4472,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" dependencies = [ - "bindgen 0.70.1", + "bindgen", "cc", "cfg-if", "once_cell", @@ -5210,12 +4704,6 @@ dependencies = [ "syn", ] -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version_check" version = "0.9.5" @@ -5400,7 +4888,7 @@ dependencies = [ "parking_lot", "profiling", "raw-window-handle", - "rustc-hash 1.1.0", + "rustc-hash", "smallvec", "thiserror 2.0.12", "wgpu-hal", @@ -5443,14 +4931,14 @@ dependencies = [ "range-alloc", "raw-window-handle", "renderdoc-sys", - "rustc-hash 1.1.0", + "rustc-hash", "smallvec", "thiserror 2.0.12", "wasm-bindgen", "web-sys", "wgpu-types", - "windows 0.58.0", - "windows-core 0.58.0", + "windows", + "windows-core", ] [[package]] @@ -5497,77 +4985,13 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.54.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" -dependencies = [ - "windows-core 0.54.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" -dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows" -version = "0.61.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" -dependencies = [ - "windows-collections", - "windows-core 0.61.2", - "windows-future", - "windows-link", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-core" -version = "0.54.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" -dependencies = [ - "windows-result 0.1.2", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" -dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", + "windows-core", "windows-targets 0.52.6", ] @@ -5577,48 +5001,13 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", - "windows-result 0.2.0", - "windows-strings 0.1.0", + "windows-implement", + "windows-interface", + "windows-result", + "windows-strings", "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement 0.60.0", - "windows-interface 0.59.1", - "windows-link", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core 0.61.2", - "windows-link", - "windows-threading", -] - -[[package]] -name = "windows-implement" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-implement" version = "0.58.0" @@ -5630,28 +5019,6 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-implement" -version = "0.60.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-interface" version = "0.58.0" @@ -5663,42 +5030,12 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-interface" -version = "0.59.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-link" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link", -] - -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.2.0" @@ -5708,34 +5045,16 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link", -] - [[package]] name = "windows-strings" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result 0.2.0", + "windows-result", "windows-targets 0.52.6", ] -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link", -] - [[package]] name = "windows-sys" version = "0.45.0" @@ -5787,21 +5106,6 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -5835,27 +5139,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link", -] - [[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.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -5874,12 +5163,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -5898,12 +5181,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -5934,12 +5211,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -5958,12 +5229,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -5982,12 +5247,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -6006,12 +5265,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -6034,23 +5287,21 @@ dependencies = [ "atomic-waker", "bitflags 2.9.1", "block2", - "bytemuck", "calloop", "cfg_aliases", "concurrent-queue", - "core-foundation 0.9.4", + "core-foundation", "core-graphics", "cursor-icon", "dpi", "js-sys", "libc", - "ndk 0.9.0", + "ndk", "objc2", "objc2-app-kit", "objc2-foundation", "objc2-ui-kit", "orbclient", - "percent-encoding", "pin-project", "raw-window-handle", "redox_syscall 0.4.1", @@ -6063,8 +5314,6 @@ dependencies = [ "web-sys", "web-time", "windows-sys 0.52.0", - "x11-dl", - "x11rb", "xkbcommon-dl", ] @@ -6092,38 +5341,6 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" -[[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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" -dependencies = [ - "as-raw-xcb-connection", - "gethostname", - "libc", - "libloading", - "once_cell", - "rustix 0.38.44", - "x11rb-protocol", -] - -[[package]] -name = "x11rb-protocol" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" - [[package]] name = "xattr" version = "1.5.1" diff --git a/Cargo.toml b/Cargo.toml index a336f80..a1c5ca8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,14 @@ [package] name = "bevy_cef" +description = "Bevy CEF integration for web rendering" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true repository.workspace = true +readme.workspace = true +keywords.workspace = true +categories.workspace = true [workspace] resolver = "2" @@ -19,13 +23,25 @@ edition = "2024" license = "Apache-2.0 OR MIT" authors = ["notelm"] repository = "https://github.com/not-elm/bevy_cef" +readme = "README.md" +keywords = ["bevy", "cef", "web", "rendering"] +categories = ["game-development", "web-programming", "graphics"] [workspace.dependencies] -bevy = { version = "0.16" } +bevy = { version = "0.16", default-features = false, features = [ + "bevy_log", + "bevy_window", + "bevy_asset", + "bevy_sprite", + "bevy_pbr", + "bevy_winit", + "bevy_picking", + "bevy_mesh_picking_backend", + "bevy_sprite_picking_backend", +] } bevy_remote = "0.16" -cef = { version = "138" } -cef-dll-sys = { version = "138", features = ["sandbox"] } -download-cef = { version = "2" } +cef = { version = "139" } +cef-dll-sys = { version = "139.0", features = ["sandbox"] } bevy_cef = { path = "." } bevy_cef_core = { path = "crates/bevy_cef_core" } async-channel = { version = "2.5" } @@ -44,7 +60,7 @@ serde_json = { workspace = true } raw-window-handle = "0.6" [dev-dependencies] -bevy = { workspace = true, features = ["file_watcher"]} +bevy = { workspace = true, features = ["tonemapping_luts", "multi_threaded", "file_watcher"]} bevy_cef = { workspace = true, features = ["debug"] } [target.'cfg(target_os = "macos")'.dependencies] diff --git a/build.rs b/build.rs index 6829e30..bcca7f4 100644 --- a/build.rs +++ b/build.rs @@ -1,4 +1,6 @@ +#[cfg(all(target_os = "macos", feature = "debug"))] use std::env::home_dir; +#[cfg(all(target_os = "macos", feature = "debug"))] use std::process::Command; fn main() -> std::io::Result<()> { @@ -12,6 +14,7 @@ fn main() -> std::io::Result<()> { Ok(()) } +#[cfg(all(target_os = "macos", feature = "debug"))] fn install_bevy_cef_debug_render_process() -> std::io::Result<()> { let bevy_cef_render_process_path = home_dir() .unwrap() @@ -26,6 +29,7 @@ fn install_bevy_cef_debug_render_process() -> std::io::Result<()> { Ok(()) } +#[cfg(all(target_os = "macos", feature = "debug"))] fn install_export_cef_dir() -> std::io::Result<()> { let export_cef_dir_path = home_dir() .unwrap() @@ -40,6 +44,7 @@ fn install_export_cef_dir() -> std::io::Result<()> { Ok(()) } +#[cfg(all(target_os = "macos", feature = "debug"))] fn export_cef_dir() -> std::io::Result<()> { let cef_dir = home_dir().unwrap().join(".local").join("share").join("cef"); if cef_dir.exists() { diff --git a/crates/bevy_cef_core/Cargo.toml b/crates/bevy_cef_core/Cargo.toml index 3d67b7a..89d840e 100644 --- a/crates/bevy_cef_core/Cargo.toml +++ b/crates/bevy_cef_core/Cargo.toml @@ -5,6 +5,9 @@ edition.workspace = true license.workspace = true authors.workspace = true repository.workspace = true +readme.workspace = true +keywords.workspace = true +categories.workspace = true [dependencies] bevy = { workspace = true } diff --git a/crates/bevy_cef_core/src/browser_process/localhost/data_responser.rs b/crates/bevy_cef_core/src/browser_process/localhost/data_responser.rs index cf6e1e2..3509588 100644 --- a/crates/bevy_cef_core/src/browser_process/localhost/data_responser.rs +++ b/crates/bevy_cef_core/src/browser_process/localhost/data_responser.rs @@ -15,7 +15,7 @@ impl DataResponser { pub fn prepare(&mut self, data: Vec, range: &Option<(usize, Option)>) { if let Some((start, end)) = range { self.offset = *start; - self.end_offset = end.unwrap_or(data.len() - 1) + 1; + self.end_offset = end.unwrap_or(data.len()-1); self.data = data; } else { self.offset = 0; @@ -40,7 +40,7 @@ impl DataResponser { return None; } - let slice = &self.data[start..end.min(self.data.len())]; + let slice = &self.data[start..=end.min(self.data.len()-1)]; self.offset += slice.len(); Some(slice) } @@ -114,123 +114,4 @@ mod tests { assert_eq!(responser.offset, 2); assert_eq!(responser.end_offset, 7); } - - #[test] - fn data_responser_new_with_start_only() { - let data = vec![1, 2, 3, 4, 5]; - let mut responser = DataResponser::default(); - responser.prepare(data.clone(), &Some((3, None))); - - assert_eq!(responser.data, data); - assert_eq!(responser.offset, 3); - assert_eq!(responser.end_offset, 5); - } - - #[test] - fn data_responser_new_with_zero_start() { - let data = vec![1, 2, 3]; - let mut responser = DataResponser::default(); - responser.prepare(data.clone(), &Some((0, None))); - - assert_eq!(responser.data, data); - assert_eq!(responser.offset, 0); - assert_eq!(responser.end_offset, 2); - } - - #[test] - fn data_responser_new_with_empty_data() { - let data = vec![]; - let mut responser = DataResponser::default(); - responser.prepare(data.clone(), &Some((0, None))); - - assert_eq!(responser.data, data); - assert_eq!(responser.offset, 0); - assert_eq!(responser.end_offset, 0); - } - - #[test] - fn data_responser_new_with_start_beyond_data_length() { - let data = vec![1, 2, 3]; - let mut responser = DataResponser::default(); - responser.prepare(data.clone(), &Some((5, None))); - - assert_eq!(responser.data, data); - assert_eq!(responser.offset, 5); - assert_eq!(responser.end_offset, 3); - } - - #[test] - fn data_responser_new_with_end_beyond_data_length() { - let data = vec![1, 2, 3]; - let mut responser = DataResponser::default(); - responser.prepare(data.clone(), &Some((1, Some(10)))); - - assert_eq!(responser.data, data); - assert_eq!(responser.offset, 1); - assert_eq!(responser.end_offset, 10); - } - - #[test] - fn data_responser_read_no_end_data_smaller_than_bytes_to_read() { - let data = vec![1, 2, 3, 4, 5]; - let mut responser = DataResponser::default(); - responser.prepare(data, &Some((2, None))); - - let result = responser.read(10); - assert_eq!(result, Some(&[3, 4, 5][..])); - } - - #[test] - fn data_responser_read_no_end_data_larger_than_bytes_to_read() { - let data = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - let mut responser = DataResponser::default(); - responser.prepare(data, &Some((2, None))); - - let result1 = responser.read(3); - assert_eq!(result1, Some(&[3, 4, 5][..])); - - let result2 = responser.read(3); - assert_eq!(result2, Some(&[6, 7, 8][..])); - } - - #[test] - fn data_responser_read_with_end_data_smaller_than_bytes_to_read() { - let data = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - let mut responser = DataResponser::default(); - responser.prepare(data, &Some((2, Some(6)))); - - let result = responser.read(10); - assert_eq!(result, Some(&[3, 4, 5, 6][..])); - } - - #[test] - fn data_responser_read_with_end_data_larger_than_bytes_to_read() { - let data = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - let mut responser = DataResponser::default(); - responser.prepare(data, &Some((1, Some(7)))); - - let result1 = responser.read(3); - assert_eq!(result1, Some(&[2, 3, 4][..])); - - let result2 = responser.read(3); - assert_eq!(result2, Some(&[5, 6, 7][..])); - } - #[test] - fn data_responser_read_consecutive_calls_until_end() { - let data = vec![1, 2, 3, 4, 5, 6, 7, 8]; - let mut responser = DataResponser::default(); - responser.prepare(data, &Some((1, Some(6)))); - - let result1 = responser.read(2); - assert_eq!(result1, Some(&[2, 3][..])); - - let result2 = responser.read(2); - assert_eq!(result2, Some(&[4, 5][..])); - - let result3 = responser.read(2); - assert_eq!(result3, Some(&[6][..])); - - let result4 = responser.read(2); - assert_eq!(result4, None); - } -} +} \ No newline at end of file diff --git a/crates/bevy_cef_core/src/browser_process/localhost/headers_responser.rs b/crates/bevy_cef_core/src/browser_process/localhost/headers_responser.rs index 46d3ef7..7abad8e 100644 --- a/crates/bevy_cef_core/src/browser_process/localhost/headers_responser.rs +++ b/crates/bevy_cef_core/src/browser_process/localhost/headers_responser.rs @@ -42,14 +42,14 @@ fn content_range_header_value( Some(format!( "bytes {}-{}/{}", start, - end.unwrap_or(data.len() - 1), + end.unwrap_or(data.len()), data.len() )) } fn obtain_response_length(data: &[u8], range: &Option<(usize, Option)>) -> usize { match range { - Some((start, end)) => end.unwrap_or(data.len() - 1) - start + 1, + Some((start, end)) => end.unwrap_or(data.len()) - start, None => data.len(), } } @@ -147,77 +147,77 @@ mod tests { fn test_content_range_header_value_range_with_end() { let data = b"Hello, World!"; let result = content_range_header_value(data, &Some((0, Some(5)))); - assert_eq!(result, Some("bytes 0-4/13".to_string())); + assert_eq!(result, Some("bytes 0-5/13".to_string())); } #[test] fn test_content_range_header_value_range_without_end() { let data = b"Hello, World!"; let result = content_range_header_value(data, &Some((7, None))); - assert_eq!(result, Some("bytes 7-12/13".to_string())); + assert_eq!(result, Some("bytes 7-13/13".to_string())); } #[test] fn test_content_range_header_value_range_from_start() { let data = b"Hello, World!"; let result = content_range_header_value(data, &Some((0, None))); - assert_eq!(result, Some("bytes 0-12/13".to_string())); + assert_eq!(result, Some("bytes 0-13/13".to_string())); } #[test] fn test_content_range_header_value_range_partial() { let data = b"Hello, World!"; let result = content_range_header_value(data, &Some((7, Some(12)))); - assert_eq!(result, Some("bytes 7-11/13".to_string())); + assert_eq!(result, Some("bytes 7-12/13".to_string())); } #[test] fn test_content_range_header_value_range_single_byte() { let data = b"Hello, World!"; let result = content_range_header_value(data, &Some((5, Some(6)))); - assert_eq!(result, Some("bytes 5-5/13".to_string())); + assert_eq!(result, Some("bytes 5-6/13".to_string())); } #[test] fn test_content_range_header_value_range_last_byte() { let data = b"Hello, World!"; let result = content_range_header_value(data, &Some((12, Some(13)))); - assert_eq!(result, Some("bytes 12-12/13".to_string())); + assert_eq!(result, Some("bytes 12-13/13".to_string())); } #[test] fn test_content_range_header_value_single_byte_data() { let data = b"a"; let result = content_range_header_value(data, &Some((0, None))); - assert_eq!(result, Some("bytes 0-0/1".to_string())); + assert_eq!(result, Some("bytes 0-1/1".to_string())); } #[test] fn test_content_range_header_value_large_data() { let data = vec![0u8; 1024]; let result = content_range_header_value(&data, &Some((100, Some(200)))); - assert_eq!(result, Some("bytes 100-199/1024".to_string())); + assert_eq!(result, Some("bytes 100-200/1024".to_string())); } #[test] fn test_content_range_header_value_large_data_no_end() { let data = vec![0u8; 1024]; let result = content_range_header_value(&data, &Some((500, None))); - assert_eq!(result, Some("bytes 500-1023/1024".to_string())); + assert_eq!(result, Some("bytes 500-1024/1024".to_string())); } #[test] fn test_content_range_header_value_zero_start() { let data = b"test"; let result = content_range_header_value(data, &Some((0, Some(2)))); - assert_eq!(result, Some("bytes 0-1/4".to_string())); + assert_eq!(result, Some("bytes 0-2/4".to_string())); } #[test] fn test_content_range_header_value_range_end_equals_data_len() { let data = b"Hello, World!"; let result = content_range_header_value(data, &Some((0, Some(13)))); - assert_eq!(result, Some("bytes 0-12/13".to_string())); + assert_eq!(result, Some("bytes 0-13/13".to_string())); } #[test] diff --git a/crates/bevy_cef_debug_render_process/Cargo.toml b/crates/bevy_cef_debug_render_process/Cargo.toml index ba64cd7..2d89d25 100644 --- a/crates/bevy_cef_debug_render_process/Cargo.toml +++ b/crates/bevy_cef_debug_render_process/Cargo.toml @@ -5,8 +5,10 @@ edition.workspace = true license.workspace = true authors.workspace = true repository.workspace = true +readme.workspace = true +keywords.workspace = true +categories.workspace = true [dependencies] cef = { workspace = true } -bevy_cef_core = { workspace = true } -libloading = { version = "0.8"} \ No newline at end of file +bevy_cef_core = { workspace = true } \ No newline at end of file diff --git a/examples/brp.rs b/examples/brp.rs index 07acab5..a5fd5e9 100644 --- a/examples/brp.rs +++ b/examples/brp.rs @@ -4,11 +4,8 @@ use bevy::prelude::*; use bevy::time::common_conditions::on_timer; -use bevy::window::PrimaryWindow; use bevy_cef::prelude::*; use bevy_remote::{BrpResult, RemotePlugin}; -use cef::Window; -use serde::Deserialize; use std::time::Duration; fn main() { diff --git a/examples/custom_material.rs b/examples/custom_material.rs index 7c6d054..39cdbf7 100644 --- a/examples/custom_material.rs +++ b/examples/custom_material.rs @@ -32,7 +32,7 @@ fn spawn_webview( asset_server: Res, ) { commands.spawn(( - CefWebviewUri("https://bevy.org/".to_string()), + CefWebviewUri::new("https://github.com/not-elm/bevy_cef"), Mesh3d(meshes.add(Plane3d::new(Vec3::Z, Vec2::ONE))), MeshMaterial3d(materials.add(WebviewExtendedMaterial { extension: CustomExtension { diff --git a/examples/demo/src/main.rs b/examples/demo/src/main.rs index 9705cfd..8b2e1a7 100644 --- a/examples/demo/src/main.rs +++ b/examples/demo/src/main.rs @@ -56,7 +56,7 @@ fn spawn_github_webview( mut materials: ResMut>, ) { commands.spawn(( - CefWebviewUri("https://github.com/not-elm".to_string()), + CefWebviewUri::new("https://github.com/not-elm/bevy_cef"), Mesh3d(meshes.add(Plane3d::new(Vec3::Z, Vec2::ONE))), WebviewSize(Vec2::splat(800.0)), MeshMaterial3d(materials.add(WebviewExtendStandardMaterial::default())), @@ -70,7 +70,7 @@ fn spawn_google_search_webview( mut materials: ResMut>, ) { commands.spawn(( - CefWebviewUri("https://www.youtube.com/".to_string()), + CefWebviewUri::new("https://not-elm.github.io/bevy_cef/"), WebviewSize(Vec2::splat(800.0)), Mesh3d(meshes.add(Plane3d::new(Vec3::Z, Vec2::ONE))), MeshMaterial3d(materials.add(WebviewExtendStandardMaterial::default())), diff --git a/examples/devtool.rs b/examples/devtool.rs index 21cd88b..8638a1a 100644 --- a/examples/devtool.rs +++ b/examples/devtool.rs @@ -49,7 +49,7 @@ fn spawn_webview( ) { commands.spawn(( DebugWebview, - CefWebviewUri("https://bevy.org/".to_string()), + CefWebviewUri::new("https://github.com/not-elm/bevy_cef"), Mesh3d(meshes.add(Plane3d::new(Vec3::Z, Vec2::ONE))), MeshMaterial3d(materials.add(WebviewExtendStandardMaterial { base: StandardMaterial { diff --git a/examples/navigation.rs b/examples/navigation.rs index 0f9f2e8..f729c25 100644 --- a/examples/navigation.rs +++ b/examples/navigation.rs @@ -50,7 +50,7 @@ fn spawn_webview( ) { commands.spawn(( DebugWebview, - CefWebviewUri("https://bevy.org/".to_string()), + CefWebviewUri::new("https://github.com/not-elm/bevy_cef"), Mesh3d(meshes.add(Plane3d::new(Vec3::Z, Vec2::ONE))), MeshMaterial3d(materials.add(WebviewExtendStandardMaterial::default())), )); diff --git a/examples/simple.rs b/examples/simple.rs index b18c0d8..646f364 100644 --- a/examples/simple.rs +++ b/examples/simple.rs @@ -33,7 +33,7 @@ fn spawn_webview( mut materials: ResMut>, ) { commands.spawn(( - CefWebviewUri("https://bevy.org/".to_string()), + CefWebviewUri::new("https://github.com/not-elm/bevy_cef"), Mesh3d(meshes.add(Plane3d::new(Vec3::Z, Vec2::ONE))), MeshMaterial3d(materials.add(WebviewExtendStandardMaterial::default())), )); diff --git a/examples/sprite.rs b/examples/sprite.rs index a7065d8..9f5ca82 100644 --- a/examples/sprite.rs +++ b/examples/sprite.rs @@ -16,7 +16,7 @@ fn spawn_camera_2d(mut commands: Commands) { fn spawn_sprite_webview(mut commands: Commands, mut images: ResMut>) { commands.spawn(( - CefWebviewUri::new("https://bevyengine.org/"), + CefWebviewUri::new("https://github.com/not-elm/bevy_cef"), Pickable::default(), Sprite { image: images.add(Image::default()),