From ccdfad975002aea41290b9415ba96a612a269518 Mon Sep 17 00:00:00 2001 From: Michal Vanko Date: Tue, 28 Jun 2022 09:32:15 +0200 Subject: [PATCH] Add egg-fetcher demo --- .gitattributes | 1 + ...ttempt-at-rusty-game-jam-weekly-25-2022.md | 4 +- src/routes/blog/articles/[...params].json.ts | 1 - src/routes/showcase/egg-fetcher/index.svelte | 20 + static/egg-fetcher/assets/Chick_Down.png | 3 + .../egg-fetcher/assets/fonts/dogica/LICENSE | 94 + .../assets/fonts/dogica/dogicapixel.ttf | Bin 0 -> 33556 bytes .../fonts/fredoka_one/FredokaOne-Regular.ttf | Bin 0 -> 42452 bytes .../assets/fonts/fredoka_one/OFL.txt | 93 + static/egg-fetcher/assets/player.png | 3 + .../assets/sprites/Background/Bg.png | 3 + .../assets/sprites/Background/Cloud_01.png | 3 + .../assets/sprites/Background/Cloud_02.png | 3 + .../assets/sprites/Background/Cloud_03.png | 3 + .../assets/sprites/Background/Cloud_04.png | 3 + .../assets/sprites/Background/Cloud_05.png | 3 + .../assets/sprites/Characters/Cat_Avatar.png | 3 + .../sprites/Characters/Cat_Avatar_Circle.png | 3 + .../sprites/Characters/Cat_Avatar_Rounded.png | 3 + .../assets/sprites/Characters/Cat_Dead.png | 3 + .../assets/sprites/Characters/Cat_Down.png | 3 + .../assets/sprites/Characters/Cat_Left.png | 3 + .../assets/sprites/Characters/Cat_Right.png | 3 + .../assets/sprites/Characters/Cat_Up.png | 3 + .../sprites/Characters/Chick_Avatar.png | 3 + .../Characters/Chick_Avatar_Circle.png | 3 + .../Characters/Chick_Avatar_Rounded.png | 3 + .../assets/sprites/Characters/Chick_Dead.png | 3 + .../assets/sprites/Characters/Chick_Down.png | 3 + .../assets/sprites/Characters/Chick_Left.png | 3 + .../assets/sprites/Characters/Chick_Right.png | 3 + .../assets/sprites/Characters/Chick_Up.png | 3 + .../assets/sprites/Characters/Fox_Avatar.png | 3 + .../sprites/Characters/Fox_Avatar_Circle.png | 3 + .../sprites/Characters/Fox_Avatar_Rounded.png | 3 + .../assets/sprites/Characters/Fox_Dead.png | 3 + .../assets/sprites/Characters/Fox_Down.png | 3 + .../assets/sprites/Characters/Fox_Left.png | 3 + .../assets/sprites/Characters/Fox_Right.png | 3 + .../assets/sprites/Characters/Fox_Up.png | 3 + .../sprites/Characters/Mouse_Avatar.png | 3 + .../Characters/Mouse_Avatar_Circle.png | 3 + .../Characters/Mouse_Avatar_Rounded.png | 3 + .../assets/sprites/Characters/Mouse_Dead.png | 3 + .../assets/sprites/Characters/Mouse_Down.png | 3 + .../assets/sprites/Characters/Mouse_Left.png | 3 + .../assets/sprites/Characters/Mouse_Right.png | 3 + .../assets/sprites/Characters/Mouse_Up.png | 3 + .../assets/sprites/Characters/Pig_Avatar.png | 3 + .../sprites/Characters/Pig_Avatar_Circle.png | 3 + .../sprites/Characters/Pig_Avatar_Rounded.png | 3 + .../assets/sprites/Characters/Pig_Dead.png | 3 + .../assets/sprites/Characters/Pig_Down.png | 3 + .../assets/sprites/Characters/Pig_Left.png | 3 + .../assets/sprites/Characters/Pig_Right.png | 3 + .../assets/sprites/Characters/Pig_Up.png | 3 + .../sprites/Characters/Rabbit_Avatar.png | 3 + .../Characters/Rabbit_Avatar_Circle.png | 3 + .../Characters/Rabbit_Avatar_Rounded.png | 3 + .../assets/sprites/Characters/Rabbit_Dead.png | 3 + .../assets/sprites/Characters/Rabbit_Down.png | 3 + .../assets/sprites/Characters/Rabbit_Left.png | 3 + .../sprites/Characters/Rabbit_Right.png | 3 + .../assets/sprites/Characters/Rabbit_Up.png | 3 + .../assets/sprites/Fences/Fence_Bottom.png | 3 + .../Fences/Fence_Corner_Bottom_Left.png | 3 + .../Fences/Fence_Corner_Bottom_Right.png | 3 + .../sprites/Fences/Fence_Corner_Top_Left.png | 3 + .../sprites/Fences/Fence_Corner_Top_Right.png | 3 + .../sprites/Fences/Fence_Horizontal.png | 3 + .../assets/sprites/Fences/Fence_Left.png | 3 + .../assets/sprites/Fences/Fence_Right.png | 3 + .../assets/sprites/Fences/Fence_T_Down.png | 3 + .../assets/sprites/Fences/Fence_T_Left.png | 3 + .../assets/sprites/Fences/Fence_T_Right.png | 3 + .../assets/sprites/Fences/Fence_T_Top.png | 3 + .../assets/sprites/Fences/Fence_Top.png | 3 + .../assets/sprites/Fences/Fence_Vertical.png | 3 + .../assets/sprites/Fences/Fence_X.png | 3 + .../assets/sprites/Fences/Fences_Tileset.png | 3 + .../assets/sprites/Objects/BeachBall.png | 3 + .../assets/sprites/Objects/Beetroot.png | 3 + .../assets/sprites/Objects/Bomb.png | 3 + .../assets/sprites/Objects/Boulders.png | 3 + .../assets/sprites/Objects/Box.png | 3 + .../assets/sprites/Objects/Bush.png | 3 + .../assets/sprites/Objects/Carrot.png | 3 + .../assets/sprites/Objects/Coin.png | 3 + .../assets/sprites/Objects/Crystal.png | 3 + .../assets/sprites/Objects/Cucumber.png | 3 + .../assets/sprites/Objects/Danger_Deadly.png | 3 + .../assets/sprites/Objects/Danger_Warning.png | 3 + .../assets/sprites/Objects/Danger_Water.png | 3 + .../assets/sprites/Objects/Door_Golden(2).png | 3 + .../assets/sprites/Objects/Door_Golden.png | 3 + .../assets/sprites/Objects/Flag.png | 3 + .../assets/sprites/Objects/Fountain.png | 3 + .../sprites/Objects/GardenBed_Beetroot_01.png | 3 + .../sprites/Objects/GardenBed_Beetroot_02.png | 3 + .../sprites/Objects/GardenBed_Blank.png | 3 + .../sprites/Objects/GardenBed_Carrots_01.png | 3 + .../sprites/Objects/GardenBed_Carrots_02.png | 3 + .../Objects/GardenBed_Cucumbers_01.png | 3 + .../Objects/GardenBed_Cucumbers_02.png | 3 + .../sprites/Objects/GardenBed_Onions_01.png | 3 + .../sprites/Objects/GardenBed_Onions_02.png | 3 + .../sprites/Objects/GardenBed_Radish_01.png | 3 + .../sprites/Objects/GardenBed_Radish_02.png | 3 + .../sprites/Objects/GardenBed_Tomatoes_01.png | 3 + .../sprites/Objects/GardenBed_Tomatoes_02.png | 3 + .../assets/sprites/Objects/Goo_01.png | 3 + .../assets/sprites/Objects/Goo_02.png | 3 + .../assets/sprites/Objects/Goo_03.png | 3 + .../assets/sprites/Objects/Goo_04.png | 3 + .../assets/sprites/Objects/Hedge.png | 3 + .../assets/sprites/Objects/Hedge_Roses.png | 3 + .../assets/sprites/Objects/Hole.png | 3 + .../assets/sprites/Objects/Ice_01.png | 3 + .../assets/sprites/Objects/Ice_02.png | 3 + .../assets/sprites/Objects/Ice_03.png | 3 + .../assets/sprites/Objects/Key_Golden.png | 3 + .../assets/sprites/Objects/Key_Silver.png | 3 + .../assets/sprites/Objects/Onion.png | 3 + .../sprites/Objects/RadioactiveBarrel.png | 3 + .../assets/sprites/Objects/Radish.png | 3 + .../assets/sprites/Objects/Ruby.png | 3 + .../assets/sprites/Objects/Showel.png | 3 + .../assets/sprites/Objects/Spikes.png | 3 + .../assets/sprites/Objects/Spikes_Active.png | 3 + .../assets/sprites/Objects/Tomato.png | 3 + .../assets/sprites/Objects/Tree.png | 3 + .../assets/sprites/Objects/WateringCan.png | 3 + static/egg-fetcher/assets/sprites/Readme.txt | 22 + .../assets/sprites/Showcasing/Characters.png | 3 + .../assets/sprites/Showcasing/Fences.png | 3 + .../assets/sprites/Showcasing/Objects.png | 3 + .../sprites/Showcasing/Terrain_Elevation.png | 3 + .../sprites/Showcasing/Terrain_Flat.png | 3 + .../assets/sprites/Showcasing/UI.png | 3 + .../sprites/Terrain_Common/Arrow_Down.png | 3 + .../sprites/Terrain_Common/Arrow_Left.png | 3 + .../sprites/Terrain_Common/Arrow_Right.png | 3 + .../sprites/Terrain_Common/Arrow_Up.png | 3 + .../assets/sprites/Terrain_Common/Bridge.png | 3 + .../assets/sprites/Terrain_Common/Water.png | 3 + .../sprites/Terrain_Common/Water_Shadowed.png | 3 + .../sprites/Terrain_Elevated/Ground_01.png | 3 + .../sprites/Terrain_Elevated/Ground_02.png | 3 + .../sprites/Terrain_Elevated/Ground_03.png | 3 + .../sprites/Terrain_Elevated/Ground_04.png | 3 + .../sprites/Terrain_Elevated/Ground_05.png | 3 + .../sprites/Terrain_Elevated/Ground_06.png | 3 + .../sprites/Terrain_Elevated/Ground_07.png | 3 + .../Terrain_Elevated/Ground_Tileset.png | 3 + .../Terrain_Elevated/Ramp_Down_01_02.png | 3 + .../Terrain_Elevated/Ramp_Down_02_03.png | 3 + .../Terrain_Elevated/Ramp_Down_03_04.png | 3 + .../Terrain_Elevated/Ramp_Down_04_05.png | 3 + .../Terrain_Elevated/Ramp_Down_05_06.png | 3 + .../Terrain_Elevated/Ramp_Down_06_07.png | 3 + .../Terrain_Elevated/Ramp_Down_Tileset.png | 3 + .../Terrain_Elevated/Ramp_Left_01_02.png | 3 + .../Terrain_Elevated/Ramp_Left_02_03.png | 3 + .../Terrain_Elevated/Ramp_Left_03_04.png | 3 + .../Terrain_Elevated/Ramp_Left_04_05.png | 3 + .../Terrain_Elevated/Ramp_Left_05_06.png | 3 + .../Terrain_Elevated/Ramp_Left_06_07.png | 3 + .../Terrain_Elevated/Ramp_Left_Tileset.png | 3 + .../Terrain_Elevated/Ramp_Right_01_02.png | 3 + .../Terrain_Elevated/Ramp_Right_02_03.png | 3 + .../Terrain_Elevated/Ramp_Right_03_04.png | 3 + .../Terrain_Elevated/Ramp_Right_04_05.png | 3 + .../Terrain_Elevated/Ramp_Right_05_06.png | 3 + .../Terrain_Elevated/Ramp_Right_06_07.png | 3 + .../Terrain_Elevated/Ramp_Right_Tileset.png | 3 + .../Terrain_Elevated/Ramp_Up_01_02.png | 3 + .../Terrain_Elevated/Ramp_Up_02_03.png | 3 + .../Terrain_Elevated/Ramp_Up_03_04.png | 3 + .../Terrain_Elevated/Ramp_Up_04_05.png | 3 + .../Terrain_Elevated/Ramp_Up_05_06(2).png | 3 + .../Terrain_Elevated/Ramp_Up_05_06.png | 3 + .../Terrain_Elevated/Ramp_Up_Tileset.png | 3 + .../Terrain_Elevated/Shadow_Corner_Down.png | 3 + .../Terrain_Elevated/Shadow_Corner_Left.png | 3 + .../Terrain_Elevated/Shadow_Corner_Up.png | 3 + .../sprites/Terrain_Elevated/Shadow_Right.png | 3 + .../assets/sprites/Terrain_Elevated/Void.png | 3 + .../sprites/Terrain_Flat/Grass_Dark.png | 3 + .../sprites/Terrain_Flat/Grass_Light.png | 3 + .../sprites/Terrain_Flat/Grass_Texture.png | 3 + .../assets/sprites/Terrain_Flat/Soil.png | 3 + .../assets/sprites/Terrain_Flat/Soil_Dark.png | 3 + .../sprites/Terrain_Flat/Soil_Texture.png | 3 + .../sprites/Terrain_Flat/Water_Shore_Dark.png | 3 + .../assets/sprites/UI/Bar_Blue.png | 3 + .../assets/sprites/UI/Bar_Green.png | 3 + .../egg-fetcher/assets/sprites/UI/Bar_Red.png | 3 + .../assets/sprites/UI/ButtonTemplate.png | 3 + .../assets/sprites/UI/Cursor_Grab.png | 3 + .../assets/sprites/UI/Cursor_Point.png | 3 + .../assets/sprites/UI/Status_Angry.png | 3 + .../assets/sprites/UI/Status_Exclamation.png | 3 + .../assets/sprites/UI/Status_Happy.png | 3 + .../assets/sprites/UI/Status_Love.png | 3 + .../assets/sprites/UI/Status_Starving.png | 3 + .../assets/sprites/UI/Status_Thirsty.png | 3 + .../assets/sprites/UI/UI_CircledFrame.png | 3 + .../assets/sprites/UI/UI_SquareFrame.png | 3 + .../assets/sprites/UI/UI_Toolbar.png | 3 + .../assets/sprites/UI/UI_Toolbar_Bottom.png | 3 + .../sprites/UI/UI_Toolbar_Bottom_Corner.png | 3 + .../assets/sprites/UI/UI_Toolbar_Top.png | 3 + .../sprites/UI/UI_Toolbar_Top_Corner.png | 3 + static/egg-fetcher/egg_fetcher.js | 1684 +++++++++++++++++ static/egg-fetcher/egg_fetcher_bg.wasm | 3 + static/egg-fetcher/index.html | 11 + 216 files changed, 2543 insertions(+), 2 deletions(-) create mode 100644 src/routes/showcase/egg-fetcher/index.svelte create mode 100644 static/egg-fetcher/assets/Chick_Down.png create mode 100644 static/egg-fetcher/assets/fonts/dogica/LICENSE create mode 100644 static/egg-fetcher/assets/fonts/dogica/dogicapixel.ttf create mode 100644 static/egg-fetcher/assets/fonts/fredoka_one/FredokaOne-Regular.ttf create mode 100644 static/egg-fetcher/assets/fonts/fredoka_one/OFL.txt create mode 100644 static/egg-fetcher/assets/player.png create mode 100644 static/egg-fetcher/assets/sprites/Background/Bg.png create mode 100644 static/egg-fetcher/assets/sprites/Background/Cloud_01.png create mode 100644 static/egg-fetcher/assets/sprites/Background/Cloud_02.png create mode 100644 static/egg-fetcher/assets/sprites/Background/Cloud_03.png create mode 100644 static/egg-fetcher/assets/sprites/Background/Cloud_04.png create mode 100644 static/egg-fetcher/assets/sprites/Background/Cloud_05.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Avatar.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Avatar_Circle.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Avatar_Rounded.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Dead.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Cat_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Avatar.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Avatar_Circle.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Avatar_Rounded.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Dead.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Chick_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Avatar.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Avatar_Circle.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Avatar_Rounded.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Dead.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Fox_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Avatar.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Avatar_Circle.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Avatar_Rounded.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Dead.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Mouse_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Avatar.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Avatar_Circle.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Avatar_Rounded.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Dead.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Pig_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Avatar.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Avatar_Circle.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Avatar_Rounded.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Dead.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Characters/Rabbit_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Bottom.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Corner_Bottom_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Corner_Bottom_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Corner_Top_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Corner_Top_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Horizontal.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_T_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_T_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_T_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_T_Top.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Top.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_Vertical.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fence_X.png create mode 100644 static/egg-fetcher/assets/sprites/Fences/Fences_Tileset.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/BeachBall.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Beetroot.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Bomb.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Boulders.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Box.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Bush.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Carrot.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Coin.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Crystal.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Cucumber.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Danger_Deadly.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Danger_Warning.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Danger_Water.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Door_Golden(2).png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Door_Golden.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Flag.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Fountain.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Beetroot_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Beetroot_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Blank.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Carrots_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Carrots_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Cucumbers_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Cucumbers_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Onions_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Onions_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Radish_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Radish_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Tomatoes_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/GardenBed_Tomatoes_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Goo_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Goo_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Goo_03.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Goo_04.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Hedge.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Hedge_Roses.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Hole.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Ice_01.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Ice_02.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Ice_03.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Key_Golden.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Key_Silver.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Onion.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/RadioactiveBarrel.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Radish.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Ruby.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Showel.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Spikes.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Spikes_Active.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Tomato.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/Tree.png create mode 100644 static/egg-fetcher/assets/sprites/Objects/WateringCan.png create mode 100644 static/egg-fetcher/assets/sprites/Readme.txt create mode 100644 static/egg-fetcher/assets/sprites/Showcasing/Characters.png create mode 100644 static/egg-fetcher/assets/sprites/Showcasing/Fences.png create mode 100644 static/egg-fetcher/assets/sprites/Showcasing/Objects.png create mode 100644 static/egg-fetcher/assets/sprites/Showcasing/Terrain_Elevation.png create mode 100644 static/egg-fetcher/assets/sprites/Showcasing/Terrain_Flat.png create mode 100644 static/egg-fetcher/assets/sprites/Showcasing/UI.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Common/Arrow_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Common/Arrow_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Common/Arrow_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Common/Arrow_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Common/Bridge.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Common/Water.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Common/Water_Shadowed.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_01.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_02.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_03.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_04.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_05.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_06.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_07.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ground_Tileset.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Down_01_02.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Down_02_03.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Down_03_04.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Down_04_05.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Down_05_06.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Down_06_07.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Down_Tileset.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Left_01_02.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Left_02_03.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Left_03_04.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Left_04_05.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Left_05_06.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Left_06_07.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Left_Tileset.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Right_01_02.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Right_02_03.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Right_03_04.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Right_04_05.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Right_05_06.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Right_06_07.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Right_Tileset.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Up_01_02.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Up_02_03.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Up_03_04.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Up_04_05.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Up_05_06(2).png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Up_05_06.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Ramp_Up_Tileset.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Shadow_Corner_Down.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Shadow_Corner_Left.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Shadow_Corner_Up.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Shadow_Right.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Elevated/Void.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Flat/Grass_Dark.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Flat/Grass_Light.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Flat/Grass_Texture.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Flat/Soil.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Flat/Soil_Dark.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Flat/Soil_Texture.png create mode 100644 static/egg-fetcher/assets/sprites/Terrain_Flat/Water_Shore_Dark.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Bar_Blue.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Bar_Green.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Bar_Red.png create mode 100644 static/egg-fetcher/assets/sprites/UI/ButtonTemplate.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Cursor_Grab.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Cursor_Point.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Status_Angry.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Status_Exclamation.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Status_Happy.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Status_Love.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Status_Starving.png create mode 100644 static/egg-fetcher/assets/sprites/UI/Status_Thirsty.png create mode 100644 static/egg-fetcher/assets/sprites/UI/UI_CircledFrame.png create mode 100644 static/egg-fetcher/assets/sprites/UI/UI_SquareFrame.png create mode 100644 static/egg-fetcher/assets/sprites/UI/UI_Toolbar.png create mode 100644 static/egg-fetcher/assets/sprites/UI/UI_Toolbar_Bottom.png create mode 100644 static/egg-fetcher/assets/sprites/UI/UI_Toolbar_Bottom_Corner.png create mode 100644 static/egg-fetcher/assets/sprites/UI/UI_Toolbar_Top.png create mode 100644 static/egg-fetcher/assets/sprites/UI/UI_Toolbar_Top_Corner.png create mode 100644 static/egg-fetcher/egg_fetcher.js create mode 100644 static/egg-fetcher/egg_fetcher_bg.wasm create mode 100644 static/egg-fetcher/index.html diff --git a/.gitattributes b/.gitattributes index a627dd5..a95e4ce 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,3 +9,4 @@ static/**.gif filter=lfs diff=lfs merge=lfs -text static/**/**.png filter=lfs diff=lfs merge=lfs -text static/**/**.jpg filter=lfs diff=lfs merge=lfs -text static/**/**.gif filter=lfs diff=lfs merge=lfs -text +**/**.wasm filter=lfs diff=lfs merge=lfs -text diff --git a/_posts/blog/2022-06-26-our-attempt-at-rusty-game-jam-weekly-25-2022.md b/_posts/blog/2022-06-26-our-attempt-at-rusty-game-jam-weekly-25-2022.md index 4136f98..a7042ac 100644 --- a/_posts/blog/2022-06-26-our-attempt-at-rusty-game-jam-weekly-25-2022.md +++ b/_posts/blog/2022-06-26-our-attempt-at-rusty-game-jam-weekly-25-2022.md @@ -24,6 +24,8 @@ This week I've attended a [Rusty game jam #2](https://itch.io/jam/rusty-jam-2). ![Egg fetcher game preview](/images/uploads/screenshot-from-2022-06-26-22-37-16.png "Egg fetcher game preview") +[You can check the rusult built with WASM here.](/showcase/egg-fetcher/) + ## What's up with the weeklys I have to admit something. I was not inspired or motivated to write weeklys for the last two months. For that, I feel a little bumped as there were many good thoughts worth sharing. I was not very comfortable writing as the last month was very tough. During that time I was focused on inner development and figuring out how my brain responds to different stimuli. I've been able to find a new project to work on. The onboarding story was one of the hardest I went through. I managed to move on and stop thinking about what could've I done better in the past and focus more on what can I do better now. @@ -39,4 +41,4 @@ But here are some podcasts that made my days better: Another good resource I've been able to find is another Rust framework for building Web applications called [Sycamore](https://sycamore-rs.netlify.app/). -That's it. Let's jump into another week inspired after a very successful one and my plan is to get better with Rust. I will try to find a new project to work on. Something smaller that could improve my workflow. \ No newline at end of file +That's it. Let's jump into another week inspired after a very successful one and my plan is to get better with Rust. I will try to find a new project to work on. Something smaller that could improve my workflow. diff --git a/src/routes/blog/articles/[...params].json.ts b/src/routes/blog/articles/[...params].json.ts index 6e7c53a..56b4bef 100644 --- a/src/routes/blog/articles/[...params].json.ts +++ b/src/routes/blog/articles/[...params].json.ts @@ -14,7 +14,6 @@ export async function get({ params }) { ) const paginationQuery = { ...paginationParams, filters } const filteredContents = await getBlogListing(paginationQuery) - console.log(filteredContents.items.map((item) => item.slug)) return { status: 200, diff --git a/src/routes/showcase/egg-fetcher/index.svelte b/src/routes/showcase/egg-fetcher/index.svelte new file mode 100644 index 0000000..0fb8e90 --- /dev/null +++ b/src/routes/showcase/egg-fetcher/index.svelte @@ -0,0 +1,20 @@ +

Egg-fetcher

+ +

As mentioned in Weekly #25-2022, I've attended the Rusty game jam #2 where we had a week to create a game with Rust.

+ +

I've teamed up with @silen-z. We haven't been able to finish the game. We didn't even make the mechanics we were thinking of. But I'd like to show the incomplete version of Egg-fetcher anyway. As we built it with Rust and bevy engine we were able to reuse a template that had a configured WASM build. Therefore is very easy to just present the game in the browser.

+ + + +

The only functional controls are arrows. We have built a collision system where the chickens should move out of the way of the player and his pet. The player is not able to move through the fences and so on. We wanted to create a puzzle where you would have to play fetch with your pet dog to control the chickens and simultaneously control player movement.

+ +

This was only my 3rd attempt at a Rust codebase and therefore I got pretty much always stuck at some problem with borrow-checker or lifetimes. + I learned many things and I'd like to continue with Rust and use it more in my side-projects.

+ + diff --git a/static/egg-fetcher/assets/Chick_Down.png b/static/egg-fetcher/assets/Chick_Down.png new file mode 100644 index 0000000..81f2367 --- /dev/null +++ b/static/egg-fetcher/assets/Chick_Down.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9354aa05f7230a2f6f43aaf966a09c7f6c937b162f59750abc129136050227d0 +size 4145 diff --git a/static/egg-fetcher/assets/fonts/dogica/LICENSE b/static/egg-fetcher/assets/fonts/dogica/LICENSE new file mode 100644 index 0000000..e0cd3d5 --- /dev/null +++ b/static/egg-fetcher/assets/fonts/dogica/LICENSE @@ -0,0 +1,94 @@ +Copyright (c) 2020, Roberto Mocci (), +with Reserved Font Name Dogica Pixel. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/static/egg-fetcher/assets/fonts/dogica/dogicapixel.ttf b/static/egg-fetcher/assets/fonts/dogica/dogicapixel.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bd3ebe84e8b89887cfd9e9d168e491723e1af2f7 GIT binary patch literal 33556 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 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3); + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_2.get(state.dtor)(a, state.b); + + } else { + state.a = a; + } + } + }; + real.original = state; + + return real; +} +function __wbg_adapter_32(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0be365a720f105fb(arg0, arg1); +} + +function __wbg_adapter_35(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h3bf41db035884eb5(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_40(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5d94661b7cc7a247(arg0, arg1); +} + +function __wbg_adapter_55(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hae2e8b3a3fdc44b8(arg0, arg1, addHeapObject(arg2)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +function getArrayU8FromWasm0(ptr, len) { + return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); +} + +let cachedFloat32Memory0; +function getFloat32Memory0() { + if (cachedFloat32Memory0.byteLength === 0) { + cachedFloat32Memory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32Memory0; +} + +function getArrayF32FromWasm0(ptr, len) { + return getFloat32Memory0().subarray(ptr / 4, ptr / 4 + len); +} + +function getArrayI32FromWasm0(ptr, len) { + return getInt32Memory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32Memory0; +function getUint32Memory0() { + if (cachedUint32Memory0.byteLength === 0) { + cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32Memory0; +} + +function getArrayU32FromWasm0(ptr, len) { + return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); +} + +async function load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function getImports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = takeObject(arg0).original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = getObject(arg0) === null; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbg_log_02e20a3c32305fb7 = function(arg0, arg1) { + try { + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(arg0, arg1); + } + }; + imports.wbg.__wbg_log_5c7513aa8c164502 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + try { + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(arg0, arg1); + } + }; + imports.wbg.__wbg_mark_abc7631bdced64f0 = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_measure_c528ff64085b7146 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + try { + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(arg0, arg1); + wasm.__wbindgen_free(arg2, arg3); + } + }, arguments) }; + imports.wbg.__wbg_new_693216e109162396 = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_error_09919627ac0992f5 = function(arg0, arg1) { + try { + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(arg0, arg1); + } + }; + imports.wbg.__wbg_process_e56fd54cf6319b6c = function(arg0) { + const ret = getObject(arg0).process; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbg_versions_77e21455908dad33 = function(arg0) { + const ret = getObject(arg0).versions; + return addHeapObject(ret); + }; + imports.wbg.__wbg_node_0dd25d832e4785d5 = function(arg0) { + const ret = getObject(arg0).node; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbg_static_accessor_NODE_MODULE_26b231378c1be7dd = function() { + const ret = module; + return addHeapObject(ret); + }; + imports.wbg.__wbg_require_0db1598d9ccecb30 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).require(getStringFromWasm0(arg1, arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_crypto_b95d7173266618a9 = function(arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_msCrypto_5a86d77a66230f81 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_getRandomValues_b14734aa289bc356 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_randomFillSync_91e2b39becca6147 = function() { return handleError(function (arg0, arg1, arg2) { + getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2)); + }, arguments) }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_e29e70ae6c00bfdd = function(arg0) { + const ret = getObject(arg0) instanceof WebGL2RenderingContext; + return ret; + }; + imports.wbg.__wbg_beginQuery_d9e264077a066b1b = function(arg0, arg1, arg2) { + getObject(arg0).beginQuery(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindBufferRange_33bd5ffaaa40a5a6 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).bindBufferRange(arg1 >>> 0, arg2 >>> 0, getObject(arg3), arg4, arg5); + }; + imports.wbg.__wbg_bindSampler_1d02b72cdccb98c7 = function(arg0, arg1, arg2) { + getObject(arg0).bindSampler(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindVertexArray_dfe63bf55a9f6e54 = function(arg0, arg1) { + getObject(arg0).bindVertexArray(getObject(arg1)); + }; + imports.wbg.__wbg_blitFramebuffer_c72c74d695ed2ece = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + getObject(arg0).blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_bufferData_c58bce6c13d73e02 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_8542921547008e80 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, getObject(arg2), arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_17fd7936ab128c56 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferSubData(arg1 >>> 0, arg2, getObject(arg3)); + }; + imports.wbg.__wbg_clearBufferfv_23a50f05d21aad3f = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_adb545a1edf7013a = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_a985a4810f2aff85 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clientWaitSync_8f7564d8e69854e9 = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).clientWaitSync(getObject(arg1), arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_compressedTexSubImage2D_8b5da3cce00e853e = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + getObject(arg0).compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_d1972164abc1dca7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + getObject(arg0).compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, getObject(arg8)); + }; + imports.wbg.__wbg_compressedTexSubImage3D_5e3aabc00a092ae8 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + getObject(arg0).compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_compressedTexSubImage3D_24b4925c4cc6adc1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + getObject(arg0).compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, getObject(arg10)); + }; + imports.wbg.__wbg_copyBufferSubData_2653f860bc9de094 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyTexSubImage3D_6c831053759fac49 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + getObject(arg0).copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_createSampler_b7c38920b1aa08d9 = function(arg0) { + const ret = getObject(arg0).createSampler(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createVertexArray_d502151c473563b2 = function(arg0) { + const ret = getObject(arg0).createVertexArray(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_deleteQuery_00d24ac94f0a6395 = function(arg0, arg1) { + getObject(arg0).deleteQuery(getObject(arg1)); + }; + imports.wbg.__wbg_deleteSampler_d59837527a84a3a6 = function(arg0, arg1) { + getObject(arg0).deleteSampler(getObject(arg1)); + }; + imports.wbg.__wbg_deleteSync_7d1bce835110ac1f = function(arg0, arg1) { + getObject(arg0).deleteSync(getObject(arg1)); + }; + imports.wbg.__wbg_deleteVertexArray_3a1bab38b8ce3a22 = function(arg0, arg1) { + getObject(arg0).deleteVertexArray(getObject(arg1)); + }; + imports.wbg.__wbg_drawArraysInstanced_921be0942a90b777 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawBuffers_30164d7c5fd10016 = function(arg0, arg1) { + getObject(arg0).drawBuffers(getObject(arg1)); + }; + imports.wbg.__wbg_drawElementsInstanced_ea6a96176b3a8110 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_endQuery_7cb1091b756435f7 = function(arg0, arg1) { + getObject(arg0).endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_fenceSync_a30c756c7278420a = function(arg0, arg1, arg2) { + const ret = getObject(arg0).fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_framebufferTextureLayer_5ead383facc27b85 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, getObject(arg3), arg4, arg5); + }; + imports.wbg.__wbg_getBufferSubData_c211a29de38ee925 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).getBufferSubData(arg1 >>> 0, arg2, getObject(arg3)); + }; + imports.wbg.__wbg_getIndexedParameter_9be4debbfa0e98d5 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_071fddc760c1aeb1 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getQueryParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getSyncParameter_6c98bbe717c4f18c = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getSyncParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getUniformBlockIndex_7c83171070647d86 = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).getUniformBlockIndex(getObject(arg1), getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_459149f09712550c = function() { return handleError(function (arg0, arg1, arg2) { + getObject(arg0).invalidateFramebuffer(arg1 >>> 0, getObject(arg2)); + }, arguments) }; + imports.wbg.__wbg_readBuffer_3dcad92784060e4c = function(arg0, arg1) { + getObject(arg0).readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_a357dbdb4f70e4c4 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + getObject(arg0).readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, getObject(arg7)); + }, arguments) }; + imports.wbg.__wbg_readPixels_804016440beb4685 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + getObject(arg0).readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_90aa1df2657b1a0a = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_samplerParameterf_d09c5bed12b99776 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).samplerParameterf(getObject(arg1), arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_ad7e20195ba3a068 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).samplerParameteri(getObject(arg1), arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_a1b9c11e4f891c77 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_7c060bf5edbc4d83 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + getObject(arg0).texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_f5b8e6e635a5736f = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + getObject(arg0).texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, getObject(arg9)); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_b26e671fcb768c49 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + getObject(arg0).texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_e15f4453401a5cb0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + getObject(arg0).texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_b80fffc939b7d64a = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + getObject(arg0).texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, getObject(arg11)); + }, arguments) }; + imports.wbg.__wbg_uniformBlockBinding_c0156a47ae6bf012 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniformBlockBinding(getObject(arg1), arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_6cc6abefe1438a03 = function(arg0, arg1, arg2) { + getObject(arg0).vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_e54393825ecebdf4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_activeTexture_eec8b0e6c72c6814 = function(arg0, arg1) { + getObject(arg0).activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_attachShader_0994bf956cb31b2b = function(arg0, arg1, arg2) { + getObject(arg0).attachShader(getObject(arg1), getObject(arg2)); + }; + imports.wbg.__wbg_bindBuffer_a5f37e5ebd81a1f6 = function(arg0, arg1, arg2) { + getObject(arg0).bindBuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindFramebuffer_6ef149f7d398d19f = function(arg0, arg1, arg2) { + getObject(arg0).bindFramebuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindRenderbuffer_1974e9f4fdd0b3af = function(arg0, arg1, arg2) { + getObject(arg0).bindRenderbuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindTexture_dbddb0b0c3efa1b9 = function(arg0, arg1, arg2) { + getObject(arg0).bindTexture(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_blendColor_0f4aa917df7d4cb5 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquation_056ed0bd7ea9fa27 = function(arg0, arg1) { + getObject(arg0).blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_ccdda0657b246bb0 = function(arg0, arg1, arg2) { + getObject(arg0).blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_72335b5494b68bc1 = function(arg0, arg1, arg2) { + getObject(arg0).blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_0aa8a7b4669fb810 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_colorMask_c92354ec3511685f = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_4940032085b41ed2 = function(arg0, arg1) { + getObject(arg0).compileShader(getObject(arg1)); + }; + imports.wbg.__wbg_copyTexSubImage2D_973985fdadd2db42 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + getObject(arg0).copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_createBuffer_b6dbd62c544371ed = function(arg0) { + const ret = getObject(arg0).createBuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createFramebuffer_f656a97f24d2caf3 = function(arg0) { + const ret = getObject(arg0).createFramebuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createProgram_6a25e4bb5cfaad4b = function(arg0) { + const ret = getObject(arg0).createProgram(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createRenderbuffer_e66ea157342e02e9 = function(arg0) { + const ret = getObject(arg0).createRenderbuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createShader_c17c7cf4768e0737 = function(arg0, arg1) { + const ret = getObject(arg0).createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createTexture_0df375980a9c46c9 = function(arg0) { + const ret = getObject(arg0).createTexture(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_cullFace_6f523218f401ecbb = function(arg0, arg1) { + getObject(arg0).cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_deleteBuffer_c39be892f7833f5b = function(arg0, arg1) { + getObject(arg0).deleteBuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteFramebuffer_609d82d380c88142 = function(arg0, arg1) { + getObject(arg0).deleteFramebuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteProgram_acd3f81d082ffd17 = function(arg0, arg1) { + getObject(arg0).deleteProgram(getObject(arg1)); + }; + imports.wbg.__wbg_deleteRenderbuffer_d12ade31b823658c = function(arg0, arg1) { + getObject(arg0).deleteRenderbuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteShader_b6480fae6d31ca67 = function(arg0, arg1) { + getObject(arg0).deleteShader(getObject(arg1)); + }; + imports.wbg.__wbg_deleteTexture_8c7434cb1b20f64f = function(arg0, arg1) { + getObject(arg0).deleteTexture(getObject(arg1)); + }; + imports.wbg.__wbg_depthFunc_86631c06d99cc8b7 = function(arg0, arg1) { + getObject(arg0).depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_2e8f4eeb8622dd9a = function(arg0, arg1) { + getObject(arg0).depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_fcefa24285a5ccf3 = function(arg0, arg1, arg2) { + getObject(arg0).depthRange(arg1, arg2); + }; + imports.wbg.__wbg_disable_ec8402e41edbe277 = function(arg0, arg1) { + getObject(arg0).disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_8da45bfa7fa5a02d = function(arg0, arg1) { + getObject(arg0).disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_drawArrays_ab8fc431291e5dff = function(arg0, arg1, arg2, arg3) { + getObject(arg0).drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawElements_a192faf49b4975d6 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).drawElements(arg1 >>> 0, arg2, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_enable_51cc5ea7d16e475c = function(arg0, arg1) { + getObject(arg0).enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_85c507778523db86 = function(arg0, arg1) { + getObject(arg0).enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_framebufferRenderbuffer_d73f3cb3e5a605a2 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4)); + }; + imports.wbg.__wbg_framebufferTexture2D_e07b69d4972eccfd = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4), arg5); + }; + imports.wbg.__wbg_frontFace_89e3ad9de5432f0d = function(arg0, arg1) { + getObject(arg0).frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_getActiveUniform_ee2d7b9e5794b43d = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getActiveUniform(getObject(arg1), arg2 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_getExtension_22c72750813222f6 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getParameter_00a3d89e6e005c2f = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).getParameter(arg1 >>> 0); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getProgramInfoLog_234b1b9dbbc9282f = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getProgramInfoLog(getObject(arg2)); + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_getProgramParameter_4100b1077a68e2ec = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getProgramParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getShaderInfoLog_a680dbc6e8440e5b = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getShaderInfoLog(getObject(arg2)); + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_getShaderParameter_87e97ffc5dc7fb05 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getShaderParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getSupportedExtensions_f7eec3b83ce8c78d = function(arg0) { + const ret = getObject(arg0).getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_getUniformLocation_201fd94276e7dc6f = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).getUniformLocation(getObject(arg1), getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_linkProgram_edd275997033948d = function(arg0, arg1) { + getObject(arg0).linkProgram(getObject(arg1)); + }; + imports.wbg.__wbg_pixelStorei_db7d39661916037c = function(arg0, arg1, arg2) { + getObject(arg0).pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_polygonOffset_db4c417637942873 = function(arg0, arg1, arg2) { + getObject(arg0).polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_renderbufferStorage_6ded6b343c662a60 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_scissor_3ea2048f24928f06 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_shaderSource_bbfeb057b5f88df5 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).shaderSource(getObject(arg1), getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_stencilFuncSeparate_f43489c7ac77594b = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMask_fea8ee1f2c935ebb = function(arg0, arg1) { + getObject(arg0).stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_d0d09f427805178d = function(arg0, arg1, arg2) { + getObject(arg0).stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_c2d74b39ae1dc753 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_texParameteri_7414cf15f83e1d52 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_uniform1i_22f9e77ed65e1503 = function(arg0, arg1, arg2) { + getObject(arg0).uniform1i(getObject(arg1), arg2); + }; + imports.wbg.__wbg_uniform4f_5381c7867ad1318a = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).uniform4f(getObject(arg1), arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_useProgram_039f85866d3a975b = function(arg0, arg1) { + getObject(arg0).useProgram(getObject(arg1)); + }; + imports.wbg.__wbg_vertexAttribPointer_4375ff065dcf90ed = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + getObject(arg0).vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_viewport_06c29be651af660a = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_instanceof_Window_0e6c0f1096d66c3c = function(arg0) { + const ret = getObject(arg0) instanceof Window; + return ret; + }; + imports.wbg.__wbg_document_99eddbbc11ec831e = function(arg0) { + const ret = getObject(arg0).document; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_navigator_1f72d7edb7b4c387 = function(arg0) { + const ret = getObject(arg0).navigator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_innerWidth_aebdd1c86de7b6aa = function() { return handleError(function (arg0) { + const ret = getObject(arg0).innerWidth; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_innerHeight_67ea5ab43c3043ad = function() { return handleError(function (arg0) { + const ret = getObject(arg0).innerHeight; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_devicePixelRatio_cac0b66c0e1e056b = function(arg0) { + const ret = getObject(arg0).devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_cancelAnimationFrame_7a4ff0365b95acb4 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_matchMedia_7a04497c9cd2fc1e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_requestAnimationFrame_8e3c7028c69ebaef = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).requestAnimationFrame(getObject(arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_get_1a5d33bebaa9ec33 = function(arg0, arg1, arg2) { + const ret = getObject(arg0)[getStringFromWasm0(arg1, arg2)]; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_clearTimeout_7d8e22408e148ffd = function(arg0, arg1) { + getObject(arg0).clearTimeout(arg1); + }; + imports.wbg.__wbg_fetch_8df5fcf7dd9fd853 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).fetch(getStringFromWasm0(arg1, arg2)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_setTimeout_a100c5fd6f7b2032 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).setTimeout(getObject(arg1), arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_b94545433bb4d2ef = function(arg0) { + const ret = getObject(arg0) instanceof HTMLCanvasElement; + return ret; + }; + imports.wbg.__wbg_width_20b7a9ebdd5f4232 = function(arg0) { + const ret = getObject(arg0).width; + return ret; + }; + imports.wbg.__wbg_setwidth_654d8adcd4979eed = function(arg0, arg1) { + getObject(arg0).width = arg1 >>> 0; + }; + imports.wbg.__wbg_height_57f43816c2227a89 = function(arg0) { + const ret = getObject(arg0).height; + return ret; + }; + imports.wbg.__wbg_setheight_2b662384bfacb65c = function(arg0, arg1) { + getObject(arg0).height = arg1 >>> 0; + }; + imports.wbg.__wbg_getContext_d7d734e1c1199dd1 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).getContext(getStringFromWasm0(arg1, arg2), getObject(arg3)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_connect_7fe7ce5856f531e9 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).connect(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_target_46fd3a29f64b0e43 = function(arg0) { + const ret = getObject(arg0).target; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_cancelBubble_7446704fccad1780 = function(arg0) { + const ret = getObject(arg0).cancelBubble; + return ret; + }; + imports.wbg.__wbg_preventDefault_747982fd5fe3b6d0 = function(arg0) { + getObject(arg0).preventDefault(); + }; + imports.wbg.__wbg_stopPropagation_63abc0c04280af82 = function(arg0) { + getObject(arg0).stopPropagation(); + }; + imports.wbg.__wbg_charCode_6d4f547803a43cd8 = function(arg0) { + const ret = getObject(arg0).charCode; + return ret; + }; + imports.wbg.__wbg_keyCode_9bdbab45f06fb085 = function(arg0) { + const ret = getObject(arg0).keyCode; + return ret; + }; + imports.wbg.__wbg_altKey_4c4f9abf8a09e7c7 = function(arg0) { + const ret = getObject(arg0).altKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_37d7587cf9229e4c = function(arg0) { + const ret = getObject(arg0).ctrlKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_94c9fa9845182d9e = function(arg0) { + const ret = getObject(arg0).shiftKey; + return ret; + }; + imports.wbg.__wbg_metaKey_ecd5174305b25455 = function(arg0) { + const ret = getObject(arg0).metaKey; + return ret; + }; + imports.wbg.__wbg_key_a8ae33ddc6ff786b = function(arg0, arg1) { + const ret = getObject(arg1).key; + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_code_a637bfca56413948 = function(arg0, arg1) { + const ret = getObject(arg1).code; + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_getModifierState_bfe6da6a5e7b8c34 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getModifierState(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_42dbaa04eb6eafb5 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_8ca6e0aee478b1d6 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_128d8966b30a77f8 = function(arg0, arg1, arg2) { + getObject(arg0).vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_addEventListener_78d3aa7e06ee5b73 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3)); + }, arguments) }; + imports.wbg.__wbg_addEventListener_be0c061a1359c1dd = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), getObject(arg4)); + }, arguments) }; + imports.wbg.__wbg_removeEventListener_ab2f93784dae0528 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + getObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3)); + }, arguments) }; + imports.wbg.__wbg_id_a481c627c7d85242 = function(arg0, arg1) { + const ret = getObject(arg1).id; + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_index_ff2f9fc40a733e0b = function(arg0) { + const ret = getObject(arg0).index; + return ret; + }; + imports.wbg.__wbg_mapping_abcc3731336fda59 = function(arg0) { + const ret = getObject(arg0).mapping; + return addHeapObject(ret); + }; + imports.wbg.__wbg_connected_b68e0f63b1f9f811 = function(arg0) { + const ret = getObject(arg0).connected; + return ret; + }; + imports.wbg.__wbg_buttons_1d043b13b927453d = function(arg0) { + const ret = getObject(arg0).buttons; + return addHeapObject(ret); + }; + imports.wbg.__wbg_axes_271dbed60d3d7753 = function(arg0) { + const ret = getObject(arg0).axes; + return addHeapObject(ret); + }; + imports.wbg.__wbg_pressed_71ce77d4eae9b73d = function(arg0) { + const ret = getObject(arg0).pressed; + return ret; + }; + imports.wbg.__wbg_size_2821584638f68df1 = function(arg0) { + const ret = getObject(arg0).size; + return ret; + }; + imports.wbg.__wbg_type_6b3d720c58da960e = function(arg0) { + const ret = getObject(arg0).type; + return ret; + }; + imports.wbg.__wbg_name_b636d7dc5b7994a8 = function(arg0, arg1) { + const ret = getObject(arg1).name; + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_matches_7809d58d7a13e2eb = function(arg0) { + const ret = getObject(arg0).matches; + return ret; + }; + imports.wbg.__wbg_addListener_656a78e6ab0aed8e = function() { return handleError(function (arg0, arg1) { + getObject(arg0).addListener(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_removeListener_e53a15f9ce1ac7cd = function() { return handleError(function (arg0, arg1) { + getObject(arg0).removeListener(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_x_ef3000fe6f93272b = function(arg0) { + const ret = getObject(arg0).x; + return ret; + }; + imports.wbg.__wbg_y_220956c490b84426 = function(arg0) { + const ret = getObject(arg0).y; + return ret; + }; + imports.wbg.__wbg_appendChild_a86c0da8d152eae4 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).appendChild(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_copyToChannel_4f2e7d757aea797a = function() { return handleError(function (arg0, arg1, arg2, arg3) { + getObject(arg0).copyToChannel(getArrayF32FromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_setProperty_ae9adf5d00216c03 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_getGamepads_15547708d4a2c197 = function() { return handleError(function (arg0) { + const ret = getObject(arg0).getGamepads(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_drawBuffersWEBGL_ec71613a6df0ca89 = function(arg0, arg1) { + getObject(arg0).drawBuffersWEBGL(getObject(arg1)); + }; + imports.wbg.__wbg_body_2a1ff14b05042a51 = function(arg0) { + const ret = getObject(arg0).body; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_fullscreenElement_44802e654491d657 = function(arg0) { + const ret = getObject(arg0).fullscreenElement; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createElement_3c9b5f3aa42457a1 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).createElement(getStringFromWasm0(arg1, arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_exitFullscreen_e9ac392f4dfc0de0 = function(arg0) { + getObject(arg0).exitFullscreen(); + }; + imports.wbg.__wbg_exitPointerLock_73d419d8d307f452 = function(arg0) { + getObject(arg0).exitPointerLock(); + }; + imports.wbg.__wbg_querySelector_c03126fc82664294 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getBoundingClientRect_ab935d65fdd23c25 = function(arg0) { + const ret = getObject(arg0).getBoundingClientRect(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_requestFullscreen_ee477cb0bff61f4a = function() { return handleError(function (arg0) { + getObject(arg0).requestFullscreen(); + }, arguments) }; + imports.wbg.__wbg_requestPointerLock_a2ffbc3e11ee2eac = function(arg0) { + getObject(arg0).requestPointerLock(); + }; + imports.wbg.__wbg_setAttribute_8d90e00d652037be = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setPointerCapture_c6fe2a502d7c4f27 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_bufferData_7bdccbfbc1a4f5c5 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_282e5d315f5503eb = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, getObject(arg2), arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_884f8fcf6ab0d69e = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferSubData(arg1 >>> 0, arg2, getObject(arg3)); + }; + imports.wbg.__wbg_compressedTexSubImage2D_29d0e2c56d65a454 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + getObject(arg0).compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, getObject(arg8)); + }; + imports.wbg.__wbg_readPixels_2bc3459a9d280818 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + getObject(arg0).readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, getObject(arg7)); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_fe76e590b3e3fa85 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + getObject(arg0).texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, getObject(arg9)); + }, arguments) }; + imports.wbg.__wbg_activeTexture_1ba5758f0a8358b6 = function(arg0, arg1) { + getObject(arg0).activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_attachShader_0867104b37cae2d6 = function(arg0, arg1, arg2) { + getObject(arg0).attachShader(getObject(arg1), getObject(arg2)); + }; + imports.wbg.__wbg_bindBuffer_28e62f648e99e251 = function(arg0, arg1, arg2) { + getObject(arg0).bindBuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindFramebuffer_b7a06305d2823b34 = function(arg0, arg1, arg2) { + getObject(arg0).bindFramebuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindRenderbuffer_0fe389ab46c4d00d = function(arg0, arg1, arg2) { + getObject(arg0).bindRenderbuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindTexture_27a724e7303eec67 = function(arg0, arg1, arg2) { + getObject(arg0).bindTexture(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_blendColor_cfd863563682d577 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquation_33be7d5bece19805 = function(arg0, arg1) { + getObject(arg0).blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_ffbed0120340f7d5 = function(arg0, arg1, arg2) { + getObject(arg0).blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_08a6e279418be6da = function(arg0, arg1, arg2) { + getObject(arg0).blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c750720abdc9d54e = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_colorMask_0cfe7588f073be4e = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_1b371763cfd802f7 = function(arg0, arg1) { + getObject(arg0).compileShader(getObject(arg1)); + }; + imports.wbg.__wbg_copyTexSubImage2D_6b89ac2e1ddd3142 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + getObject(arg0).copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_createBuffer_48c0376fc0746386 = function(arg0) { + const ret = getObject(arg0).createBuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createFramebuffer_f6f4aff3c462de89 = function(arg0) { + const ret = getObject(arg0).createFramebuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createProgram_c2675d2cc83435a6 = function(arg0) { + const ret = getObject(arg0).createProgram(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createRenderbuffer_5f8fcf55de2b35f5 = function(arg0) { + const ret = getObject(arg0).createRenderbuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createShader_8d2a55e7777bbea7 = function(arg0, arg1) { + const ret = getObject(arg0).createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createTexture_23de5d8f7988e663 = function(arg0) { + const ret = getObject(arg0).createTexture(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_cullFace_ebd111d9d3c6e6cb = function(arg0, arg1) { + getObject(arg0).cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_deleteBuffer_84d0cd43f3b572b6 = function(arg0, arg1) { + getObject(arg0).deleteBuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteFramebuffer_b21de2b43d8c54e0 = function(arg0, arg1) { + getObject(arg0).deleteFramebuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteProgram_7044d91c29e31f30 = function(arg0, arg1) { + getObject(arg0).deleteProgram(getObject(arg1)); + }; + imports.wbg.__wbg_deleteRenderbuffer_6d9875ba7b9df6c3 = function(arg0, arg1) { + getObject(arg0).deleteRenderbuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteShader_d39446753b2fa1e7 = function(arg0, arg1) { + getObject(arg0).deleteShader(getObject(arg1)); + }; + imports.wbg.__wbg_deleteTexture_bf4ea3b750a15992 = function(arg0, arg1) { + getObject(arg0).deleteTexture(getObject(arg1)); + }; + imports.wbg.__wbg_depthFunc_022b02671d0567ca = function(arg0, arg1) { + getObject(arg0).depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_e3ae6240c69ee7c3 = function(arg0, arg1) { + getObject(arg0).depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_23a9a11ab36ef4f7 = function(arg0, arg1, arg2) { + getObject(arg0).depthRange(arg1, arg2); + }; + imports.wbg.__wbg_disable_ada50e27543b1ebd = function(arg0, arg1) { + getObject(arg0).disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e1c513cfd55355c9 = function(arg0, arg1) { + getObject(arg0).disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_drawArrays_b8da4ee5bc9599f6 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawElements_efa6c15e2787a58c = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).drawElements(arg1 >>> 0, arg2, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_enable_981a414a11bbed87 = function(arg0, arg1) { + getObject(arg0).enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_1d5f3ff6e7da7095 = function(arg0, arg1) { + getObject(arg0).enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_framebufferRenderbuffer_ed95c4854179b4ac = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4)); + }; + imports.wbg.__wbg_framebufferTexture2D_3bb72a24d7618de9 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4), arg5); + }; + imports.wbg.__wbg_frontFace_27420a02ba896aee = function(arg0, arg1) { + getObject(arg0).frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_getActiveUniform_6e926ae8849b7b41 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getActiveUniform(getObject(arg1), arg2 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_getParameter_f511b92ebf87c44e = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).getParameter(arg1 >>> 0); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getProgramInfoLog_e70b0120bda14895 = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getProgramInfoLog(getObject(arg2)); + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_getProgramParameter_e4fe54d806806081 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getProgramParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getShaderInfoLog_95d068aeccc5dbb3 = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getShaderInfoLog(getObject(arg2)); + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_getShaderParameter_2972af1cb850aeb7 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getShaderParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getUniformLocation_776a1f58e7904d81 = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).getUniformLocation(getObject(arg1), getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_linkProgram_b98c8967f45a44fd = function(arg0, arg1) { + getObject(arg0).linkProgram(getObject(arg1)); + }; + imports.wbg.__wbg_pixelStorei_707653d2f29a6c67 = function(arg0, arg1, arg2) { + getObject(arg0).pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_polygonOffset_6988d578ba78ac1f = function(arg0, arg1, arg2) { + getObject(arg0).polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_renderbufferStorage_56e5cf7c10bbc044 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_scissor_056d185c74d7c0ad = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_shaderSource_daca520f63ef8fca = function(arg0, arg1, arg2, arg3) { + getObject(arg0).shaderSource(getObject(arg1), getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_stencilFuncSeparate_a67fd2aea52446dd = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMask_9ea2bf2fb1616a9b = function(arg0, arg1) { + getObject(arg0).stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_e3efaa9509ba397b = function(arg0, arg1, arg2) { + getObject(arg0).stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_a189d6338679f86f = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_texParameteri_1298d8804b59bbc0 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_uniform1i_42b99e992f794a51 = function(arg0, arg1, arg2) { + getObject(arg0).uniform1i(getObject(arg1), arg2); + }; + imports.wbg.__wbg_uniform4f_3064c1608d684501 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).uniform4f(getObject(arg1), arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_useProgram_022d72a653706891 = function(arg0, arg1) { + getObject(arg0).useProgram(getObject(arg1)); + }; + imports.wbg.__wbg_vertexAttribPointer_a75ea424ba9fa4e8 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + getObject(arg0).vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_viewport_6c864379ded67e8a = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_error_5bd12f214e606440 = function(arg0, arg1) { + console.error(getObject(arg0), getObject(arg1)); + }; + imports.wbg.__wbg_style_dd3ba68ea919f1b0 = function(arg0) { + const ret = getObject(arg0).style; + return addHeapObject(ret); + }; + imports.wbg.__wbg_clientX_83648828186ba19f = function(arg0) { + const ret = getObject(arg0).clientX; + return ret; + }; + imports.wbg.__wbg_clientY_ba9e5549993281e3 = function(arg0) { + const ret = getObject(arg0).clientY; + return ret; + }; + imports.wbg.__wbg_offsetX_5888d22032ed9bd8 = function(arg0) { + const ret = getObject(arg0).offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_ca0bdbbd593cafb7 = function(arg0) { + const ret = getObject(arg0).offsetY; + return ret; + }; + imports.wbg.__wbg_ctrlKey_e4aeb9366ca88d41 = function(arg0) { + const ret = getObject(arg0).ctrlKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_42596574095ad5e2 = function(arg0) { + const ret = getObject(arg0).shiftKey; + return ret; + }; + imports.wbg.__wbg_altKey_7b8816289b011360 = function(arg0) { + const ret = getObject(arg0).altKey; + return ret; + }; + imports.wbg.__wbg_metaKey_ad377163d8beff50 = function(arg0) { + const ret = getObject(arg0).metaKey; + return ret; + }; + imports.wbg.__wbg_button_78dae8616402469e = function(arg0) { + const ret = getObject(arg0).button; + return ret; + }; + imports.wbg.__wbg_buttons_f399a1bc84a54cd3 = function(arg0) { + const ret = getObject(arg0).buttons; + return ret; + }; + imports.wbg.__wbg_movementX_41ae415863092c65 = function(arg0) { + const ret = getObject(arg0).movementX; + return ret; + }; + imports.wbg.__wbg_movementY_22d319fd2307f93b = function(arg0) { + const ret = getObject(arg0).movementY; + return ret; + }; + imports.wbg.__wbg_bindVertexArrayOES_35d97084dfc5f6f4 = function(arg0, arg1) { + getObject(arg0).bindVertexArrayOES(getObject(arg1)); + }; + imports.wbg.__wbg_createVertexArrayOES_69c38b2b74e927fa = function(arg0) { + const ret = getObject(arg0).createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_deleteVertexArrayOES_7944a9952de94807 = function(arg0, arg1) { + getObject(arg0).deleteVertexArrayOES(getObject(arg1)); + }; + imports.wbg.__wbg_pointerId_8b2b0e9ad7c38495 = function(arg0) { + const ret = getObject(arg0).pointerId; + return ret; + }; + imports.wbg.__wbg_deltaX_692299f5e35cfb0d = function(arg0) { + const ret = getObject(arg0).deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_f78bae9413139a24 = function(arg0) { + const ret = getObject(arg0).deltaY; + return ret; + }; + imports.wbg.__wbg_deltaMode_08c2fcea70146506 = function(arg0) { + const ret = getObject(arg0).deltaMode; + return ret; + }; + imports.wbg.__wbg_matches_a47fec024fc002b2 = function(arg0) { + const ret = getObject(arg0).matches; + return ret; + }; + imports.wbg.__wbg_now_20d2aadcf3cc17f7 = function(arg0) { + const ret = getObject(arg0).now(); + return ret; + }; + imports.wbg.__wbg_instanceof_Response_ccfeb62399355bcd = function(arg0) { + const ret = getObject(arg0) instanceof Response; + return ret; + }; + imports.wbg.__wbg_arrayBuffer_5a99283a3954c850 = function() { return handleError(function (arg0) { + const ret = getObject(arg0).arrayBuffer(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_setbuffer_72cfecac4d22725d = function(arg0, arg1) { + getObject(arg0).buffer = getObject(arg1); + }; + imports.wbg.__wbg_setonended_f22c38d46d048b5e = function(arg0, arg1) { + getObject(arg0).onended = getObject(arg1); + }; + imports.wbg.__wbg_start_a0eb9df7289c5c06 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).start(arg1); + }, arguments) }; + imports.wbg.__wbg_destination_f4f5ac55ff6e3785 = function(arg0) { + const ret = getObject(arg0).destination; + return addHeapObject(ret); + }; + imports.wbg.__wbg_currentTime_510dde7d31c119e8 = function(arg0) { + const ret = getObject(arg0).currentTime; + return ret; + }; + imports.wbg.__wbg_newwithcontextoptions_306dddcebb669c90 = function() { return handleError(function (arg0) { + const ret = new lAudioContext(getObject(arg0)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_close_cb79e4f9c785e64c = function() { return handleError(function (arg0) { + const ret = getObject(arg0).close(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_createBuffer_19d3c1651316a6c2 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).createBuffer(arg1 >>> 0, arg2 >>> 0, arg3); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_createBufferSource_414d1e25fd67f353 = function() { return handleError(function (arg0) { + const ret = getObject(arg0).createBufferSource(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_resume_00606714ccb596ff = function() { return handleError(function (arg0) { + const ret = getObject(arg0).resume(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_f0f4f1608ebf633e = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_93debb0e2e184ab6 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_2ab697f1555e0dbc = function() { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newnoargs_fc5356289219b93b = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_89247d3aeaa38cc5 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_call_4573f605ca4b5f10 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_306ce8d57919e6ae = function() { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_self_ba1ddafe9ea7a3a2 = function() { return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_window_be3cc430364fd32c = function() { return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_globalThis_56d9c9f814daeeee = function() { return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_global_8c35aeee4ac77f2b = function() { return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbg_eval_5def934d54879ff9 = function() { return handleError(function (arg0, arg1) { + const ret = eval(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_of_b4a194763884efcc = function(arg0) { + const ret = Array.of(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_push_811c8b08bf4ff9d5 = function(arg0, arg1) { + const ret = getObject(arg0).push(getObject(arg1)); + return ret; + }; + imports.wbg.__wbg_now_513c8208bd94c09b = function() { + const ret = Date.now(); + return ret; + }; + imports.wbg.__wbg_is_aafa609b540ad47f = function(arg0, arg1) { + const ret = Object.is(getObject(arg0), getObject(arg1)); + return ret; + }; + imports.wbg.__wbg_resolve_f269ce174f88b294 = function(arg0) { + const ret = Promise.resolve(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_then_1c698eedca15eed6 = function(arg0, arg1) { + const ret = getObject(arg0).then(getObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_then_4debc41d4fc92ce5 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).then(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_de1150f91b23aa89 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_74933bffb873173e = function(arg0, arg1, arg2) { + const ret = new Int8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_73c0ae5a17187d7e = function(arg0, arg1, arg2) { + const ret = new Int16Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_8950b31abb1620dd = function(arg0, arg1, arg2) { + const ret = new Int32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9ca61320599a2c84 = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_97cf52648830a70d = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_a0172b213e2469e9 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_e09c0b925ab8de5d = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ba29f3d9e79e44a3 = function(arg0, arg1, arg2) { + const ret = new Uint16Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_230fad9c7b4a8a81 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_b0ff18b468a0d3f8 = function(arg0, arg1, arg2) { + const ret = new Float32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithlength_e833b89f9db02732 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_subarray_9482ae5cd5cd99d3 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_b12cd0ab82903c2f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper1749 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 802, __wbg_adapter_32); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2405 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2407 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2409 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_40); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2411 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2413 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2415 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2417 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2419 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2421 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 1041, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper24613 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 12767, __wbg_adapter_55); + return addHeapObject(ret); + }; + + return imports; +} + +function initMemory(imports, maybe_memory) { + +} + +function finalizeInit(instance, module) { + wasm = instance.exports; + init.__wbindgen_wasm_module = module; + cachedFloat32Memory0 = new Float32Array(wasm.memory.buffer); + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer); + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(bytes) { + const imports = getImports(); + + initMemory(imports); + + const module = new WebAssembly.Module(bytes); + const instance = new WebAssembly.Instance(module, imports); + + return finalizeInit(instance, module); +} + +async function init(input) { + if (typeof input === 'undefined') { + input = new URL('egg_fetcher_bg.wasm', import.meta.url); + } + const imports = getImports(); + + if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { + input = fetch(input); + } + + initMemory(imports); + + const { instance, module } = await load(await input, imports); + + return finalizeInit(instance, module); +} + +export { initSync } +export default init; diff --git a/static/egg-fetcher/egg_fetcher_bg.wasm b/static/egg-fetcher/egg_fetcher_bg.wasm new file mode 100644 index 0000000..26515a6 --- /dev/null +++ b/static/egg-fetcher/egg_fetcher_bg.wasm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6503bd966c835b200ff8db492fb4cc86c754eda49f376e248b1fa86e03cf101c +size 14994124 diff --git a/static/egg-fetcher/index.html b/static/egg-fetcher/index.html new file mode 100644 index 0000000..8b98380 --- /dev/null +++ b/static/egg-fetcher/index.html @@ -0,0 +1,11 @@ + + + + + + + +