commit 2bc44d694dc699be415a3958334d890d6292878f Author: hheik <4469778+hheik@users.noreply.github.com> Date: Wed Aug 30 02:28:36 2023 +0300 Initial commit. Darkness plugin with basic lighting. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..61fd100 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/target +/graphs +/assets/levels/*/backups/ diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..38100ce --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,4297 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + +[[package]] +name = "accesskit" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8" + +[[package]] +name = "accesskit_consumer" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04bb4d9e4772fe0d47df57d0d5dbe5d85dd05e2f37ae1ddb6b105e76be58fb00" +dependencies = [ + "accesskit", +] + +[[package]] +name = "accesskit_macos" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "134d0acf6acb667c89d3332999b1a5df4edbc8d6113910f392ebb73f2b03bb56" +dependencies = [ + "accesskit", + "accesskit_consumer", + "objc2", + "once_cell", +] + +[[package]] +name = "accesskit_windows" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eac0a7f2d7cd7a93b938af401d3d8e8b7094217989a7c25c55a953023436e31" +dependencies = [ + "accesskit", + "accesskit_consumer", + "arrayvec", + "once_cell", + "paste", + "windows 0.48.0", +] + +[[package]] +name = "accesskit_winit" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "825d23acee1bd6d25cbaa3ca6ed6e73faf24122a774ec33d52c5c86c6ab423c0" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_windows", + "winit", +] + +[[package]] +name = "addr2line" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + +[[package]] +name = "alsa" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2562ad8dcf0f789f65c6fdaad8a8a9708ed6b488e649da28c01656ad66b8b47" +dependencies = [ + "alsa-sys", + "bitflags 1.3.2", + "libc", + "nix 0.24.3", +] + +[[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.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" +dependencies = [ + "android-properties", + "bitflags 1.3.2", + "cc", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum 0.6.1", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arboard" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6041616acea41d67c4a984709ddab1587fd0b10efe5cc563fee954d2f011854" +dependencies = [ + "clipboard-win", + "core-graphics", + "image", + "log", + "objc", + "objc-foundation", + "objc_id", + "once_cell", + "parking_lot", + "thiserror", + "winapi", + "x11rb", +] + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" +dependencies = [ + "async-lock", + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-task" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" + +[[package]] +name = "atomic_refcell" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112ef6b3f6cb3cb6fc5b6b494ef7a848492cff1ab0ef4de10b0f7d572861c905" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "bevy" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439596e30c53cb11e05939b21e0c8b50292617ca2a6b0e8628cec2d11ef145d0" +dependencies = [ + "bevy_internal", +] + +[[package]] +name = "bevy-inspector-egui" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd2523be5ae7d482e5435dc75509b80a320989175768fb4b711603b9d2ab8fff" +dependencies = [ + "bevy-inspector-egui-derive", + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_egui", + "bevy_hierarchy", + "bevy_log", + "bevy_math", + "bevy_pbr", + "bevy_reflect", + "bevy_render", + "bevy_utils", + "bevy_window", + "egui", + "image", + "once_cell", + "pretty-type-name", + "smallvec", +] + +[[package]] +name = "bevy-inspector-egui-derive" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edba455601861b8e8b76128ae5d46dd968114edde60f0ac3d2c21535a947548" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "bevy_a11y" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea4c2314020ac30a6735fa95cfd21549dc48f3be91631c07d18200b95ff67125" +dependencies = [ + "accesskit", + "bevy_app", + "bevy_derive", + "bevy_ecs", +] + +[[package]] +name = "bevy_animation" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904f2c242d94a12d288e5031a8bc57c1d55f7cdfce808a675a181a824beff7c5" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_ecs", + "bevy_hierarchy", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_time", + "bevy_transform", + "bevy_utils", +] + +[[package]] +name = "bevy_app" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "611dcfbfbb4d009597d54d3b6969a4aeac6eb2d208de79d0d3333fae4f5b9834" +dependencies = [ + "bevy_derive", + "bevy_ecs", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "downcast-rs", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "bevy_asset" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a919a7f7ba213c30ca068402d86f9f79e239ec1096ac3012a26d446964e5e27b" +dependencies = [ + "anyhow", + "async-channel", + "bevy_app", + "bevy_diagnostic", + "bevy_ecs", + "bevy_log", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bevy_winit", + "crossbeam-channel", + "downcast-rs", + "fastrand", + "js-sys", + "notify", + "parking_lot", + "serde", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "bevy_audio" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545380de88f96aa5002299f6701274392fc1c3dd3faff006666ea64322b4c373" +dependencies = [ + "anyhow", + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "oboe", + "parking_lot", + "rodio", +] + +[[package]] +name = "bevy_core" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90071597621f41fc76ce6fb56ff42fe54a6bc15a9fed6aec8f70e86dba1b3633" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bytemuck", +] + +[[package]] +name = "bevy_core_pipeline" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c8900804e93ab83a5fd428cc156f8790c5fca75bd2079a4951f9d8cf86576d" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_derive", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_transform", + "bevy_utils", + "bitflags 2.4.0", + "radsort", + "serde", +] + +[[package]] +name = "bevy_derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af6bc1c0cb7a100d8345484677abb7f10f65f59bd786d8c20ac764817983e3d2" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "bevy_diagnostic" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66bdc19e5ebf758fe9aeb83f825298c83b5c52ce8fdb7ab12b81b4c19e43b55f" +dependencies = [ + "bevy_app", + "bevy_core", + "bevy_ecs", + "bevy_log", + "bevy_time", + "bevy_utils", + "sysinfo", +] + +[[package]] +name = "bevy_ecs" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06479bbf65542c96d2623249e1835287212cf06de524620071ab2c2e4b43bf18" +dependencies = [ + "async-channel", + "bevy_ecs_macros", + "bevy_ptr", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "downcast-rs", + "event-listener", + "fixedbitset", + "rustc-hash", + "serde", + "thiserror", + "thread_local", +] + +[[package]] +name = "bevy_ecs_ldtk" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037f862d30f5b74e3b5136acf435c8210b8e8f00c354d7b40234464f04f59fd7" +dependencies = [ + "anyhow", + "bevy", + "bevy_ecs_ldtk_macros", + "bevy_ecs_tilemap", + "hex", + "paste", + "regex", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "bevy_ecs_ldtk_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84deb3aba5b9586df80f4f2a72510d586a12f936df71cebbe97b430a479379f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58a7a55b3d525637755303cb5c52e7ee8058f80379f3715a68d16a4fcbd1d988" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "bevy_ecs_tilemap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58f78b9b48e6fc4129b301ad29d450198d9ca0e29f7a3d267f76a02743f7843b" +dependencies = [ + "bevy", + "log", + "regex", +] + +[[package]] +name = "bevy_egui" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a73a93a8cf6b8c744281d1b88f5b0fa278d608e909af9bbf4eb491a7cb1ad2c" +dependencies = [ + "arboard", + "bevy", + "egui", + "thread_local", + "webbrowser", +] + +[[package]] +name = "bevy_encase_derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806203b02f02f7c211b27eddc72e840f1f87eadefdc8331dbb96b5ddb56a667d" +dependencies = [ + "bevy_macro_utils", + "encase_derive_impl", +] + +[[package]] +name = "bevy_gilrs" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7b7f3b3824188211fa5512c684548f45f8aea16e14fdd6a65e9ed02fc7e784e" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_log", + "bevy_time", + "bevy_utils", + "gilrs", + "thiserror", +] + +[[package]] +name = "bevy_gizmos" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc4b7cf46334713d13ce4c36b1824e58419d9157421332ca0c014b43e8a9aa27" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_math", + "bevy_pbr", + "bevy_reflect", + "bevy_render", + "bevy_sprite", + "bevy_transform", + "bevy_utils", +] + +[[package]] +name = "bevy_gltf" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c844bb300bbe518e395fd74607786b051c267da37aec6add10970b29e297f72" +dependencies = [ + "anyhow", + "base64 0.13.1", + "bevy_animation", + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_hierarchy", + "bevy_log", + "bevy_math", + "bevy_pbr", + "bevy_reflect", + "bevy_render", + "bevy_scene", + "bevy_tasks", + "bevy_transform", + "bevy_utils", + "gltf", + "percent-encoding", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "bevy_hierarchy" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8db379be3a6bc07f575952b493b7655a574acd5a944e87617237b545721709c" +dependencies = [ + "bevy_app", + "bevy_core", + "bevy_ecs", + "bevy_log", + "bevy_reflect", + "bevy_utils", + "smallvec", +] + +[[package]] +name = "bevy_input" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "412b55e2ab57430a734418dee2f948cd0c78d8991892f31203e2d970cee9767b" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_utils", + "thiserror", +] + +[[package]] +name = "bevy_internal" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98d9ae1389c85d080e2f40c3861669027045272c6d4dbd36f7e5f1c039605cac" +dependencies = [ + "bevy_a11y", + "bevy_animation", + "bevy_app", + "bevy_asset", + "bevy_audio", + "bevy_core", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_gilrs", + "bevy_gizmos", + "bevy_gltf", + "bevy_hierarchy", + "bevy_input", + "bevy_log", + "bevy_math", + "bevy_pbr", + "bevy_ptr", + "bevy_reflect", + "bevy_render", + "bevy_scene", + "bevy_sprite", + "bevy_tasks", + "bevy_text", + "bevy_time", + "bevy_transform", + "bevy_ui", + "bevy_utils", + "bevy_window", + "bevy_winit", +] + +[[package]] +name = "bevy_log" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d32bfce45ac146287decf18d268f8268e91df76a803ddf8d8886ea2f67fddcf" +dependencies = [ + "android_log-sys", + "bevy_app", + "bevy_ecs", + "bevy_utils", + "console_error_panic_hook", + "tracing-log", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] +name = "bevy_macro_utils" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40e2d6a96a512787d8871c009a0a6eca0b02b5a1f52b8caed700c7ab0d57cfb1" +dependencies = [ + "quote", + "rustc-hash", + "syn 2.0.29", + "toml_edit", +] + +[[package]] +name = "bevy_math" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4797b608d61d315b99388479b40ad9200baa24f232a8b292f2cf14f5d8a7ab1" +dependencies = [ + "glam", + "serde", +] + +[[package]] +name = "bevy_mikktspace" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0e742397a392cdad7d556000187c689e284d87ae416a9b145050860f91a9e8e" +dependencies = [ + "glam", +] + +[[package]] +name = "bevy_mod_debugdump" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e8e56ca0ed565ddc8c2507e105a63c277a5671bb5b27e3130ea8e138be18050" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_render", + "bevy_utils", + "once_cell", + "petgraph", + "pretty-type-name", +] + +[[package]] +name = "bevy_pbr" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f05f7602cbfaefc3ef7f73e2f5d479a38aac11d2bd84f297481e62221c7d92" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.4.0", + "bytemuck", + "naga_oil", + "radsort", +] + +[[package]] +name = "bevy_prototype_debug_lines" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb1785a35dee1a7ce603569befa4e25ed4cb8b57341b2442c7fedb14e602b139" +dependencies = [ + "bevy", +] + +[[package]] +name = "bevy_ptr" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eeb9144fc8bd8676f76c7660790ffce696fc80aade804b1c4e3d36a92f9df65" + +[[package]] +name = "bevy_rapier2d" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8ffc72387774ca14a98c8c820a32d9d9f37b33c4c862362e89cbfde1620bfa" +dependencies = [ + "bevy", + "bitflags 1.3.2", + "log", + "nalgebra", + "rapier2d", +] + +[[package]] +name = "bevy_reflect" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a0bd344cb46b48a89a36af8aad7718b69e5e05332e058169478792be4eed86" +dependencies = [ + "bevy_math", + "bevy_ptr", + "bevy_reflect_derive", + "bevy_utils", + "downcast-rs", + "erased-serde", + "glam", + "once_cell", + "parking_lot", + "serde", + "smallvec", + "smol_str", + "thiserror", +] + +[[package]] +name = "bevy_reflect_derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22bdf9e985f7df44712ff93156b036c301aa6d1f211aec06ee6b06599396a4f0" +dependencies = [ + "bevy_macro_utils", + "bit-set", + "proc-macro2", + "quote", + "syn 2.0.29", + "uuid", +] + +[[package]] +name = "bevy_render" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59636a07522df79b96c312d576591052b28b51787ac3a26cee19134cb251c3ed" +dependencies = [ + "anyhow", + "async-channel", + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_derive", + "bevy_ecs", + "bevy_encase_derive", + "bevy_hierarchy", + "bevy_log", + "bevy_math", + "bevy_mikktspace", + "bevy_reflect", + "bevy_render_macros", + "bevy_tasks", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.4.0", + "bytemuck", + "codespan-reporting", + "downcast-rs", + "encase", + "futures-lite", + "hexasphere", + "image", + "js-sys", + "ktx2", + "naga", + "naga_oil", + "parking_lot", + "regex", + "ruzstd", + "serde", + "smallvec", + "thiserror", + "thread_local", + "wasm-bindgen", + "web-sys", + "wgpu", + "wgpu-hal", +] + +[[package]] +name = "bevy_render_macros" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc4f13b7ae81e023a7b50405a63e94a1b0e136572462dc1c48deb962233487e2" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "bevy_scene" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e290ca5f8b325dca01a7d0aadf19b821440030ad563d8e1c3a77cf79c317e5b4" +dependencies = [ + "anyhow", + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_hierarchy", + "bevy_reflect", + "bevy_render", + "bevy_transform", + "bevy_utils", + "ron", + "serde", + "thiserror", + "uuid", +] + +[[package]] +name = "bevy_sprite" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dc8540c41a44af2d5142b475e67b0d2371ed7d3d75fd9a753c6cac599290bbd" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_log", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_transform", + "bevy_utils", + "bitflags 2.4.0", + "bytemuck", + "fixedbitset", + "guillotiere", + "rectangle-pack", + "thiserror", +] + +[[package]] +name = "bevy_tasks" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5b89169296c682d2d33f0dfc9f09abf942148adfa2cc5e0b2e17514acc0fc87" +dependencies = [ + "async-channel", + "async-executor", + "async-task", + "concurrent-queue", + "futures-lite", + "wasm-bindgen-futures", +] + +[[package]] +name = "bevy_text" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db4874b4d31a208ca747818a9b7c04fb81008e4d767b8ae42f808445c69fc36c" +dependencies = [ + "ab_glyph", + "anyhow", + "bevy_app", + "bevy_asset", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_sprite", + "bevy_transform", + "bevy_utils", + "bevy_window", + "glyph_brush_layout", + "serde", + "thiserror", +] + +[[package]] +name = "bevy_time" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91119de6907ff1cb58c637df235aa2e49332303abfa919a8c84cde942cfd69a4" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_reflect", + "bevy_utils", + "crossbeam-channel", + "thiserror", +] + +[[package]] +name = "bevy_transform" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef9fd735623d1391ff7c726f42efd1f6c798260b6d1dfc100e38d2f394485648" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_hierarchy", + "bevy_math", + "bevy_reflect", +] + +[[package]] +name = "bevy_ui" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090be821e2532ec5a76cb40de01ab042c2ddc409137e25bb49fec183f4f0bd70" +dependencies = [ + "bevy_a11y", + "bevy_app", + "bevy_asset", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_hierarchy", + "bevy_input", + "bevy_log", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_sprite", + "bevy_text", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bytemuck", + "serde", + "smallvec", + "taffy", + "thiserror", +] + +[[package]] +name = "bevy_utils" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a596771e2cc8f4cde4e2dddb3c5569414ee342811bb5d317d50fe8965c1d0e31" +dependencies = [ + "ahash 0.8.3", + "bevy_utils_proc_macros", + "getrandom", + "hashbrown 0.14.0", + "instant", + "petgraph", + "thiserror", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_utils_proc_macros" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e240bb064e9a1455e98e7dc8e701e1fd972c7fd32429ed1b4e7f36ac8974b7f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "bevy_window" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1bff9fc141402baa156f77a11218b59e1ece80f32d44ca7a3fdbd6df01ee62e" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_reflect", + "bevy_utils", + "raw-window-handle", +] + +[[package]] +name = "bevy_winit" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c299df3f1e804ff1367b8459d79ecf9f860f1114fff5c83a037b46d17af075bc" +dependencies = [ + "accesskit_winit", + "approx", + "bevy_a11y", + "bevy_app", + "bevy_derive", + "bevy_ecs", + "bevy_hierarchy", + "bevy_input", + "bevy_math", + "bevy_tasks", + "bevy_utils", + "bevy_window", + "crossbeam-channel", + "raw-window-handle", + "wasm-bindgen", + "web-sys", + "winit", +] + +[[package]] +name = "bindgen" +version = "0.64.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 1.0.109", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +dependencies = [ + "serde", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-sys" +version = "0.1.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.2.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" +dependencies = [ + "block-sys", + "objc2-encode", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cc" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +dependencies = [ + "jobserver", + "libc", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "clang-sys" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +dependencies = [ + "glob", + "libc", + "libloading 0.7.4", +] + +[[package]] +name = "clipboard-win" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +dependencies = [ + "error-code", + "str-buf", + "winapi", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "com-rs" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" + +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "const_panic" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" + +[[package]] +name = "const_soft_float" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" + +[[package]] +name = "constgebra" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd23e864550e6dafc1e41ac78ce4f1ccddc8672b40c403524a04ff3f0518420" +dependencies = [ + "const_soft_float", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys 0.8.4", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "coreaudio-rs" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb17e2d1795b1996419648915df94bc7103c28f7b48062d7acf4652fc371b2ff" +dependencies = [ + "bitflags 1.3.2", + "core-foundation-sys 0.6.2", + "coreaudio-sys", +] + +[[package]] +name = "coreaudio-sys" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f034b2258e6c4ade2f73bf87b21047567fb913ee9550837c2316d139b0262b24" +dependencies = [ + "bindgen", +] + +[[package]] +name = "cpal" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c" +dependencies = [ + "alsa", + "core-foundation-sys 0.8.4", + "coreaudio-rs", + "dasp_sample", + "jni 0.19.0", + "js-sys", + "libc", + "mach2", + "ndk", + "ndk-context", + "oboe", + "once_cell", + "parking_lot", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.46.0", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +dependencies = [ + "cfg-if", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.9.0", + "scopeguard", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "d3d12" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da" +dependencies = [ + "bitflags 1.3.2", + "libloading 0.7.4", + "winapi", +] + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "ecolor" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e479a7fa3f23d4e794f8b2f8b3568dd4e47886ad1b12c9c095e141cb591eb63" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "egui" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3aef8ec3ae1b772f340170c65bf27d5b8c28f543a0116c844d2ac08d01123e7" +dependencies = [ + "ahash 0.8.3", + "epaint", + "nohash-hasher", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "emath" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3857d743a6e0741cdd60b622a74c7a36ea75f5f8f11b793b41d905d2c9721a4b" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "encase" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fce2eeef77fd4a293a54b62aa00ac9daebfbcda4bf8998c5a815635b004aa1c" +dependencies = [ + "const_panic", + "encase_derive", + "glam", + "thiserror", +] + +[[package]] +name = "encase_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e520cde08cbf4f7cc097f61573ec06ce467019803de8ae82fb2823fa1554a0e" +dependencies = [ + "encase_derive_impl", +] + +[[package]] +name = "encase_derive_impl" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fe2568f851fd6144a45fa91cfed8fe5ca8fc0b56ba6797bfc1ed2771b90e37c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "epaint" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09333964d4d57f40a85338ba3ca5ed4716070ab184dcfed966b35491c5c64f3b" +dependencies = [ + "ab_glyph", + "ahash 0.8.3", + "atomic_refcell", + "bytemuck", + "ecolor", + "emath", + "nohash-hasher", + "parking_lot", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "erased-serde" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc978899517288e3ebbd1a3bfc1d9537dbb87eeab149e53ea490e63bcdff561a" +dependencies = [ + "serde", +] + +[[package]] +name = "error-code" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" +dependencies = [ + "libc", + "str-buf", +] + +[[package]] +name = "euclid" +version = "0.22.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" +dependencies = [ + "num-traits", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fdeflate" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "filetime" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys 0.48.0", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "gethostname" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gilrs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62fd19844d0eb919aca41d3e4ea0e0b6bf60e1e827558b101c269015b8f5f27a" +dependencies = [ + "fnv", + "gilrs-core", + "log", + "uuid", + "vec_map", +] + +[[package]] +name = "gilrs-core" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f85b0f27572f0560cfc4a067a2978a4a490f9fa5cf1326d30b142a288312a965" +dependencies = [ + "core-foundation", + "io-kit-sys", + "js-sys", + "libc", + "libudev-sys", + "log", + "nix 0.26.2", + "uuid", + "vec_map", + "wasm-bindgen", + "web-sys", + "windows 0.48.0", +] + +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" + +[[package]] +name = "glam" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42218cb640844e3872cc3c153dc975229e080a6c4733b34709ef445610550226" +dependencies = [ + "bytemuck", + "serde", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "glow" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gltf" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fe8d5192923fbd783c15e74627de8e27c97e1e3dec22bf54515a407249febf" +dependencies = [ + "byteorder", + "gltf-json", + "lazy_static", +] + +[[package]] +name = "gltf-derive" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec223c88f017861193ae128239aff8fbc4478f38a036d9d7b2ce10a52b46b1f2" +dependencies = [ + "inflections", + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "gltf-json" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b1ba7523fcf32541f4aec96e13024c255d928eab3223f99ab945045f2a6de18" +dependencies = [ + "gltf-derive", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "glyph_brush_layout" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc32c2334f00ca5ac3695c5009ae35da21da8c62d255b5b96d56e2597a637a38" +dependencies = [ + "ab_glyph", + "approx", + "xi-unicode", +] + +[[package]] +name = "gpu-alloc" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62" +dependencies = [ + "bitflags 1.3.2", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "gpu-allocator" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8" +dependencies = [ + "backtrace", + "log", + "thiserror", + "winapi", + "windows 0.44.0", +] + +[[package]] +name = "gpu-descriptor" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a" +dependencies = [ + "bitflags 1.3.2", + "gpu-descriptor-types", + "hashbrown 0.12.3", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "grid" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eec1c01eb1de97451ee0d60de7d81cf1e72aabefb021616027f3d1c3ec1c723c" + +[[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 = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.6", +] + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +dependencies = [ + "ahash 0.8.3", + "allocator-api2", + "serde", +] + +[[package]] +name = "hassle-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" +dependencies = [ + "bitflags 1.3.2", + "com-rs", + "libc", + "libloading 0.7.4", + "thiserror", + "widestring", + "winapi", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hexasphere" +version = "9.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cb3df16a7bcb1b5bc092abd55e14f77ca70aea14445026e264586fc62889a10" +dependencies = [ + "constgebra", + "glam", +] + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "image" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-rational", + "num-traits", + "png", + "tiff", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "inflections" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" + +[[package]] +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "io-kit-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2d4429acc1deff0fbdece0325b4997bdb02b2c245ab7023fd5deca0f6348de" +dependencies = [ + "core-foundation-sys 0.8.4", + "mach2", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "jpeg-decoder" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "khronos-egl" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3" +dependencies = [ + "libc", + "libloading 0.7.4", + "pkg-config", +] + +[[package]] +name = "kqueue" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +dependencies = [ + "bitflags 1.3.2", + "libc", +] + +[[package]] +name = "ktx2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87d65e08a9ec02e409d27a0139eaa6b9756b4d81fe7cde71f6941a83730ce838" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[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 = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libloading" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "libm" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" + +[[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 = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "mach2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" +dependencies = [ + "libc", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matrixmultiply" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "metal" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "moonlit" +version = "0.1.0" +dependencies = [ + "bevy", + "bevy-inspector-egui", + "bevy_ecs_ldtk", + "bevy_mod_debugdump", + "bevy_prototype_debug_lines", + "bevy_rapier2d", + "num-traits", +] + +[[package]] +name = "naga" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbcc2e0513220fd2b598e6068608d4462db20322c0e77e47f6f488dfcfc279cb" +dependencies = [ + "bit-set", + "bitflags 1.3.2", + "codespan-reporting", + "hexf-parse", + "indexmap 1.9.3", + "log", + "num-traits", + "pp-rs", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "naga_oil" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d9c27fc9c84580434af75123d13ad98d9a56e16d033b16dcfa6940728c8c225" +dependencies = [ + "bit-set", + "codespan-reporting", + "data-encoding", + "indexmap 1.9.3", + "naga", + "once_cell", + "regex", + "regex-syntax 0.6.29", + "rustc-hash", + "thiserror", + "tracing", + "unicode-ident", +] + +[[package]] +name = "nalgebra" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" +dependencies = [ + "approx", + "glam", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational", + "num-traits", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ndk" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" +dependencies = [ + "bitflags 1.3.2", + "jni-sys", + "ndk-sys", + "num_enum 0.5.11", + "raw-window-handle", + "thiserror", +] + +[[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.4.1+23.1.7779620" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "static_assertions", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "notify" +version = "6.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5738a2795d57ea20abec2d6d76c6081186709c0024187cd5977265eda6598b51" +dependencies = [ + "bitflags 1.3.2", + "crossbeam-channel", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "mio", + "walkdir", + "windows-sys 0.45.0", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-complex" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive 0.5.11", +] + +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[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-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc-sys" +version = "0.2.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" + +[[package]] +name = "objc2" +version = "0.3.0-beta.3.patch-leaks.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +dependencies = [ + "block2", + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "2.0.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "object" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +dependencies = [ + "memchr", +] + +[[package]] +name = "oboe" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0" +dependencies = [ + "jni 0.20.0", + "ndk", + "ndk-context", + "num-derive", + "num-traits", + "oboe-sys", +] + +[[package]] +name = "oboe-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2" +dependencies = [ + "cc", +] + +[[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.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "optional" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978aa494585d3ca4ad74929863093e87cac9790d81fe7aba2b3dc2890643a0fc" + +[[package]] +name = "orbclient" +version = "0.3.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f" +dependencies = [ + "redox_syscall", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "owned_ttf_parser" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "parking" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.48.3", +] + +[[package]] +name = "parry2d" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "104ae65232e20477a98f9f1e75ca9850eae24a2ea846a2b1a0af03ad752136ce" +dependencies = [ + "approx", + "arrayvec", + "bitflags 1.3.2", + "downcast-rs", + "either", + "nalgebra", + "num-derive", + "num-traits", + "rustc-hash", + "simba", + "slab", + "smallvec", + "spade", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "petgraph" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +dependencies = [ + "fixedbitset", + "indexmap 1.9.3", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "png" +version = "0.17.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[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 = "pretty-type-name" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f73cdaf19b52e6143685c3606206e114a4dfa969d6b14ec3894c88eb38bd4b" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "profiling" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46b2164ebdb1dfeec5e337be164292351e11daf63a05174c6776b2f47460f0c9" + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radsort" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17fd96390ed3feda12e1dfe2645ed587e0bea749e319333f104a33ff62f77a0b" + +[[package]] +name = "range-alloc" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" + +[[package]] +name = "rapier2d" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f94d294a9b96694c14888dd0e8ce77620dcc4f2f49264109ef835fa5e2285b84" +dependencies = [ + "approx", + "arrayvec", + "bit-vec", + "bitflags 1.3.2", + "crossbeam", + "downcast-rs", + "nalgebra", + "num-derive", + "num-traits", + "parry2d", + "rustc-hash", + "simba", +] + +[[package]] +name = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[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.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.3.6", + "regex-syntax 0.7.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.7.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + +[[package]] +name = "renderdoc-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" + +[[package]] +name = "robust" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5864e7ef1a6b7bcf1d6ca3f655e65e724ed3b52546a0d0a663c991522f552ea" + +[[package]] +name = "rodio" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdf1d4dea18dff2e9eb6dca123724f8b60ef44ad74a9ad283cdfe025df7e73fa" +dependencies = [ + "cpal", + "lewton", +] + +[[package]] +name = "ron" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" +dependencies = [ + "base64 0.21.2", + "bitflags 2.4.0", + "serde", + "serde_derive", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "ruzstd" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3ffab8f9715a0d455df4bbb9d21e91135aab3cd3ca187af0cd0c3c3f868fdc" +dependencies = [ + "byteorder", + "thiserror-core", + "twox-hash", +] + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "safe_arch" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "serde_json" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" + +[[package]] +name = "simba" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", + "wide", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +dependencies = [ + "serde", +] + +[[package]] +name = "smol_str" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c" +dependencies = [ + "serde", +] + +[[package]] +name = "spade" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88e65803986868d2372c582007c39ba89936a36ea5f236bf7a7728dc258f04f9" +dependencies = [ + "num-traits", + "optional", + "robust", + "smallvec", +] + +[[package]] +name = "spirv" +version = "0.2.0+1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" +dependencies = [ + "bitflags 1.3.2", + "num-traits", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "str-buf" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" + +[[package]] +name = "svg_fmt" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sysinfo" +version = "0.29.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d10ed79c22663a35a255d289a7fdcb43559fc77ff15df5ce6c341809e7867528" +dependencies = [ + "cfg-if", + "core-foundation-sys 0.8.4", + "libc", + "ntapi", + "once_cell", + "winapi", +] + +[[package]] +name = "taffy" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82870da09c57a8a5a50f830ce8993a6637b9a4932f69257f12aea3fa68f588c9" +dependencies = [ + "arrayvec", + "grid", + "num-traits", + "slotmap", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-core" +version = "1.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d97345f6437bb2004cd58819d8a9ef8e36cdd7661c2abc4bbde0a7c40d9f497" +dependencies = [ + "thiserror-core-impl", +] + +[[package]] +name = "thiserror-core-impl" +version = "1.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10ac1c5050e43014d16b2f94d0d2ce79e65ffdd8b38d8048f9c8f6a8a6da62ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tiff" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.19.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +dependencies = [ + "indexmap 2.0.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "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 = "ttf-parser" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a464a4b34948a5f67fddd2b823c62d9d92e44be75058b99939eae6c5b6960b33" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "uuid" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.29", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wayland-scanner" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +dependencies = [ + "proc-macro2", + "quote", + "xml-rs", +] + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webbrowser" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2c79b77f525a2d670cb40619d7d9c673d09e0666f72c591ebd7861f84a87e57" +dependencies = [ + "core-foundation", + "home", + "jni 0.21.1", + "log", + "ndk-context", + "objc", + "raw-window-handle", + "url", + "web-sys", +] + +[[package]] +name = "weezl" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" + +[[package]] +name = "wgpu" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "480c965c9306872eb6255fa55e4b4953be55a8b64d57e61d7ff840d3dcc051cd" +dependencies = [ + "arrayvec", + "cfg-if", + "js-sys", + "log", + "naga", + "parking_lot", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2" +dependencies = [ + "arrayvec", + "bit-vec", + "bitflags 2.4.0", + "codespan-reporting", + "log", + "naga", + "parking_lot", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror", + "web-sys", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set", + "bitflags 2.4.0", + "block", + "core-graphics-types", + "d3d12", + "foreign-types", + "glow", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hassle-rs", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.0", + "log", + "metal", + "naga", + "objc", + "parking_lot", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi", +] + +[[package]] +name = "wgpu-types" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0c153280bb108c2979eb5c7391cb18c56642dd3c072e55f52065e13e2a1252a" +dependencies = [ + "bitflags 2.4.0", + "js-sys", + "web-sys", +] + +[[package]] +name = "wide" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f" +dependencies = [ + "bytemuck", + "safe_arch", +] + +[[package]] +name = "widestring" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-wsapoll" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-targets 0.48.3", +] + +[[package]] +name = "windows-implement" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "windows-interface" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.3", +] + +[[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.48.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27f51fb4c64f8b770a823c043c7fad036323e1c48f55287b7bbb7987b2fcdf3b" +dependencies = [ + "windows_aarch64_gnullvm 0.48.3", + "windows_aarch64_msvc 0.48.3", + "windows_i686_gnu 0.48.3", + "windows_i686_msvc 0.48.3", + "windows_x86_64_gnu 0.48.3", + "windows_x86_64_gnullvm 0.48.3", + "windows_x86_64_msvc 0.48.3", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fde1bb55ae4ce76a597a8566d82c57432bc69c039449d61572a7a353da28f68c" + +[[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.48.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1513e8d48365a78adad7322fd6b5e4c4e99d92a69db8df2d435b25b1f1f286d4" + +[[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.48.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60587c0265d2b842298f5858e1a5d79d146f9ee0c37be5782e92a6eb5e1d7a83" + +[[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.48.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224fe0e0ffff5d2ea6a29f82026c8f43870038a0ffc247aa95a52b47df381ac4" + +[[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.48.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62fc52a0f50a088de499712cbc012df7ebd94e2d6eb948435449d76a6287e7ad" + +[[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.48.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2093925509d91ea3d69bcd20238f4c2ecdb1a29d3c281d026a09705d0dd35f3d" + +[[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.48.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6ade45bc8bf02ae2aa34a9d54ba660a1a58204da34ba793c00d83ca3730b5f1" + +[[package]] +name = "winit" +version = "0.28.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "866db3f712fffba75d31bf0cdecf357c8aeafd158c5b7ab51dba2a2b2d47f196" +dependencies = [ + "android-activity", + "bitflags 1.3.2", + "cfg_aliases", + "core-foundation", + "core-graphics", + "dispatch", + "instant", + "libc", + "log", + "mio", + "ndk", + "objc2", + "once_cell", + "orbclient", + "percent-encoding", + "raw-window-handle", + "redox_syscall", + "wasm-bindgen", + "wayland-scanner", + "web-sys", + "windows-sys 0.45.0", + "x11-dl", +] + +[[package]] +name = "winnow" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97" +dependencies = [ + "memchr", +] + +[[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.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507" +dependencies = [ + "gethostname", + "nix 0.24.3", + "winapi", + "winapi-wsapoll", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67" +dependencies = [ + "nix 0.24.3", +] + +[[package]] +name = "xi-unicode" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" + +[[package]] +name = "xml-rs" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..68615af --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "moonlit" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +bevy = "0.11.1" +bevy-inspector-egui = "0.19.0" +bevy_ecs_ldtk = { version = "0.8.0", features = ["derive", "atlas"] } +bevy_mod_debugdump = "0.8.0" +bevy_prototype_debug_lines = "0.11.1" +bevy_rapier2d = "0.22.0" +num-traits = "0.2.16" + +# Enable a small amount of optimization in debug mode +[profile.dev] +opt-level = 1 + +# Enable high optimizations for dependencies (incl. Bevy), but not for our code: +[profile.dev.package."*"] +opt-level = 3 diff --git a/assets/levels/world.ldtk b/assets/levels/world.ldtk new file mode 100644 index 0000000..93a69f1 --- /dev/null +++ b/assets/levels/world.ldtk @@ -0,0 +1,2172 @@ +{ + "__header__": { + "fileType": "LDtk Project JSON", + "app": "LDtk", + "doc": "https://ldtk.io/json", + "schema": "https://ldtk.io/files/JSON_SCHEMA.json", + "appAuthor": "Sebastien 'deepnight' Benard", + "appVersion": "1.3.3", + "url": "https://ldtk.io" + }, + "iid": "c848f460-c640-11ed-8884-f19f2bf31be0", + "jsonVersion": "1.3.3", + "appBuildId": 467698, + "nextUid": 189, + "identifierStyle": "Uppercase", + "toc": [], + "worldLayout": "Free", + "worldGridWidth": 256, + "worldGridHeight": 256, + "defaultLevelWidth": 256, + "defaultLevelHeight": 256, + "defaultPivotX": 0, + "defaultPivotY": 0, + "defaultGridSize": 16, + "bgColor": "#40465B", + "defaultLevelBgColor": "#696A79", + "minifyJson": false, + "externalLevels": false, + "exportTiled": false, + "simplifiedExport": false, + "imageExportMode": "None", + "exportLevelBg": true, + "pngFilePattern": null, + "backupOnSave": true, + "backupLimit": 10, + "backupRelPath": null, + "levelNamePattern": "Level_%idx", + "tutorialDesc": null, + "customCommands": [], + "flags": [], + "defs": { "layers": [ + { + "__type": "IntGrid", + "identifier": "LEVEL", + "type": "IntGrid", + "uid": 85, + "doc": null, + "uiColor": null, + "gridSize": 16, + "guideGridWid": 0, + "guideGridHei": 0, + "displayOpacity": 1, + "inactiveOpacity": 1, + "hideInList": false, + "hideFieldsWhenInactive": false, + "canSelectWhenInactive": true, + "renderInWorldView": true, + "pxOffsetX": 0, + "pxOffsetY": 0, + "parallaxFactorX": 0, + "parallaxFactorY": 0, + "parallaxScaling": true, + "requiredTags": [], + "excludedTags": [], + "intGridValues": [{ "value": 1, "identifier": "WALL", "color": "#141013", "tile": null }], + "autoRuleGroups": [{ "uid": 115, "name": "Walls", "active": true, "isOptional": false, "rules": [ + { + "uid": 158, + "active": true, + "size": 3, + "tileIds": [295], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,-1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 6981384, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 133, + "active": true, + "size": 3, + "tileIds": [171], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,-1,1,1,1,-1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 9559445, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 161, + "active": true, + "size": 3, + "tileIds": [181], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,-1,1,1,1,1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 9572841, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 164, + "active": true, + "size": 3, + "tileIds": [214], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,-1,1,1,1,-1,1,1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 9572841, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 163, + "active": true, + "size": 3, + "tileIds": [182], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,1,1,1,1,-1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 9572841, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 162, + "active": true, + "size": 3, + "tileIds": [213], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1,1,-1,1,1,1,-1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 9572841, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 159, + "active": true, + "size": 3, + "tileIds": [86], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,1,1,1,1,1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 7840330, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 160, + "active": true, + "size": 3, + "tileIds": [84], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1,1,-1,1,1,1,-1,1,1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 7840330, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 144, + "active": true, + "size": 3, + "tileIds": [323], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1,1,1,1,1,1,-1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1236546, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 147, + "active": true, + "size": 3, + "tileIds": [292], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1,1,-1,1,1,1,1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1236546, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 146, + "active": true, + "size": 3, + "tileIds": [259], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,-1,1,1,1,1,1,1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1236546, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 145, + "active": true, + "size": 3, + "tileIds": [290], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,1,1,1,1,-1,1,1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1236546, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 152, + "active": true, + "size": 3, + "tileIds": [302], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,0,1,1,-1,1,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 170, + "active": true, + "size": 3, + "tileIds": [334], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1,1,0,1,1,-1,-1,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 169, + "active": true, + "size": 3, + "tileIds": [335], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,1,-1,1,1,0,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 155, + "active": true, + "size": 3, + "tileIds": [303], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,-1,-1,1,1,0,1,1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 154, + "active": true, + "size": 3, + "tileIds": [339], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,1,1,1,-1,1,1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 157, + "active": true, + "size": 3, + "tileIds": [340], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,1,1,1,1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 156, + "active": true, + "size": 3, + "tileIds": [308], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1,1,-1,1,1,1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 153, + "active": true, + "size": 3, + "tileIds": [307], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,1,1,1,1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 780095, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 148, + "active": true, + "size": 3, + "tileIds": [81], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,0,1,1,-1,-1,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1814394, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 151, + "active": true, + "size": 3, + "tileIds": [73], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,1,1,1,-1,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1814394, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 150, + "active": true, + "size": 3, + "tileIds": [65], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,-1,-1,1,1,0,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1814394, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 149, + "active": true, + "size": 3, + "tileIds": [69], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,-1,1,1,1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1814394, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 165, + "active": true, + "size": 3, + "tileIds": [311], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,-1,-1,1,1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 4819422, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 168, + "active": true, + "size": 3, + "tileIds": [312], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,0,1,1,-1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 4819422, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 167, + "active": true, + "size": 3, + "tileIds": [280], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,1,1,-1,-1,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 4819422, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 166, + "active": true, + "size": 3, + "tileIds": [279], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,1,0,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 4819422, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 131, + "active": true, + "size": 3, + "tileIds": [203,206], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,0,-1,1,-1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 9269512, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 130, + "active": true, + "size": 3, + "tileIds": [110,139], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,-1,0,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 5148285, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 129, + "active": true, + "size": 3, + "tileIds": [170,176], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 8041953, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 128, + "active": true, + "size": 3, + "tileIds": [172,179], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,1,1,-1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1389861, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 142, + "active": true, + "size": 3, + "tileIds": [142,174], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,0,-1,1,-1,0,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 5746682, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 143, + "active": true, + "size": 3, + "tileIds": [177,178], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,1,1,1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 5746682, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 136, + "active": true, + "size": 3, + "tileIds": [265], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,1,0,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 3931075, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 139, + "active": true, + "size": 3, + "tileIds": [329], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,0,-1,1,1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 3931075, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 138, + "active": true, + "size": 3, + "tileIds": [331], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,0,1,1,-1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 3931075, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 137, + "active": true, + "size": 3, + "tileIds": [267], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,1,1,-1,0,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 3931075, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 134, + "active": true, + "size": 3, + "tileIds": [197], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,-1,0,1,1,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 6998247, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 135, + "active": true, + "size": 3, + "tileIds": [199], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,0,1,1,0,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 8069309, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 123, + "active": true, + "size": 3, + "tileIds": [135], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,1,1,0,-1,1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 7483763, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 122, + "active": true, + "size": 3, + "tileIds": [133], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,0,1,1,0,1,-1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 3104614, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 121, + "active": true, + "size": 3, + "tileIds": [167,297], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,-1,1,0,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 8680935, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 120, + "active": true, + "size": 3, + "tileIds": [165,299], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,0,1,-1,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 1510587, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 119, + "active": true, + "size": 3, + "tileIds": [198,266], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,0,1,0,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 5409294, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 116, + "active": true, + "size": 3, + "tileIds": [134,330], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,0,1,0,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 7475952, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 127, + "active": true, + "size": 1, + "tileIds": [163], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": 1, + "perlinActive": false, + "perlinSeed": 322401, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false }], + "autoSourceLayerDefUid": null, + "tilesetDefUid": 84, + "tilePivotX": 0, + "tilePivotY": 0 + } + ], "entities": [], "tilesets": [ + { + "__cWid": 32, + "__cHei": 32, + "identifier": "DUNGEON_1", + "uid": 84, + "relPath": "../sprites/dungeon1.png", + "embedAtlas": null, + "pxWid": 512, + "pxHei": 512, + "tileGridSize": 16, + "spacing": 0, + "padding": 0, + "tags": [], + "tagsSourceEnumUid": null, + "enumTags": [], + "customData": [], + "savedSelections": [], + "cachedPixelData": { + "opaqueTiles": "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", + "averageColors": "f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f334f223f223f223f324f223f223f223f223f223f223f223f223f223f223f223f334f223f223f111f223f112f223f223f223f223f223f223f223f223f223f223f323f324f223f324f223f324f223f334f223f334f223f223f223f223f223f324f223f223f212f212f212f212f212f223f223f223f223f223f223f223f223f223f334f223f223f223f223f223f223f223f324f223f223f223f223f334f223f223f324f223f223f212f223f112f223f223f223f223f223f223f223f223f223f223f223f223f223f223f112f223f212f223f223f223f324f223f223f323f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f111f223f222f223f223f223f223f324f223f324f223f324f223f324f324f324f334f223f212f212f223f223f223f223f223f223f223f223f223f223f223f223f223f223f112f223f212f223f223f223f324f223f223f324f223f223f223f223f223f223f212f212f223f223f223f223f223f223f223f223f223f223f223f223f324f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f323f212f323f223f223f223f223f323f223f323f223f223f223f222f223f223f223f212f111f223f223f323f324f223f223f223f223f223f223f223f223f324f212f111f212f324f223f334f223f223f223f223f223f212f223f223f212f223f222f223f223f212f223f323f323f223f223f223f223f223f223f223f223f223f323f212f323f223f223f223f223f323f223f323f223f112f223f223f112f223f223f323f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f324f223f223f223f223f223f223f223f223f223f223f223f212f223f223f223f212f111f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223f223" + } + }, + { + "__cWid": 1, + "__cHei": 1, + "identifier": "ADVENTURERS", + "uid": 176, + "relPath": "../sprites/adventurers.png", + "embedAtlas": null, + "pxWid": 16, + "pxHei": 16, + "tileGridSize": 16, + "spacing": 0, + "padding": 0, + "tags": [], + "tagsSourceEnumUid": null, + "enumTags": [], + "customData": [], + "savedSelections": [], + "cachedPixelData": { "opaqueTiles": "0", "averageColors": "7556" } + }, + { + "__cWid": 1, + "__cHei": 1, + "identifier": "ENEMIES", + "uid": 185, + "relPath": "../sprites/enemies.png", + "embedAtlas": null, + "pxWid": 16, + "pxHei": 16, + "tileGridSize": 16, + "spacing": 0, + "padding": 0, + "tags": [], + "tagsSourceEnumUid": null, + "enumTags": [], + "customData": [], + "savedSelections": [], + "cachedPixelData": { "opaqueTiles": "0", "averageColors": "8465" } + } + ], "enums": [], "externalEnums": [], "levelFields": [] }, + "levels": [ + { + "identifier": "LEVEL_0", + "iid": "c8491b71-c640-11ed-8884-770ea973f51d", + "uid": 0, + "worldX": -224, + "worldY": -112, + "worldDepth": 0, + "pxWid": 512, + "pxHei": 320, + "__bgColor": "#242234", + "bgColor": "#242234", + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#87858F", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "LEVEL", + "__type": "IntGrid", + "__cWid": 32, + "__cHei": 20, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 84, + "__tilesetRelPath": "../sprites/dungeon1.png", + "iid": "db22b380-c640-11ed-9fba-0b3ea750d9f4", + "levelId": 0, + "layerDefUid": 85, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0, + 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1, + 1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1, + 1,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1, + 1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1, + 1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1 + ], + "autoLayerTiles": [ + { "px": [0,0], "src": [48,80], "f": 0, "t": 163, "d": [127,0], "a": 1 }, + { "px": [16,0], "src": [48,80], "f": 0, "t": 163, "d": [127,1], "a": 1 }, + { "px": [32,0], "src": [48,80], "f": 0, "t": 163, "d": [127,2], "a": 1 }, + { "px": [48,0], "src": [48,80], "f": 0, "t": 163, "d": [127,3], "a": 1 }, + { "px": [64,0], "src": [48,80], "f": 0, "t": 163, "d": [127,4], "a": 1 }, + { "px": [80,0], "src": [48,80], "f": 0, "t": 163, "d": [127,5], "a": 1 }, + { "px": [96,0], "src": [48,80], "f": 0, "t": 163, "d": [127,6], "a": 1 }, + { "px": [112,0], "src": [48,80], "f": 0, "t": 163, "d": [127,7], "a": 1 }, + { "px": [128,0], "src": [48,80], "f": 0, "t": 163, "d": [127,8], "a": 1 }, + { "px": [144,0], "src": [48,80], "f": 0, "t": 163, "d": [127,9], "a": 1 }, + { "px": [160,0], "src": [48,80], "f": 0, "t": 163, "d": [127,10], "a": 1 }, + { "px": [176,0], "src": [48,80], "f": 0, "t": 163, "d": [127,11], "a": 1 }, + { "px": [192,0], "src": [48,80], "f": 0, "t": 163, "d": [127,12], "a": 1 }, + { "px": [208,0], "src": [48,80], "f": 0, "t": 163, "d": [127,13], "a": 1 }, + { "px": [224,0], "src": [48,80], "f": 0, "t": 163, "d": [127,14], "a": 1 }, + { "px": [240,0], "src": [48,80], "f": 0, "t": 163, "d": [127,15], "a": 1 }, + { "px": [256,0], "src": [48,80], "f": 0, "t": 163, "d": [127,16], "a": 1 }, + { "px": [272,0], "src": [48,80], "f": 0, "t": 163, "d": [127,17], "a": 1 }, + { "px": [288,0], "src": [48,80], "f": 0, "t": 163, "d": [127,18], "a": 1 }, + { "px": [304,0], "src": [48,80], "f": 0, "t": 163, "d": [127,19], "a": 1 }, + { "px": [320,0], "src": [48,80], "f": 0, "t": 163, "d": [127,20], "a": 1 }, + { "px": [336,0], "src": [48,80], "f": 0, "t": 163, "d": [127,21], "a": 1 }, + { "px": [352,0], "src": [48,80], "f": 0, "t": 163, "d": [127,22], "a": 1 }, + { "px": [368,0], "src": [48,80], "f": 0, "t": 163, "d": [127,23], "a": 1 }, + { "px": [384,0], "src": [48,80], "f": 0, "t": 163, "d": [127,24], "a": 1 }, + { "px": [400,0], "src": [48,80], "f": 0, "t": 163, "d": [127,25], "a": 1 }, + { "px": [416,0], "src": [48,80], "f": 0, "t": 163, "d": [127,26], "a": 1 }, + { "px": [432,0], "src": [48,80], "f": 0, "t": 163, "d": [127,27], "a": 1 }, + { "px": [448,0], "src": [48,80], "f": 0, "t": 163, "d": [127,28], "a": 1 }, + { "px": [464,0], "src": [48,80], "f": 0, "t": 163, "d": [127,29], "a": 1 }, + { "px": [480,0], "src": [48,80], "f": 0, "t": 163, "d": [127,30], "a": 1 }, + { "px": [496,0], "src": [48,80], "f": 0, "t": 163, "d": [127,31], "a": 1 }, + { "px": [0,16], "src": [48,80], "f": 0, "t": 163, "d": [127,32], "a": 1 }, + { "px": [16,16], "src": [48,80], "f": 0, "t": 163, "d": [127,33], "a": 1 }, + { "px": [32,16], "src": [48,80], "f": 0, "t": 163, "d": [127,34], "a": 1 }, + { "px": [48,16], "src": [48,80], "f": 0, "t": 163, "d": [127,35], "a": 1 }, + { "px": [64,16], "src": [48,80], "f": 0, "t": 163, "d": [127,36], "a": 1 }, + { "px": [80,16], "src": [48,80], "f": 0, "t": 163, "d": [127,37], "a": 1 }, + { "px": [96,16], "src": [48,80], "f": 0, "t": 163, "d": [127,38], "a": 1 }, + { "px": [112,16], "src": [48,80], "f": 0, "t": 163, "d": [127,39], "a": 1 }, + { "px": [128,16], "src": [48,80], "f": 0, "t": 163, "d": [127,40], "a": 1 }, + { "px": [144,16], "src": [48,80], "f": 0, "t": 163, "d": [127,41], "a": 1 }, + { "px": [160,16], "src": [48,80], "f": 0, "t": 163, "d": [127,42], "a": 1 }, + { "px": [176,16], "src": [48,80], "f": 0, "t": 163, "d": [127,43], "a": 1 }, + { "px": [192,16], "src": [48,80], "f": 0, "t": 163, "d": [127,44], "a": 1 }, + { "px": [208,16], "src": [48,80], "f": 0, "t": 163, "d": [127,45], "a": 1 }, + { "px": [224,16], "src": [48,80], "f": 0, "t": 163, "d": [127,46], "a": 1 }, + { "px": [240,16], "src": [48,80], "f": 0, "t": 163, "d": [127,47], "a": 1 }, + { "px": [256,16], "src": [48,80], "f": 0, "t": 163, "d": [127,48], "a": 1 }, + { "px": [272,16], "src": [48,80], "f": 0, "t": 163, "d": [127,49], "a": 1 }, + { "px": [288,16], "src": [48,80], "f": 0, "t": 163, "d": [127,50], "a": 1 }, + { "px": [304,16], "src": [48,80], "f": 0, "t": 163, "d": [127,51], "a": 1 }, + { "px": [320,16], "src": [48,80], "f": 0, "t": 163, "d": [127,52], "a": 1 }, + { "px": [336,16], "src": [48,80], "f": 0, "t": 163, "d": [127,53], "a": 1 }, + { "px": [352,16], "src": [48,80], "f": 0, "t": 163, "d": [127,54], "a": 1 }, + { "px": [368,16], "src": [48,80], "f": 0, "t": 163, "d": [127,55], "a": 1 }, + { "px": [384,16], "src": [48,80], "f": 0, "t": 163, "d": [127,56], "a": 1 }, + { "px": [400,16], "src": [48,80], "f": 0, "t": 163, "d": [127,57], "a": 1 }, + { "px": [416,16], "src": [48,80], "f": 0, "t": 163, "d": [127,58], "a": 1 }, + { "px": [432,16], "src": [48,80], "f": 0, "t": 163, "d": [127,59], "a": 1 }, + { "px": [448,16], "src": [48,80], "f": 0, "t": 163, "d": [127,60], "a": 1 }, + { "px": [464,16], "src": [48,80], "f": 0, "t": 163, "d": [127,61], "a": 1 }, + { "px": [480,16], "src": [48,80], "f": 0, "t": 163, "d": [127,62], "a": 1 }, + { "px": [496,16], "src": [48,80], "f": 0, "t": 163, "d": [127,63], "a": 1 }, + { "px": [0,32], "src": [48,80], "f": 0, "t": 163, "d": [127,64], "a": 1 }, + { "px": [16,32], "src": [48,80], "f": 0, "t": 163, "d": [127,65], "a": 1 }, + { "px": [32,32], "src": [48,80], "f": 0, "t": 163, "d": [127,66], "a": 1 }, + { "px": [48,32], "src": [48,80], "f": 0, "t": 163, "d": [127,67], "a": 1 }, + { "px": [64,32], "src": [48,80], "f": 0, "t": 163, "d": [127,68], "a": 1 }, + { "px": [80,32], "src": [48,80], "f": 0, "t": 163, "d": [127,69], "a": 1 }, + { "px": [96,32], "src": [48,80], "f": 0, "t": 163, "d": [127,70], "a": 1 }, + { "px": [112,32], "src": [48,80], "f": 0, "t": 163, "d": [127,71], "a": 1 }, + { "px": [128,32], "src": [48,80], "f": 0, "t": 163, "d": [127,72], "a": 1 }, + { "px": [224,32], "src": [48,80], "f": 0, "t": 163, "d": [127,78], "a": 1 }, + { "px": [240,32], "src": [48,80], "f": 0, "t": 163, "d": [127,79], "a": 1 }, + { "px": [256,32], "src": [48,80], "f": 0, "t": 163, "d": [127,80], "a": 1 }, + { "px": [272,32], "src": [48,80], "f": 0, "t": 163, "d": [127,81], "a": 1 }, + { "px": [288,32], "src": [48,80], "f": 0, "t": 163, "d": [127,82], "a": 1 }, + { "px": [304,32], "src": [48,80], "f": 0, "t": 163, "d": [127,83], "a": 1 }, + { "px": [320,32], "src": [48,80], "f": 0, "t": 163, "d": [127,84], "a": 1 }, + { "px": [336,32], "src": [48,80], "f": 0, "t": 163, "d": [127,85], "a": 1 }, + { "px": [352,32], "src": [48,80], "f": 0, "t": 163, "d": [127,86], "a": 1 }, + { "px": [368,32], "src": [48,80], "f": 0, "t": 163, "d": [127,87], "a": 1 }, + { "px": [384,32], "src": [48,80], "f": 0, "t": 163, "d": [127,88], "a": 1 }, + { "px": [400,32], "src": [48,80], "f": 0, "t": 163, "d": [127,89], "a": 1 }, + { "px": [416,32], "src": [48,80], "f": 0, "t": 163, "d": [127,90], "a": 1 }, + { "px": [432,32], "src": [48,80], "f": 0, "t": 163, "d": [127,91], "a": 1 }, + { "px": [448,32], "src": [48,80], "f": 0, "t": 163, "d": [127,92], "a": 1 }, + { "px": [464,32], "src": [48,80], "f": 0, "t": 163, "d": [127,93], "a": 1 }, + { "px": [480,32], "src": [48,80], "f": 0, "t": 163, "d": [127,94], "a": 1 }, + { "px": [496,32], "src": [48,80], "f": 0, "t": 163, "d": [127,95], "a": 1 }, + { "px": [0,48], "src": [48,80], "f": 0, "t": 163, "d": [127,96], "a": 1 }, + { "px": [16,48], "src": [48,80], "f": 0, "t": 163, "d": [127,97], "a": 1 }, + { "px": [32,48], "src": [48,80], "f": 0, "t": 163, "d": [127,98], "a": 1 }, + { "px": [48,48], "src": [48,80], "f": 0, "t": 163, "d": [127,99], "a": 1 }, + { "px": [64,48], "src": [48,80], "f": 0, "t": 163, "d": [127,100], "a": 1 }, + { "px": [80,48], "src": [48,80], "f": 0, "t": 163, "d": [127,101], "a": 1 }, + { "px": [224,48], "src": [48,80], "f": 0, "t": 163, "d": [127,110], "a": 1 }, + { "px": [240,48], "src": [48,80], "f": 0, "t": 163, "d": [127,111], "a": 1 }, + { "px": [256,48], "src": [48,80], "f": 0, "t": 163, "d": [127,112], "a": 1 }, + { "px": [272,48], "src": [48,80], "f": 0, "t": 163, "d": [127,113], "a": 1 }, + { "px": [288,48], "src": [48,80], "f": 0, "t": 163, "d": [127,114], "a": 1 }, + { "px": [304,48], "src": [48,80], "f": 0, "t": 163, "d": [127,115], "a": 1 }, + { "px": [320,48], "src": [48,80], "f": 0, "t": 163, "d": [127,116], "a": 1 }, + { "px": [336,48], "src": [48,80], "f": 0, "t": 163, "d": [127,117], "a": 1 }, + { "px": [352,48], "src": [48,80], "f": 0, "t": 163, "d": [127,118], "a": 1 }, + { "px": [368,48], "src": [48,80], "f": 0, "t": 163, "d": [127,119], "a": 1 }, + { "px": [384,48], "src": [48,80], "f": 0, "t": 163, "d": [127,120], "a": 1 }, + { "px": [400,48], "src": [48,80], "f": 0, "t": 163, "d": [127,121], "a": 1 }, + { "px": [416,48], "src": [48,80], "f": 0, "t": 163, "d": [127,122], "a": 1 }, + { "px": [432,48], "src": [48,80], "f": 0, "t": 163, "d": [127,123], "a": 1 }, + { "px": [448,48], "src": [48,80], "f": 0, "t": 163, "d": [127,124], "a": 1 }, + { "px": [464,48], "src": [48,80], "f": 0, "t": 163, "d": [127,125], "a": 1 }, + { "px": [480,48], "src": [48,80], "f": 0, "t": 163, "d": [127,126], "a": 1 }, + { "px": [496,48], "src": [48,80], "f": 0, "t": 163, "d": [127,127], "a": 1 }, + { "px": [0,64], "src": [48,80], "f": 0, "t": 163, "d": [127,128], "a": 1 }, + { "px": [16,64], "src": [48,80], "f": 0, "t": 163, "d": [127,129], "a": 1 }, + { "px": [32,64], "src": [48,80], "f": 0, "t": 163, "d": [127,130], "a": 1 }, + { "px": [48,64], "src": [48,80], "f": 0, "t": 163, "d": [127,131], "a": 1 }, + { "px": [64,64], "src": [48,80], "f": 0, "t": 163, "d": [127,132], "a": 1 }, + { "px": [320,64], "src": [48,80], "f": 0, "t": 163, "d": [127,148], "a": 1 }, + { "px": [336,64], "src": [48,80], "f": 0, "t": 163, "d": [127,149], "a": 1 }, + { "px": [352,64], "src": [48,80], "f": 0, "t": 163, "d": [127,150], "a": 1 }, + { "px": [368,64], "src": [48,80], "f": 0, "t": 163, "d": [127,151], "a": 1 }, + { "px": [384,64], "src": [48,80], "f": 0, "t": 163, "d": [127,152], "a": 1 }, + { "px": [400,64], "src": [48,80], "f": 0, "t": 163, "d": [127,153], "a": 1 }, + { "px": [416,64], "src": [48,80], "f": 0, "t": 163, "d": [127,154], "a": 1 }, + { "px": [432,64], "src": [48,80], "f": 0, "t": 163, "d": [127,155], "a": 1 }, + { "px": [448,64], "src": [48,80], "f": 0, "t": 163, "d": [127,156], "a": 1 }, + { "px": [464,64], "src": [48,80], "f": 0, "t": 163, "d": [127,157], "a": 1 }, + { "px": [480,64], "src": [48,80], "f": 0, "t": 163, "d": [127,158], "a": 1 }, + { "px": [496,64], "src": [48,80], "f": 0, "t": 163, "d": [127,159], "a": 1 }, + { "px": [0,80], "src": [48,80], "f": 0, "t": 163, "d": [127,160], "a": 1 }, + { "px": [16,80], "src": [48,80], "f": 0, "t": 163, "d": [127,161], "a": 1 }, + { "px": [32,80], "src": [48,80], "f": 0, "t": 163, "d": [127,162], "a": 1 }, + { "px": [48,80], "src": [48,80], "f": 0, "t": 163, "d": [127,163], "a": 1 }, + { "px": [64,80], "src": [48,80], "f": 0, "t": 163, "d": [127,164], "a": 1 }, + { "px": [336,80], "src": [48,80], "f": 0, "t": 163, "d": [127,181], "a": 1 }, + { "px": [352,80], "src": [48,80], "f": 0, "t": 163, "d": [127,182], "a": 1 }, + { "px": [368,80], "src": [48,80], "f": 0, "t": 163, "d": [127,183], "a": 1 }, + { "px": [384,80], "src": [48,80], "f": 0, "t": 163, "d": [127,184], "a": 1 }, + { "px": [400,80], "src": [48,80], "f": 0, "t": 163, "d": [127,185], "a": 1 }, + { "px": [416,80], "src": [48,80], "f": 0, "t": 163, "d": [127,186], "a": 1 }, + { "px": [432,80], "src": [48,80], "f": 0, "t": 163, "d": [127,187], "a": 1 }, + { "px": [448,80], "src": [48,80], "f": 0, "t": 163, "d": [127,188], "a": 1 }, + { "px": [464,80], "src": [48,80], "f": 0, "t": 163, "d": [127,189], "a": 1 }, + { "px": [480,80], "src": [48,80], "f": 0, "t": 163, "d": [127,190], "a": 1 }, + { "px": [496,80], "src": [48,80], "f": 0, "t": 163, "d": [127,191], "a": 1 }, + { "px": [0,96], "src": [48,80], "f": 0, "t": 163, "d": [127,192], "a": 1 }, + { "px": [16,96], "src": [48,80], "f": 0, "t": 163, "d": [127,193], "a": 1 }, + { "px": [32,96], "src": [48,80], "f": 0, "t": 163, "d": [127,194], "a": 1 }, + { "px": [48,96], "src": [48,80], "f": 0, "t": 163, "d": [127,195], "a": 1 }, + { "px": [64,96], "src": [48,80], "f": 0, "t": 163, "d": [127,196], "a": 1 }, + { "px": [336,96], "src": [48,80], "f": 0, "t": 163, "d": [127,213], "a": 1 }, + { "px": [464,96], "src": [48,80], "f": 0, "t": 163, "d": [127,221], "a": 1 }, + { "px": [480,96], "src": [48,80], "f": 0, "t": 163, "d": [127,222], "a": 1 }, + { "px": [496,96], "src": [48,80], "f": 0, "t": 163, "d": [127,223], "a": 1 }, + { "px": [0,112], "src": [48,80], "f": 0, "t": 163, "d": [127,224], "a": 1 }, + { "px": [16,112], "src": [48,80], "f": 0, "t": 163, "d": [127,225], "a": 1 }, + { "px": [32,112], "src": [48,80], "f": 0, "t": 163, "d": [127,226], "a": 1 }, + { "px": [48,112], "src": [48,80], "f": 0, "t": 163, "d": [127,227], "a": 1 }, + { "px": [336,112], "src": [48,80], "f": 0, "t": 163, "d": [127,245], "a": 1 }, + { "px": [480,112], "src": [48,80], "f": 0, "t": 163, "d": [127,254], "a": 1 }, + { "px": [496,112], "src": [48,80], "f": 0, "t": 163, "d": [127,255], "a": 1 }, + { "px": [0,128], "src": [48,80], "f": 0, "t": 163, "d": [127,256], "a": 1 }, + { "px": [16,128], "src": [48,80], "f": 0, "t": 163, "d": [127,257], "a": 1 }, + { "px": [32,128], "src": [48,80], "f": 0, "t": 163, "d": [127,258], "a": 1 }, + { "px": [48,128], "src": [48,80], "f": 0, "t": 163, "d": [127,259], "a": 1 }, + { "px": [128,128], "src": [48,80], "f": 0, "t": 163, "d": [127,264], "a": 1 }, + { "px": [336,128], "src": [48,80], "f": 0, "t": 163, "d": [127,277], "a": 1 }, + { "px": [480,128], "src": [48,80], "f": 0, "t": 163, "d": [127,286], "a": 1 }, + { "px": [496,128], "src": [48,80], "f": 0, "t": 163, "d": [127,287], "a": 1 }, + { "px": [0,144], "src": [48,80], "f": 0, "t": 163, "d": [127,288], "a": 1 }, + { "px": [16,144], "src": [48,80], "f": 0, "t": 163, "d": [127,289], "a": 1 }, + { "px": [32,144], "src": [48,80], "f": 0, "t": 163, "d": [127,290], "a": 1 }, + { "px": [48,144], "src": [48,80], "f": 0, "t": 163, "d": [127,291], "a": 1 }, + { "px": [480,144], "src": [48,80], "f": 0, "t": 163, "d": [127,318], "a": 1 }, + { "px": [496,144], "src": [48,80], "f": 0, "t": 163, "d": [127,319], "a": 1 }, + { "px": [0,160], "src": [48,80], "f": 0, "t": 163, "d": [127,320], "a": 1 }, + { "px": [16,160], "src": [48,80], "f": 0, "t": 163, "d": [127,321], "a": 1 }, + { "px": [32,160], "src": [48,80], "f": 0, "t": 163, "d": [127,322], "a": 1 }, + { "px": [48,160], "src": [48,80], "f": 0, "t": 163, "d": [127,323], "a": 1 }, + { "px": [448,160], "src": [48,80], "f": 0, "t": 163, "d": [127,348], "a": 1 }, + { "px": [464,160], "src": [48,80], "f": 0, "t": 163, "d": [127,349], "a": 1 }, + { "px": [480,160], "src": [48,80], "f": 0, "t": 163, "d": [127,350], "a": 1 }, + { "px": [496,160], "src": [48,80], "f": 0, "t": 163, "d": [127,351], "a": 1 }, + { "px": [0,176], "src": [48,80], "f": 0, "t": 163, "d": [127,352], "a": 1 }, + { "px": [16,176], "src": [48,80], "f": 0, "t": 163, "d": [127,353], "a": 1 }, + { "px": [32,176], "src": [48,80], "f": 0, "t": 163, "d": [127,354], "a": 1 }, + { "px": [48,176], "src": [48,80], "f": 0, "t": 163, "d": [127,355], "a": 1 }, + { "px": [464,176], "src": [48,80], "f": 0, "t": 163, "d": [127,381], "a": 1 }, + { "px": [480,176], "src": [48,80], "f": 0, "t": 163, "d": [127,382], "a": 1 }, + { "px": [496,176], "src": [48,80], "f": 0, "t": 163, "d": [127,383], "a": 1 }, + { "px": [0,192], "src": [48,80], "f": 0, "t": 163, "d": [127,384], "a": 1 }, + { "px": [16,192], "src": [48,80], "f": 0, "t": 163, "d": [127,385], "a": 1 }, + { "px": [32,192], "src": [48,80], "f": 0, "t": 163, "d": [127,386], "a": 1 }, + { "px": [48,192], "src": [48,80], "f": 0, "t": 163, "d": [127,387], "a": 1 }, + { "px": [64,192], "src": [48,80], "f": 0, "t": 163, "d": [127,388], "a": 1 }, + { "px": [464,192], "src": [48,80], "f": 0, "t": 163, "d": [127,413], "a": 1 }, + { "px": [480,192], "src": [48,80], "f": 0, "t": 163, "d": [127,414], "a": 1 }, + { "px": [496,192], "src": [48,80], "f": 0, "t": 163, "d": [127,415], "a": 1 }, + { "px": [0,208], "src": [48,80], "f": 0, "t": 163, "d": [127,416], "a": 1 }, + { "px": [16,208], "src": [48,80], "f": 0, "t": 163, "d": [127,417], "a": 1 }, + { "px": [32,208], "src": [48,80], "f": 0, "t": 163, "d": [127,418], "a": 1 }, + { "px": [48,208], "src": [48,80], "f": 0, "t": 163, "d": [127,419], "a": 1 }, + { "px": [64,208], "src": [48,80], "f": 0, "t": 163, "d": [127,420], "a": 1 }, + { "px": [464,208], "src": [48,80], "f": 0, "t": 163, "d": [127,445], "a": 1 }, + { "px": [480,208], "src": [48,80], "f": 0, "t": 163, "d": [127,446], "a": 1 }, + { "px": [496,208], "src": [48,80], "f": 0, "t": 163, "d": [127,447], "a": 1 }, + { "px": [0,224], "src": [48,80], "f": 0, "t": 163, "d": [127,448], "a": 1 }, + { "px": [16,224], "src": [48,80], "f": 0, "t": 163, "d": [127,449], "a": 1 }, + { "px": [32,224], "src": [48,80], "f": 0, "t": 163, "d": [127,450], "a": 1 }, + { "px": [48,224], "src": [48,80], "f": 0, "t": 163, "d": [127,451], "a": 1 }, + { "px": [64,224], "src": [48,80], "f": 0, "t": 163, "d": [127,452], "a": 1 }, + { "px": [80,224], "src": [48,80], "f": 0, "t": 163, "d": [127,453], "a": 1 }, + { "px": [96,224], "src": [48,80], "f": 0, "t": 163, "d": [127,454], "a": 1 }, + { "px": [288,224], "src": [48,80], "f": 0, "t": 163, "d": [127,466], "a": 1 }, + { "px": [304,224], "src": [48,80], "f": 0, "t": 163, "d": [127,467], "a": 1 }, + { "px": [320,224], "src": [48,80], "f": 0, "t": 163, "d": [127,468], "a": 1 }, + { "px": [336,224], "src": [48,80], "f": 0, "t": 163, "d": [127,469], "a": 1 }, + { "px": [352,224], "src": [48,80], "f": 0, "t": 163, "d": [127,470], "a": 1 }, + { "px": [368,224], "src": [48,80], "f": 0, "t": 163, "d": [127,471], "a": 1 }, + { "px": [384,224], "src": [48,80], "f": 0, "t": 163, "d": [127,472], "a": 1 }, + { "px": [400,224], "src": [48,80], "f": 0, "t": 163, "d": [127,473], "a": 1 }, + { "px": [416,224], "src": [48,80], "f": 0, "t": 163, "d": [127,474], "a": 1 }, + { "px": [432,224], "src": [48,80], "f": 0, "t": 163, "d": [127,475], "a": 1 }, + { "px": [448,224], "src": [48,80], "f": 0, "t": 163, "d": [127,476], "a": 1 }, + { "px": [464,224], "src": [48,80], "f": 0, "t": 163, "d": [127,477], "a": 1 }, + { "px": [480,224], "src": [48,80], "f": 0, "t": 163, "d": [127,478], "a": 1 }, + { "px": [496,224], "src": [48,80], "f": 0, "t": 163, "d": [127,479], "a": 1 }, + { "px": [0,240], "src": [48,80], "f": 0, "t": 163, "d": [127,480], "a": 1 }, + { "px": [16,240], "src": [48,80], "f": 0, "t": 163, "d": [127,481], "a": 1 }, + { "px": [32,240], "src": [48,80], "f": 0, "t": 163, "d": [127,482], "a": 1 }, + { "px": [48,240], "src": [48,80], "f": 0, "t": 163, "d": [127,483], "a": 1 }, + { "px": [64,240], "src": [48,80], "f": 0, "t": 163, "d": [127,484], "a": 1 }, + { "px": [80,240], "src": [48,80], "f": 0, "t": 163, "d": [127,485], "a": 1 }, + { "px": [96,240], "src": [48,80], "f": 0, "t": 163, "d": [127,486], "a": 1 }, + { "px": [112,240], "src": [48,80], "f": 0, "t": 163, "d": [127,487], "a": 1 }, + { "px": [128,240], "src": [48,80], "f": 0, "t": 163, "d": [127,488], "a": 1 }, + { "px": [144,240], "src": [48,80], "f": 0, "t": 163, "d": [127,489], "a": 1 }, + { "px": [160,240], "src": [48,80], "f": 0, "t": 163, "d": [127,490], "a": 1 }, + { "px": [176,240], "src": [48,80], "f": 0, "t": 163, "d": [127,491], "a": 1 }, + { "px": [192,240], "src": [48,80], "f": 0, "t": 163, "d": [127,492], "a": 1 }, + { "px": [208,240], "src": [48,80], "f": 0, "t": 163, "d": [127,493], "a": 1 }, + { "px": [288,240], "src": [48,80], "f": 0, "t": 163, "d": [127,498], "a": 1 }, + { "px": [304,240], "src": [48,80], "f": 0, "t": 163, "d": [127,499], "a": 1 }, + { "px": [320,240], "src": [48,80], "f": 0, "t": 163, "d": [127,500], "a": 1 }, + { "px": [336,240], "src": [48,80], "f": 0, "t": 163, "d": [127,501], "a": 1 }, + { "px": [352,240], "src": [48,80], "f": 0, "t": 163, "d": [127,502], "a": 1 }, + { "px": [368,240], "src": [48,80], "f": 0, "t": 163, "d": [127,503], "a": 1 }, + { "px": [384,240], "src": [48,80], "f": 0, "t": 163, "d": [127,504], "a": 1 }, + { "px": [400,240], "src": [48,80], "f": 0, "t": 163, "d": [127,505], "a": 1 }, + { "px": [416,240], "src": [48,80], "f": 0, "t": 163, "d": [127,506], "a": 1 }, + { "px": [432,240], "src": [48,80], "f": 0, "t": 163, "d": [127,507], "a": 1 }, + { "px": [448,240], "src": [48,80], "f": 0, "t": 163, "d": [127,508], "a": 1 }, + { "px": [464,240], "src": [48,80], "f": 0, "t": 163, "d": [127,509], "a": 1 }, + { "px": [480,240], "src": [48,80], "f": 0, "t": 163, "d": [127,510], "a": 1 }, + { "px": [496,240], "src": [48,80], "f": 0, "t": 163, "d": [127,511], "a": 1 }, + { "px": [0,256], "src": [48,80], "f": 0, "t": 163, "d": [127,512], "a": 1 }, + { "px": [16,256], "src": [48,80], "f": 0, "t": 163, "d": [127,513], "a": 1 }, + { "px": [32,256], "src": [48,80], "f": 0, "t": 163, "d": [127,514], "a": 1 }, + { "px": [48,256], "src": [48,80], "f": 0, "t": 163, "d": [127,515], "a": 1 }, + { "px": [64,256], "src": [48,80], "f": 0, "t": 163, "d": [127,516], "a": 1 }, + { "px": [80,256], "src": [48,80], "f": 0, "t": 163, "d": [127,517], "a": 1 }, + { "px": [96,256], "src": [48,80], "f": 0, "t": 163, "d": [127,518], "a": 1 }, + { "px": [112,256], "src": [48,80], "f": 0, "t": 163, "d": [127,519], "a": 1 }, + { "px": [128,256], "src": [48,80], "f": 0, "t": 163, "d": [127,520], "a": 1 }, + { "px": [144,256], "src": [48,80], "f": 0, "t": 163, "d": [127,521], "a": 1 }, + { "px": [160,256], "src": [48,80], "f": 0, "t": 163, "d": [127,522], "a": 1 }, + { "px": [176,256], "src": [48,80], "f": 0, "t": 163, "d": [127,523], "a": 1 }, + { "px": [192,256], "src": [48,80], "f": 0, "t": 163, "d": [127,524], "a": 1 }, + { "px": [208,256], "src": [48,80], "f": 0, "t": 163, "d": [127,525], "a": 1 }, + { "px": [272,256], "src": [48,80], "f": 0, "t": 163, "d": [127,529], "a": 1 }, + { "px": [288,256], "src": [48,80], "f": 0, "t": 163, "d": [127,530], "a": 1 }, + { "px": [304,256], "src": [48,80], "f": 0, "t": 163, "d": [127,531], "a": 1 }, + { "px": [320,256], "src": [48,80], "f": 0, "t": 163, "d": [127,532], "a": 1 }, + { "px": [336,256], "src": [48,80], "f": 0, "t": 163, "d": [127,533], "a": 1 }, + { "px": [352,256], "src": [48,80], "f": 0, "t": 163, "d": [127,534], "a": 1 }, + { "px": [368,256], "src": [48,80], "f": 0, "t": 163, "d": [127,535], "a": 1 }, + { "px": [384,256], "src": [48,80], "f": 0, "t": 163, "d": [127,536], "a": 1 }, + { "px": [400,256], "src": [48,80], "f": 0, "t": 163, "d": [127,537], "a": 1 }, + { "px": [416,256], "src": [48,80], "f": 0, "t": 163, "d": [127,538], "a": 1 }, + { "px": [432,256], "src": [48,80], "f": 0, "t": 163, "d": [127,539], "a": 1 }, + { "px": [448,256], "src": [48,80], "f": 0, "t": 163, "d": [127,540], "a": 1 }, + { "px": [464,256], "src": [48,80], "f": 0, "t": 163, "d": [127,541], "a": 1 }, + { "px": [480,256], "src": [48,80], "f": 0, "t": 163, "d": [127,542], "a": 1 }, + { "px": [496,256], "src": [48,80], "f": 0, "t": 163, "d": [127,543], "a": 1 }, + { "px": [0,272], "src": [48,80], "f": 0, "t": 163, "d": [127,544], "a": 1 }, + { "px": [16,272], "src": [48,80], "f": 0, "t": 163, "d": [127,545], "a": 1 }, + { "px": [32,272], "src": [48,80], "f": 0, "t": 163, "d": [127,546], "a": 1 }, + { "px": [48,272], "src": [48,80], "f": 0, "t": 163, "d": [127,547], "a": 1 }, + { "px": [64,272], "src": [48,80], "f": 0, "t": 163, "d": [127,548], "a": 1 }, + { "px": [80,272], "src": [48,80], "f": 0, "t": 163, "d": [127,549], "a": 1 }, + { "px": [96,272], "src": [48,80], "f": 0, "t": 163, "d": [127,550], "a": 1 }, + { "px": [112,272], "src": [48,80], "f": 0, "t": 163, "d": [127,551], "a": 1 }, + { "px": [128,272], "src": [48,80], "f": 0, "t": 163, "d": [127,552], "a": 1 }, + { "px": [144,272], "src": [48,80], "f": 0, "t": 163, "d": [127,553], "a": 1 }, + { "px": [160,272], "src": [48,80], "f": 0, "t": 163, "d": [127,554], "a": 1 }, + { "px": [176,272], "src": [48,80], "f": 0, "t": 163, "d": [127,555], "a": 1 }, + { "px": [192,272], "src": [48,80], "f": 0, "t": 163, "d": [127,556], "a": 1 }, + { "px": [208,272], "src": [48,80], "f": 0, "t": 163, "d": [127,557], "a": 1 }, + { "px": [224,272], "src": [48,80], "f": 0, "t": 163, "d": [127,558], "a": 1 }, + { "px": [240,272], "src": [48,80], "f": 0, "t": 163, "d": [127,559], "a": 1 }, + { "px": [256,272], "src": [48,80], "f": 0, "t": 163, "d": [127,560], "a": 1 }, + { "px": [272,272], "src": [48,80], "f": 0, "t": 163, "d": [127,561], "a": 1 }, + { "px": [288,272], "src": [48,80], "f": 0, "t": 163, "d": [127,562], "a": 1 }, + { "px": [304,272], "src": [48,80], "f": 0, "t": 163, "d": [127,563], "a": 1 }, + { "px": [320,272], "src": [48,80], "f": 0, "t": 163, "d": [127,564], "a": 1 }, + { "px": [336,272], "src": [48,80], "f": 0, "t": 163, "d": [127,565], "a": 1 }, + { "px": [352,272], "src": [48,80], "f": 0, "t": 163, "d": [127,566], "a": 1 }, + { "px": [368,272], "src": [48,80], "f": 0, "t": 163, "d": [127,567], "a": 1 }, + { "px": [384,272], "src": [48,80], "f": 0, "t": 163, "d": [127,568], "a": 1 }, + { "px": [400,272], "src": [48,80], "f": 0, "t": 163, "d": [127,569], "a": 1 }, + { "px": [416,272], "src": [48,80], "f": 0, "t": 163, "d": [127,570], "a": 1 }, + { "px": [432,272], "src": [48,80], "f": 0, "t": 163, "d": [127,571], "a": 1 }, + { "px": [448,272], "src": [48,80], "f": 0, "t": 163, "d": [127,572], "a": 1 }, + { "px": [464,272], "src": [48,80], "f": 0, "t": 163, "d": [127,573], "a": 1 }, + { "px": [480,272], "src": [48,80], "f": 0, "t": 163, "d": [127,574], "a": 1 }, + { "px": [496,272], "src": [48,80], "f": 0, "t": 163, "d": [127,575], "a": 1 }, + { "px": [0,288], "src": [48,80], "f": 0, "t": 163, "d": [127,576], "a": 1 }, + { "px": [16,288], "src": [48,80], "f": 0, "t": 163, "d": [127,577], "a": 1 }, + { "px": [32,288], "src": [48,80], "f": 0, "t": 163, "d": [127,578], "a": 1 }, + { "px": [48,288], "src": [48,80], "f": 0, "t": 163, "d": [127,579], "a": 1 }, + { "px": [64,288], "src": [48,80], "f": 0, "t": 163, "d": [127,580], "a": 1 }, + { "px": [80,288], "src": [48,80], "f": 0, "t": 163, "d": [127,581], "a": 1 }, + { "px": [96,288], "src": [48,80], "f": 0, "t": 163, "d": [127,582], "a": 1 }, + { "px": [112,288], "src": [48,80], "f": 0, "t": 163, "d": [127,583], "a": 1 }, + { "px": [128,288], "src": [48,80], "f": 0, "t": 163, "d": [127,584], "a": 1 }, + { "px": [144,288], "src": [48,80], "f": 0, "t": 163, "d": [127,585], "a": 1 }, + { "px": [160,288], "src": [48,80], "f": 0, "t": 163, "d": [127,586], "a": 1 }, + { "px": [176,288], "src": [48,80], "f": 0, "t": 163, "d": [127,587], "a": 1 }, + { "px": [192,288], "src": [48,80], "f": 0, "t": 163, "d": [127,588], "a": 1 }, + { "px": [208,288], "src": [48,80], "f": 0, "t": 163, "d": [127,589], "a": 1 }, + { "px": [224,288], "src": [48,80], "f": 0, "t": 163, "d": [127,590], "a": 1 }, + { "px": [240,288], "src": [48,80], "f": 0, "t": 163, "d": [127,591], "a": 1 }, + { "px": [256,288], "src": [48,80], "f": 0, "t": 163, "d": [127,592], "a": 1 }, + { "px": [272,288], "src": [48,80], "f": 0, "t": 163, "d": [127,593], "a": 1 }, + { "px": [288,288], "src": [48,80], "f": 0, "t": 163, "d": [127,594], "a": 1 }, + { "px": [304,288], "src": [48,80], "f": 0, "t": 163, "d": [127,595], "a": 1 }, + { "px": [320,288], "src": [48,80], "f": 0, "t": 163, "d": [127,596], "a": 1 }, + { "px": [336,288], "src": [48,80], "f": 0, "t": 163, "d": [127,597], "a": 1 }, + { "px": [352,288], "src": [48,80], "f": 0, "t": 163, "d": [127,598], "a": 1 }, + { "px": [368,288], "src": [48,80], "f": 0, "t": 163, "d": [127,599], "a": 1 }, + { "px": [384,288], "src": [48,80], "f": 0, "t": 163, "d": [127,600], "a": 1 }, + { "px": [400,288], "src": [48,80], "f": 0, "t": 163, "d": [127,601], "a": 1 }, + { "px": [416,288], "src": [48,80], "f": 0, "t": 163, "d": [127,602], "a": 1 }, + { "px": [432,288], "src": [48,80], "f": 0, "t": 163, "d": [127,603], "a": 1 }, + { "px": [448,288], "src": [48,80], "f": 0, "t": 163, "d": [127,604], "a": 1 }, + { "px": [464,288], "src": [48,80], "f": 0, "t": 163, "d": [127,605], "a": 1 }, + { "px": [480,288], "src": [48,80], "f": 0, "t": 163, "d": [127,606], "a": 1 }, + { "px": [496,288], "src": [48,80], "f": 0, "t": 163, "d": [127,607], "a": 1 }, + { "px": [0,304], "src": [48,80], "f": 0, "t": 163, "d": [127,608], "a": 1 }, + { "px": [16,304], "src": [48,80], "f": 0, "t": 163, "d": [127,609], "a": 1 }, + { "px": [32,304], "src": [48,80], "f": 0, "t": 163, "d": [127,610], "a": 1 }, + { "px": [48,304], "src": [48,80], "f": 0, "t": 163, "d": [127,611], "a": 1 }, + { "px": [64,304], "src": [48,80], "f": 0, "t": 163, "d": [127,612], "a": 1 }, + { "px": [80,304], "src": [48,80], "f": 0, "t": 163, "d": [127,613], "a": 1 }, + { "px": [96,304], "src": [48,80], "f": 0, "t": 163, "d": [127,614], "a": 1 }, + { "px": [112,304], "src": [48,80], "f": 0, "t": 163, "d": [127,615], "a": 1 }, + { "px": [128,304], "src": [48,80], "f": 0, "t": 163, "d": [127,616], "a": 1 }, + { "px": [144,304], "src": [48,80], "f": 0, "t": 163, "d": [127,617], "a": 1 }, + { "px": [160,304], "src": [48,80], "f": 0, "t": 163, "d": [127,618], "a": 1 }, + { "px": [176,304], "src": [48,80], "f": 0, "t": 163, "d": [127,619], "a": 1 }, + { "px": [192,304], "src": [48,80], "f": 0, "t": 163, "d": [127,620], "a": 1 }, + { "px": [208,304], "src": [48,80], "f": 0, "t": 163, "d": [127,621], "a": 1 }, + { "px": [224,304], "src": [48,80], "f": 0, "t": 163, "d": [127,622], "a": 1 }, + { "px": [240,304], "src": [48,80], "f": 0, "t": 163, "d": [127,623], "a": 1 }, + { "px": [256,304], "src": [48,80], "f": 0, "t": 163, "d": [127,624], "a": 1 }, + { "px": [272,304], "src": [48,80], "f": 0, "t": 163, "d": [127,625], "a": 1 }, + { "px": [288,304], "src": [48,80], "f": 0, "t": 163, "d": [127,626], "a": 1 }, + { "px": [304,304], "src": [48,80], "f": 0, "t": 163, "d": [127,627], "a": 1 }, + { "px": [320,304], "src": [48,80], "f": 0, "t": 163, "d": [127,628], "a": 1 }, + { "px": [336,304], "src": [48,80], "f": 0, "t": 163, "d": [127,629], "a": 1 }, + { "px": [352,304], "src": [48,80], "f": 0, "t": 163, "d": [127,630], "a": 1 }, + { "px": [368,304], "src": [48,80], "f": 0, "t": 163, "d": [127,631], "a": 1 }, + { "px": [384,304], "src": [48,80], "f": 0, "t": 163, "d": [127,632], "a": 1 }, + { "px": [400,304], "src": [48,80], "f": 0, "t": 163, "d": [127,633], "a": 1 }, + { "px": [416,304], "src": [48,80], "f": 0, "t": 163, "d": [127,634], "a": 1 }, + { "px": [432,304], "src": [48,80], "f": 0, "t": 163, "d": [127,635], "a": 1 }, + { "px": [448,304], "src": [48,80], "f": 0, "t": 163, "d": [127,636], "a": 1 }, + { "px": [464,304], "src": [48,80], "f": 0, "t": 163, "d": [127,637], "a": 1 }, + { "px": [480,304], "src": [48,80], "f": 0, "t": 163, "d": [127,638], "a": 1 }, + { "px": [496,304], "src": [48,80], "f": 0, "t": 163, "d": [127,639], "a": 1 }, + { "px": [160,32], "src": [96,64], "f": 0, "t": 134, "d": [116,74], "a": 1 }, + { "px": [176,32], "src": [96,64], "f": 0, "t": 134, "d": [116,75], "a": 1 }, + { "px": [192,32], "src": [160,160], "f": 0, "t": 330, "d": [116,76], "a": 1 }, + { "px": [112,48], "src": [160,160], "f": 0, "t": 330, "d": [116,103], "a": 1 }, + { "px": [128,48], "src": [96,64], "f": 0, "t": 134, "d": [116,104], "a": 1 }, + { "px": [224,64], "src": [96,64], "f": 0, "t": 134, "d": [116,142], "a": 1 }, + { "px": [240,64], "src": [160,160], "f": 0, "t": 330, "d": [116,143], "a": 1 }, + { "px": [256,64], "src": [160,160], "f": 0, "t": 330, "d": [116,144], "a": 1 }, + { "px": [272,64], "src": [160,160], "f": 0, "t": 330, "d": [116,145], "a": 1 }, + { "px": [288,64], "src": [160,160], "f": 0, "t": 330, "d": [116,146], "a": 1 }, + { "px": [368,96], "src": [96,64], "f": 0, "t": 134, "d": [116,215], "a": 1 }, + { "px": [384,96], "src": [160,160], "f": 0, "t": 330, "d": [116,216], "a": 1 }, + { "px": [400,96], "src": [96,64], "f": 0, "t": 134, "d": [116,217], "a": 1 }, + { "px": [416,96], "src": [96,64], "f": 0, "t": 134, "d": [116,218], "a": 1 }, + { "px": [432,96], "src": [96,64], "f": 0, "t": 134, "d": [116,219], "a": 1 }, + { "px": [320,144], "src": [96,64], "f": 0, "t": 134, "d": [116,308], "a": 1 }, + { "px": [336,144], "src": [160,160], "f": 0, "t": 330, "d": [116,309], "a": 1 }, + { "px": [128,112], "src": [96,96], "f": 0, "t": 198, "d": [119,232], "a": 1 }, + { "px": [144,112], "src": [96,96], "f": 0, "t": 198, "d": [119,233], "a": 1 }, + { "px": [240,144], "src": [160,128], "f": 0, "t": 266, "d": [119,303], "a": 1 }, + { "px": [448,144], "src": [96,96], "f": 0, "t": 198, "d": [119,316], "a": 1 }, + { "px": [96,208], "src": [96,96], "f": 0, "t": 198, "d": [119,422], "a": 1 }, + { "px": [288,208], "src": [160,128], "f": 0, "t": 266, "d": [119,434], "a": 1 }, + { "px": [304,208], "src": [96,96], "f": 0, "t": 198, "d": [119,435], "a": 1 }, + { "px": [320,208], "src": [96,96], "f": 0, "t": 198, "d": [119,436], "a": 1 }, + { "px": [336,208], "src": [160,128], "f": 0, "t": 266, "d": [119,437], "a": 1 }, + { "px": [352,208], "src": [160,128], "f": 0, "t": 266, "d": [119,438], "a": 1 }, + { "px": [368,208], "src": [96,96], "f": 0, "t": 198, "d": [119,439], "a": 1 }, + { "px": [384,208], "src": [160,128], "f": 0, "t": 266, "d": [119,440], "a": 1 }, + { "px": [400,208], "src": [96,96], "f": 0, "t": 198, "d": [119,441], "a": 1 }, + { "px": [416,208], "src": [96,96], "f": 0, "t": 198, "d": [119,442], "a": 1 }, + { "px": [432,208], "src": [160,128], "f": 0, "t": 266, "d": [119,443], "a": 1 }, + { "px": [128,224], "src": [160,128], "f": 0, "t": 266, "d": [119,456], "a": 1 }, + { "px": [144,224], "src": [96,96], "f": 0, "t": 198, "d": [119,457], "a": 1 }, + { "px": [160,224], "src": [160,128], "f": 0, "t": 266, "d": [119,458], "a": 1 }, + { "px": [176,224], "src": [96,96], "f": 0, "t": 198, "d": [119,459], "a": 1 }, + { "px": [240,256], "src": [160,128], "f": 0, "t": 266, "d": [119,527], "a": 1 }, + { "px": [80,80], "src": [80,80], "f": 0, "t": 165, "d": [120,165], "a": 1 }, + { "px": [80,96], "src": [80,80], "f": 0, "t": 165, "d": [120,197], "a": 1 }, + { "px": [352,112], "src": [80,80], "f": 0, "t": 165, "d": [120,246], "a": 1 }, + { "px": [64,128], "src": [176,144], "f": 0, "t": 299, "d": [120,260], "a": 1 }, + { "px": [352,128], "src": [176,144], "f": 0, "t": 299, "d": [120,278], "a": 1 }, + { "px": [64,160], "src": [80,80], "f": 0, "t": 165, "d": [120,324], "a": 1 }, + { "px": [128,160], "src": [176,144], "f": 0, "t": 299, "d": [120,328], "a": 1 }, + { "px": [80,192], "src": [80,80], "f": 0, "t": 165, "d": [120,389], "a": 1 }, + { "px": [224,240], "src": [176,144], "f": 0, "t": 299, "d": [120,494], "a": 1 }, + { "px": [208,48], "src": [112,80], "f": 0, "t": 167, "d": [121,109], "a": 1 }, + { "px": [320,96], "src": [112,80], "f": 0, "t": 167, "d": [121,212], "a": 1 }, + { "px": [320,112], "src": [144,144], "f": 0, "t": 297, "d": [121,244], "a": 1 }, + { "px": [112,128], "src": [112,80], "f": 0, "t": 167, "d": [121,263], "a": 1 }, + { "px": [464,128], "src": [144,144], "f": 0, "t": 297, "d": [121,285], "a": 1 }, + { "px": [112,144], "src": [144,144], "f": 0, "t": 297, "d": [121,295], "a": 1 }, + { "px": [112,160], "src": [112,80], "f": 0, "t": 167, "d": [121,327], "a": 1 }, + { "px": [432,160], "src": [144,144], "f": 0, "t": 297, "d": [121,347], "a": 1 }, + { "px": [448,192], "src": [112,80], "f": 0, "t": 167, "d": [121,412], "a": 1 }, + { "px": [272,224], "src": [112,80], "f": 0, "t": 167, "d": [121,465], "a": 1 }, + { "px": [144,32], "src": [80,64], "f": 0, "t": 133, "d": [122,73], "a": 1 }, + { "px": [96,48], "src": [80,64], "f": 0, "t": 133, "d": [122,102], "a": 1 }, + { "px": [80,64], "src": [80,64], "f": 0, "t": 133, "d": [122,133], "a": 1 }, + { "px": [352,96], "src": [80,64], "f": 0, "t": 133, "d": [122,214], "a": 1 }, + { "px": [64,112], "src": [80,64], "f": 0, "t": 133, "d": [122,228], "a": 1 }, + { "px": [144,128], "src": [80,64], "f": 0, "t": 133, "d": [122,265], "a": 1 }, + { "px": [128,144], "src": [80,64], "f": 0, "t": 133, "d": [122,296], "a": 1 }, + { "px": [208,32], "src": [112,64], "f": 0, "t": 135, "d": [123,77], "a": 1 }, + { "px": [304,64], "src": [112,64], "f": 0, "t": 135, "d": [123,147], "a": 1 }, + { "px": [320,80], "src": [112,64], "f": 0, "t": 135, "d": [123,180], "a": 1 }, + { "px": [448,96], "src": [112,64], "f": 0, "t": 135, "d": [123,220], "a": 1 }, + { "px": [464,112], "src": [112,64], "f": 0, "t": 135, "d": [123,253], "a": 1 }, + { "px": [448,176], "src": [112,64], "f": 0, "t": 135, "d": [123,380], "a": 1 }, + { "px": [320,128], "src": [112,96], "f": 0, "t": 199, "d": [135,276], "a": 1 }, + { "px": [464,144], "src": [112,96], "f": 0, "t": 199, "d": [135,317], "a": 1 }, + { "px": [448,208], "src": [112,96], "f": 0, "t": 199, "d": [135,444], "a": 1 }, + { "px": [192,224], "src": [112,96], "f": 0, "t": 199, "d": [135,460], "a": 1 }, + { "px": [272,240], "src": [112,96], "f": 0, "t": 199, "d": [135,497], "a": 1 }, + { "px": [256,256], "src": [112,96], "f": 0, "t": 199, "d": [135,528], "a": 1 }, + { "px": [64,176], "src": [80,96], "f": 0, "t": 197, "d": [134,356], "a": 1 }, + { "px": [80,208], "src": [80,96], "f": 0, "t": 197, "d": [134,421], "a": 1 }, + { "px": [112,224], "src": [80,96], "f": 0, "t": 197, "d": [134,455], "a": 1 }, + { "px": [208,224], "src": [80,96], "f": 0, "t": 197, "d": [134,461], "a": 1 }, + { "px": [224,256], "src": [80,96], "f": 0, "t": 197, "d": [134,526], "a": 1 }, + { "px": [80,176], "src": [176,128], "f": 0, "t": 267, "d": [137,357], "a": 1 }, + { "px": [112,208], "src": [176,128], "f": 0, "t": 267, "d": [137,423], "a": 1 }, + { "px": [208,208], "src": [176,128], "f": 0, "t": 267, "d": [137,429], "a": 1 }, + { "px": [224,224], "src": [176,128], "f": 0, "t": 267, "d": [137,462], "a": 1 }, + { "px": [144,48], "src": [176,160], "f": 0, "t": 331, "d": [138,105], "a": 1 }, + { "px": [96,64], "src": [176,160], "f": 0, "t": 331, "d": [138,134], "a": 1 }, + { "px": [80,112], "src": [176,160], "f": 0, "t": 331, "d": [138,229], "a": 1 }, + { "px": [160,128], "src": [176,160], "f": 0, "t": 331, "d": [138,266], "a": 1 }, + { "px": [144,144], "src": [176,160], "f": 0, "t": 331, "d": [138,297], "a": 1 }, + { "px": [256,160], "src": [176,160], "f": 0, "t": 331, "d": [138,336], "a": 1 }, + { "px": [128,176], "src": [176,160], "f": 0, "t": 331, "d": [138,360], "a": 1 }, + { "px": [304,80], "src": [144,160], "f": 0, "t": 329, "d": [139,179], "a": 1 }, + { "px": [448,112], "src": [144,160], "f": 0, "t": 329, "d": [139,252], "a": 1 }, + { "px": [112,176], "src": [144,160], "f": 0, "t": 329, "d": [139,359], "a": 1 }, + { "px": [112,112], "src": [144,128], "f": 0, "t": 265, "d": [136,231], "a": 1 }, + { "px": [304,128], "src": [144,128], "f": 0, "t": 265, "d": [136,275], "a": 1 }, + { "px": [224,144], "src": [144,128], "f": 0, "t": 265, "d": [136,302], "a": 1 }, + { "px": [432,144], "src": [144,128], "f": 0, "t": 265, "d": [136,315], "a": 1 }, + { "px": [192,208], "src": [144,128], "f": 0, "t": 265, "d": [136,428], "a": 1 }, + { "px": [272,208], "src": [144,128], "f": 0, "t": 265, "d": [136,433], "a": 1 }, + { "px": [256,240], "src": [144,128], "f": 0, "t": 265, "d": [136,496], "a": 1 }, + { "px": [272,144], "src": [272,80], "f": 0, "t": 177, "d": [143,305], "a": 1 }, + { "px": [288,144], "src": [288,80], "f": 0, "t": 178, "d": [143,306], "a": 1 }, + { "px": [368,144], "src": [288,80], "f": 0, "t": 178, "d": [143,311], "a": 1 }, + { "px": [176,112], "src": [304,80], "f": 0, "t": 179, "d": [128,235], "a": 1 }, + { "px": [80,144], "src": [304,80], "f": 0, "t": 179, "d": [128,293], "a": 1 }, + { "px": [384,144], "src": [192,80], "f": 0, "t": 172, "d": [128,312], "a": 1 }, + { "px": [416,176], "src": [256,80], "f": 0, "t": 176, "d": [129,378], "a": 1 }, + { "px": [160,176], "src": [224,48], "f": 0, "t": 110, "d": [130,362], "a": 1 }, + { "px": [208,80], "src": [224,96], "f": 0, "t": 206, "d": [131,173], "a": 1 }, + { "px": [208,176], "src": [176,96], "f": 0, "t": 203, "d": [131,365], "a": 1 }, + { "px": [240,176], "src": [224,96], "f": 0, "t": 206, "d": [131,367], "a": 1 }, + { "px": [160,192], "src": [224,96], "f": 0, "t": 206, "d": [131,394], "a": 1 }, + { "px": [208,160], "src": [368,128], "f": 0, "t": 279, "d": [166,333], "a": 1 }, + { "px": [304,144], "src": [304,144], "f": 0, "t": 307, "d": [153,307], "a": 1 }, + { "px": [224,160], "src": [304,144], "f": 0, "t": 307, "d": [153,334], "a": 1 }, + { "px": [432,176], "src": [304,144], "f": 0, "t": 307, "d": [153,379], "a": 1 }, + { "px": [352,144], "src": [320,144], "f": 0, "t": 308, "d": [156,310], "a": 1 }, + { "px": [160,112], "src": [320,160], "f": 0, "t": 340, "d": [157,234], "a": 1 }, + { "px": [256,144], "src": [320,160], "f": 0, "t": 340, "d": [157,304], "a": 1 }, + { "px": [208,64], "src": [240,160], "f": 0, "t": 335, "d": [169,141], "a": 1 }, + { "px": [64,144], "src": [64,144], "f": 0, "t": 292, "d": [147,292], "a": 1 }, + { "px": [240,160], "src": [48,160], "f": 0, "t": 323, "d": [144,335], "a": 1 } + ], + "seed": 4349265, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] + } + ], + "worlds": [], + "dummyWorldIid": "2386d810-3b70-11ee-a3da-03408e784b6a" +} \ No newline at end of file diff --git a/assets/shaders/darkness.wgsl b/assets/shaders/darkness.wgsl new file mode 100644 index 0000000..2b3a37a --- /dev/null +++ b/assets/shaders/darkness.wgsl @@ -0,0 +1,88 @@ +#import bevy_pbr::mesh_vertex_output MeshVertexOutput +#import bevy_sprite::mesh2d_view_bindings globals + +struct DarknessMaterial { + color: vec4, +}; + +struct PointLight { + position: vec2, + radius: f32, +} + +struct SpotLight { + position: vec2, + radius: f32, + rotation: f32, + angle: f32, + padding1: u32, + padding2: u32, + padding3: u32, +} + +@group(1) @binding(0) +var material: DarknessMaterial; + +@group(1) @binding(1) +var point_light_count: i32; + +@group(1) @binding(2) +var point_lights: array; + +@group(1) @binding(3) +var spot_light_count: i32; + +@group(1) @binding(4) +var spot_lights: array; + +@fragment +fn fragment( + mesh: MeshVertexOutput, +) -> @location(0) vec4 { + let color = material.color; + let pos = mesh.world_position.xy; + let t = globals.time; + let light_edge = 6.0; + let light_edge_mult = 0.8; + + var bright_light = 0.0; + var dim_light = 0.0; + + for (var i: i32 = 0; i < point_light_count; i++) { + if (point_lights[i].radius <= 0.0) { + continue; + } + let radius = point_lights[i].radius + sin(t * 5.0) * 0.2; + + let dist = distance(pos, point_lights[i].position); + let edge_treshold = radius * light_edge_mult - light_edge; + let edge_dist = max(dist - edge_treshold, 0.0); + bright_light = bright_light + step(dist, edge_treshold); + bright_light = bright_light + 1.0 / edge_dist; + dim_light = dim_light + step(dist, radius); + dim_light = dim_light + 1.0 / max(dist - radius, 0.0); + } + + for (var i: i32 = 0; i < spot_light_count; i++) { + if (spot_lights[i].radius <= 0.0 || spot_lights[i].angle <= 0.0) { + continue; + } + let spot = spot_lights[i]; + let radius = spot.radius + sin(t * 5.0) * 0.2; + let diff = pos - spot.position; + let dist = length(diff); + let spot_dir = vec2(cos(spot.rotation), sin(spot.rotation)); + let angle_diff = acos(dot(spot_dir, normalize(diff))); + + let edge_treshold = radius * light_edge_mult - light_edge; + let edge_dist = max(dist - edge_treshold, 0.0); + let angle_mult = step(angle_diff, spot.angle / 2.0); + bright_light = bright_light + step(dist, edge_treshold) * angle_mult; + dim_light = dim_light + step(dist, radius) * angle_mult; + } + + let edge1 = step(bright_light, 0.75); + let edge2 = step(dim_light, 0.75) * 0.5 + 0.5; + + return vec4(color.rgb, color.a * edge1 * (edge2 * 0.5 + 0.5)); +} diff --git a/assets/sprites/adventurers.aseprite b/assets/sprites/adventurers.aseprite new file mode 100644 index 0000000..9675453 Binary files /dev/null and b/assets/sprites/adventurers.aseprite differ diff --git a/assets/sprites/adventurers.png b/assets/sprites/adventurers.png new file mode 100644 index 0000000..a4e5792 Binary files /dev/null and b/assets/sprites/adventurers.png differ diff --git a/assets/sprites/dungeon1.aseprite b/assets/sprites/dungeon1.aseprite new file mode 100644 index 0000000..f196787 Binary files /dev/null and b/assets/sprites/dungeon1.aseprite differ diff --git a/assets/sprites/dungeon1.png b/assets/sprites/dungeon1.png new file mode 100644 index 0000000..e058a0d Binary files /dev/null and b/assets/sprites/dungeon1.png differ diff --git a/assets/sprites/enemies.aseprite b/assets/sprites/enemies.aseprite new file mode 100644 index 0000000..f7bff64 Binary files /dev/null and b/assets/sprites/enemies.aseprite differ diff --git a/assets/sprites/enemies.png b/assets/sprites/enemies.png new file mode 100644 index 0000000..c23766c Binary files /dev/null and b/assets/sprites/enemies.png differ diff --git a/src/debug.rs b/src/debug.rs new file mode 100644 index 0000000..b799b87 --- /dev/null +++ b/src/debug.rs @@ -0,0 +1,47 @@ +use bevy::prelude::*; +use bevy_prototype_debug_lines::DebugLinesPlugin; + +pub struct DebugPlugin; + +#[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] +pub struct DebugSet; + +impl Plugin for DebugPlugin { + fn build(&self, app: &mut App) { + app.configure_set(Last, DebugSet.run_if(is_debug_enabled)); + + app.insert_resource(DebugMode::off()) + .add_plugins(( + bevy_inspector_egui::quick::WorldInspectorPlugin::new().run_if(is_debug_enabled), + bevy_rapier2d::prelude::RapierDebugRenderPlugin::default(), + )) + .add_plugins(DebugLinesPlugin::default()) + .add_systems(Update, debug_toggle); + } +} + +#[derive(Reflect, Resource, Default)] +#[reflect(Resource)] +pub struct DebugMode { + pub enabled: bool, +} + +impl DebugMode { + pub fn on() -> Self { + Self { enabled: true } + } + + pub fn off() -> Self { + Self { enabled: false } + } +} + +fn is_debug_enabled(debug_mode: Res) -> bool { + debug_mode.enabled +} + +fn debug_toggle(input: Res>, mut debug_mode: ResMut) { + if input.just_pressed(KeyCode::P) { + debug_mode.enabled = !debug_mode.enabled + } +} diff --git a/src/game.rs b/src/game.rs new file mode 100644 index 0000000..4c5eaeb --- /dev/null +++ b/src/game.rs @@ -0,0 +1,40 @@ +use crate::{debug, game_setup}; +use bevy::prelude::*; +use bevy_ecs_ldtk::{LdtkWorldBundle, LevelSelection}; + +use self::darkness::SpotLight2D; + +pub mod camera; +pub mod darkness; +pub mod ldtk; + +pub fn init(app: &mut App) { + app.insert_resource(LevelSelection::Index(0)) + .add_plugins(( + game_setup::GameSetupPlugin, + bevy_rapier2d::prelude::RapierPhysicsPlugin::::default(), + ldtk::LdtkHelperPlugin, + darkness::DarknessPlugin, + camera::GameCameraPlugin, + debug::DebugPlugin, + )) + .add_systems(Startup, setup); +} + +fn setup(mut commands: Commands, assets: Res) { + commands.spawn(LdtkWorldBundle { + ldtk_handle: assets.load("levels/world.ldtk"), + ..default() + }); + + commands.spawn(( + Name::new("Spot light"), + SpatialBundle::from_transform(Transform::from_xyz(32.0, 31.0, 0.0).with_rotation( + Quat::from_euler(EulerRot::YXZ, 0.0, 0.0, f32::to_radians(-90.0)), + )), + SpotLight2D { + radius: 100.0, + angle: 1.0, + }, + )); +} diff --git a/src/game/camera.rs b/src/game/camera.rs new file mode 100644 index 0000000..6543d3d --- /dev/null +++ b/src/game/camera.rs @@ -0,0 +1,246 @@ +use crate::util::{move_towards_vec3, vec3_lerp}; +use bevy::input::mouse::{MouseScrollUnit, MouseWheel}; +use bevy::prelude::*; +use bevy::render::camera::ScalingMode; +use bevy::{input::mouse::MouseMotion, transform::TransformSystem}; +use bevy_ecs_ldtk::prelude::*; + +use super::darkness::{PointLight2D, SpotLight2D}; + +pub struct GameCameraPlugin; + +impl Plugin for GameCameraPlugin { + fn build(&self, app: &mut App) { + app.configure_set( + PostUpdate, + CameraSystem.before(TransformSystem::TransformPropagate), + ) + .register_type::() + .register_type::() + .add_systems(Startup, camera_setup) + .add_systems(Update, control_light) + .add_systems( + PostUpdate, + (follow_detach_system, follow_system, free_system).in_set(CameraSystem), + ) + .add_systems( + PostUpdate, + room_restraint + .after(CameraSystem) + .before(TransformSystem::TransformPropagate), + ); + } +} + +#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, SystemSet)] +pub struct CameraSystem; + +#[derive(Clone, Copy, PartialEq, Reflect)] +pub enum FollowMovement { + Instant, + Linear(f32), + Smooth(f32), +} + +impl Default for FollowMovement { + fn default() -> Self { + Self::Instant + } +} + +#[derive(Default, Reflect, PartialEq)] +pub enum CameraMode { + #[default] + Free, + Follow, +} + +#[derive(Default, Component, Reflect)] +#[reflect(Component)] +pub struct GameCamera { + pub mode: CameraMode, +} + +#[derive(Default, Component, Reflect)] +#[reflect(Component)] +pub struct CameraFollow { + pub target: Option, + pub movement: FollowMovement, +} + +#[derive(Default, Component)] +pub struct CameraRoomRestraint; + +fn camera_setup(mut commands: Commands) { + commands.spawn(( + Name::new("Game Camera"), + Camera2dBundle { + projection: OrthographicProjection { + scaling_mode: ScalingMode::AutoMax { + max_width: 256.0, + max_height: 160.0, + }, + ..default() + }, + camera_2d: Camera2d { + clear_color: bevy::core_pipeline::clear_color::ClearColorConfig::Custom( + Color::rgb(0.0, 0.0, 0.0), + ), + }, + transform: Transform::from_xyz(0.0, 0.0, 999.9), + ..default() + }, + GameCamera::default(), + Visibility::default(), + ComputedVisibility::default(), + CameraRoomRestraint, + PointLight2D { radius: 30.0 }, + )); +} + +fn follow_detach_system( + mouse_input: Res>, + mut mouse_events: EventReader, + mut camera_query: Query<&mut GameCamera>, +) { + let raw_mouse_motion: Vec2 = mouse_events.iter().map(|e| e.delta).sum(); + for mut camera in camera_query.iter_mut() { + if camera.mode != CameraMode::Free + && mouse_input.pressed(MouseButton::Middle) + && raw_mouse_motion != Vec2::ZERO + { + camera.mode = CameraMode::Free + } + } +} + +fn free_system( + mut free_query: Query<(&mut Transform, &GameCamera, &OrthographicProjection)>, + mut mouse_events: EventReader, + mouse_input: Res>, +) { + let raw_mouse_motion: Vec2 = mouse_events.iter().map(|e| e.delta).sum(); + for (mut transform, camera, projection) in free_query.iter_mut() { + if camera.mode == CameraMode::Free { + let mouse_motion = raw_mouse_motion * projection.scale * Vec2::new(-1.0, 1.0); + if mouse_input.pressed(MouseButton::Middle) { + input_movement(&mut transform, mouse_motion) + } + } + } +} + +fn follow_system( + time: Res