From 648729b2529a01bc0bc091fc459f6a4a23b833d7 Mon Sep 17 00:00:00 2001 From: Zicklag Date: Sat, 24 Sep 2022 15:36:24 -0500 Subject: [PATCH 001/222] Bootstrap Bevy Game Include lots of boilerplate from Punchy. --- ARCHITECTURE.md | 19 - Cargo.lock | 5428 +++++++++++++++-- Cargo.toml | 40 +- PACKAGING.md | 53 +- assets/sounds/.DS_Store | Bin 6148 -> 0 bytes config.toml | 30 - core/Cargo.toml | 19 - core/src/channel.rs | 15 - core/src/config.rs | 55 - core/src/data.rs | 149 - core/src/error.rs | 254 - core/src/input/mapping.rs | 631 -- core/src/input/mod.rs | 133 - core/src/json/helpers.rs | 208 - core/src/json/math.rs | 410 -- core/src/json/mod.rs | 7 - core/src/json/render.rs | 85 - core/src/lib.rs | 22 - core/src/math.rs | 250 - core/src/network/api.rs | 74 - core/src/network/event.rs | 38 - core/src/network/message.rs | 15 - core/src/network/mod.rs | 87 - core/src/network/status.rs | 50 - core/src/noise.rs | 128 - core/src/text.rs | 89 - core/src/transform.rs | 22 - .../bevy-has-load-progress/macros/src/lib.rs | 111 + crates/bevy-has-load-progress/src/lib.rs | 123 + crates/jumpy/assets/default.game.yaml | 8 + .../jumpy/assets/locales/en-US/en-US.ftl.yml | 3 + .../jumpy/assets/locales/en-US/main.ftl | 0 .../jumpy/assets/locales/fr-FR/fr-FR.ftl.yml | 3 + crates/jumpy/assets/locales/fr-FR/main.ftl | 0 crates/jumpy/src/assets.rs | 88 + crates/jumpy/src/config.rs | 147 + crates/jumpy/src/input.rs | 23 + crates/jumpy/src/loading.rs | 288 + crates/jumpy/src/localization.rs | 106 + crates/jumpy/src/main.rs | 87 + crates/jumpy/src/metadata.rs | 20 + crates/jumpy/src/metadata/localization.rs | 21 + crates/jumpy/src/platform.rs | 444 ++ crates/jumpy/src/prelude.rs | 3 + crates/jumpy/src/scripting.rs | 15 + crates/jumpy/src/scripting/ops.rs | 5 + justfile | 31 + mods/active_mods.json | 4 - mods/test_mod_one/jumpy_mod.json | 7 - mods/test_mod_two/jumpy_mod.json | 13 - {assets => old_assets}/decoration.json | 0 .../decoration/anemones.json | 0 .../decoration/seaweed.json | 0 {assets => old_assets}/images.json | 0 {assets => old_assets}/images.schema.json | 0 {assets => old_assets}/items.json | 0 {assets => old_assets}/items/blunderbass.json | 0 {assets => old_assets}/items/blunderbuss.json | 0 {assets => old_assets}/items/bonnet_hat.json | 0 {assets => old_assets}/items/bucket_hat.json | 0 {assets => old_assets}/items/cannon.json | 0 {assets => old_assets}/items/chefs_hat.json | 0 {assets => old_assets}/items/chest_hat.json | 0 {assets => old_assets}/items/cowboy_hat.json | 0 {assets => old_assets}/items/crate.json | 0 {assets => old_assets}/items/crown_hat.json | 0 {assets => old_assets}/items/grenades.json | 0 {assets => old_assets}/items/kick_bomb.json | 0 {assets => old_assets}/items/machine_gun.json | 0 {assets => old_assets}/items/mines.json | 0 {assets => old_assets}/items/musket.json | 0 {assets => old_assets}/items/pirate_hat.json | 0 .../items/sniper_rifle.json | 0 {assets => old_assets}/items/starfish.json | 0 .../items/starfish_launcher.json | 0 {assets => old_assets}/items/sword.json | 0 {assets => old_assets}/items/trident.json | 0 .../items/turtle_shell.json | 0 {assets => old_assets}/maps.json | 0 {assets => old_assets}/maps.schema.json | 0 {assets => old_assets}/maps/lev01.json | 0 {assets => old_assets}/maps/lev01.png | Bin {assets => old_assets}/maps/lev02.json | 0 {assets => old_assets}/maps/lev02.png | Bin {assets => old_assets}/maps/lev03.json | 0 {assets => old_assets}/maps/lev03.png | Bin {assets => old_assets}/maps/lev04.json | 0 {assets => old_assets}/maps/lev04.png | Bin {assets => old_assets}/maps/lev05.json | 0 {assets => old_assets}/maps/lev05.png | Bin {assets => old_assets}/maps/lev06.json | 0 {assets => old_assets}/maps/lev06.png | Bin {assets => old_assets}/maps/lev07.json | 0 {assets => old_assets}/maps/lev07.png | Bin {assets => old_assets}/maps/no_preview.png | Bin {assets => old_assets}/maps/test_level.json | 0 {assets => old_assets}/maps/test_level.png | Bin {assets => old_assets}/maps/zyrafa01.json | 0 {assets => old_assets}/maps/zyrafa01.png | Bin {assets => old_assets}/maps/zyrafa02.json | 0 {assets => old_assets}/maps/zyrafa02.png | Bin {assets => old_assets}/maps/zyrafa03.json | 0 {assets => old_assets}/maps/zyrafa03.png | Bin {assets => old_assets}/maps/zyrafa04.json | 0 {assets => old_assets}/maps/zyrafa04.png | Bin {assets => old_assets}/maps/zyrafa05.json | 0 {assets => old_assets}/maps/zyrafa05.png | Bin {assets => old_assets}/maps/zyrafa06.json | 0 {assets => old_assets}/maps/zyrafa06.png | Bin {assets => old_assets}/music.json | 0 .../music/across_the_pond.ogg | Bin {assets => old_assets}/music/ahoy!.ogg | Bin .../music/bait_the_hook.ogg | Bin .../music/fish_and_ships.ogg | Bin {assets => old_assets}/music/fish_bowl.ogg | Bin {assets => old_assets}/music/fish_tide.ogg | Bin {assets => old_assets}/music/fishsticks.ogg | Bin .../music/krill_or_be_krilled.ogg | Bin .../music/thanks_for_all_the_fished.ogg | Bin {assets => old_assets}/music/whale_theme.ogg | Bin {assets => old_assets}/particle_effects.json | 0 .../blunderbuss_bullet_smoke.json | 0 .../blunderbuss_muzzle_smoke.json | 0 .../cannon_cannonball_smoke.json | 0 .../particle_effects/empty.json | 0 .../particle_effects/explosion.json | 0 .../particle_effects/explosion_fire.json | 0 .../particle_effects/explosion_particles.json | 0 .../particle_effects/grenades_smoke.json | 0 .../particle_effects/hit.json | 0 .../particle_effects/kick_bomb_smoke.json | 0 .../particle_effects/life_ui_explosion.json | 0 .../machine_gun_firing_smoke.json | 0 .../machine_gun_muzzle_smoke.json | 0 .../particle_effects/musket_bullet_smoke.json | 0 .../particle_effects/musket_muzzle_smoke.json | 0 .../particle_effects/smoke.json | 0 .../sniper_rifle_bullet_smoke.json | 0 .../sniper_rifle_muzzle_smoke.json | 0 {assets => old_assets}/player_characters.json | 0 .../player_characters.schema.json | 0 {assets => old_assets}/sounds.json | 0 {assets => old_assets}/sounds/blaster.wav | Bin .../sounds/bullet_hit_dull.wav | Bin .../sounds/bullet_hit_metal.wav | Bin {assets => old_assets}/sounds/explode_m.wav | Bin {assets => old_assets}/sounds/fish_fillet.wav | Bin {assets => old_assets}/sounds/gun_empty.wav | Bin {assets => old_assets}/sounds/gun_empty_b.wav | Bin {assets => old_assets}/sounds/jump.wav | Bin {assets => old_assets}/sounds/land.wav | Bin {assets => old_assets}/sounds/land_heavy.wav | Bin {assets => old_assets}/sounds/land_light.wav | Bin {assets => old_assets}/sounds/mine_set.wav | Bin {assets => old_assets}/sounds/pickup.wav | Bin {assets => old_assets}/sounds/shoot.ogg | Bin {assets => old_assets}/sounds/slip.wav | Bin {assets => old_assets}/sounds/swing.wav | Bin {assets => old_assets}/sounds/sword.wav | Bin {assets => old_assets}/sounds/throw.wav | Bin {assets => old_assets}/textures.json | 0 {assets => old_assets}/textures.schema.json | 0 .../textures/explosions/Big(176x144).png | Bin .../textures/explosions/Medium(144x112).png | Bin .../textures/explosions/Small(112x80).png | Bin .../items/ArabianAngelfish(19x12).png | Bin .../items/BandedButterflyFish(19x11).png | Bin .../items/BlueGreenChromis(22x11).png | Bin .../textures/items/BlueTang(19x9).png | Bin .../textures/items/Blunderbass(68x24).png | Bin .../textures/items/Blunderbuss(65x25).png | Bin .../textures/items/BlunderbussBullet.png | Bin .../textures/items/Boots(32x32).png | Bin .../textures/items/Cannon(64x48).png | Bin .../textures/items/CannonBall(17x17).png | Bin .../textures/items/Crab(17x12).png | Bin .../textures/items/Crate(36x31).png | Bin .../textures/items/Curse(30x44).png | Bin .../textures/items/FishSchoolIcon(64x64).png | Bin .../textures/items/Flippers(45x36).png | Bin .../textures/items/Flippers(65x45).png | Bin .../textures/items/Grenades(25x52).png | Bin .../textures/items/Jellyfish(64x112).png | Bin .../textures/items/KickBomb(32x64).png | Bin .../textures/items/MachineGun(80x24).png | Bin .../textures/items/MachineGunBullet(7x4).png | Bin .../textures/items/Mines(33x35).png | Bin .../textures/items/Musket(92x32).png | Bin .../textures/items/MusketBullet(15x15).png | Bin .../textures/items/RoyalGramma(25x11).png | Bin .../textures/items/Seaweed(48x51).png | Bin .../textures/items/SmallFish1(13x9).png | Bin .../textures/items/SmallFish2(13x9).png | Bin .../textures/items/SmallFish3(13x9).png | Bin .../textures/items/SmallProjectile(8x4).png | Bin .../textures/items/SniperRifle(112x32).png | Bin .../textures/items/SniperRifle(92x32).png | Bin .../textures/items/SniperRifleBullet(7x7).png | Bin .../textures/items/SniperRifleBullet.png | Bin .../textures/items/Sproinger(31x20).png | Bin .../textures/items/StarFish(19x18).png | Bin .../items/StarfishLauncher(37x20).png | Bin .../textures/items/Sword(65x93).png | Bin .../textures/items/Trident(288x96).png | Bin .../textures/items/TurtleShell(32x32).png | Bin .../textures/items/hats/bonnet hat.png | Bin .../textures/items/hats/bow hat.png | Bin .../textures/items/hats/bucket hat.png | Bin .../textures/items/hats/chef's hat.png | Bin .../textures/items/hats/chest hat.png | Bin .../textures/items/hats/cowboy hat.png | Bin .../textures/items/hats/crown hat.png | Bin .../items/hats/diving goggles hat.png | Bin .../textures/items/hats/fisherman hat.png | Bin .../textures/items/hats/octopus hat.png | Bin .../textures/items/hats/pineapple hat.png | Bin .../textures/items/hats/pirate hat.png | Bin .../textures/items/hats/pot hat.png | Bin .../textures/items/hats/pufferfish hat.png | Bin .../textures/items/hats/spicy lobster hat.png | Bin .../textures/items/hats/straw hat.png | Bin .../textures/items/hats/topper hat.png | Bin .../textures/items/hats/unicorn hat.png | Bin .../textures/items/hats/viking hat.png | Bin .../textures/items/hats/water lily hat.png | Bin .../textures/map/background_01.png | Bin .../textures/map/background_02.png | Bin .../textures/map/background_03.png | Bin .../textures/map/background_04.png | Bin .../textures/map/default_decoration.png | Bin .../textures/map/default_tileset.png | Bin .../particles/CrateBreaking(128x128).png | Bin .../textures/player/PlayerCatty(96x80).png | Bin .../textures/player/PlayerFishy(96x80).png | Bin .../player/PlayerLionfishy(96x80).png | Bin .../textures/player/PlayerOrcy(96x80).png | Bin .../textures/player/PlayerPescy(96x80).png | Bin .../textures/player/PlayerSharky(96x80).png | Bin .../textures/temp/Cannonball(32x36).png | Bin .../textures/temp/Galleon(326x300).png | Bin .../textures/temp/GalleonIcon(32x29).png | Bin .../textures/temp/LifeRing.png | Bin .../textures/temp/README.md | 0 .../textures/temp/Shark(60x220).png | Bin .../textures/temp/SharkIcon(32x34).png | Bin .../textures/temp/Volcano(395x100).png | Bin .../textures/temp/VolcanoIcon(36x22).png | Bin .../textures/ui/editor_icons/Cursor.png | Bin .../textures/ui/editor_icons/Eraser.png | Bin .../textures/ui/editor_icons/Object.png | Bin .../ui/editor_icons/Pointer and Map.png | Bin .../textures/ui/editor_icons/Pointer.png | Bin .../textures/ui/editor_icons/Tile.png | Bin .../textures/ui/editor_icons/no_icon.png | Bin .../textures/ui/editor_icons/visibility.png | Bin .../ui/editor_icons/visibility_off.png | Bin {assets => old_assets}/tiled_maps/.gitignore | 0 {assets => old_assets}/tiled_maps/README.md | 0 {assets => old_assets}/tiled_maps/lev01.json | 0 {assets => old_assets}/tiled_maps/lev01.png | Bin {assets => old_assets}/tiled_maps/lev02.json | 0 {assets => old_assets}/tiled_maps/lev02.png | Bin {assets => old_assets}/tiled_maps/lev03.json | 0 {assets => old_assets}/tiled_maps/lev03.png | Bin {assets => old_assets}/tiled_maps/lev04.json | 0 {assets => old_assets}/tiled_maps/lev04.png | Bin {assets => old_assets}/tiled_maps/lev05.json | 0 {assets => old_assets}/tiled_maps/lev05.png | Bin {assets => old_assets}/tiled_maps/lev06.json | 0 {assets => old_assets}/tiled_maps/lev06.png | Bin .../tiled_maps/levels.tiled-project | 0 .../tiled_maps/no_preview.png | Bin .../tiled_maps/test_level.json | 0 .../tiled_maps/test_level.png | Bin .../tiled_maps/zyrafa01.json | 0 .../tiled_maps/zyrafa01.png | Bin .../tiled_maps/zyrafa02.json | 0 .../tiled_maps/zyrafa02.png | Bin .../tiled_maps/zyrafa03.json | 0 .../tiled_maps/zyrafa03.png | Bin .../tiled_maps/zyrafa04.json | 0 .../tiled_maps/zyrafa04.png | Bin .../tiled_maps/zyrafa05.json | 0 .../tiled_maps/zyrafa05.png | Bin .../tiled_maps/zyrafa06.json | 0 .../tiled_maps/zyrafa06.png | Bin .../ui/AnonymousPro-Regular.ttf | Bin {assets => old_assets}/ui/MinimalPixel v2.ttf | Bin .../ui/Wood and Paper UI/Big Banner/1.png | Bin .../ui/Wood and Paper UI/Big Banner/10.png | Bin .../ui/Wood and Paper UI/Big Banner/11.png | Bin .../ui/Wood and Paper UI/Big Banner/12.png | Bin .../ui/Wood and Paper UI/Big Banner/13.png | Bin .../ui/Wood and Paper UI/Big Banner/14.png | Bin .../ui/Wood and Paper UI/Big Banner/15.png | Bin .../ui/Wood and Paper UI/Big Banner/16.png | Bin .../ui/Wood and Paper UI/Big Banner/17.png | Bin .../ui/Wood and Paper UI/Big Banner/18.png | Bin .../ui/Wood and Paper UI/Big Banner/19.png | Bin .../ui/Wood and Paper UI/Big Banner/2.png | Bin .../ui/Wood and Paper UI/Big Banner/20.png | Bin .../ui/Wood and Paper UI/Big Banner/21.png | Bin .../ui/Wood and Paper UI/Big Banner/22.png | Bin .../ui/Wood and Paper UI/Big Banner/23.png | Bin .../ui/Wood and Paper UI/Big Banner/24.png | Bin .../ui/Wood and Paper UI/Big Banner/25.png | Bin .../ui/Wood and Paper UI/Big Banner/26.png | Bin .../ui/Wood and Paper UI/Big Banner/27.png | Bin .../ui/Wood and Paper UI/Big Banner/28.png | Bin .../ui/Wood and Paper UI/Big Banner/29.png | Bin .../ui/Wood and Paper UI/Big Banner/3.png | Bin .../ui/Wood and Paper UI/Big Banner/30.png | Bin .../ui/Wood and Paper UI/Big Banner/31.png | Bin .../ui/Wood and Paper UI/Big Banner/32.png | Bin .../ui/Wood and Paper UI/Big Banner/33.png | Bin .../ui/Wood and Paper UI/Big Banner/4.png | Bin .../ui/Wood and Paper UI/Big Banner/5.png | Bin .../ui/Wood and Paper UI/Big Banner/6.png | Bin .../ui/Wood and Paper UI/Big Banner/7.png | Bin .../ui/Wood and Paper UI/Big Banner/8.png | Bin .../ui/Wood and Paper UI/Big Banner/9.png | Bin .../Big Banner/Big Banner (guide).png | Bin .../ui/Wood and Paper UI/Big Text/1.png | Bin .../ui/Wood and Paper UI/Big Text/10.png | Bin .../ui/Wood and Paper UI/Big Text/11.png | Bin .../ui/Wood and Paper UI/Big Text/12.png | Bin .../ui/Wood and Paper UI/Big Text/13.png | Bin .../ui/Wood and Paper UI/Big Text/14.png | Bin .../ui/Wood and Paper UI/Big Text/15.png | Bin .../ui/Wood and Paper UI/Big Text/16.png | Bin .../ui/Wood and Paper UI/Big Text/17.png | Bin .../ui/Wood and Paper UI/Big Text/18.png | Bin .../ui/Wood and Paper UI/Big Text/19.png | Bin .../ui/Wood and Paper UI/Big Text/2.png | Bin .../ui/Wood and Paper UI/Big Text/20.png | Bin .../ui/Wood and Paper UI/Big Text/21.png | Bin .../ui/Wood and Paper UI/Big Text/22.png | Bin .../ui/Wood and Paper UI/Big Text/23.png | Bin .../ui/Wood and Paper UI/Big Text/24.png | Bin .../ui/Wood and Paper UI/Big Text/25.png | Bin .../ui/Wood and Paper UI/Big Text/26.png | Bin .../ui/Wood and Paper UI/Big Text/27.png | Bin .../ui/Wood and Paper UI/Big Text/28.png | Bin .../ui/Wood and Paper UI/Big Text/29.png | Bin .../ui/Wood and Paper UI/Big Text/3.png | Bin .../ui/Wood and Paper UI/Big Text/30.png | Bin .../ui/Wood and Paper UI/Big Text/31.png | Bin .../ui/Wood and Paper UI/Big Text/32.png | Bin .../ui/Wood and Paper UI/Big Text/33.png | Bin .../ui/Wood and Paper UI/Big Text/34.png | Bin .../ui/Wood and Paper UI/Big Text/35.png | Bin .../ui/Wood and Paper UI/Big Text/36.png | Bin .../ui/Wood and Paper UI/Big Text/4.png | Bin .../ui/Wood and Paper UI/Big Text/5.png | Bin .../ui/Wood and Paper UI/Big Text/6.png | Bin .../ui/Wood and Paper UI/Big Text/7.png | Bin .../ui/Wood and Paper UI/Big Text/8.png | Bin .../ui/Wood and Paper UI/Big Text/9.png | Bin .../ui/Wood and Paper UI/Green Board/1.png | Bin .../ui/Wood and Paper UI/Green Board/10.png | Bin .../ui/Wood and Paper UI/Green Board/11.png | Bin .../ui/Wood and Paper UI/Green Board/12.png | Bin .../ui/Wood and Paper UI/Green Board/13.png | Bin .../ui/Wood and Paper UI/Green Board/14.png | Bin .../ui/Wood and Paper UI/Green Board/15.png | Bin .../ui/Wood and Paper UI/Green Board/16.png | Bin .../ui/Wood and Paper UI/Green Board/2.png | Bin .../ui/Wood and Paper UI/Green Board/3.png | Bin .../ui/Wood and Paper UI/Green Board/4.png | Bin .../ui/Wood and Paper UI/Green Board/5.png | Bin .../ui/Wood and Paper UI/Green Board/6.png | Bin .../ui/Wood and Paper UI/Green Board/7.png | Bin .../ui/Wood and Paper UI/Green Board/8.png | Bin .../ui/Wood and Paper UI/Green Board/9.png | Bin .../Green Board/Green Board (guide).png | Bin .../ui/Wood and Paper UI/Green Button/1.png | Bin .../ui/Wood and Paper UI/Green Button/10.png | Bin .../ui/Wood and Paper UI/Green Button/11.png | Bin .../ui/Wood and Paper UI/Green Button/12.png | Bin .../ui/Wood and Paper UI/Green Button/13.png | Bin .../ui/Wood and Paper UI/Green Button/14.png | Bin .../ui/Wood and Paper UI/Green Button/15.png | Bin .../ui/Wood and Paper UI/Green Button/16.png | Bin .../ui/Wood and Paper UI/Green Button/2.png | Bin .../ui/Wood and Paper UI/Green Button/3.png | Bin .../ui/Wood and Paper UI/Green Button/4.png | Bin .../ui/Wood and Paper UI/Green Button/5.png | Bin .../ui/Wood and Paper UI/Green Button/6.png | Bin .../ui/Wood and Paper UI/Green Button/7.png | Bin .../ui/Wood and Paper UI/Green Button/8.png | Bin .../ui/Wood and Paper UI/Green Button/9.png | Bin .../Green Button/Green Button (guide).png | Bin .../ui/Wood and Paper UI/Inventory/1.png | Bin .../ui/Wood and Paper UI/Inventory/10.png | Bin .../ui/Wood and Paper UI/Inventory/11.png | Bin .../ui/Wood and Paper UI/Inventory/12.png | Bin .../ui/Wood and Paper UI/Inventory/13.png | Bin .../ui/Wood and Paper UI/Inventory/14.png | Bin .../ui/Wood and Paper UI/Inventory/15.png | Bin .../ui/Wood and Paper UI/Inventory/16.png | Bin .../ui/Wood and Paper UI/Inventory/2.png | Bin .../ui/Wood and Paper UI/Inventory/3.png | Bin .../ui/Wood and Paper UI/Inventory/4.png | Bin .../ui/Wood and Paper UI/Inventory/5.png | Bin .../ui/Wood and Paper UI/Inventory/6.png | Bin .../ui/Wood and Paper UI/Inventory/7.png | Bin .../ui/Wood and Paper UI/Inventory/8.png | Bin .../ui/Wood and Paper UI/Inventory/9.png | Bin .../Inventory/Inventory (guide).png | Bin .../Life Bars/Big Bars/1.png | Bin .../Life Bars/Big Bars/2.png | Bin .../Life Bars/Big Bars/3.png | Bin .../Life Bars/Big Bars/4.png | Bin .../Wood and Paper UI/Life Bars/Colors/1.png | Bin .../Wood and Paper UI/Life Bars/Colors/2.png | Bin .../Wood and Paper UI/Life Bars/Colors/3.png | Bin .../Wood and Paper UI/Life Bars/Colors/4.png | Bin .../Life Bars/Medium Bars/1.png | Bin .../Life Bars/Medium Bars/2.png | Bin .../Life Bars/Medium Bars/3.png | Bin .../Life Bars/Medium Bars/4.png | Bin .../Life Bars/Medium Bars/5.png | Bin .../Life Bars/Small Bars/1.png | Bin .../Life Bars/Small Bars/2.png | Bin .../Life Bars/Small Bars/3.png | Bin .../Life Bars/Small Bars/4.png | Bin .../Life Bars/Small Bars/5.png | Bin .../Mobile Buttons Cooldown/1.png | Bin .../Mobile Buttons Cooldown/10.png | Bin .../Mobile Buttons Cooldown/11.png | Bin .../Mobile Buttons Cooldown/12.png | Bin .../Mobile Buttons Cooldown/2.png | Bin .../Mobile Buttons Cooldown/3.png | Bin .../Mobile Buttons Cooldown/4.png | Bin .../Mobile Buttons Cooldown/5.png | Bin .../Mobile Buttons Cooldown/6.png | Bin .../Mobile Buttons Cooldown/7.png | Bin .../Mobile Buttons Cooldown/8.png | Bin .../Mobile Buttons Cooldown/9.png | Bin .../Mobile Buttons/Mobile Buttons/1.png | Bin .../Mobile Buttons/Mobile Buttons/2.png | Bin .../Mobile Buttons/Mobile Buttons/3.png | Bin .../Mobile Buttons/Mobile Buttons/4.png | Bin .../Mobile Buttons/Mobile Buttons/5.png | Bin .../Mobile Buttons/Mobile Buttons/6.png | Bin .../Mobile Buttons/Mobile Buttons/7.png | Bin .../Mobile Buttons/Mobile Buttons/8.png | Bin .../ui/Wood and Paper UI/Orange Paper/1.png | Bin .../ui/Wood and Paper UI/Orange Paper/10.png | Bin .../ui/Wood and Paper UI/Orange Paper/11.png | Bin .../ui/Wood and Paper UI/Orange Paper/12.png | Bin .../ui/Wood and Paper UI/Orange Paper/13.png | Bin .../ui/Wood and Paper UI/Orange Paper/14.png | Bin .../ui/Wood and Paper UI/Orange Paper/15.png | Bin .../ui/Wood and Paper UI/Orange Paper/16.png | Bin .../ui/Wood and Paper UI/Orange Paper/2.png | Bin .../ui/Wood and Paper UI/Orange Paper/3.png | Bin .../ui/Wood and Paper UI/Orange Paper/4.png | Bin .../ui/Wood and Paper UI/Orange Paper/5.png | Bin .../ui/Wood and Paper UI/Orange Paper/6.png | Bin .../ui/Wood and Paper UI/Orange Paper/7.png | Bin .../ui/Wood and Paper UI/Orange Paper/8.png | Bin .../ui/Wood and Paper UI/Orange Paper/9.png | Bin .../Orange Paper/Orange Paper (guide).png | Bin .../ui/Wood and Paper UI/Prefabs/1.png | Bin .../ui/Wood and Paper UI/Prefabs/10.png | Bin .../ui/Wood and Paper UI/Prefabs/11.png | Bin .../ui/Wood and Paper UI/Prefabs/12.png | Bin .../ui/Wood and Paper UI/Prefabs/2.png | Bin .../ui/Wood and Paper UI/Prefabs/3.png | Bin .../ui/Wood and Paper UI/Prefabs/4.png | Bin .../ui/Wood and Paper UI/Prefabs/5.png | Bin .../ui/Wood and Paper UI/Prefabs/6.png | Bin .../ui/Wood and Paper UI/Prefabs/7.png | Bin .../ui/Wood and Paper UI/Prefabs/8.png | Bin .../ui/Wood and Paper UI/Prefabs/9.png | Bin .../ui/Wood and Paper UI/Sliders/1.png | Bin .../ui/Wood and Paper UI/Sliders/10.png | Bin .../ui/Wood and Paper UI/Sliders/2.png | Bin .../ui/Wood and Paper UI/Sliders/3.png | Bin .../ui/Wood and Paper UI/Sliders/4.png | Bin .../ui/Wood and Paper UI/Sliders/5.png | Bin .../ui/Wood and Paper UI/Sliders/6.png | Bin .../ui/Wood and Paper UI/Sliders/7.png | Bin .../ui/Wood and Paper UI/Sliders/8.png | Bin .../ui/Wood and Paper UI/Sliders/9.png | Bin .../ui/Wood and Paper UI/Small Banner/1.png | Bin .../ui/Wood and Paper UI/Small Banner/10.png | Bin .../ui/Wood and Paper UI/Small Banner/11.png | Bin .../ui/Wood and Paper UI/Small Banner/12.png | Bin .../ui/Wood and Paper UI/Small Banner/13.png | Bin .../ui/Wood and Paper UI/Small Banner/2.png | Bin .../ui/Wood and Paper UI/Small Banner/3.png | Bin .../ui/Wood and Paper UI/Small Banner/4.png | Bin .../ui/Wood and Paper UI/Small Banner/5.png | Bin .../ui/Wood and Paper UI/Small Banner/6.png | Bin .../ui/Wood and Paper UI/Small Banner/7.png | Bin .../ui/Wood and Paper UI/Small Banner/8.png | Bin .../ui/Wood and Paper UI/Small Banner/9.png | Bin .../Small Banner/Small Banner (guide).png | Bin .../Small Text/Small Icons/1.png | Bin .../Small Text/Small Icons/10.png | Bin .../Small Text/Small Icons/11.png | Bin .../Small Text/Small Icons/12.png | Bin .../Small Text/Small Icons/13.png | Bin .../Small Text/Small Icons/14.png | Bin .../Small Text/Small Icons/15.png | Bin .../Small Text/Small Icons/16.png | Bin .../Small Text/Small Icons/17.png | Bin .../Small Text/Small Icons/18.png | Bin .../Small Text/Small Icons/19.png | Bin .../Small Text/Small Icons/2.png | Bin .../Small Text/Small Icons/20.png | Bin .../Small Text/Small Icons/21.png | Bin .../Small Text/Small Icons/22.png | Bin .../Small Text/Small Icons/23.png | Bin .../Small Text/Small Icons/24.png | Bin .../Small Text/Small Icons/25.png | Bin .../Small Text/Small Icons/3.png | Bin .../Small Text/Small Icons/4.png | Bin .../Small Text/Small Icons/5.png | Bin .../Small Text/Small Icons/6.png | Bin .../Small Text/Small Icons/7.png | Bin .../Small Text/Small Icons/8.png | Bin .../Small Text/Small Icons/9.png | Bin .../Small Text/Small Text/1.png | Bin .../Small Text/Small Text/10.png | Bin .../Small Text/Small Text/11.png | Bin .../Small Text/Small Text/12.png | Bin .../Small Text/Small Text/13.png | Bin .../Small Text/Small Text/14.png | Bin .../Small Text/Small Text/15.png | Bin .../Small Text/Small Text/16.png | Bin .../Small Text/Small Text/17.png | Bin .../Small Text/Small Text/18.png | Bin .../Small Text/Small Text/19.png | Bin .../Small Text/Small Text/2.png | Bin .../Small Text/Small Text/20.png | Bin .../Small Text/Small Text/21.png | Bin .../Small Text/Small Text/22.png | Bin .../Small Text/Small Text/23.png | Bin .../Small Text/Small Text/24.png | Bin .../Small Text/Small Text/25.png | Bin .../Small Text/Small Text/26.png | Bin .../Small Text/Small Text/27.png | Bin .../Small Text/Small Text/28.png | Bin .../Small Text/Small Text/29.png | Bin .../Small Text/Small Text/3.png | Bin .../Small Text/Small Text/30.png | Bin .../Small Text/Small Text/31.png | Bin .../Small Text/Small Text/32.png | Bin .../Small Text/Small Text/33.png | Bin .../Small Text/Small Text/34.png | Bin .../Small Text/Small Text/35.png | Bin .../Small Text/Small Text/36.png | Bin .../Small Text/Small Text/37.png | Bin .../Small Text/Small Text/38.png | Bin .../Small Text/Small Text/39.png | Bin .../Small Text/Small Text/4.png | Bin .../Small Text/Small Text/40.png | Bin .../Small Text/Small Text/41.png | Bin .../Small Text/Small Text/42.png | Bin .../Small Text/Small Text/43.png | Bin .../Small Text/Small Text/44.png | Bin .../Small Text/Small Text/45.png | Bin .../Small Text/Small Text/46.png | Bin .../Small Text/Small Text/47.png | Bin .../Small Text/Small Text/48.png | Bin .../Small Text/Small Text/49.png | Bin .../Small Text/Small Text/5.png | Bin .../Small Text/Small Text/50.png | Bin .../Small Text/Small Text/51.png | Bin .../Small Text/Small Text/52.png | Bin .../Small Text/Small Text/6.png | Bin .../Small Text/Small Text/7.png | Bin .../Small Text/Small Text/8.png | Bin .../Small Text/Small Text/9.png | Bin .../Small Text/White Bar/1.png | Bin .../Small Text/White Bar/2.png | Bin .../Small Text/White Bar/3.png | Bin .../Small Text/White Bar/4.png | Bin .../ui/Wood and Paper UI/Yellow Board/1.png | Bin .../ui/Wood and Paper UI/Yellow Board/10.png | Bin .../ui/Wood and Paper UI/Yellow Board/11.png | Bin .../ui/Wood and Paper UI/Yellow Board/12.png | Bin .../ui/Wood and Paper UI/Yellow Board/13.png | Bin .../ui/Wood and Paper UI/Yellow Board/14.png | Bin .../ui/Wood and Paper UI/Yellow Board/15.png | Bin .../ui/Wood and Paper UI/Yellow Board/16.png | Bin .../ui/Wood and Paper UI/Yellow Board/2.png | Bin .../ui/Wood and Paper UI/Yellow Board/3.png | Bin .../ui/Wood and Paper UI/Yellow Board/4.png | Bin .../ui/Wood and Paper UI/Yellow Board/5.png | Bin .../ui/Wood and Paper UI/Yellow Board/6.png | Bin .../ui/Wood and Paper UI/Yellow Board/7.png | Bin .../ui/Wood and Paper UI/Yellow Board/8.png | Bin .../ui/Wood and Paper UI/Yellow Board/9.png | Bin .../Yellow Board/Yellow Board (guide).png | Bin .../ui/Wood and Paper UI/Yellow Button/1.png | Bin .../ui/Wood and Paper UI/Yellow Button/10.png | Bin .../ui/Wood and Paper UI/Yellow Button/11.png | Bin .../ui/Wood and Paper UI/Yellow Button/12.png | Bin .../ui/Wood and Paper UI/Yellow Button/13.png | Bin .../ui/Wood and Paper UI/Yellow Button/14.png | Bin .../ui/Wood and Paper UI/Yellow Button/15.png | Bin .../ui/Wood and Paper UI/Yellow Button/16.png | Bin .../ui/Wood and Paper UI/Yellow Button/2.png | Bin .../ui/Wood and Paper UI/Yellow Button/3.png | Bin .../ui/Wood and Paper UI/Yellow Button/4.png | Bin .../ui/Wood and Paper UI/Yellow Button/5.png | Bin .../ui/Wood and Paper UI/Yellow Button/6.png | Bin .../ui/Wood and Paper UI/Yellow Button/7.png | Bin .../ui/Wood and Paper UI/Yellow Button/8.png | Bin .../ui/Wood and Paper UI/Yellow Button/9.png | Bin .../Yellow Button/Yellow Button (guide).png | Bin .../ui/Wood and Paper UI/Yellow Paper/1.png | Bin .../ui/Wood and Paper UI/Yellow Paper/10.png | Bin .../ui/Wood and Paper UI/Yellow Paper/11.png | Bin .../ui/Wood and Paper UI/Yellow Paper/12.png | Bin .../ui/Wood and Paper UI/Yellow Paper/13.png | Bin .../ui/Wood and Paper UI/Yellow Paper/14.png | Bin .../ui/Wood and Paper UI/Yellow Paper/15.png | Bin .../ui/Wood and Paper UI/Yellow Paper/16.png | Bin .../ui/Wood and Paper UI/Yellow Paper/2.png | Bin .../ui/Wood and Paper UI/Yellow Paper/3.png | Bin .../ui/Wood and Paper UI/Yellow Paper/4.png | Bin .../ui/Wood and Paper UI/Yellow Paper/5.png | Bin .../ui/Wood and Paper UI/Yellow Paper/6.png | Bin .../ui/Wood and Paper UI/Yellow Paper/7.png | Bin .../ui/Wood and Paper UI/Yellow Paper/8.png | Bin .../ui/Wood and Paper UI/Yellow Paper/9.png | Bin .../Yellow Paper/Yellow Paper (guide).png | Bin {assets => old_assets}/ui/blank_image.png | Bin .../ui/button_background.png | Bin .../ui/button_background_clicked.png | Bin .../ui/button_background_disabled.png | Bin .../ui/button_background_hovered.png | Bin .../ui/checkbox_background.png | Bin .../ui/checkbox_background_checked.png | Bin .../checkbox_background_checked_hovered.png | Bin .../ui/checkbox_background_clicked.png | Bin .../ui/checkbox_background_hovered.png | Bin .../ui/combobox_background.png | Bin .../ui/editbox_background.png | Bin .../ui/editbox_background_clicked.png | Bin .../ui/main_menu_header.png | Bin .../ui/window_background.png | Bin {assets => old_assets}/ui/window_border.png | Bin scripts/build-web.sh | 30 + scripts/build_wasm.sh | 151 - scripts/validate_json.sh | 24 - src/debug.rs | 17 - src/drawables/animated_sprite.rs | 615 -- src/drawables/mod.rs | 203 - src/drawables/sprite.rs | 280 - src/ecs.rs | 61 - src/editor/actions.rs | 1299 ---- src/editor/camera.rs | 57 - src/editor/gui/combobox.rs | 127 - src/editor/gui/context_menu.rs | 244 - src/editor/gui/editor_menu.rs | 101 - src/editor/gui/mod.rs | 353 -- src/editor/gui/toolbars/layer_list.rs | 220 - src/editor/gui/toolbars/mod.rs | 333 - src/editor/gui/toolbars/object_list.rs | 156 - src/editor/gui/toolbars/tileset_details.rs | 125 - src/editor/gui/toolbars/tileset_list.rs | 133 - src/editor/gui/toolbars/tool_selector.rs | 178 - .../gui/windows/background_properties.rs | 306 - src/editor/gui/windows/confirm_dialog.rs | 78 - src/editor/gui/windows/create_layer.rs | 114 - src/editor/gui/windows/create_map.rs | 192 - src/editor/gui/windows/create_object.rs | 164 - src/editor/gui/windows/create_tileset.rs | 117 - src/editor/gui/windows/import.rs | 174 - src/editor/gui/windows/load_map.rs | 177 - src/editor/gui/windows/mod.rs | 132 - src/editor/gui/windows/object_properties.rs | 178 - src/editor/gui/windows/save_map.rs | 116 - src/editor/gui/windows/tile_properties.rs | 110 - src/editor/gui/windows/tileset_properties.rs | 228 - src/editor/history.rs | 52 - src/editor/input.rs | 126 - src/editor/mod.rs | 1657 ----- src/editor/tools/eraser.rs | 104 - src/editor/tools/mod.rs | 90 - src/editor/tools/placement.rs | 308 - src/effects/active/mod.rs | 374 -- src/effects/active/projectiles.rs | 316 - src/effects/active/triggered.rs | 529 -- src/effects/mod.rs | 17 - src/effects/passive/mod.rs | 139 - src/effects/passive/turtle_shell.rs | 24 - src/events.rs | 53 - src/game/camera.rs | 263 - src/game/mod.rs | 296 - src/game/music.rs | 31 - src/game/sound.rs | 18 - src/gui/background.rs | 74 - src/gui/checkbox.rs | 105 - src/gui/create_map.rs | 189 - src/gui/credits.rs | 160 - src/gui/game_menu.rs | 76 - src/gui/main_menu.rs | 317 - src/gui/menu.rs | 471 -- src/gui/mod.rs | 48 - src/gui/panel.rs | 275 - src/gui/select_character.rs | 250 - src/gui/select_map.rs | 239 - src/gui/style.rs | 931 --- src/items.rs | 656 -- src/json/map/mod.rs | 228 - src/json/map/tiled.rs | 356 -- src/json/mod.rs | 3 - src/main.rs | 258 - src/map/crab.rs | 212 - src/map/decoration.rs | 40 - src/map/fish_school.rs | 370 -- src/map/mod.rs | 772 --- src/map/player_interaction.rs | 110 - src/map/sproinger.rs | 138 - src/network.rs | 23 - src/particles.rs | 208 - src/physics.rs | 310 - src/player/ai.rs | 133 - src/player/animation.rs | 415 -- src/player/character.rs | 158 - src/player/controller.rs | 91 - src/player/events.rs | 97 - src/player/inventory.rs | 625 -- src/player/mod.rs | 226 - src/player/state.rs | 305 - src/resources.rs | 694 --- src/utils/ease.rs | 68 - src/utils/mod.rs | 2 - src/utils/timer.rs | 74 - wasm_resources/index.html | 143 + 737 files changed, 6680 insertions(+), 24221 deletions(-) delete mode 100644 ARCHITECTURE.md delete mode 100644 assets/sounds/.DS_Store delete mode 100644 config.toml delete mode 100644 core/Cargo.toml delete mode 100644 core/src/channel.rs delete mode 100644 core/src/config.rs delete mode 100644 core/src/data.rs delete mode 100644 core/src/error.rs delete mode 100644 core/src/input/mapping.rs delete mode 100644 core/src/input/mod.rs delete mode 100644 core/src/json/helpers.rs delete mode 100644 core/src/json/math.rs delete mode 100644 core/src/json/mod.rs delete mode 100644 core/src/json/render.rs delete mode 100644 core/src/lib.rs delete mode 100644 core/src/math.rs delete mode 100644 core/src/network/api.rs delete mode 100644 core/src/network/event.rs delete mode 100644 core/src/network/message.rs delete mode 100644 core/src/network/mod.rs delete mode 100644 core/src/network/status.rs delete mode 100644 core/src/noise.rs delete mode 100644 core/src/text.rs delete mode 100644 core/src/transform.rs create mode 100644 crates/bevy-has-load-progress/macros/src/lib.rs create mode 100644 crates/bevy-has-load-progress/src/lib.rs create mode 100644 crates/jumpy/assets/default.game.yaml create mode 100644 crates/jumpy/assets/locales/en-US/en-US.ftl.yml rename src/effects/passive/coroutines.rs => crates/jumpy/assets/locales/en-US/main.ftl (100%) create mode 100644 crates/jumpy/assets/locales/fr-FR/fr-FR.ftl.yml create mode 100644 crates/jumpy/assets/locales/fr-FR/main.ftl create mode 100644 crates/jumpy/src/assets.rs create mode 100644 crates/jumpy/src/config.rs create mode 100644 crates/jumpy/src/input.rs create mode 100644 crates/jumpy/src/loading.rs create mode 100644 crates/jumpy/src/localization.rs create mode 100644 crates/jumpy/src/main.rs create mode 100644 crates/jumpy/src/metadata.rs create mode 100644 crates/jumpy/src/metadata/localization.rs create mode 100644 crates/jumpy/src/platform.rs create mode 100644 crates/jumpy/src/prelude.rs create mode 100644 crates/jumpy/src/scripting.rs create mode 100644 crates/jumpy/src/scripting/ops.rs create mode 100644 justfile delete mode 100644 mods/active_mods.json delete mode 100644 mods/test_mod_one/jumpy_mod.json delete mode 100644 mods/test_mod_two/jumpy_mod.json rename {assets => old_assets}/decoration.json (100%) rename {assets => old_assets}/decoration/anemones.json (100%) rename {assets => old_assets}/decoration/seaweed.json (100%) rename {assets => old_assets}/images.json (100%) rename {assets => old_assets}/images.schema.json (100%) rename {assets => old_assets}/items.json (100%) rename {assets => old_assets}/items/blunderbass.json (100%) rename {assets => old_assets}/items/blunderbuss.json (100%) rename {assets => old_assets}/items/bonnet_hat.json (100%) rename {assets => old_assets}/items/bucket_hat.json (100%) rename {assets => old_assets}/items/cannon.json (100%) rename {assets => old_assets}/items/chefs_hat.json (100%) rename {assets => old_assets}/items/chest_hat.json (100%) rename {assets => old_assets}/items/cowboy_hat.json (100%) rename {assets => old_assets}/items/crate.json (100%) rename {assets => old_assets}/items/crown_hat.json (100%) rename {assets => old_assets}/items/grenades.json (100%) rename {assets => old_assets}/items/kick_bomb.json (100%) rename {assets => old_assets}/items/machine_gun.json (100%) rename {assets => old_assets}/items/mines.json (100%) rename {assets => old_assets}/items/musket.json (100%) rename {assets => old_assets}/items/pirate_hat.json (100%) rename {assets => old_assets}/items/sniper_rifle.json (100%) rename {assets => old_assets}/items/starfish.json (100%) rename {assets => old_assets}/items/starfish_launcher.json (100%) rename {assets => old_assets}/items/sword.json (100%) rename {assets => old_assets}/items/trident.json (100%) rename {assets => old_assets}/items/turtle_shell.json (100%) rename {assets => old_assets}/maps.json (100%) rename {assets => old_assets}/maps.schema.json (100%) rename {assets => old_assets}/maps/lev01.json (100%) rename {assets => old_assets}/maps/lev01.png (100%) rename {assets => old_assets}/maps/lev02.json (100%) rename {assets => old_assets}/maps/lev02.png (100%) rename {assets => old_assets}/maps/lev03.json (100%) rename {assets => old_assets}/maps/lev03.png (100%) rename {assets => old_assets}/maps/lev04.json (100%) rename {assets => old_assets}/maps/lev04.png (100%) rename {assets => old_assets}/maps/lev05.json (100%) rename {assets => old_assets}/maps/lev05.png (100%) rename {assets => old_assets}/maps/lev06.json (100%) rename {assets => old_assets}/maps/lev06.png (100%) rename {assets => old_assets}/maps/lev07.json (100%) rename {assets => old_assets}/maps/lev07.png (100%) rename {assets => old_assets}/maps/no_preview.png (100%) rename {assets => old_assets}/maps/test_level.json (100%) rename {assets => old_assets}/maps/test_level.png (100%) rename {assets => old_assets}/maps/zyrafa01.json (100%) rename {assets => old_assets}/maps/zyrafa01.png (100%) rename {assets => old_assets}/maps/zyrafa02.json (100%) rename {assets => old_assets}/maps/zyrafa02.png (100%) rename {assets => old_assets}/maps/zyrafa03.json (100%) rename {assets => old_assets}/maps/zyrafa03.png (100%) rename {assets => old_assets}/maps/zyrafa04.json (100%) rename {assets => old_assets}/maps/zyrafa04.png (100%) rename {assets => old_assets}/maps/zyrafa05.json (100%) rename {assets => old_assets}/maps/zyrafa05.png (100%) rename {assets => old_assets}/maps/zyrafa06.json (100%) rename {assets => old_assets}/maps/zyrafa06.png (100%) rename {assets => old_assets}/music.json (100%) rename {assets => old_assets}/music/across_the_pond.ogg (100%) rename {assets => old_assets}/music/ahoy!.ogg (100%) rename {assets => old_assets}/music/bait_the_hook.ogg (100%) rename {assets => old_assets}/music/fish_and_ships.ogg (100%) rename {assets => old_assets}/music/fish_bowl.ogg (100%) rename {assets => old_assets}/music/fish_tide.ogg (100%) rename {assets => old_assets}/music/fishsticks.ogg (100%) rename {assets => old_assets}/music/krill_or_be_krilled.ogg (100%) rename {assets => old_assets}/music/thanks_for_all_the_fished.ogg (100%) rename {assets => old_assets}/music/whale_theme.ogg (100%) rename {assets => old_assets}/particle_effects.json (100%) rename {assets => old_assets}/particle_effects/blunderbuss_bullet_smoke.json (100%) rename {assets => old_assets}/particle_effects/blunderbuss_muzzle_smoke.json (100%) rename {assets => old_assets}/particle_effects/cannon_cannonball_smoke.json (100%) rename {assets => old_assets}/particle_effects/empty.json (100%) rename {assets => old_assets}/particle_effects/explosion.json (100%) rename {assets => old_assets}/particle_effects/explosion_fire.json (100%) rename {assets => old_assets}/particle_effects/explosion_particles.json (100%) rename {assets => old_assets}/particle_effects/grenades_smoke.json (100%) rename {assets => old_assets}/particle_effects/hit.json (100%) rename {assets => old_assets}/particle_effects/kick_bomb_smoke.json (100%) rename {assets => old_assets}/particle_effects/life_ui_explosion.json (100%) rename {assets => old_assets}/particle_effects/machine_gun_firing_smoke.json (100%) rename {assets => old_assets}/particle_effects/machine_gun_muzzle_smoke.json (100%) rename {assets => old_assets}/particle_effects/musket_bullet_smoke.json (100%) rename {assets => old_assets}/particle_effects/musket_muzzle_smoke.json (100%) rename {assets => old_assets}/particle_effects/smoke.json (100%) rename {assets => old_assets}/particle_effects/sniper_rifle_bullet_smoke.json (100%) rename {assets => old_assets}/particle_effects/sniper_rifle_muzzle_smoke.json (100%) rename {assets => old_assets}/player_characters.json (100%) rename {assets => old_assets}/player_characters.schema.json (100%) rename {assets => old_assets}/sounds.json (100%) rename {assets => old_assets}/sounds/blaster.wav (100%) rename {assets => old_assets}/sounds/bullet_hit_dull.wav (100%) rename {assets => old_assets}/sounds/bullet_hit_metal.wav (100%) rename {assets => old_assets}/sounds/explode_m.wav (100%) rename {assets => old_assets}/sounds/fish_fillet.wav (100%) rename {assets => old_assets}/sounds/gun_empty.wav (100%) rename {assets => old_assets}/sounds/gun_empty_b.wav (100%) rename {assets => old_assets}/sounds/jump.wav (100%) rename {assets => old_assets}/sounds/land.wav (100%) rename {assets => old_assets}/sounds/land_heavy.wav (100%) rename {assets => old_assets}/sounds/land_light.wav (100%) rename {assets => old_assets}/sounds/mine_set.wav (100%) rename {assets => old_assets}/sounds/pickup.wav (100%) rename {assets => old_assets}/sounds/shoot.ogg (100%) rename {assets => old_assets}/sounds/slip.wav (100%) rename {assets => old_assets}/sounds/swing.wav (100%) rename {assets => old_assets}/sounds/sword.wav (100%) rename {assets => old_assets}/sounds/throw.wav (100%) rename {assets => old_assets}/textures.json (100%) rename {assets => old_assets}/textures.schema.json (100%) rename {assets => old_assets}/textures/explosions/Big(176x144).png (100%) rename {assets => old_assets}/textures/explosions/Medium(144x112).png (100%) rename {assets => old_assets}/textures/explosions/Small(112x80).png (100%) rename {assets => old_assets}/textures/items/ArabianAngelfish(19x12).png (100%) rename {assets => old_assets}/textures/items/BandedButterflyFish(19x11).png (100%) rename {assets => old_assets}/textures/items/BlueGreenChromis(22x11).png (100%) rename {assets => old_assets}/textures/items/BlueTang(19x9).png (100%) rename {assets => old_assets}/textures/items/Blunderbass(68x24).png (100%) rename {assets => old_assets}/textures/items/Blunderbuss(65x25).png (100%) rename {assets => old_assets}/textures/items/BlunderbussBullet.png (100%) rename {assets => old_assets}/textures/items/Boots(32x32).png (100%) rename {assets => old_assets}/textures/items/Cannon(64x48).png (100%) rename {assets => old_assets}/textures/items/CannonBall(17x17).png (100%) rename {assets => old_assets}/textures/items/Crab(17x12).png (100%) rename {assets => old_assets}/textures/items/Crate(36x31).png (100%) rename {assets => old_assets}/textures/items/Curse(30x44).png (100%) rename {assets => old_assets}/textures/items/FishSchoolIcon(64x64).png (100%) rename {assets => old_assets}/textures/items/Flippers(45x36).png (100%) rename {assets => old_assets}/textures/items/Flippers(65x45).png (100%) rename {assets => old_assets}/textures/items/Grenades(25x52).png (100%) rename {assets => old_assets}/textures/items/Jellyfish(64x112).png (100%) rename {assets => old_assets}/textures/items/KickBomb(32x64).png (100%) rename {assets => old_assets}/textures/items/MachineGun(80x24).png (100%) rename {assets => old_assets}/textures/items/MachineGunBullet(7x4).png (100%) rename {assets => old_assets}/textures/items/Mines(33x35).png (100%) rename {assets => old_assets}/textures/items/Musket(92x32).png (100%) rename {assets => old_assets}/textures/items/MusketBullet(15x15).png (100%) rename {assets => old_assets}/textures/items/RoyalGramma(25x11).png (100%) rename {assets => old_assets}/textures/items/Seaweed(48x51).png (100%) rename {assets => old_assets}/textures/items/SmallFish1(13x9).png (100%) rename {assets => old_assets}/textures/items/SmallFish2(13x9).png (100%) rename {assets => old_assets}/textures/items/SmallFish3(13x9).png (100%) rename {assets => old_assets}/textures/items/SmallProjectile(8x4).png (100%) rename {assets => old_assets}/textures/items/SniperRifle(112x32).png (100%) rename {assets => old_assets}/textures/items/SniperRifle(92x32).png (100%) rename {assets => old_assets}/textures/items/SniperRifleBullet(7x7).png (100%) rename {assets => old_assets}/textures/items/SniperRifleBullet.png (100%) rename {assets => old_assets}/textures/items/Sproinger(31x20).png (100%) rename {assets => old_assets}/textures/items/StarFish(19x18).png (100%) rename {assets => old_assets}/textures/items/StarfishLauncher(37x20).png (100%) rename {assets => old_assets}/textures/items/Sword(65x93).png (100%) rename {assets => old_assets}/textures/items/Trident(288x96).png (100%) rename {assets => old_assets}/textures/items/TurtleShell(32x32).png (100%) rename {assets => old_assets}/textures/items/hats/bonnet hat.png (100%) rename {assets => old_assets}/textures/items/hats/bow hat.png (100%) rename {assets => old_assets}/textures/items/hats/bucket hat.png (100%) rename {assets => old_assets}/textures/items/hats/chef's hat.png (100%) rename {assets => old_assets}/textures/items/hats/chest hat.png (100%) rename {assets => old_assets}/textures/items/hats/cowboy hat.png (100%) rename {assets => old_assets}/textures/items/hats/crown hat.png (100%) rename {assets => old_assets}/textures/items/hats/diving goggles hat.png (100%) rename {assets => old_assets}/textures/items/hats/fisherman hat.png (100%) rename {assets => old_assets}/textures/items/hats/octopus hat.png (100%) rename {assets => old_assets}/textures/items/hats/pineapple hat.png (100%) rename {assets => old_assets}/textures/items/hats/pirate hat.png (100%) rename {assets => old_assets}/textures/items/hats/pot hat.png (100%) rename {assets => old_assets}/textures/items/hats/pufferfish hat.png (100%) rename {assets => old_assets}/textures/items/hats/spicy lobster hat.png (100%) rename {assets => old_assets}/textures/items/hats/straw hat.png (100%) rename {assets => old_assets}/textures/items/hats/topper hat.png (100%) rename {assets => old_assets}/textures/items/hats/unicorn hat.png (100%) rename {assets => old_assets}/textures/items/hats/viking hat.png (100%) rename {assets => old_assets}/textures/items/hats/water lily hat.png (100%) rename {assets => old_assets}/textures/map/background_01.png (100%) rename {assets => old_assets}/textures/map/background_02.png (100%) rename {assets => old_assets}/textures/map/background_03.png (100%) rename {assets => old_assets}/textures/map/background_04.png (100%) rename {assets => old_assets}/textures/map/default_decoration.png (100%) rename {assets => old_assets}/textures/map/default_tileset.png (100%) rename {assets => old_assets}/textures/particles/CrateBreaking(128x128).png (100%) rename {assets => old_assets}/textures/player/PlayerCatty(96x80).png (100%) rename {assets => old_assets}/textures/player/PlayerFishy(96x80).png (100%) rename {assets => old_assets}/textures/player/PlayerLionfishy(96x80).png (100%) rename {assets => old_assets}/textures/player/PlayerOrcy(96x80).png (100%) rename {assets => old_assets}/textures/player/PlayerPescy(96x80).png (100%) rename {assets => old_assets}/textures/player/PlayerSharky(96x80).png (100%) rename {assets => old_assets}/textures/temp/Cannonball(32x36).png (100%) rename {assets => old_assets}/textures/temp/Galleon(326x300).png (100%) rename {assets => old_assets}/textures/temp/GalleonIcon(32x29).png (100%) rename {assets => old_assets}/textures/temp/LifeRing.png (100%) rename {assets => old_assets}/textures/temp/README.md (100%) rename {assets => old_assets}/textures/temp/Shark(60x220).png (100%) rename {assets => old_assets}/textures/temp/SharkIcon(32x34).png (100%) rename {assets => old_assets}/textures/temp/Volcano(395x100).png (100%) rename {assets => old_assets}/textures/temp/VolcanoIcon(36x22).png (100%) rename {assets => old_assets}/textures/ui/editor_icons/Cursor.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/Eraser.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/Object.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/Pointer and Map.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/Pointer.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/Tile.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/no_icon.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/visibility.png (100%) rename {assets => old_assets}/textures/ui/editor_icons/visibility_off.png (100%) rename {assets => old_assets}/tiled_maps/.gitignore (100%) rename {assets => old_assets}/tiled_maps/README.md (100%) rename {assets => old_assets}/tiled_maps/lev01.json (100%) rename {assets => old_assets}/tiled_maps/lev01.png (100%) rename {assets => old_assets}/tiled_maps/lev02.json (100%) rename {assets => old_assets}/tiled_maps/lev02.png (100%) rename {assets => old_assets}/tiled_maps/lev03.json (100%) rename {assets => old_assets}/tiled_maps/lev03.png (100%) rename {assets => old_assets}/tiled_maps/lev04.json (100%) rename {assets => old_assets}/tiled_maps/lev04.png (100%) rename {assets => old_assets}/tiled_maps/lev05.json (100%) rename {assets => old_assets}/tiled_maps/lev05.png (100%) rename {assets => old_assets}/tiled_maps/lev06.json (100%) rename {assets => old_assets}/tiled_maps/lev06.png (100%) rename {assets => old_assets}/tiled_maps/levels.tiled-project (100%) rename {assets => old_assets}/tiled_maps/no_preview.png (100%) rename {assets => old_assets}/tiled_maps/test_level.json (100%) rename {assets => old_assets}/tiled_maps/test_level.png (100%) rename {assets => old_assets}/tiled_maps/zyrafa01.json (100%) rename {assets => old_assets}/tiled_maps/zyrafa01.png (100%) rename {assets => old_assets}/tiled_maps/zyrafa02.json (100%) rename {assets => old_assets}/tiled_maps/zyrafa02.png (100%) rename {assets => old_assets}/tiled_maps/zyrafa03.json (100%) rename {assets => old_assets}/tiled_maps/zyrafa03.png (100%) rename {assets => old_assets}/tiled_maps/zyrafa04.json (100%) rename {assets => old_assets}/tiled_maps/zyrafa04.png (100%) rename {assets => old_assets}/tiled_maps/zyrafa05.json (100%) rename {assets => old_assets}/tiled_maps/zyrafa05.png (100%) rename {assets => old_assets}/tiled_maps/zyrafa06.json (100%) rename {assets => old_assets}/tiled_maps/zyrafa06.png (100%) rename {assets => old_assets}/ui/AnonymousPro-Regular.ttf (100%) rename {assets => old_assets}/ui/MinimalPixel v2.ttf (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/17.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/18.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/19.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/20.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/21.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/22.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/23.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/24.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/25.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/26.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/27.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/28.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/29.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/30.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/31.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/32.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/33.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Banner/Big Banner (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/17.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/18.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/19.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/20.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/21.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/22.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/23.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/24.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/25.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/26.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/27.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/28.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/29.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/30.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/31.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/32.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/33.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/34.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/35.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/36.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Big Text/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Board/Green Board (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Green Button/Green Button (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Inventory/Inventory (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Big Bars/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Big Bars/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Big Bars/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Big Bars/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Colors/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Colors/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Colors/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Colors/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Medium Bars/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Medium Bars/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Medium Bars/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Medium Bars/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Medium Bars/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Small Bars/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Small Bars/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Small Bars/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Small Bars/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Life Bars/Small Bars/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons Cooldown/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Mobile Buttons/Mobile Buttons/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Orange Paper/Orange Paper (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Prefabs/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Sliders/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Banner/Small Banner (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/17.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/18.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/19.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/20.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/21.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/22.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/23.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/24.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/25.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Icons/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/17.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/18.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/19.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/20.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/21.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/22.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/23.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/24.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/25.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/26.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/27.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/28.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/29.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/30.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/31.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/32.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/33.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/34.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/35.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/36.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/37.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/38.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/39.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/40.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/41.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/42.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/43.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/44.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/45.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/46.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/47.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/48.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/49.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/50.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/51.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/52.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/Small Text/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/White Bar/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/White Bar/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/White Bar/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Small Text/White Bar/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Board/Yellow Board (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Button/Yellow Button (guide).png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/1.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/10.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/11.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/12.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/13.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/14.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/15.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/16.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/2.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/3.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/4.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/5.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/6.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/7.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/8.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/9.png (100%) rename {assets => old_assets}/ui/Wood and Paper UI/Yellow Paper/Yellow Paper (guide).png (100%) rename {assets => old_assets}/ui/blank_image.png (100%) rename {assets => old_assets}/ui/button_background.png (100%) rename {assets => old_assets}/ui/button_background_clicked.png (100%) rename {assets => old_assets}/ui/button_background_disabled.png (100%) rename {assets => old_assets}/ui/button_background_hovered.png (100%) rename {assets => old_assets}/ui/checkbox_background.png (100%) rename {assets => old_assets}/ui/checkbox_background_checked.png (100%) rename {assets => old_assets}/ui/checkbox_background_checked_hovered.png (100%) rename {assets => old_assets}/ui/checkbox_background_clicked.png (100%) rename {assets => old_assets}/ui/checkbox_background_hovered.png (100%) rename {assets => old_assets}/ui/combobox_background.png (100%) rename {assets => old_assets}/ui/editbox_background.png (100%) rename {assets => old_assets}/ui/editbox_background_clicked.png (100%) rename {assets => old_assets}/ui/main_menu_header.png (100%) rename {assets => old_assets}/ui/window_background.png (100%) rename {assets => old_assets}/ui/window_border.png (100%) create mode 100755 scripts/build-web.sh delete mode 100755 scripts/build_wasm.sh delete mode 100755 scripts/validate_json.sh delete mode 100644 src/debug.rs delete mode 100644 src/drawables/animated_sprite.rs delete mode 100644 src/drawables/mod.rs delete mode 100644 src/drawables/sprite.rs delete mode 100644 src/ecs.rs delete mode 100644 src/editor/actions.rs delete mode 100644 src/editor/camera.rs delete mode 100644 src/editor/gui/combobox.rs delete mode 100644 src/editor/gui/context_menu.rs delete mode 100644 src/editor/gui/editor_menu.rs delete mode 100644 src/editor/gui/mod.rs delete mode 100644 src/editor/gui/toolbars/layer_list.rs delete mode 100644 src/editor/gui/toolbars/mod.rs delete mode 100644 src/editor/gui/toolbars/object_list.rs delete mode 100644 src/editor/gui/toolbars/tileset_details.rs delete mode 100644 src/editor/gui/toolbars/tileset_list.rs delete mode 100644 src/editor/gui/toolbars/tool_selector.rs delete mode 100644 src/editor/gui/windows/background_properties.rs delete mode 100644 src/editor/gui/windows/confirm_dialog.rs delete mode 100644 src/editor/gui/windows/create_layer.rs delete mode 100644 src/editor/gui/windows/create_map.rs delete mode 100644 src/editor/gui/windows/create_object.rs delete mode 100644 src/editor/gui/windows/create_tileset.rs delete mode 100644 src/editor/gui/windows/import.rs delete mode 100644 src/editor/gui/windows/load_map.rs delete mode 100644 src/editor/gui/windows/mod.rs delete mode 100644 src/editor/gui/windows/object_properties.rs delete mode 100644 src/editor/gui/windows/save_map.rs delete mode 100644 src/editor/gui/windows/tile_properties.rs delete mode 100644 src/editor/gui/windows/tileset_properties.rs delete mode 100644 src/editor/history.rs delete mode 100644 src/editor/input.rs delete mode 100644 src/editor/mod.rs delete mode 100644 src/editor/tools/eraser.rs delete mode 100644 src/editor/tools/mod.rs delete mode 100644 src/editor/tools/placement.rs delete mode 100644 src/effects/active/mod.rs delete mode 100644 src/effects/active/projectiles.rs delete mode 100644 src/effects/active/triggered.rs delete mode 100644 src/effects/mod.rs delete mode 100644 src/effects/passive/mod.rs delete mode 100644 src/effects/passive/turtle_shell.rs delete mode 100644 src/events.rs delete mode 100644 src/game/camera.rs delete mode 100644 src/game/mod.rs delete mode 100644 src/game/music.rs delete mode 100644 src/game/sound.rs delete mode 100644 src/gui/background.rs delete mode 100644 src/gui/checkbox.rs delete mode 100644 src/gui/create_map.rs delete mode 100644 src/gui/credits.rs delete mode 100644 src/gui/game_menu.rs delete mode 100644 src/gui/main_menu.rs delete mode 100644 src/gui/menu.rs delete mode 100644 src/gui/mod.rs delete mode 100644 src/gui/panel.rs delete mode 100644 src/gui/select_character.rs delete mode 100644 src/gui/select_map.rs delete mode 100644 src/gui/style.rs delete mode 100644 src/items.rs delete mode 100644 src/json/map/mod.rs delete mode 100644 src/json/map/tiled.rs delete mode 100644 src/json/mod.rs delete mode 100644 src/main.rs delete mode 100644 src/map/crab.rs delete mode 100644 src/map/decoration.rs delete mode 100644 src/map/fish_school.rs delete mode 100644 src/map/mod.rs delete mode 100644 src/map/player_interaction.rs delete mode 100644 src/map/sproinger.rs delete mode 100644 src/network.rs delete mode 100644 src/particles.rs delete mode 100644 src/physics.rs delete mode 100644 src/player/ai.rs delete mode 100644 src/player/animation.rs delete mode 100644 src/player/character.rs delete mode 100644 src/player/controller.rs delete mode 100644 src/player/events.rs delete mode 100644 src/player/inventory.rs delete mode 100644 src/player/mod.rs delete mode 100644 src/player/state.rs delete mode 100644 src/resources.rs delete mode 100644 src/utils/ease.rs delete mode 100644 src/utils/mod.rs delete mode 100644 src/utils/timer.rs create mode 100644 wasm_resources/index.html diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md deleted file mode 100644 index fdb6321d1d..0000000000 --- a/ARCHITECTURE.md +++ /dev/null @@ -1,19 +0,0 @@ -# Project Architecture - -This project use [Macroquad](https://github.com/not-fl3/macroquad) for rendering and context handling and -[Hecs](https://github.com/Ralith/hecs) as its ECS. The game loop is also handled using Macroquad, with a `Node` -implementation (`crate::game::Game`) that calls the various systems in the appropriate frame phase. - -Modules should separate code by context, and we keep both component types and system function implementations -together, separated by concern, based on this context. - -The overarching design philosophy, on a code level, will be to keep to the ECS paradigm. Meaning that we implement -logic in systems and keep component types as pure data types. The exception is in cases where manipulating -data on a component depends on several steps and this manipulation happens in more than one step, making a setter -type method on the component type to avoid code duplication. - -Types will often have companion types with a `Metadata` suffix, which are the types used to serialize and -deserialize the type to json. - -There is also the `assets` folder, which contains all assets, both containing data files and the game's graphics. -Every asset type is usually accompanied by a data file, where the assets are declared for dynamic loading. \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 7822317f82..fe05ec2abf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,38 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "ab_glyph" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04a9283dace1c41c265496614998d5b9c4a97b3eb770e804f007c5144bf03f2b" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330223a1aecc308757b9926e9391c9b47f8ef2dbd8aea9df88312aea18c5e8d6" + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "adler32" version = "1.2.0" @@ -10,851 +42,5329 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "ahash" -version = "0.4.7" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] [[package]] name = "ahash" -version = "0.7.6" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "57e6e951cfbb2db8de1828d49073a113a29fd7117b1596caa781a258c7e38d72" dependencies = [ + "cfg-if 1.0.0", "getrandom", "once_cell", "version_check", ] [[package]] -name = "async-trait" -version = "0.1.56" +name = "aho-corasick" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" dependencies = [ - "proc-macro2", - "quote", - "syn", + "memchr", ] [[package]] -name = "audir-sles" -version = "0.1.0" +name = "alsa" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea47348666a8edb7ad80cbee3940eb2bccf70df0e6ce09009abe1a836cb779f5" +checksum = "5915f52fe2cf65e83924d037b6c5290b7cee097c6b5c8700746e6168a343fd6b" +dependencies = [ + "alsa-sys", + "bitflags", + "libc", + "nix 0.23.1", +] [[package]] -name = "audrey" -version = "0.3.0" +name = "alsa-sys" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58b92a84e89497e3cd25d3672cd5d1c288abaac02c18ff21283f17d118b889b8" +checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" dependencies = [ - "dasp_frame", - "dasp_sample", - "hound", - "lewton", + "libc", + "pkg-config", ] [[package]] -name = "autocfg" -version = "1.1.0" +name = "android_log-sys" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "85965b6739a430150bdd138e2374a98af0c3ee0d030b3bb7fc3bddff58d0102e" [[package]] -name = "bitflags" -version = "1.3.2" +name = "android_logger" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "d9ed09b18365ed295d722d0b5ed59c01b79a826ff2d2a8f73d5ecca8e6fb2f66" +dependencies = [ + "android_log-sys", + "env_logger", + "lazy_static", + "log", +] [[package]] -name = "bumpalo" -version = "3.10.0" +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] [[package]] -name = "bytemuck" -version = "1.9.1" +name = "ansi_term" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdead85bdec19c194affaeeb670c0e41fe23de31459efd1c174d049269cf02cc" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] [[package]] -name = "byteorder" -version = "1.4.3" +name = "anyhow" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" [[package]] -name = "cc" -version = "1.0.73" +name = "approx" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] [[package]] -name = "cfg-if" -version = "1.0.0" +name = "arboard" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "dc120354d1b5ec6d7aaf4876b602def75595937b5e15d356eb554ab5177e08bb" +dependencies = [ + "clipboard-win", + "core-graphics 0.22.3", + "image 0.23.14", + "log", + "objc", + "objc-foundation", + "objc_id", + "parking_lot 0.12.1", + "thiserror", + "winapi", + "x11rb", +] [[package]] -name = "color_quant" -version = "1.1.0" +name = "arrayvec" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] -name = "core-foundation" -version = "0.9.3" +name = "ash" +version = "0.37.0+1.3.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "006ca68e0f2b03f22d6fa9f2860f85aed430d257fec20f8879b2145e7c7ae1a6" dependencies = [ - "core-foundation-sys", - "libc", + "libloading", ] [[package]] -name = "core-foundation-sys" -version = "0.8.3" +name = "ast_node" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "cf94863c5fdfee166d0907c44e5fee970123b2b7307046d35d1e671aa93afbba" +dependencies = [ + "darling", + "pmutil", + "proc-macro2", + "quote", + "swc_macros_common", + "syn", +] [[package]] -name = "crc32fast" -version = "1.3.2" +name = "async-channel" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" dependencies = [ - "cfg-if", + "concurrent-queue", + "event-listener", + "futures-core", ] [[package]] -name = "dasp_frame" -version = "0.11.0" +name = "async-executor" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a3937f5fe2135702897535c8d4a5553f8b116f76c1529088797f2eee7c5cd6" +checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" dependencies = [ - "dasp_sample", + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "once_cell", + "slab", ] [[package]] -name = "dasp_sample" -version = "0.11.0" +name = "async-task" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" +checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] -name = "deflate" -version = "0.8.6" +name = "atomic-arena" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" -dependencies = [ - "adler32", - "byteorder", -] +checksum = "5450eca8ce5abcfd5520727e975ebab30ccca96030550406b0ca718b224ead10" [[package]] -name = "ff-particles" -version = "0.1.2" +name = "atomic_refcell" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456005c433b73c5268369b27894cd5fa94a0abb3e0489540152383849f1045c0" -dependencies = [ - "macroquad", - "serde", -] +checksum = "73b5e5f48b927f04e952dedc932f31995a65a0bf65ec971c74436e51bf6e970d" [[package]] -name = "fishsticks" -version = "0.2.3" -source = "git+https://github.com/fishfolks/fishsticks#25bd7676c85064ad976c449317f30b623f5e7515" +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "cfg-if", - "gilrs", + "hermit-abi", + "libc", + "winapi", ] [[package]] -name = "fnv" -version = "1.0.7" +name = "autocfg" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] -name = "fontdue" -version = "0.5.2" +name = "base64" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75712fff1702bac51b7eaa5a5ca9f9853b8055ef5906088a32f4fe196595a1d" -dependencies = [ - "hashbrown 0.9.1", - "ttf-parser", -] +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" [[package]] -name = "getrandom" -version = "0.2.7" +name = "base64" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] -name = "gilrs" -version = "0.9.0" +name = "better_scoped_tls" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ba7c37bf8ea7ba0c3e3795dfa1a7771b1e47c4bb417c4d27c7b338d79685f" +checksum = "b73e8ecdec39e98aa3b19e8cd0b8ed8f77ccb86a6b0b2dc7cd86d105438a2123" dependencies = [ - "fnv", - "gilrs-core", - "log", - "uuid", - "vec_map", + "scoped-tls", ] [[package]] -name = "gilrs-core" -version = "0.4.1" +name = "bevy" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a8d94a7fc5afd27e894e08a4cfe5a49237f85bcc7140e90721bad3399c7d02" +checksum = "fea147ef1ebb92d41294cfad804c40de151b174c711ce6e0a4a40eba23eae1a4" dependencies = [ - "core-foundation", - "io-kit-sys", - "js-sys", - "libc", - "libudev-sys", - "log", - "nix", - "rusty-xinput", - "uuid", - "vec_map", - "wasm-bindgen", - "web-sys", - "winapi", + "bevy_internal", ] [[package]] -name = "glam" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333928d5eb103c5d4050533cec0384302db6be8ef7d3cebd30ec6a35350353da" - -[[package]] -name = "hashbrown" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +name = "bevy-has-load-progress" +version = "0.1.0" dependencies = [ - "ahash 0.4.7", + "bevy", + "bevy-has-load-progress-macros", ] [[package]] -name = "hashbrown" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3" +name = "bevy-has-load-progress-macros" +version = "0.1.0" dependencies = [ - "ahash 0.7.6", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "hecs" -version = "0.7.7" +name = "bevy-inspector-egui" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ae6c6368add4cc6592ed9b48a270b35cf3a52d429355aaeb55822935526e94" +checksum = "3e18f673a7040930e20c899ad5e98d62f5db702a742c9cd96b5862d051a7b5da" dependencies = [ - "hashbrown 0.12.1", - "spin", + "bevy", + "bevy-inspector-egui-derive", + "bevy_egui", + "image 0.23.14", + "nalgebra", + "pretty-type-name", ] [[package]] -name = "hound" -version = "3.4.0" +name = "bevy-inspector-egui-derive" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a164bb2ceaeff4f42542bdb847c41517c78a60f5649671b2a07312b6e117549" +checksum = "2ce0a659fdb2c31c2ae7f2ee8020fa758aff458a4ae4dc4e55bc27dcc31ef487" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] -name = "image" -version = "0.23.14" +name = "bevy-inspector-egui-rapier" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +checksum = "53f1c2a525d27d3281890e9a4d39200a3f6b055c1f66b2be2305bcccd887239f" dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-iter", - "num-rational", - "num-traits", - "png", + "bevy", + "bevy-inspector-egui", + "bevy_rapier2d", ] [[package]] -name = "io-kit-sys" +name = "bevy-parallax" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7789f7f3c9686f96164f5109d69152de759e76e284f736bd57661c6df5091919" +checksum = "848290b802a0315343b65eba37dc258194689b5df40fbd808aa2dec75bf812a3" dependencies = [ - "core-foundation-sys", - "mach", + "bevy", + "serde", ] [[package]] -name = "itoa" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" - -[[package]] -name = "js-sys" -version = "0.3.58" +name = "bevy_app" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27" +checksum = "9e4ae0a6ed2adf3b153511b4645241660a93f747c05ecd1e5a909dafc803cad4" dependencies = [ + "bevy_derive", + "bevy_ecs", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", "wasm-bindgen", + "web-sys", ] [[package]] -name = "jumpy" -version = "0.4.3" +name = "bevy_asset" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ec773c861a7e9d9978771f59f385500ec6da3a1ab5487705cddb054393d3d19" dependencies = [ - "ff-particles", - "fishsticks", - "hecs", - "jumpy-core", - "macroquad", - "macroquad-platformer", + "anyhow", + "bevy_app", + "bevy_diagnostic", + "bevy_ecs", + "bevy_log", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "crossbeam-channel", + "downcast-rs", + "fastrand", + "js-sys", + "ndk-glue 0.5.2", + "notify", + "parking_lot 0.12.1", "serde", - "serde_json", + "thiserror", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "jumpy-core" -version = "0.4.3" +name = "bevy_core" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c53172003d5cde7780870b5403c66c8ede3581faf3e510e916d8b4baa5b538d2" dependencies = [ - "async-trait", - "fishsticks", - "getrandom", - "hecs", - "macroquad", - "serde", - "serde_json", - "toml", - "wasm-bindgen", + "bevy_app", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bytemuck", ] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "bevy_core_pipeline" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "5e60efd10d593f6d122f2687f74c09ad55835a8f999c35bed6380ddd8e6ff7f2" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_reflect", + "bevy_render", + "bevy_transform", + "bevy_utils", + "radsort", + "serde", +] [[package]] -name = "lewton" -version = "0.9.4" +name = "bevy_derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d542c1a317036c45c2aa1cf10cc9d403ca91eb2d333ef1a4917e5cb10628bd0" +checksum = "0e6345431bbe6d7b6c165cd860ecd0b35da929779571259c5df970ac256d45f9" dependencies = [ - "byteorder", - "ogg", - "smallvec", + "bevy_macro_utils", + "quote", + "syn", ] [[package]] -name = "libc" -version = "0.2.126" +name = "bevy_diagnostic" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "58ac9f4c2815f412be4b6e21e4b299cdafa710f651d064f6d40b2a8377a0d17c" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_log", + "bevy_time", + "bevy_utils", +] [[package]] -name = "libudev-sys" -version = "0.1.4" +name = "bevy_ecs" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" +checksum = "c174066a24ed8a14d15ea58b0aea1c1f5c763f4bb36ebdc2b1dc78026007d0f5" dependencies = [ - "libc", - "pkg-config", + "async-channel", + "bevy_ecs_macros", + "bevy_ptr", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "downcast-rs", + "fixedbitset", + "fxhash", + "serde", + "thread_local", ] [[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +name = "bevy_ecs_dynamic" +version = "0.1.0" +source = "git+https://github.com/jakobhellermann/bevy_ecs_dynamic#aa7a051a49bd134cfd8c169542e16526bf2b36b3" dependencies = [ - "cfg-if", + "bevy_ecs", + "bevy_reflect", + "fixedbitset", ] [[package]] -name = "mach" -version = "0.3.2" +name = "bevy_ecs_macros" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +checksum = "cc50c39e49e8febccc74e8e731680adb0cb4aef1f53275740cbaa95c6da71f4f" dependencies = [ - "libc", + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "macroquad" -version = "0.3.16" +name = "bevy_egui" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b723ade71357d07177c769af9ae42beff73c854e827ee5a4ec765dd2beb95e1" +checksum = "d365761fd6a5c227b1f88f38b560287334accb69cfe938443e27615464edc897" dependencies = [ - "bumpalo", - "fontdue", - "glam", - "image", - "macroquad_macro", - "miniquad", - "quad-rand", - "quad-snd", + "arboard", + "bevy", + "egui", + "thread_local", + "webbrowser", ] [[package]] -name = "macroquad-platformer" -version = "0.1.3" +name = "bevy_encase_derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927301bceb8c2781043a18611304b7b0a9d034b402321d4e099ef01c58ac0793" +checksum = "68bc194009c5e9b97da64a08142dd183c264885d99c985cf849868103018adf1" dependencies = [ - "macroquad", + "bevy_macro_utils", + "encase_derive_impl", ] [[package]] -name = "macroquad_macro" -version = "0.1.7" +name = "bevy_fluent" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5cecfede1e530599c8686f7f2d609489101d3d63741a6dc423afc997ce3fcc8" +checksum = "97073140587e1d731a583695c64b3a4410ba5edf9b3f79aae56ab63d0aab0384" +dependencies = [ + "anyhow", + "bevy", + "fluent", + "fluent-langneg", + "globset", + "indexmap", + "intl-memoizer", + "ron", + "serde", + "serde_yaml", + "thiserror", + "tracing", + "unic-langid", + "uuid", +] [[package]] -name = "maybe-uninit" -version = "2.0.0" +name = "bevy_gilrs" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" +checksum = "cb15a3427d9707be92b457e5d66900b02d853b475c21dd8662bdda387ba9f24e" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_utils", + "gilrs", +] [[package]] -name = "miniquad" -version = "0.3.0-alpha.46" +name = "bevy_hierarchy" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1462459fb1813decc7115ab4aed8f41183612557b08bf604bfb46b05286d703" +checksum = "5eb1ec76099ea5a716de08ea42ff41f036ebe2502df1d569168b58f16458a85e" dependencies = [ - "sapp-android", - "sapp-darwin", - "sapp-dummy", - "sapp-ios", - "sapp-linux", - "sapp-wasm", - "sapp-windows", + "bevy_app", + "bevy_ecs", + "bevy_reflect", + "bevy_utils", + "smallvec", ] [[package]] -name = "miniz_oxide" -version = "0.3.7" +name = "bevy_input" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +checksum = "1821c4b760ba6ddb4fe61806e9cc33f40b09a884557aca4553a29b8c7d73c6b4" dependencies = [ - "adler32", + "bevy_app", + "bevy_ecs", + "bevy_math", + "bevy_utils", + "serde", ] [[package]] -name = "ndk-sys" -version = "0.2.2" +name = "bevy_internal" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" +checksum = "ee63ad1e3f95a26ff2c227fadb1534a7bfe3a098e0e45c347f2f2575a573d9bc" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_gilrs", + "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", + "ndk-glue 0.5.2", +] [[package]] -name = "nix" -version = "0.24.1" +name = "bevy_kira_audio" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9" +checksum = "0379febb94c497ac6f6b5c0ef27775f7302f65dc780a33dbcec0c743a474b5f4" dependencies = [ - "bitflags", - "cfg-if", - "libc", + "anyhow", + "bevy", + "kira", + "parking_lot 0.12.1", + "thiserror", ] [[package]] -name = "num-integer" -version = "0.1.45" +name = "bevy_log" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "092daf498887814a064331dfcd1cf487a5ddab01fd38629b84a35b8b664462a1" dependencies = [ - "autocfg", - "num-traits", + "android_log-sys", + "bevy_app", + "bevy_utils", + "console_error_panic_hook", + "tracing-log", + "tracing-subscriber", + "tracing-wasm", ] [[package]] -name = "num-iter" -version = "0.1.43" +name = "bevy_macro_utils" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "43fb5137e5198302d7c6c33d1e454cf48a586e7c6fd12f4860f12863951e16b9" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "quote", + "syn", + "toml", ] [[package]] -name = "num-rational" -version = "0.3.2" +name = "bevy_math" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +checksum = "531f2b90c7e861a96f418b3d560131b3354c5e67a67eba3953a45a56ea0114d2" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "glam", ] [[package]] -name = "num-traits" -version = "0.2.15" +name = "bevy_mikktspace" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "941e7d3d4e1dbb735f040e4cdc1558be1d3c38d43f1d9fdbb039c39a7849a00b" dependencies = [ - "autocfg", + "glam", ] [[package]] -name = "ogg" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e571c3517af9e1729d4c63571a27edd660ade0667973bfc74a67c660c2b651" +name = "bevy_mod_js_scripting" +version = "0.1.0" +source = "git+https://github.com/jakobhellermann/bevy_mod_js_scripting.git#ea7548453cc68b9c8d3388dce1e837c8232eb567" dependencies = [ - "byteorder", + "anyhow", + "bevy", + "bevy_ecs_dynamic", + "bevy_reflect", + "bevy_reflect_fns", + "deno_core", + "fixedbitset", + "js-sys", + "pollster", + "serde", + "serde-wasm-bindgen", + "serde_json", + "slotmap", + "swc_atoms", + "swc_common", + "swc_ecma_codegen", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_transforms_typescript", + "swc_ecma_visit", + "type-map 0.5.0", + "wasm-bindgen", + "wasm_mutex", ] [[package]] -name = "once_cell" -version = "1.12.0" +name = "bevy_pbr" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" +checksum = "176073021a4caeb8b448f24ce790fb57fde74b114f345064a8b102d2f7bed905" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags", + "bytemuck", + "radsort", +] [[package]] -name = "pkg-config" -version = "0.3.25" +name = "bevy_ptr" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "9960c19e582b43cebe1894b6679520a4f50802d1cc5b6fa432f8d685ed232f09" [[package]] -name = "png" -version = "0.16.8" +name = "bevy_rapier2d" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +checksum = "e94ea9324a836efedf4b3673a3c5e2011490fa440478d244fe6b1783557ab4fd" dependencies = [ + "bevy", "bitflags", - "crc32fast", - "deflate", - "miniz_oxide", + "log", + "nalgebra", + "rapier2d", ] [[package]] -name = "proc-macro2" -version = "1.0.40" +name = "bevy_reflect" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" +checksum = "3fc689dd7a7df3b3768884a4754711d406aa302ea48da483c03b52715fa95045" dependencies = [ - "unicode-ident", + "bevy_ptr", + "bevy_reflect_derive", + "bevy_utils", + "downcast-rs", + "erased-serde", + "glam", + "once_cell", + "parking_lot 0.12.1", + "serde", + "smallvec", + "thiserror", ] [[package]] -name = "quad-alsa-sys" -version = "0.3.2" +name = "bevy_reflect_derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66c2f04a6946293477973d85adc251d502da51c57b08cd9c997f0cfd8dcd4b5" +checksum = "8c36fa5100832c787c10558d31632ddc454c221e8dfacbbef836938f59614754" dependencies = [ - "libc", + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn", + "uuid", ] [[package]] -name = "quad-rand" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658fa1faf7a4cc5f057c9ee5ef560f717ad9d8dc66d975267f709624d6e1ab88" +name = "bevy_reflect_fns" +version = "0.1.0" +source = "git+https://github.com/jakobhellermann/bevy_reflect_fns#22e85021851e0cfe27b87e428f6313dd8c26abde" +dependencies = [ + "bevy_reflect", + "thiserror", +] [[package]] -name = "quad-snd" -version = "0.2.3" +name = "bevy_render" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e0b4259cfd6a317a46df7b7cb4c09a08ba150642e6f6fb7df5a6b3450a0a29" +checksum = "600bcef85c7efac6e38ed725707f0e5b7c59b510430034ba2f743f472493f845" dependencies = [ - "audir-sles", - "audrey", - "libc", - "quad-alsa-sys", - "winapi", + "anyhow", + "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_time", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags", + "codespan-reporting", + "copyless", + "downcast-rs", + "encase", + "futures-lite", + "hex", + "hexasphere", + "image 0.24.3", + "naga", + "once_cell", + "parking_lot 0.12.1", + "regex", + "serde", + "smallvec", + "thiserror", + "thread_local", + "wgpu", ] [[package]] -name = "quote" -version = "1.0.20" +name = "bevy_render_macros" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +checksum = "1be90adc9e5d5808833e363670818da5fe68ccafd7ca983a457f90957d2a430b" dependencies = [ + "bevy_macro_utils", "proc-macro2", + "quote", + "syn", ] [[package]] -name = "rusty-xinput" -version = "1.2.0" +name = "bevy_scene" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2aa654bc32eb9ca14cce1a084abc9dfe43949a4547c35269a094c39272db3bb" +checksum = "a045d575d2c8f776d8ea965363c81660243fefbfc3712ead938b00dfd6797216" dependencies = [ - "lazy_static", - "log", - "winapi", + "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 = "ryu" -version = "1.0.10" +name = "bevy_sprite" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" +checksum = "69c419f3db09d7ac1f4d45e0874d349d5d6f47f48bc10d55cd0da36413e2331e" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_log", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_transform", + "bevy_utils", + "bitflags", + "bytemuck", + "copyless", + "fixedbitset", + "guillotiere", + "rectangle-pack", + "serde", + "thiserror", +] [[package]] -name = "sapp-android" -version = "0.1.10" +name = "bevy_tasks" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c0d0e6f562c01c533f693ac9c045d69cbeab24d2e16caaaa0e67d06ae6e0940" +checksum = "719b753acb3d5b9dbfd77038560fe1893c17d4ee0a4242c2ee70da9d59430537" dependencies = [ - "libc", - "ndk-sys", + "async-channel", + "async-executor", + "event-listener", + "futures-lite", + "num_cpus", + "once_cell", + "wasm-bindgen-futures", ] [[package]] -name = "sapp-darwin" -version = "0.1.8" +name = "bevy_text" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1282369f486bc334efa2d76fa4d54c20b37664d83da14fc60afbe941814e374" +checksum = "c265b7515faf55a3b92fd6ce0ab65dd246f247e11d737d6f5cdaf49c2be42c63" dependencies = [ - "cc", + "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 = "sapp-dummy" -version = "0.1.5" +name = "bevy_time" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66f1ad26a5b6c682b9ca27c66db9aa91002b8d98a82ac7101ded57285215a478" +checksum = "22830665b8476292b861216383fd79922aef2b540f9fd09d49144e3e5e94550e" dependencies = [ - "libc", + "bevy_app", + "bevy_ecs", + "bevy_reflect", + "bevy_utils", + "crossbeam-channel", ] [[package]] -name = "sapp-ios" -version = "0.1.2" +name = "bevy_transform" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081e6e5261c9ac2e938979b6a854a53b439f065fc3c897205ce7e69d3028b4a9" +checksum = "a4bb8760f03e9667e7499a5ceec1f7630fc3e45702781ac0df56cb969e8ae668" dependencies = [ - "cc", + "bevy_app", + "bevy_ecs", + "bevy_hierarchy", + "bevy_math", + "bevy_reflect", ] [[package]] -name = "sapp-linux" -version = "0.1.14" +name = "bevy_ui" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc71510a7781d8f31d58046a9117682c8e8546ad43f52c0e31275db214495c3d" +checksum = "062ce086de1a4a470e5df48cb5c16a1dc97ab610e635cafabdef26c4a1ef5756" dependencies = [ - "libc", + "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", ] [[package]] -name = "sapp-wasm" -version = "0.1.26" +name = "bevy_utils" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e859e8645a3bcb85aecd40bab883438e4105f21b21bccbeac2348760f508bb" +checksum = "f6e9aa1866c1cf7ee000f281ce9e90d02d701f5c7380a107252017e58e2f5246" +dependencies = [ + "ahash 0.7.6", + "getrandom", + "hashbrown", + "instant", + "tracing", + "uuid", +] [[package]] -name = "sapp-windows" -version = "0.2.20" +name = "bevy_window" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088f921b591fdcabf5f2dc17237be5203b6a1a6988f252d36e153f1442a8138e" +checksum = "707dbbebfac72b1e63e874e7a11a345feab8c440355c0bd71e6dff26709fba9a" dependencies = [ - "winapi", + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_utils", + "raw-window-handle", + "web-sys", ] [[package]] -name = "serde" -version = "1.0.137" +name = "bevy_winit" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" +checksum = "98b15fee4b75472e3441b0c7221467303e4ce59b342a94a328e447e7cdb5a43c" dependencies = [ - "serde_derive", + "approx", + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_utils", + "bevy_window", + "crossbeam-channel", + "raw-window-handle", + "wasm-bindgen", + "web-sys", + "winit", ] [[package]] -name = "serde_derive" -version = "1.0.137" +name = "bindgen" +version = "0.59.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" +checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" dependencies = [ + "bitflags", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", "proc-macro2", "quote", - "syn", + "regex", + "rustc-hash", + "shlex", ] [[package]] -name = "serde_json" -version = "1.0.81" +name = "bit-set" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ - "itoa", - "ryu", - "serde", + "bit-vec", ] [[package]] -name = "smallvec" -version = "0.6.14" +name = "bit-vec" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" -dependencies = [ - "maybe-uninit", -] +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] -name = "spin" -version = "0.9.3" +name = "bitflags" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c530c2b0d0bf8b69304b39fe2001993e267461948b890cd037d8ad4293fa1a0d" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] -name = "syn" -version = "1.0.98" +name = "block" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "generic-array", ] [[package]] -name = "toml" -version = "0.5.9" +name = "bstr" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ - "serde", + "memchr", ] [[package]] -name = "ttf-parser" -version = "0.12.3" +name = "bumpalo" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6" +checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" [[package]] -name = "unicode-ident" -version = "1.0.1" +name = "bytemuck" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" +checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" +dependencies = [ + "bytemuck_derive", +] [[package]] -name = "uuid" -version = "1.1.2" +name = "bytemuck_derive" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" +checksum = "1b9e1f5fa78f69496407a27ae9ed989e3c3b072310286f5ef385525e4cbc24a9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] -name = "vec_map" -version = "0.8.2" +name = "byteorder" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] -name = "version_check" -version = "0.9.4" +name = "bytes" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +name = "cache-padded" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" [[package]] -name = "wasm-bindgen" -version = "0.2.81" +name = "cc" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" dependencies = [ - "cfg-if", - "wasm-bindgen-macro", + "jobserver", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.81" +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 = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", + "nom", ] [[package]] -name = "wasm-bindgen-macro" -version = "0.2.81" +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.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 = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "clang-sys" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ - "quote", - "wasm-bindgen-macro-support", + "glob", + "libc", + "libloading", ] [[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.81" +name = "clap" +version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", + "ansi_term", + "atty", + "bitflags", + "strsim 0.8.0", + "textwrap", + "unicode-width", + "vec_map", ] [[package]] -name = "wasm-bindgen-shared" -version = "0.2.81" +name = "clipboard-win" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be" +checksum = "c4ab1b92798304eedc095b53942963240037c0516452cb11aeba709d420b2219" +dependencies = [ + "error-code", + "str-buf", + "winapi", +] [[package]] -name = "web-sys" -version = "0.3.58" +name = "cocoa" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90" +checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832" dependencies = [ - "js-sys", - "wasm-bindgen", + "bitflags", + "block", + "cocoa-foundation", + "core-foundation 0.9.3", + "core-graphics 0.22.3", + "foreign-types", + "libc", + "objc", ] [[package]] -name = "winapi" -version = "0.3.9" +name = "cocoa-foundation" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "bitflags", + "block", + "core-foundation 0.9.3", + "core-graphics-types", + "foreign-types", + "libc", + "objc", ] [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "codespan-reporting" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[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 = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" +dependencies = [ + "cache-padded", +] + +[[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 1.0.0", + "wasm-bindgen", +] + +[[package]] +name = "const_panic" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c0358e41e90e443c69b2b2811f6ec9892c228b93620634cf4344fe89967fa9f" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "copyless" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536" + +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys 0.8.3", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + +[[package]] +name = "core-graphics" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923" +dependencies = [ + "bitflags", + "core-foundation 0.7.0", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags", + "core-foundation 0.9.3", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +dependencies = [ + "bitflags", + "core-foundation 0.9.3", + "foreign-types", + "libc", +] + +[[package]] +name = "core-video-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828" +dependencies = [ + "cfg-if 0.1.10", + "core-foundation-sys 0.7.0", + "core-graphics 0.19.2", + "libc", + "objc", +] + +[[package]] +name = "coreaudio-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11894b20ebfe1ff903cbdc52259693389eea03b94918a2def2c30c3bf227ad88" +dependencies = [ + "bitflags", + "coreaudio-sys", +] + +[[package]] +name = "coreaudio-sys" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dff444d80630d7073077d38d40b4501fd518bd2b922c2a55edcc8b0f7be57e6" +dependencies = [ + "bindgen", +] + +[[package]] +name = "cpal" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74117836a5124f3629e4b474eed03e479abaf98988b4bb317e29f08cfe0e4116" +dependencies = [ + "alsa", + "core-foundation-sys 0.8.3", + "coreaudio-rs", + "jni", + "js-sys", + "lazy_static", + "libc", + "mach", + "ndk 0.6.0", + "ndk-glue 0.6.2", + "nix 0.23.1", + "oboe", + "parking_lot 0.11.2", + "stdweb", + "thiserror", + "wasm-bindgen", + "web-sys", + "winapi", +] + +[[package]] +name = "cpufeatures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossbeam" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1" +dependencies = [ + "autocfg", + "cfg-if 1.0.0", + "crossbeam-utils", + "memoffset", + "once_cell", + "scopeguard", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd42583b04998a5363558e5f9291ee5a5ff6b49944332103f251e7479a82aa7" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc" +dependencies = [ + "cfg-if 1.0.0", + "once_cell", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cstr_core" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd98742e4fdca832d40cab219dc2e3048de17d873248f83f17df47c1bea70956" +dependencies = [ + "cty", + "memchr", +] + +[[package]] +name = "cty" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" + +[[package]] +name = "d3d12" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "827914e1f53b1e0e025ecd3d967a7836b7bcb54520f90e21ef8df7b4d88a2759" +dependencies = [ + "bitflags", + "libloading", + "winapi", +] + +[[package]] +name = "darling" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "dashmap" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +dependencies = [ + "cfg-if 1.0.0", + "hashbrown", + "lock_api", + "once_cell", + "parking_lot_core 0.9.3", +] + +[[package]] +name = "debug_unreachable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a032eac705ca39214d169f83e3d3da290af06d8d1d344d1baad2fd002dca4b3" +dependencies = [ + "unreachable", +] + +[[package]] +name = "deflate" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" +dependencies = [ + "adler32", + "byteorder", +] + +[[package]] +name = "deno_core" +version = "0.146.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88475da37fe0544b7372fd4705560df496498eb5eeb40ce19bfe7787ed0600ca" +dependencies = [ + "anyhow", + "deno_ops", + "futures", + "indexmap", + "libc", + "log", + "once_cell", + "parking_lot 0.12.1", + "pin-project", + "serde", + "serde_json", + "serde_v8", + "sourcemap", + "url", + "v8", +] + +[[package]] +name = "deno_ops" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e217fd2f9a61bc581f6b13868a46ef800efb7532348fd86cc4fe49204d203ea6" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn", +] + +[[package]] +name = "digest" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "directories" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[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 = "egui" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc9fcd393c3daaaf5909008a1d948319d538b79c51871e4df0993260260a94e4" +dependencies = [ + "ahash 0.8.0", + "epaint", + "nohash-hasher", +] + +[[package]] +name = "egui_extras" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f698f685bb0ad39e87109e2f695ded0bccde77d5d40bbf7590cb5561c1e3039d" +dependencies = [ + "egui", +] + +[[package]] +name = "either" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" + +[[package]] +name = "emath" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9542a40106fdba943a055f418d1746a050e1a903a049b030c2b097d4686a33cf" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "encase" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a516181e9a36e8982cb37933c5e7dba638c42938cacde46ee4e5b4156f881b9" +dependencies = [ + "const_panic", + "encase_derive", + "glam", + "thiserror", +] + +[[package]] +name = "encase_derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5b802412eea315f29f2bb2da3a5963cd6121f56eaa06aebcdc0c54eea578f22" +dependencies = [ + "encase_derive_impl", +] + +[[package]] +name = "encase_derive_impl" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f2f4de457d974f548d2c2a16f709ebd81013579e543bd1a9b19ced88132c2cf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "encoding_rs" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "enum_kind" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b940da354ae81ef0926c5eaa428207b8f4f091d3956c891dfbd124162bed99" +dependencies = [ + "pmutil", + "proc-macro2", + "swc_macros_common", + "syn", +] + +[[package]] +name = "env_logger" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "epaint" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ba04741be7f6602b1a1b28f1082cce45948a7032961c52814f8946b28493300" +dependencies = [ + "ab_glyph", + "ahash 0.8.0", + "atomic_refcell", + "bytemuck", + "emath", + "nohash-hasher", + "parking_lot 0.12.1", +] + +[[package]] +name = "erased-serde" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54558e0ba96fbe24280072642eceb9d7d442e32c7ec0ea9e7ecd7b4ea2cf4e11" +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.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b52c2ef4a78da0ba68fbe1fd920627411096d2ac478f7f4c9f3a54ba6705bade" +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.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + +[[package]] +name = "filetime" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall", + "windows-sys", +] + +[[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.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +dependencies = [ + "crc32fast", + "miniz_oxide 0.5.4", +] + +[[package]] +name = "fluent" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7" +dependencies = [ + "fluent-bundle", + "unic-langid", +] + +[[package]] +name = "fluent-bundle" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd" +dependencies = [ + "fluent-langneg", + "fluent-syntax", + "intl-memoizer", + "intl_pluralrules", + "rustc-hash", + "self_cell", + "smallvec", + "unic-langid", +] + +[[package]] +name = "fluent-langneg" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94" +dependencies = [ + "unic-langid", +] + +[[package]] +name = "fluent-syntax" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78" +dependencies = [ + "thiserror", +] + +[[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.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "from_variant" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0981e470d2ab9f643df3921d54f1952ea100c39fdb6a3fdc820e20d2291df6c" +dependencies = [ + "pmutil", + "proc-macro2", + "swc_macros_common", + "syn", +] + +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + +[[package]] +name = "fslock" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57eafdd0c16f57161105ae1b98a1238f97645f2f588438b2949c99a2af9616bf" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "futures" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" + +[[package]] +name = "futures-executor" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" + +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" + +[[package]] +name = "futures-task" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" + +[[package]] +name = "futures-util" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +dependencies = [ + "typenum", + "version_check", +] + +[[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.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gilrs" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ba7c37bf8ea7ba0c3e3795dfa1a7771b1e47c4bb417c4d27c7b338d79685f" +dependencies = [ + "fnv", + "gilrs-core", + "log", + "uuid", + "vec_map", +] + +[[package]] +name = "gilrs-core" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a8d94a7fc5afd27e894e08a4cfe5a49237f85bcc7140e90721bad3399c7d02" +dependencies = [ + "core-foundation 0.9.3", + "io-kit-sys", + "js-sys", + "libc", + "libudev-sys", + "log", + "nix 0.24.2", + "rusty-xinput", + "uuid", + "vec_map", + "wasm-bindgen", + "web-sys", + "winapi", +] + +[[package]] +name = "glam" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "518faa5064866338b013ff9b2350dc318e14cc4fcd6cb8206d7e7c9886c98815" +dependencies = [ + "bytemuck", + "serde", +] + +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "globset" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" +dependencies = [ + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", +] + +[[package]] +name = "glow" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8bd5877156a19b8ac83a29b2306fe20537429d318f3ff0a1a2119f8d9c61919" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc59e5f710e310e76e6707f86c561dd646f69a8876da9131703b2f717de818d" +dependencies = [ + "bitflags", + "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", +] + +[[package]] +name = "gpu-descriptor" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a" +dependencies = [ + "bitflags", + "gpu-descriptor-types", + "hashbrown", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" +dependencies = [ + "bitflags", +] + +[[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 = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hash32-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59d2aba832b60be25c1b169146b27c64115470981b128ed84c8db18c1b03c6ff" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.6", + "serde", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hexasphere" +version = "7.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaadafd1beb6ad34cff5521987017ece5848f9ad5401fdb039bff896a643add4" +dependencies = [ + "glam", + "once_cell", +] + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "if_chain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" + +[[package]] +name = "image" +version = "0.23.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-iter", + "num-rational 0.3.2", + "num-traits", + "png 0.16.8", + "tiff", +] + +[[package]] +name = "image" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e30ca2ecf7666107ff827a8e481de6a132a9b687ed3bb20bb1c144a36c00964" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-rational 0.4.1", + "num-traits", + "png 0.17.6", +] + +[[package]] +name = "indexmap" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +dependencies = [ + "autocfg", + "hashbrown", + "serde", +] + +[[package]] +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags", + "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 = "inplace_it" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e567468c50f3d4bc7397702e09b380139f9b9288b4e909b070571007f8b5bf78" + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "intl-memoizer" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" +dependencies = [ + "type-map 0.4.0", + "unic-langid", +] + +[[package]] +name = "intl_pluralrules" +version = "7.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf" +dependencies = [ + "tinystr", + "unic-langid", +] + +[[package]] +name = "io-kit-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7789f7f3c9686f96164f5109d69152de759e76e284f736bd57661c6df5091919" +dependencies = [ + "core-foundation-sys 0.8.3", + "mach", +] + +[[package]] +name = "is-macro" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c068d4c6b922cd6284c609cfa6dec0e41615c9c5a1a4ba729a970d8daba05fb" +dependencies = [ + "Inflector", + "pmutil", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" + +[[package]] +name = "iyes_loopless" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fec251a82c60be9e282aec12056fa153666d5730b21d124655d7c22114d342c8" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_time", + "bevy_utils", +] + +[[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-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +dependencies = [ + "libc", +] + +[[package]] +name = "jpeg-decoder" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" + +[[package]] +name = "js-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jumpy" +version = "0.4.3" +dependencies = [ + "anyhow", + "async-channel", + "bevy", + "bevy-has-load-progress", + "bevy-inspector-egui", + "bevy-inspector-egui-rapier", + "bevy-parallax", + "bevy_egui", + "bevy_fluent", + "bevy_kira_audio", + "bevy_mod_js_scripting", + "bevy_rapier2d", + "directories", + "egui_extras", + "fluent", + "getrandom", + "iyes_loopless", + "leafwing-input-manager", + "once_cell", + "rand", + "serde", + "serde_yaml", + "structopt", + "sys-locale", + "thiserror", + "unic-langid", + "web-sys", +] + +[[package]] +name = "khronos-egl" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3" +dependencies = [ + "libc", + "libloading", + "pkg-config", +] + +[[package]] +name = "kira" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "556d90f602ffc4996630769a645035b041786d1b927a17cfbc6a9c3000e62de9" +dependencies = [ + "atomic-arena", + "cpal", + "ringbuf", + "symphonia", +] + +[[package]] +name = "kqueue" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d6112e8f37b59803ac47a42d14f1f3a59bbf72fc6857ffc5be455e28a691f8e" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587" +dependencies = [ + "bitflags", + "libc", +] + +[[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 = "leafwing-input-manager" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc0e2dd6c5d8c0bc64951036855bb3fb8f4ed88442cb6c02ed490b29cae5c186" +dependencies = [ + "bevy", + "derive_more", + "itertools", + "leafwing_input_manager_macros", + "petitset", + "serde", +] + +[[package]] +name = "leafwing_input_manager_macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38676bbe26f336c5554150be0050a7033c72e882f8df4be5a2b3b1e6b2929cd" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "lexical" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aefb36fd43fef7003334742cbf77b243fcd36418a1d1bdd480d613a67968f6" +dependencies = [ + "lexical-core", +] + +[[package]] +name = "lexical-core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +dependencies = [ + "lexical-parse-integer", + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-parse-integer" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-util" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lexical-write-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +dependencies = [ + "lexical-util", + "lexical-write-integer", + "static_assertions", +] + +[[package]] +name = "lexical-write-integer" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.133" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" + +[[package]] +name = "libloading" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +dependencies = [ + "cfg-if 1.0.0", + "winapi", +] + +[[package]] +name = "libm" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +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", +] + +[[package]] +name = "matrixmultiply" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" +dependencies = [ + "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 = "metal" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" +dependencies = [ + "bitflags", + "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.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +dependencies = [ + "adler32", +] + +[[package]] +name = "miniz_oxide" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +dependencies = [ + "adler", + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys", +] + +[[package]] +name = "naga" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f50357e1167a3ab92d6b3c7f4bf5f7fd13fde3f4b28bf0d5ea07b5100fdb6c0" +dependencies = [ + "bit-set", + "bitflags", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "num-traits", + "petgraph", + "pp-rs", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "nalgebra" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e0a04ce089f9401aac565c740ed30c46291260f27d4911fdbaa6ca65fa3044" +dependencies = [ + "approx", + "glam", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational 0.4.1", + "num-traits", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ndk" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d868f654c72e75f8687572699cdabe755f03effbb62542768e995d5b8d699d" +dependencies = [ + "bitflags", + "jni-sys", + "ndk-sys 0.2.2", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" +dependencies = [ + "bitflags", + "jni-sys", + "ndk-sys 0.3.0", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-glue" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71bee8ea72d685477e28bd004cfe1bf99c754d688cd78cad139eae4089484d4" +dependencies = [ + "android_logger", + "lazy_static", + "libc", + "log", + "ndk 0.5.0", + "ndk-context", + "ndk-macro", + "ndk-sys 0.2.2", +] + +[[package]] +name = "ndk-glue" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d0c4a7b83860226e6b4183edac21851f05d5a51756e97a1144b7f5a6b63e65f" +dependencies = [ + "lazy_static", + "libc", + "log", + "ndk 0.6.0", + "ndk-context", + "ndk-macro", + "ndk-sys 0.3.0", +] + +[[package]] +name = "ndk-macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c" +dependencies = [ + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ndk-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" + +[[package]] +name = "ndk-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "nix" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" +dependencies = [ + "bitflags", + "cc", + "cfg-if 1.0.0", + "libc", + "memoffset", +] + +[[package]] +name = "nix" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" +dependencies = [ + "bitflags", + "cc", + "cfg-if 1.0.0", + "libc", + "memoffset", +] + +[[package]] +name = "nix" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "libc", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "notify" +version = "5.0.0-pre.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "553f9844ad0b0824605c20fb55a661679782680410abfb1a8144c2e7e437e7a7" +dependencies = [ + "bitflags", + "crossbeam-channel", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "mio", + "walkdir", + "winapi", +] + +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-complex" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +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", +] + +[[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-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg", + "num-integer", + "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.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[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_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 = "oboe" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27f63c358b4fa0fbcfefd7c8be5cfc39c08ce2389f5325687e7762a48d30a5c1" +dependencies = [ + "jni", + "ndk 0.6.0", + "ndk-context", + "num-derive", + "num-traits", + "oboe-sys", +] + +[[package]] +name = "oboe-sys" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3370abb7372ed744232c12954d920d1a40f1c4686de9e79e800021ef492294bd" +dependencies = [ + "cc", +] + +[[package]] +name = "once_cell" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" + +[[package]] +name = "optional" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978aa494585d3ca4ad74929863093e87cac9790d81fe7aba2b3dc2890643a0fc" + +[[package]] +name = "owned_ttf_parser" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e6affeb1632d6ff6a23d2cd40ffed138e82f1532571a26f527c8a284bb2fbb" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.5", +] + +[[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 0.9.3", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + +[[package]] +name = "parry2d" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2841cebc29aaf7c69058b242742853d9b106c5245ed946090a75d941d23a6f5e" +dependencies = [ + "approx", + "arrayvec", + "bitflags", + "downcast-rs", + "either", + "nalgebra", + "num-derive", + "num-traits", + "rustc-hash", + "simba", + "slab", + "smallvec", + "spade", +] + +[[package]] +name = "paste" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" + +[[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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "petgraph" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "petitset" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1a50d821a2526af6d5756c23c68e453532a986e361a3e12c9cc7fe61d862ac" +dependencies = [ + "serde", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_macros", + "phf_shared", + "proc-macro-hack", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" + +[[package]] +name = "pmutil" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "png" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +dependencies = [ + "bitflags", + "crc32fast", + "deflate", + "miniz_oxide 0.3.7", +] + +[[package]] +name = "png" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c" +dependencies = [ + "bitflags", + "crc32fast", + "flate2", + "miniz_oxide 0.5.4", +] + +[[package]] +name = "pollster" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5da3b0203fd7ee5720aa0b5e790b591aa5d3f41c3ed2c34a3a393382198af2f7" + +[[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 = "ppv-lite86" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "pretty-type-name" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8815d101cfb4cb491154896bdab292a395a7ac9ab185a9941a2f5be0135900d" + +[[package]] +name = "proc-macro-crate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +dependencies = [ + "once_cell", + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro2" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "profiling" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f61dcf0b917cd75d4521d7343d1ffff3d1583054133c9b5cbea3375c703c40d" + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radsort" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17fd96390ed3feda12e1dfe2645ed587e0bea749e319333f104a33ff62f77a0b" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "range-alloc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e935c45e09cc6dcf00d2f0b2d630a58f4095320223d47fc68918722f0538b6" + +[[package]] +name = "rapier2d" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84d7e798266018ec9194a6ca931ae6520c0bf5f7dbdbcb5f1d8bb0d9c075ea24" +dependencies = [ + "approx", + "arrayvec", + "bit-vec", + "bitflags", + "crossbeam", + "downcast-rs", + "nalgebra", + "num-derive", + "num-traits", + "parry2d", + "rustc-hash", + "simba", +] + +[[package]] +name = "raw-window-handle" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41" +dependencies = [ + "cty", +] + +[[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.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" + +[[package]] +name = "renderdoc-sys" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1382d1f0a252c4bf97dc20d979a2fdd05b024acd7c2ed0f7595d7817666a157" + +[[package]] +name = "ringbuf" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f65af18d50f789e74aaf23bbb3f65dcd22a3cb6e029b5bced149f6bd57c5c2a2" +dependencies = [ + "cache-padded", +] + +[[package]] +name = "robust" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5864e7ef1a6b7bcf1d6ca3f655e65e724ed3b52546a0d0a663c991522f552ea" + +[[package]] +name = "ron" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" +dependencies = [ + "base64 0.13.0", + "bitflags", + "serde", +] + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.14", +] + +[[package]] +name = "rusty-xinput" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2aa654bc32eb9ca14cce1a084abc9dfe43949a4547c35269a094c39272db3bb" +dependencies = [ + "lazy_static", + "log", + "winapi", +] + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "safe_arch" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529" +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 = "scoped-tls" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "self_cell" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af" + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "serde" +version = "1.0.145" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-wasm-bindgen" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfc62771e7b829b517cb213419236475f434fb480eddd76112ae182d274434a" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "serde_bytes" +version = "0.11.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.145" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_v8" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3c3efa9cff97d5a543df0508c37af619e422fb92eb525f38d255d46df7a0eb7" +dependencies = [ + "bytes", + "derive_more", + "serde", + "serde_bytes", + "smallvec", + "v8", +] + +[[package]] +name = "serde_yaml" +version = "0.9.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8613d593412a0deb7bbd8de9d908efff5a0cb9ccd8f62c641e7b2ed2f57291d1" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + +[[package]] +name = "sha-1" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha1_smol" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" + +[[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.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c48e45e5961033db030b56ad67aef22e9c908c493a6e8348c0a0f6b93433cd77" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", + "wide", +] + +[[package]] +name = "siphasher" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" + +[[package]] +name = "slab" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +dependencies = [ + "serde", + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" +dependencies = [ + "serde", +] + +[[package]] +name = "sourcemap" +version = "6.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e031f2463ecbdd5f34c950f89f5c1e1032f22c0f8e3dc4bdb2e8b6658cf61eb" +dependencies = [ + "base64 0.11.0", + "if_chain", + "lazy_static", + "regex", + "rustc_version 0.2.3", + "serde", + "serde_json", + "url", +] + +[[package]] +name = "spade" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "333b8c21ebd9a45c5e955f3d7a1f0c4a2214847dd7e8e1abb69f34ec9b88882d" +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", + "num-traits", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "stdweb" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e" + +[[package]] +name = "str-buf" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" + +[[package]] +name = "string_cache" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot 0.12.1", + "phf_shared", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", +] + +[[package]] +name = "string_enum" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f584cc881e9e5f1fd6bf827b0444aa94c30d8fe6378cf241071b5f5700b2871f" +dependencies = [ + "pmutil", + "proc-macro2", + "quote", + "swc_macros_common", + "syn", +] + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "structopt" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +dependencies = [ + "clap", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "svg_fmt" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" + +[[package]] +name = "swc_atoms" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c4672abeb1ab4f174fae3928945c3f42776f21f636e0b118b3497c4cd2d6b6e" +dependencies = [ + "once_cell", + "rustc-hash", + "serde", + "string_cache", + "string_cache_codegen", + "triomphe", +] + +[[package]] +name = "swc_common" +version = "0.27.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b0b6107e44797d0549bdb5b47a97682c3b914140269c01d2acdb16a1b885f6" +dependencies = [ + "ahash 0.7.6", + "ast_node", + "better_scoped_tls", + "cfg-if 1.0.0", + "debug_unreachable", + "either", + "from_variant", + "num-bigint", + "once_cell", + "rustc-hash", + "serde", + "siphasher", + "string_cache", + "swc_atoms", + "swc_eq_ignore_macros", + "swc_visit", + "tracing", + "unicode-width", + "url", +] + +[[package]] +name = "swc_config" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc17721410f3f12aeb42dcb99528350adf122681ab4796e48c2cfc0bda0c752c" +dependencies = [ + "anyhow", + "indexmap", + "serde", + "serde_json", + "swc_config_macro", +] + +[[package]] +name = "swc_config_macro" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb64bc03d90fd5c90d6ab917bb2b1d7fbd31957df39e31ea24a3f554b4372251" +dependencies = [ + "pmutil", + "proc-macro2", + "quote", + "swc_macros_common", + "syn", +] + +[[package]] +name = "swc_ecma_ast" +version = "0.90.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f712949db06518bec7b7e050aa3bcde749a74fbf79f4f520ab179d0445b63593" +dependencies = [ + "bitflags", + "is-macro", + "num-bigint", + "scoped-tls", + "serde", + "string_enum", + "swc_atoms", + "swc_common", + "unicode-id", +] + +[[package]] +name = "swc_ecma_codegen" +version = "0.121.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fa47424bed05de6077eda3271d6764f87c2735a8f3798dea23c95898e5e0deb" +dependencies = [ + "memchr", + "num-bigint", + "once_cell", + "rustc-hash", + "serde", + "sourcemap", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_codegen_macros", + "tracing", +] + +[[package]] +name = "swc_ecma_codegen_macros" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0159c99f81f52e48fe692ef7af1b0990b45d3006b14c6629be0b1ffee1b23aea" +dependencies = [ + "pmutil", + "proc-macro2", + "quote", + "swc_macros_common", + "syn", +] + +[[package]] +name = "swc_ecma_parser" +version = "0.117.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d88ffca99514bc8bfa8bf4f2d74fb673caa844e521b55035b8cfd10472b801d4" +dependencies = [ + "either", + "enum_kind", + "lexical", + "num-bigint", + "serde", + "smallvec", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "tracing", + "typed-arena", +] + +[[package]] +name = "swc_ecma_transforms_base" +version = "0.103.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aad7af4a1ae307e547a0f5ab6b081ffa6a22af89abe2f8a953a735a398ba9d" +dependencies = [ + "better_scoped_tls", + "bitflags", + "num_cpus", + "once_cell", + "phf", + "rustc-hash", + "serde", + "smallvec", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_utils", + "swc_ecma_visit", + "tracing", +] + +[[package]] +name = "swc_ecma_transforms_macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebf907935ec5492256b523ae7935a824d9fdc0368dcadc41375bad0dca91cd8b" +dependencies = [ + "pmutil", + "proc-macro2", + "quote", + "swc_macros_common", + "syn", +] + +[[package]] +name = "swc_ecma_transforms_react" +version = "0.141.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b57461fea819904faf5aeac39e49229995701a31fa5041929b7909885a69cc0a" +dependencies = [ + "ahash 0.7.6", + "base64 0.13.0", + "dashmap", + "indexmap", + "once_cell", + "regex", + "serde", + "sha-1", + "string_enum", + "swc_atoms", + "swc_common", + "swc_config", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_transforms_typescript" +version = "0.145.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc0cba6d14b04900e5068d69c7492149c4e9320a9fcf79fca0e7224811c1d14" +dependencies = [ + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_react", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_utils" +version = "0.99.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d92cff624945ded0b2bb07e9dfb44d57745abcc415b6025c6c3d2dc3a7af5396" +dependencies = [ + "indexmap", + "once_cell", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_visit", + "tracing", + "unicode-id", +] + +[[package]] +name = "swc_ecma_visit" +version = "0.76.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da9fbd418ce4dc3c7b10e74a919ecc6f56c376d63a6a03766655c6c2283475d" +dependencies = [ + "num-bigint", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_visit", + "tracing", +] + +[[package]] +name = "swc_eq_ignore_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c20468634668c2bbab581947bb8c75c97158d5a6959f4ba33df20983b20b4f6" +dependencies = [ + "pmutil", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "swc_macros_common" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4be988307882648d9bc7c71a6a73322b7520ef0211e920489a98f8391d8caa2" +dependencies = [ + "pmutil", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "swc_visit" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82f2bcb7223e185c4c7cbf5e0c1207dec6d2bfd5e72e3fb7b3e8d179747e9130" +dependencies = [ + "either", + "swc_visit_macros", +] + +[[package]] +name = "swc_visit_macros" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb1f3561674d84947694d41fb6d5737d19539222779baeac1b3a071a2b29428" +dependencies = [ + "Inflector", + "pmutil", + "proc-macro2", + "quote", + "swc_macros_common", + "syn", +] + +[[package]] +name = "symphonia" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17033fe05e4f7f10a6ad602c272bafd2520b2e5cdd9feb61494d9cdce08e002f" +dependencies = [ + "lazy_static", + "symphonia-bundle-mp3", + "symphonia-codec-vorbis", + "symphonia-core", + "symphonia-format-ogg", + "symphonia-metadata", +] + +[[package]] +name = "symphonia-bundle-mp3" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db5d3d53535ae2b7d0e39e82f683cac5398a6c8baca25ff1183e107d13959d3e" +dependencies = [ + "bitflags", + "lazy_static", + "log", + "symphonia-core", + "symphonia-metadata", +] + +[[package]] +name = "symphonia-codec-vorbis" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "323b94435a1a807e1001e29490aeaef2660fb72b145d47497e8429a6cb1d67c3" +dependencies = [ + "log", + "symphonia-core", + "symphonia-utils-xiph", +] + +[[package]] +name = "symphonia-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "199a6417cd4115bac79289b64b859358ea050b7add0ceb364dc991f628c5b347" +dependencies = [ + "arrayvec", + "bitflags", + "bytemuck", + "lazy_static", + "log", +] + +[[package]] +name = "symphonia-format-ogg" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d2f741469a0f103607ed1f2605f7f00b13ba044ea9ddc616764558c6d3d9b7d" +dependencies = [ + "log", + "symphonia-core", + "symphonia-metadata", + "symphonia-utils-xiph", +] + +[[package]] +name = "symphonia-metadata" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed71acf6b5e6e8bee1509597b86365a06b78c1d73218df47357620a6fe5997b" +dependencies = [ + "encoding_rs", + "lazy_static", + "log", + "symphonia-core", +] + +[[package]] +name = "symphonia-utils-xiph" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73cbb0766ce77a8aef535f9438db645e7b6f1b2c4cf3be9bf246b4e11a7d5531" +dependencies = [ + "symphonia-core", + "symphonia-metadata", +] + +[[package]] +name = "syn" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sys-locale" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658ee915b6c7b73ec4c1ffcd838506b5c5a4087eadc1ec8f862f1066cf2c8132" +dependencies = [ + "cc", + "cstr_core", + "js-sys", + "libc", + "wasm-bindgen", + "web-sys", + "winapi", +] + +[[package]] +name = "taffy" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec27dea659b100d489dffa57cf0efc6d7bfefb119af817b92cc14006c0b214e3" +dependencies = [ + "arrayvec", + "hash32", + "hash32-derive", + "num-traits", + "typenum", +] + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tiff" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437" +dependencies = [ + "jpeg-decoder", + "miniz_oxide 0.4.4", + "weezl", +] + +[[package]] +name = "tinystr" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "toml" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +dependencies = [ + "serde", +] + +[[package]] +name = "tracing" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" +dependencies = [ + "cfg-if 1.0.0", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" +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.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b" +dependencies = [ + "ansi_term", + "matchers", + "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 = "triomphe" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" +dependencies = [ + "serde", + "stable_deref_trait", +] + +[[package]] +name = "ttf-parser" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd" + +[[package]] +name = "type-map" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46" +dependencies = [ + "rustc-hash", +] + +[[package]] +name = "type-map" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" +dependencies = [ + "rustc-hash", +] + +[[package]] +name = "typed-arena" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0685c84d5d54d1c26f7d3eb96cd41550adb97baed141a761cf335d3d33bcd0ae" + +[[package]] +name = "typenum" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" + +[[package]] +name = "unic-langid" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5" +dependencies = [ + "unic-langid-impl", +] + +[[package]] +name = "unic-langid-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934d" +dependencies = [ + "serde", + "tinystr", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-id" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d70b6494226b36008c8366c288d77190b3fad2eb4c10533139c1c1f461127f1a" + +[[package]] +name = "unicode-ident" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" + +[[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-segmentation" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" + +[[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 = "unreachable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91" +dependencies = [ + "void", +] + +[[package]] +name = "unsafe-libyaml" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e5fa573d8ac5f1a856f8d7be41d390ee973daf97c806b2c1a465e4e1406e68" + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "uuid" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" +dependencies = [ + "getrandom", + "serde", + "sha1_smol", +] + +[[package]] +name = "v8" +version = "0.47.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be156dece7a023d5959a72dc0d398d6c95100ec601a2cea10d868da143e85166" +dependencies = [ + "bitflags", + "fslock", + "lazy_static", + "libc", + "which", +] + +[[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 = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "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.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "wasm_mutex" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efbdddc3b163fc2d639800b3411a5428d1e151ba2a400a560b1545e39f1e68cd" +dependencies = [ + "serde", +] + +[[package]] +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webbrowser" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a3cffdb686fbb24d9fb8f03a213803277ed2300f11026a3afe1f108dc021b" +dependencies = [ + "jni", + "ndk-glue 0.6.2", + "url", + "web-sys", + "widestring", + "winapi", +] + +[[package]] +name = "weezl" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" + +[[package]] +name = "wgpu" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "277e967bf8b7820a76852645a6bce8bbd31c32fda2042e82d8e3ea75fda8892d" +dependencies = [ + "arrayvec", + "js-sys", + "log", + "naga", + "parking_lot 0.12.1", + "raw-window-handle", + "smallvec", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b92788dec9d0c1bed849a1b83f01b2ee12819bf04a79c90f68e4173f7b5ba2" +dependencies = [ + "arrayvec", + "bit-vec", + "bitflags", + "cfg_aliases", + "codespan-reporting", + "copyless", + "fxhash", + "log", + "naga", + "parking_lot 0.12.1", + "profiling", + "raw-window-handle", + "smallvec", + "thiserror", + "web-sys", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cbdfc3d0637dba3d5536b93adef3d26023a0b96f0e1ee5ee9560a401d9f646" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set", + "bitflags", + "block", + "core-graphics-types", + "d3d12", + "foreign-types", + "fxhash", + "glow", + "gpu-alloc", + "gpu-descriptor", + "inplace_it", + "js-sys", + "khronos-egl", + "libloading", + "log", + "metal", + "naga", + "objc", + "parking_lot 0.12.1", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi", +] + +[[package]] +name = "wgpu-types" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f762cbc08e1a51389859cf9c199c7aef544789cf3510889aab12c607f701604" +dependencies = [ + "bitflags", +] + +[[package]] +name = "which" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +dependencies = [ + "either", + "libc", + "once_cell", +] + +[[package]] +name = "wide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3aba2d1dac31ac7cae82847ac5b8be822aee8f99a4e100f279605016b185c5f" +dependencies = [ + "bytemuck", + "safe_arch", +] + +[[package]] +name = "widestring" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" + +[[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-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + +[[package]] +name = "winit" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b43cc931d58b99461188607efd7acb2a093e65fc621f54cad78517a6063e73a" +dependencies = [ + "bitflags", + "cocoa", + "core-foundation 0.9.3", + "core-graphics 0.22.3", + "core-video-sys", + "dispatch", + "instant", + "lazy_static", + "libc", + "log", + "mio", + "ndk 0.5.0", + "ndk-glue 0.5.2", + "ndk-sys 0.2.2", + "objc", + "parking_lot 0.11.2", + "percent-encoding", + "raw-window-handle", + "wasm-bindgen", + "web-sys", + "winapi", + "x11-dl", +] + +[[package]] +name = "x11-dl" +version = "2.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c83627bc137605acc00bb399c7b908ef460b621fc37c953db2b09f88c449ea6" +dependencies = [ + "lazy_static", + "libc", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e99be55648b3ae2a52342f9a870c0e138709a3493261ce9b469afe6e4df6d8a" +dependencies = [ + "gethostname", + "nix 0.22.3", + "winapi", + "winapi-wsapoll", +] + +[[package]] +name = "xi-unicode" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" diff --git a/Cargo.toml b/Cargo.toml index e7c970b8ac..860420e04e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,33 +1,15 @@ -[package] -name = "jumpy" -version = "0.4.3" -description = "A tactical 2D shooter" -authors = ["The Fish Fight Game & Spicy Lobster Developers"] -license = "MIT OR Apache-2.0" -edition = "2021" - -[target.'cfg(target_arch = "wasm32")'.lib] -crate-type = ["cdylib"] - -[features] -default = [] - [workspace] -members = ["core"] +resolver = "2" +members = [ + "crates/jumpy", + "crates/bevy-has-load-progress", + "crates/bevy-has-load-progress/macros", +] [profile.dev.package."*"] -opt-level = 3 - -[dependencies] -core = { path = "./core", package = "jumpy-core" } -ff-particles = { version = "0.1", features = ["serde"] } -fishsticks = { git = "https://github.com/fishfolks/fishsticks", default-features = false, features = ["gilrs"] } -macroquad = { version = "=0.3.16" } # Newer versions break is_key_pressed detection -macroquad-platformer = "0.1.3" -hecs = "0.7.1" -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" - -[target.'cfg(target_arch = "wasm32")'.dependencies] -wasm-bindgen = "0.2.74" +opt-level = 1 # Set this to 3 if the game becomes slow to respond during gameplay +debug = false +[profile.release] +lto = true +codegen-units = 1 # Improves physics performance for release builds \ No newline at end of file diff --git a/PACKAGING.md b/PACKAGING.md index 61ecefaa86..f37fe3e06b 100644 --- a/PACKAGING.md +++ b/PACKAGING.md @@ -1,54 +1,3 @@ ## Packaging Fish Folk: Jumpy -### Dependencies - -#### Build dependencies - -- [Rust](https://www.rust-lang.org/tools/install) (`1.53.0+`) -- [libudev](https://www.freedesktop.org/software/systemd/man/libudev.html) - -#### Runtime dependencies - -- [libX11](https://gitlab.freedesktop.org/xorg/lib/libx11) -- [libXi](https://gitlab.freedesktop.org/xorg/lib/libxi) -- [Mesa](https://www.mesa3d.org/) - [OpenGL](https://www.opengl.org) (`3.2+`) -- [alsa-lib](https://github.com/alsa-project/alsa-lib) - -Also see [macroquad#linux](https://github.com/not-fl3/macroquad#linux). - -### Build - -```sh -# export CARGO_TARGET_DIR=target -cargo run --release --locked -``` - -### Environment variables - -- `JUMPY_CONFIG`: configuration file (default: `config.json`) -- `JUMPY_ASSETS`: assets directory (default: `assets/`) -- `JUMPY_MODS`: mods directory (default: `mods/`) - -### Package - -Binary will be located at `target/release/jumpy` after [build](#build). To run it, `assets` directory should be placed in the same directory or a path can be specified via `JUMPY_ASSETS` environment variable. - -For example: - -```sh -export JUMPY_ASSETS=/opt/jumpy/assets/ -export JUMPY_MODS=/opt/jumpy/mods/ -target/release/jumpy -``` - -The desktop file in the contrib/ directory can be installed to allow running the game from your desktop's app launcher. - -Also see [README.md#distro-packages](./README.md#distro-packages) - -### Binary releases - -Binary releases are automated via [Continuous Deployment](./.github/workflows/release.yml) workflow and they can be downloaded from the [releases](https://github.com/fishfolks/jumpy/releases) page. Release artifacts are named in the following format: - -- `jumpy--.` - -A single archive includes the `jumpy` binary and `assets` directory. It can be verified by using a SHA256 hash file that has the same name as the artifact except it ends with ".sha256". Release artifacts are not signed at this time. +TODO: Rewrite for Bevy refactor. \ No newline at end of file diff --git a/assets/sounds/.DS_Store b/assets/sounds/.DS_Store deleted file mode 100644 index b309d5b7d11e8f5ca4222fd70990269d7d6f2d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5T4bDRWC(6h=?pcK}%mCEvcyBAF+6qHlT-;6pG++-#~mGFVctbd7Rl9 zVm4{PQxTbgoiEv$$$tBV>}CPL3|_J>KpOyB*a)LtbW4ol)Ec%SJqL)!KjRjzUli?L`6q1q7fK2E8(vy)`NXB(Utw@&CQAnm456E;pnQeH$SKG(edV`B{TBTGA z1;l6`0JV%7y{}`|s*zPy%&o`@sPbs)*RKHX*<`IfM)j(IDxeCK3efssu@T0Cj?ph2 z==>1?F~V+dcui*ssl{Vr~;t^n|#}*{eQUn{2vzSohqOT{3``al%&Z3rzCr8V{)|DT5ONl$SBV- l`Vw@q9s3K~iVv}Q! { - pub tx: Sender, - pub rx: Receiver, -} - -impl Channel { - pub fn new(tx: Sender, rx: Receiver) -> Self { - Channel { tx, rx } - } -} diff --git a/core/src/config.rs b/core/src/config.rs deleted file mode 100644 index f1105a1aaa..0000000000 --- a/core/src/config.rs +++ /dev/null @@ -1,55 +0,0 @@ -use std::fs; -use std::path::Path; - -use serde::{Deserialize, Serialize}; - -use crate::input::mapping::InputMapping; -use crate::Result; - -#[derive(Debug, Clone, Default, Serialize, Deserialize)] -#[serde(deny_unknown_fields)] -pub struct Config { - #[serde(default)] - pub window: WindowConfig, - #[serde(default)] - pub input: InputMapping, -} - -impl Config { - pub fn load>(path: P) -> Result { - let path = path.as_ref(); - - let mut res = if path.exists() { - let bytes = fs::read(path)?; - toml::from_slice(&bytes)? - } else { - Config::default() - }; - - res.input.verify()?; - - Ok(res) - } -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(deny_unknown_fields)] -pub struct WindowConfig { - pub width: u32, - pub height: u32, - #[serde(default, rename = "fullscreen")] - pub is_fullscreen: bool, - #[serde(default, rename = "high-dpi")] - pub is_high_dpi: bool, -} - -impl Default for WindowConfig { - fn default() -> Self { - WindowConfig { - width: 955, - height: 600, - is_fullscreen: false, - is_high_dpi: false, - } - } -} diff --git a/core/src/data.rs b/core/src/data.rs deleted file mode 100644 index f71a84110d..0000000000 --- a/core/src/data.rs +++ /dev/null @@ -1,149 +0,0 @@ -use std::fmt::{self, Debug, Formatter}; -use std::path::Path; - -use macroquad::prelude::*; - -use serde::de::DeserializeOwned; -use serde::{Deserialize, Serialize}; - -use crate::text::ToStringHelper; -use crate::Result; - -pub struct Error { - pub path: String, - pub err: Box, -} - -impl Error { - pub fn new(path: &str, err: E) -> Self - where - E: Into>, - { - Error { - path: path.to_string(), - err: err.into(), - } - } -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "File error: {}: {}", &self.path, &self.err) - } -} - -impl Debug for Error { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - write!(f, "File error: {}: {}", &self.path, &self.err) - } -} - -impl std::error::Error for Error {} - -/// Serialize a value into a string of JSON. -/// Will return a `serde_json::Error` if a parsing error is encountered. -pub fn serialize_json_string(value: &T) -> std::result::Result -where - T: Serialize, -{ - let res = serde_json::to_string_pretty(value)?; - Ok(res) -} - -/// Serialize a value into a slice of JSON. -/// Will return a `serde_json::Error` if a parsing error is encountered. -pub fn serialize_json_bytes(value: &T) -> std::result::Result, serde_json::Error> -where - T: Serialize, -{ - let res = serde_json::to_string_pretty(value)?; - Ok(res.into_bytes()) -} - -/// Deserialize a slice of JSON into a value. -/// Will return a `serde_json::Error` if a parsing error is encountered. -pub fn deserialize_json_bytes<'a, T>(value: &'a [u8]) -> std::result::Result -where - T: Deserialize<'a>, -{ - let res = serde_json::from_slice(value)?; - Ok(res) -} - -/// Deserialize a string of JSON into a value. -/// Will return a `serde_json::Error` if a parsing error is encountered. -pub fn deserialize_json_string<'a, T>(value: &'a str) -> std::result::Result -where - T: Deserialize<'a>, -{ - let res = serde_json::from_str(value)?; - Ok(res) -} - -/// Deserialize a JSON file into a value -pub async fn deserialize_json_file>(path: P) -> Result -where - T: DeserializeOwned, -{ - let path_str = path.as_ref().to_string_helper(); - - let bytes = load_file(&path_str).await?; - match serde_json::from_slice(&bytes) { - Err(err) => Err(Error::new(path_str.as_str(), err).into()), - Ok(res) => Ok(res), - } -} - -/// Serialize a value into a string of TOML. -/// Will return a `toml::ser::Error` if a parsing error is encountered. -pub fn serialize_toml_string(value: &T) -> std::result::Result -where - T: Serialize, -{ - let res = toml::to_string_pretty(value)?; - Ok(res) -} - -/// Serialize a value into a slice of TOML. -/// Will return a `toml::ser::Error` if a parsing error is encountered. -pub fn serialize_toml_bytes(value: &T) -> std::result::Result, toml::ser::Error> -where - T: Serialize, -{ - let res = toml::to_string_pretty(value)?; - Ok(res.into_bytes()) -} - -/// Deserialize a slice of TOML into a value. -/// Will return a `toml::de::Error` if a parsing error is encountered. -pub fn deserialize_toml_bytes<'a, T>(value: &'a [u8]) -> std::result::Result -where - T: Deserialize<'a>, -{ - let res = toml::from_slice(value)?; - Ok(res) -} - -/// Deserialize a string of TOML into a value. -/// Will return a `toml::de::Error` if a parsing error is encountered. -pub fn deserialize_toml_string<'a, T>(value: &'a str) -> std::result::Result -where - T: Deserialize<'a>, -{ - let res = toml::from_str(value)?; - Ok(res) -} - -/// Deserialize a TOML file into a value -pub async fn deserialize_toml_file>(path: P) -> Result -where - T: DeserializeOwned, -{ - let path_str = path.as_ref().to_string_helper(); - - let bytes = load_file(&path_str).await?; - match toml::from_slice(&bytes) { - Err(err) => Err(Error::new(path_str.as_str(), err).into()), - Ok(res) => Ok(res), - } -} diff --git a/core/src/error.rs b/core/src/error.rs deleted file mode 100644 index df75d28a5e..0000000000 --- a/core/src/error.rs +++ /dev/null @@ -1,254 +0,0 @@ -//! This implements a simple Error and Result type, inspired by `io::Error` and `io::Result`, that -//! enables us to work seamlessly with all the different `Error` implementations from our dependencies. -//! -//! Just implement `From` for `Error`, for any remote implementations of `Error` you encounter, and -//! use the `Result` type alias, from this module, as return type when it is required. - -use std::sync::mpsc::SendError; -use std::{error, fmt, io, result, string::FromUtf8Error}; - -use macroquad::file::FileError; -use macroquad::text::FontError; - -use crate::network::{NetworkMessage, RequestStatus}; - -pub type Result = result::Result; - -#[derive(Debug, Copy, Clone, PartialEq, Eq)] -pub enum ErrorKind { - General, - Config, - Ecs, - File, - Parsing, - Input, - Api, - Network, - EditorAction, -} - -impl ErrorKind { - pub fn as_str(&self) -> &'static str { - match *self { - ErrorKind::General => "General error", - ErrorKind::Config => "Config error", - ErrorKind::Ecs => "ECS error", - ErrorKind::File => "File error", - ErrorKind::Parsing => "Parsing error", - ErrorKind::Input => "Input error", - ErrorKind::Api => "Api error", - ErrorKind::Network => "Network error", - ErrorKind::EditorAction => "Editor action error", - } - } -} - -impl From for Error { - fn from(status: RequestStatus) -> Self { - Error::new_message( - ErrorKind::Api, - &format!("[{}]: {}", status.as_code(), status.as_str()), - ) - } -} - -enum Repr { - Simple(ErrorKind), - Message(ErrorKind, String), - SimpleMessage(ErrorKind, &'static &'static str), - Custom(Box), -} - -#[derive(Debug)] -struct Custom { - kind: ErrorKind, - error: Box, -} - -pub struct Error { - repr: Repr, -} - -impl fmt::Debug for Error { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - fmt::Debug::fmt(&self.repr, f) - } -} - -impl Error { - pub fn new(kind: ErrorKind, error: E) -> Error - where - E: Into>, - { - Error { - repr: Repr::Custom(Box::new(Custom { - kind, - error: error.into(), - })), - } - } - - pub fn new_message(kind: ErrorKind, msg: &str) -> Self { - Error { - repr: Repr::Message(kind, msg.to_string()), - } - } - - pub const fn new_const(kind: ErrorKind, msg: &'static &'static str) -> Self { - Error { - repr: Repr::SimpleMessage(kind, msg), - } - } - - pub fn kind(&self) -> ErrorKind { - match self.repr { - Repr::Custom(ref c) => c.kind, - Repr::Simple(kind) => kind, - Repr::SimpleMessage(kind, _) => kind, - Repr::Message(kind, _) => kind, - } - } -} - -impl From for Error { - fn from(kind: ErrorKind) -> Self { - Error { - repr: Repr::Simple(kind), - } - } -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match &self.repr { - Repr::Custom(ref c) => c.error.fmt(f), - Repr::Simple(kind) => write!(f, "{}", kind.as_str()), - Repr::SimpleMessage(_, &msg) => msg.fmt(f), - Repr::Message(_, msg) => msg.fmt(f), - } - } -} - -impl fmt::Debug for Repr { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Repr::Simple(kind) => f.debug_tuple("Kind").field(kind).finish(), - Repr::SimpleMessage(kind, &message) => f - .debug_struct("Error") - .field("kind", kind) - .field("message", &message) - .finish(), - Repr::Message(kind, message) => f - .debug_struct("Error") - .field("kind", kind) - .field("message", &message) - .finish(), - Repr::Custom(ref c) => c.error.fmt(f), - } - } -} - -impl error::Error for Error { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - match self.repr { - Repr::Simple(..) => None, - Repr::Message(..) => None, - Repr::SimpleMessage(..) => None, - Repr::Custom(ref c) => c.error.source(), - } - } -} - -impl From for Error { - fn from(err: crate::data::Error) -> Self { - Error::new(ErrorKind::Parsing, err) - } -} - -impl From for Error { - fn from(err: fishsticks::error::Error) -> Error { - Error::new_message(ErrorKind::Input, &err) - } -} - -impl From for Error { - fn from(err: io::Error) -> Error { - Error::new(ErrorKind::File, err) - } -} - -impl From> for Error { - fn from(err: SendError) -> Self { - Error::new(ErrorKind::Network, err) - } -} - -impl From for Error { - fn from(err: FromUtf8Error) -> Self { - Error::new(ErrorKind::Parsing, err) - } -} - -impl From for Error { - fn from(err: FileError) -> Self { - Error::new(ErrorKind::File, err) - } -} - -impl From for Error { - fn from(err: FontError) -> Self { - Error::new(ErrorKind::Parsing, err) - } -} - -impl From for Error { - fn from(err: hecs::ComponentError) -> Self { - Error::new(ErrorKind::Ecs, err) - } -} - -impl From for Error { - fn from(err: hecs::NoSuchEntity) -> Self { - Error::new(ErrorKind::Ecs, err) - } -} - -impl From for Error { - fn from(err: hecs::QueryOneError) -> Self { - Error::new(ErrorKind::Ecs, err) - } -} - -impl From for Error { - fn from(err: serde_json::Error) -> Self { - Error::new(ErrorKind::Parsing, err) - } -} - -impl From for Error { - fn from(err: toml::ser::Error) -> Self { - Error::new(ErrorKind::Parsing, err) - } -} - -impl From for Error { - fn from(err: toml::de::Error) -> Self { - Error::new(ErrorKind::Parsing, err) - } -} - -/// This will create an error based on the parameters you provide. -/// It follows the same rules as `format!`, only this takes an optional `ErrorKind`, as its -/// first argument (before the format string), which will be the kind of `Error` returned. -/// If no `ErrorKind` is specified, the default variant `ErrorKind::General` will be used. -#[macro_export] -macro_rules! formaterr { - ($kind:path, $($arg:tt)*) => ({ - let res = format!($($arg)*); - $crate::error::Error::new_message($kind, &res) - }); - ($($arg:tt)*) => ({ - let res = format!($($arg)*); - $crate::error::Error::new_const($crate::error::ErrorKind::General, &res) - }); -} diff --git a/core/src/input/mapping.rs b/core/src/input/mapping.rs deleted file mode 100644 index 8064d5ba45..0000000000 --- a/core/src/input/mapping.rs +++ /dev/null @@ -1,631 +0,0 @@ -use fishsticks::GamepadId; - -use serde::{Deserialize, Serialize}; - -use crate::error::ErrorKind; -use crate::Result; - -#[derive(Debug, Copy, Clone, PartialEq, Hash, Eq, Serialize, Deserialize)] -#[serde(deny_unknown_fields)] -pub enum KeyCode { - Space, - Apostrophe, - Comma, - Minus, - Period, - Slash, - Key0, - Key1, - Key2, - Key3, - Key4, - Key5, - Key6, - Key7, - Key8, - Key9, - Semicolon, - Equal, - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - LeftBracket, - Backslash, - RightBracket, - GraveAccent, - World1, - World2, - Escape, - Enter, - Tab, - Backspace, - Insert, - Delete, - Right, - Left, - Down, - Up, - PageUp, - PageDown, - Home, - End, - CapsLock, - ScrollLock, - NumLock, - PrintScreen, - Pause, - F1, - F2, - F3, - F4, - F5, - F6, - F7, - F8, - F9, - F10, - F11, - F12, - F13, - F14, - F15, - F16, - F17, - F18, - F19, - F20, - F21, - F22, - F23, - F24, - F25, - Kp0, - Kp1, - Kp2, - Kp3, - Kp4, - Kp5, - Kp6, - Kp7, - Kp8, - Kp9, - KpDecimal, - KpDivide, - KpMultiply, - KpSubtract, - KpAdd, - KpEnter, - KpEqual, - LeftShift, - LeftControl, - LeftAlt, - LeftSuper, - RightShift, - RightControl, - RightAlt, - RightSuper, - Menu, - Unknown, -} - -impl From for KeyCode { - fn from(keycode: macroquad::input::KeyCode) -> Self { - match keycode { - macroquad::input::KeyCode::Space => Self::Space, - macroquad::input::KeyCode::Apostrophe => Self::Apostrophe, - macroquad::input::KeyCode::Comma => Self::Comma, - macroquad::input::KeyCode::Minus => Self::Minus, - macroquad::input::KeyCode::Period => Self::Period, - macroquad::input::KeyCode::Slash => Self::Slash, - macroquad::input::KeyCode::Key0 => Self::Key0, - macroquad::input::KeyCode::Key1 => Self::Key1, - macroquad::input::KeyCode::Key2 => Self::Key2, - macroquad::input::KeyCode::Key3 => Self::Key3, - macroquad::input::KeyCode::Key4 => Self::Key4, - macroquad::input::KeyCode::Key5 => Self::Key5, - macroquad::input::KeyCode::Key6 => Self::Key6, - macroquad::input::KeyCode::Key7 => Self::Key7, - macroquad::input::KeyCode::Key8 => Self::Key8, - macroquad::input::KeyCode::Key9 => Self::Key9, - macroquad::input::KeyCode::Semicolon => Self::Semicolon, - macroquad::input::KeyCode::Equal => Self::Equal, - macroquad::input::KeyCode::A => Self::A, - macroquad::input::KeyCode::B => Self::B, - macroquad::input::KeyCode::C => Self::C, - macroquad::input::KeyCode::D => Self::D, - macroquad::input::KeyCode::E => Self::E, - macroquad::input::KeyCode::F => Self::F, - macroquad::input::KeyCode::G => Self::G, - macroquad::input::KeyCode::H => Self::H, - macroquad::input::KeyCode::I => Self::I, - macroquad::input::KeyCode::J => Self::J, - macroquad::input::KeyCode::K => Self::K, - macroquad::input::KeyCode::L => Self::L, - macroquad::input::KeyCode::M => Self::M, - macroquad::input::KeyCode::N => Self::N, - macroquad::input::KeyCode::O => Self::O, - macroquad::input::KeyCode::P => Self::P, - macroquad::input::KeyCode::Q => Self::Q, - macroquad::input::KeyCode::R => Self::R, - macroquad::input::KeyCode::S => Self::S, - macroquad::input::KeyCode::T => Self::T, - macroquad::input::KeyCode::U => Self::U, - macroquad::input::KeyCode::V => Self::V, - macroquad::input::KeyCode::W => Self::W, - macroquad::input::KeyCode::X => Self::X, - macroquad::input::KeyCode::Y => Self::Y, - macroquad::input::KeyCode::Z => Self::Z, - macroquad::input::KeyCode::LeftBracket => Self::LeftBracket, - macroquad::input::KeyCode::Backslash => Self::Backslash, - macroquad::input::KeyCode::RightBracket => Self::RightBracket, - macroquad::input::KeyCode::GraveAccent => Self::GraveAccent, - macroquad::input::KeyCode::World1 => Self::World1, - macroquad::input::KeyCode::World2 => Self::World2, - macroquad::input::KeyCode::Escape => Self::Escape, - macroquad::input::KeyCode::Enter => Self::Enter, - macroquad::input::KeyCode::Tab => Self::Tab, - macroquad::input::KeyCode::Backspace => Self::Backspace, - macroquad::input::KeyCode::Insert => Self::Insert, - macroquad::input::KeyCode::Delete => Self::Delete, - macroquad::input::KeyCode::Right => Self::Right, - macroquad::input::KeyCode::Left => Self::Left, - macroquad::input::KeyCode::Down => Self::Down, - macroquad::input::KeyCode::Up => Self::Up, - macroquad::input::KeyCode::PageUp => Self::PageUp, - macroquad::input::KeyCode::PageDown => Self::PageDown, - macroquad::input::KeyCode::Home => Self::Home, - macroquad::input::KeyCode::End => Self::End, - macroquad::input::KeyCode::CapsLock => Self::CapsLock, - macroquad::input::KeyCode::ScrollLock => Self::ScrollLock, - macroquad::input::KeyCode::NumLock => Self::NumLock, - macroquad::input::KeyCode::PrintScreen => Self::PrintScreen, - macroquad::input::KeyCode::Pause => Self::Pause, - macroquad::input::KeyCode::F1 => Self::F1, - macroquad::input::KeyCode::F2 => Self::F2, - macroquad::input::KeyCode::F3 => Self::F3, - macroquad::input::KeyCode::F4 => Self::F4, - macroquad::input::KeyCode::F5 => Self::F5, - macroquad::input::KeyCode::F6 => Self::F6, - macroquad::input::KeyCode::F7 => Self::F7, - macroquad::input::KeyCode::F8 => Self::F8, - macroquad::input::KeyCode::F9 => Self::F9, - macroquad::input::KeyCode::F10 => Self::F10, - macroquad::input::KeyCode::F11 => Self::F11, - macroquad::input::KeyCode::F12 => Self::F12, - macroquad::input::KeyCode::F13 => Self::F13, - macroquad::input::KeyCode::F14 => Self::F14, - macroquad::input::KeyCode::F15 => Self::F15, - macroquad::input::KeyCode::F16 => Self::F16, - macroquad::input::KeyCode::F17 => Self::F17, - macroquad::input::KeyCode::F18 => Self::F18, - macroquad::input::KeyCode::F19 => Self::F19, - macroquad::input::KeyCode::F20 => Self::F20, - macroquad::input::KeyCode::F21 => Self::F21, - macroquad::input::KeyCode::F22 => Self::F22, - macroquad::input::KeyCode::F23 => Self::F23, - macroquad::input::KeyCode::F24 => Self::F24, - macroquad::input::KeyCode::F25 => Self::F25, - macroquad::input::KeyCode::Kp0 => Self::Kp0, - macroquad::input::KeyCode::Kp1 => Self::Kp1, - macroquad::input::KeyCode::Kp2 => Self::Kp2, - macroquad::input::KeyCode::Kp3 => Self::Kp3, - macroquad::input::KeyCode::Kp4 => Self::Kp4, - macroquad::input::KeyCode::Kp5 => Self::Kp5, - macroquad::input::KeyCode::Kp6 => Self::Kp6, - macroquad::input::KeyCode::Kp7 => Self::Kp7, - macroquad::input::KeyCode::Kp8 => Self::Kp8, - macroquad::input::KeyCode::Kp9 => Self::Kp9, - macroquad::input::KeyCode::KpDecimal => Self::KpDecimal, - macroquad::input::KeyCode::KpDivide => Self::KpDivide, - macroquad::input::KeyCode::KpMultiply => Self::KpMultiply, - macroquad::input::KeyCode::KpSubtract => Self::KpSubtract, - macroquad::input::KeyCode::KpAdd => Self::KpAdd, - macroquad::input::KeyCode::KpEnter => Self::KpEnter, - macroquad::input::KeyCode::KpEqual => Self::KpEqual, - macroquad::input::KeyCode::LeftShift => Self::LeftShift, - macroquad::input::KeyCode::LeftControl => Self::LeftControl, - macroquad::input::KeyCode::LeftAlt => Self::LeftAlt, - macroquad::input::KeyCode::LeftSuper => Self::LeftSuper, - macroquad::input::KeyCode::RightShift => Self::RightShift, - macroquad::input::KeyCode::RightControl => Self::RightControl, - macroquad::input::KeyCode::RightAlt => Self::RightAlt, - macroquad::input::KeyCode::RightSuper => Self::RightSuper, - macroquad::input::KeyCode::Menu => Self::Menu, - macroquad::input::KeyCode::Unknown => Self::Unknown, - } - } -} - -impl From for macroquad::input::KeyCode { - fn from(keycode: KeyCode) -> Self { - match keycode { - KeyCode::Space => Self::Space, - KeyCode::Apostrophe => Self::Apostrophe, - KeyCode::Comma => Self::Comma, - KeyCode::Minus => Self::Minus, - KeyCode::Period => Self::Period, - KeyCode::Slash => Self::Slash, - KeyCode::Key0 => Self::Key0, - KeyCode::Key1 => Self::Key1, - KeyCode::Key2 => Self::Key2, - KeyCode::Key3 => Self::Key3, - KeyCode::Key4 => Self::Key4, - KeyCode::Key5 => Self::Key5, - KeyCode::Key6 => Self::Key6, - KeyCode::Key7 => Self::Key7, - KeyCode::Key8 => Self::Key8, - KeyCode::Key9 => Self::Key9, - KeyCode::Semicolon => Self::Semicolon, - KeyCode::Equal => Self::Equal, - KeyCode::A => Self::A, - KeyCode::B => Self::B, - KeyCode::C => Self::C, - KeyCode::D => Self::D, - KeyCode::E => Self::E, - KeyCode::F => Self::F, - KeyCode::G => Self::G, - KeyCode::H => Self::H, - KeyCode::I => Self::I, - KeyCode::J => Self::J, - KeyCode::K => Self::K, - KeyCode::L => Self::L, - KeyCode::M => Self::M, - KeyCode::N => Self::N, - KeyCode::O => Self::O, - KeyCode::P => Self::P, - KeyCode::Q => Self::Q, - KeyCode::R => Self::R, - KeyCode::S => Self::S, - KeyCode::T => Self::T, - KeyCode::U => Self::U, - KeyCode::V => Self::V, - KeyCode::W => Self::W, - KeyCode::X => Self::X, - KeyCode::Y => Self::Y, - KeyCode::Z => Self::Z, - KeyCode::LeftBracket => Self::LeftBracket, - KeyCode::Backslash => Self::Backslash, - KeyCode::RightBracket => Self::RightBracket, - KeyCode::GraveAccent => Self::GraveAccent, - KeyCode::World1 => Self::World1, - KeyCode::World2 => Self::World2, - KeyCode::Escape => Self::Escape, - KeyCode::Enter => Self::Enter, - KeyCode::Tab => Self::Tab, - KeyCode::Backspace => Self::Backspace, - KeyCode::Insert => Self::Insert, - KeyCode::Delete => Self::Delete, - KeyCode::Right => Self::Right, - KeyCode::Left => Self::Left, - KeyCode::Down => Self::Down, - KeyCode::Up => Self::Up, - KeyCode::PageUp => Self::PageUp, - KeyCode::PageDown => Self::PageDown, - KeyCode::Home => Self::Home, - KeyCode::End => Self::End, - KeyCode::CapsLock => Self::CapsLock, - KeyCode::ScrollLock => Self::ScrollLock, - KeyCode::NumLock => Self::NumLock, - KeyCode::PrintScreen => Self::PrintScreen, - KeyCode::Pause => Self::Pause, - KeyCode::F1 => Self::F1, - KeyCode::F2 => Self::F2, - KeyCode::F3 => Self::F3, - KeyCode::F4 => Self::F4, - KeyCode::F5 => Self::F5, - KeyCode::F6 => Self::F6, - KeyCode::F7 => Self::F7, - KeyCode::F8 => Self::F8, - KeyCode::F9 => Self::F9, - KeyCode::F10 => Self::F10, - KeyCode::F11 => Self::F11, - KeyCode::F12 => Self::F12, - KeyCode::F13 => Self::F13, - KeyCode::F14 => Self::F14, - KeyCode::F15 => Self::F15, - KeyCode::F16 => Self::F16, - KeyCode::F17 => Self::F17, - KeyCode::F18 => Self::F18, - KeyCode::F19 => Self::F19, - KeyCode::F20 => Self::F20, - KeyCode::F21 => Self::F21, - KeyCode::F22 => Self::F22, - KeyCode::F23 => Self::F23, - KeyCode::F24 => Self::F24, - KeyCode::F25 => Self::F25, - KeyCode::Kp0 => Self::Kp0, - KeyCode::Kp1 => Self::Kp1, - KeyCode::Kp2 => Self::Kp2, - KeyCode::Kp3 => Self::Kp3, - KeyCode::Kp4 => Self::Kp4, - KeyCode::Kp5 => Self::Kp5, - KeyCode::Kp6 => Self::Kp6, - KeyCode::Kp7 => Self::Kp7, - KeyCode::Kp8 => Self::Kp8, - KeyCode::Kp9 => Self::Kp9, - KeyCode::KpDecimal => Self::KpDecimal, - KeyCode::KpDivide => Self::KpDivide, - KeyCode::KpMultiply => Self::KpMultiply, - KeyCode::KpSubtract => Self::KpSubtract, - KeyCode::KpAdd => Self::KpAdd, - KeyCode::KpEnter => Self::KpEnter, - KeyCode::KpEqual => Self::KpEqual, - KeyCode::LeftShift => Self::LeftShift, - KeyCode::LeftControl => Self::LeftControl, - KeyCode::LeftAlt => Self::LeftAlt, - KeyCode::LeftSuper => Self::LeftSuper, - KeyCode::RightShift => Self::RightShift, - KeyCode::RightControl => Self::RightControl, - KeyCode::RightAlt => Self::RightAlt, - KeyCode::RightSuper => Self::RightSuper, - KeyCode::Menu => Self::Menu, - KeyCode::Unknown => Self::Unknown, - } - } -} - -#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] -#[serde(deny_unknown_fields)] -pub enum Button { - A, - B, - X, - Y, - Back, - Guide, - Start, - LeftStick, - RightStick, - LeftShoulder, - RightShoulder, - LeftTrigger, - RightTrigger, - DPadUp, - DPadDown, - DPadLeft, - DPadRight, - #[serde(skip)] - Unknown, -} - -impl From for Button { - fn from(button: fishsticks::Button) -> Self { - match button { - fishsticks::Button::South => Self::A, - fishsticks::Button::East => Self::B, - fishsticks::Button::West => Self::X, - fishsticks::Button::North => Self::Y, - fishsticks::Button::Select => Self::Back, - fishsticks::Button::Mode => Self::Guide, - fishsticks::Button::Start => Self::Start, - fishsticks::Button::LeftThumb => Self::LeftStick, - fishsticks::Button::RightThumb => Self::RightStick, - fishsticks::Button::LeftTrigger => Self::LeftTrigger, - fishsticks::Button::RightTrigger => Self::RightTrigger, - fishsticks::Button::LeftTrigger2 => Self::LeftShoulder, - fishsticks::Button::RightTrigger2 => Self::RightShoulder, - fishsticks::Button::DPadUp => Self::DPadUp, - fishsticks::Button::DPadDown => Self::DPadDown, - fishsticks::Button::DPadLeft => Self::DPadLeft, - fishsticks::Button::DPadRight => Self::DPadRight, - _ => Self::Unknown, - } - } -} - -impl From