diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..758ed61 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[target.wasm32-unknown-unknown] +runner = "wasm-server-runner" diff --git a/.gitignore b/.gitignore index 568895f..0fc65ac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ /target perf.data perf.data.old -unhaunter +unhaunter_game trace-*.json \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 6cac45c..a7bff73 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -242,9 +242,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "approx" @@ -439,7 +439,7 @@ dependencies = [ "serde_json", "serde_yaml", "thiserror", - "toml 0.8.10", + "toml 0.8.11", ] [[package]] @@ -4035,7 +4035,7 @@ dependencies = [ "cfg-expr", "heck", "pkg-config", - "toml 0.8.10", + "toml 0.8.11", "version-compare", ] @@ -4145,14 +4145,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" +checksum = "af06656561d28735e9c1cd63dfd57132c8155426aa6af24f36a00a351f88c48e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.6", + "toml_edit 0.22.7", ] [[package]] @@ -4177,9 +4177,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.6" +version = "0.22.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" +checksum = "18769cd1cec395d70860ceb4d932812a0b4d06b1a4bb336745a4d21b9496e992" dependencies = [ "indexmap", "serde", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "unhaunter" -version = "0.1.3" +version = "0.1.4" dependencies = [ "anyhow", "bevy", @@ -4319,6 +4319,7 @@ dependencies = [ "thiserror", "tiled", "walkdir", + "wasm-bindgen", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 5515412..d344113 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,21 +1,23 @@ [package] name = "unhaunter" -version = "0.1.3" +version = "0.1.4" edition = "2021" -default-run = "unhaunter" +default-run = "unhaunter_game" +description = "2D isometric Game about investigating paranormal hauntings" +repository = "https://github.com/deavid/unhaunter/" +license = "Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] bevy = { version = "0.13.0", features = ["trace"] } -bevy_framepace = "0.15" rand = { version = "0.8", features = ["small_rng"] } enum-iterator = "2.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" image = "0.25.0" regex = "1.7.1" -tiled = "0.11.2" + clap = "4.4.8" fastapprox = "0.3.1" anyhow = "1.0.79" @@ -25,6 +27,13 @@ hierarchical_pathfinding = "0.5.0" walkdir = "2.5.0" glob = "0.3.1" thiserror = "1.0.58" +tiled = { version = "0.11.2", features = ["wasm"] } +wasm-bindgen = "0.2.92" + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +bevy_framepace = "0.15" + +# [target.'cfg(target_arch = "wasm32")'.dependencies] # Enable only a small amount of optimization in debug mode [profile.dev] @@ -34,11 +43,20 @@ opt-level = 2 [profile.dev.package."*"] opt-level = 3 +# These optimizations for release are trying to target mostly WASM +[profile.release] +# This causes slower compilation times in release +lto = "thin" +# Compiling to smaller sizes seems to help in WASM +opt-level = 'z' [[bin]] -name = "unhaunter" -path = "src/main.rs" +name = "unhaunter_game" +path = "src/bin/unhaunter.rs" [[bin]] name = "materials" path = "src/materials.rs" + +[lib] +crate-type = ["cdylib", "rlib"] diff --git a/README.md b/README.md index 331aae3..3268430 100644 --- a/README.md +++ b/README.md @@ -206,4 +206,68 @@ NOTE: bevy_framepace::framerate_limiter is intended to take the majority of the There's additional info on profiling Bevy here: -https://github.com/bevyengine/bevy/blob/main/docs/profiling.md \ No newline at end of file +https://github.com/bevyengine/bevy/blob/main/docs/profiling.md + + +## WASM Support + +You can test this game in WASM by navigating to: + +https://deavid.github.io/unhaunter/ + +However, Google Chrome is recommended. + +Known issues: + +* Firefox seems to have serious performance problems. +* Noticeable audio crackling. +* Map names appear by filenames not by their internal name. +* Map data is pre-backed in, does not react to new maps added into the folder. +* University/School map is very slow. + +NOTE: Overall this is provided as a "demo" that is easy to access for those that +cannot build the game themselves. Unhaunter is not targeting WASM, and the +support will be minimal. + +Building WASM locally: + +https://bevy-cheatbook.github.io/platforms/wasm.html + +Install deps + + rustup target install wasm32-unknown-unknown + cargo install wasm-server-runner + +Run with: + + cargo run --target wasm32-unknown-unknown --release + + +Current problems: + +* Slow? +* Regular filesystem operation do not work. Bevy Assets do work. Therefore map loading is borked. +* Instant::now does not work. +* Framepace does not work on the browser. Solved. +* Tiled library is never going to work, it opens the files it wants, whenever it wants. It will always fail on WASM. + +Here's a sample on how to load custom assets, so we could load our own data: +https://bevyengine.org/examples/Assets/custom-asset/ + +But most likely this forces us to pre-bake the maps somehow. + +Wait, tiled-rs DOES support wasm. + +Update: It works now, but there's stutter. Mainly because there's only one thread +for executing; and on top of that there's a GC that when it runs it pauses the game. + +--- +Wasm bindgen: + + wasm-pack build --release --target web + +This will build in pkg/ + +And to test: + + python3 -m http.server \ No newline at end of file diff --git a/default_map.json b/default_map.json deleted file mode 100644 index dae5a20..0000000 --- a/default_map.json +++ /dev/null @@ -1,16051 +0,0 @@ -{ - "tiles": [ - { - "position": { - "x": -4.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FrameLeft", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FrameLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "Pillar", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FrameLeft", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -15.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "Character", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -12.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -16.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -13.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -14.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -11.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "Pillar", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 25.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 25.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 25.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "Pillar", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "Pillar", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "Pillar", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "Pillar", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "Pillar", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -32.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -33.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -34.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -32.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -33.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -34.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -34.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -33.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -32.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -32.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -33.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -34.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -34.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -33.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -32.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "CeilingLight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FrameRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "FrameLeft", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "FloorTile", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -32.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -33.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -34.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -10.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -7.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -35.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -34.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -33.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -32.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -31.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -30.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -29.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -28.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -27.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -22.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -23.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -24.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -25.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -26.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -21.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -4.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -3.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -1.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 0.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 1.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 2.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 3.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 4.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 5.0, - "y": -20.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 6.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 7.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -18.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -19.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 14.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 15.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 25.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 24.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 23.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 22.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 21.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 26.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 25.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 18.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 19.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 13.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 20.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": 0.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -1.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 8.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -7.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -3.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 11.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 10.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 9.0, - "y": -2.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -6.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -5.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 17.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 16.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 15.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 12.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": 13.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": 14.0, - "y": -8.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -9.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -10.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -11.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -12.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -13.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -14.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -15.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -2.0, - "y": -16.0, - "z": 0.0 - }, - "sprite": "WallRight", - "variant": "Base" - }, - { - "position": { - "x": -9.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -8.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -4.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -5.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - }, - { - "position": { - "x": -6.0, - "y": -17.0, - "z": 0.0 - }, - "sprite": "WallLeft", - "variant": "Base" - } - ] -} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..52dc223 --- /dev/null +++ b/index.html @@ -0,0 +1,69 @@ + + + + + + + + \ No newline at end of file diff --git a/pkg/README.md b/pkg/README.md new file mode 100644 index 0000000..96d263f --- /dev/null +++ b/pkg/README.md @@ -0,0 +1,251 @@ +# Unhaunter + +A paranormal investigation game in an isometric perspective. + +## How to Play + +Your task is to expel the ghost(s) from a location (currently 1 ghost only). + +To be able to do this, first you need to identify the ghost among 44 different +possible ghost types. Each ghost type interacts with your equipment in a +different way. Each piece of equipment is responsible for detecting a type of +evidence. + +There are 8 types of evidence. A ghost has 5 evidences out of those 8. + +Locate the ghost, test the different equipment, note down in the van which +evidences you found, create the "Unhaunter Ghost Repellent" and use it to expel +the ghost. + +Once you're done, you can click "End Mission" on the van and you'll get the +mission score. + +Press [E] on the van to access the van UI for the journal and other useful +stuff. The same key is used to open doors or actuate switches and lamps. + +Press [R] to activate the gear on your right hand, [T] for the gear in the left +hand. + +Press [Q] to cycle the inventory on your right hand. [TAB] to swap your left +and right hands. + +## Evidences + +* Freezing temps: Thermometer. The room that the ghost frequents can go below + zero. Be warned that lights heat up the room and open doors will leak air + outside. These factors limit your ability to read freezing temps. + +* Floating Orbs: Night Vision IR Camera. The ghost's breach (grey translucent + dust) can illuminate under Night Vision (IR). The room has to be dark for this + effect to be perceptible. + +* UV Ectoplasm: UV Torch. The ghost might glow green under UV light. Other light + sources might make this very hard to see. + +* EMF Level 5: EMF Meter. The EMF Meter might read EMF5 for some ghosts. + +* EVP Recording: Recorder. The recorder might show up a "EVP Recorded" message. + +* Spirit Box: Spirit Box. Screams and other paranormal sounds might be heard + through the static. + +* RL Presence: Red Light Torch. The ghost might glow orange under this light. + Other light sources might need to be off for the effect to be evident. + +* 500+ cpm: Geiger Counter. The device might read above 500cpm for some ghosts. + +## Basic Strategy + +First, locate where the ghost is - what room it tends to roam. For this, it is +best to turn on all the lights in the house and open all doors. + +Press [T] to enable the torch; it has several power settings, but be warned +that it might turn itself off by overheating. + +The ghost has a spawn point, which also sets its favorite room. This spawn point +is known as the ghost's breach, which can be seen as a form of white, +semi-transparent dust. This is better seen using the location's lights; a +regular torch will not show it. + +The ghost always roams around the breach. So most of the analysis and tests +should be done in this room. + +Once this is located, turn off the lights of that room and the rooms contiguous +to it. Also, close the doors of the room. + +Try the different equipment and note which ones gave positive results. + +Go to the van to note these down in the journal. It is not possible to note +these down outside of the van, so if you cannot memorize them, you'll need to +make more trips to the van to write them down. + +As you set these on the van, the list of possible ghosts will narrow. Once +you're sure which one it is, select it and you'll be able to click +"Craft Unhaunter Ghost Repellent". + +This will fill a vial in your inventory with the repellent for that particular +ghost type. Go to the ghost room (breach) and wait for the ghost to be there, +then activate the vial, which will spread the substance. + +If successful, the ghost should disappear. Be warned, there's no cue indicating +if it worked. You need to double-check that the ghost is gone. +If needed, you can refill the vial in the van. + +Once you're sure there are no more ghosts, proceed to the van +and click "End Mission". + +## Building and Installing + +There are no binary, packages or installers for Unhaunter. So far there are no +plans for them, the only way to run the game is to build it from sources. + +Download the repository as usual via your favorite method, for example: + +$ git clone https://github.com/deavid/unhaunter.git + +You'll need to have Rust, follow the steps to install it at: + +https://www.rust-lang.org/tools/install + +You'll need also to install dependencies for Bevy, follow the instructions for +your operating system at: + +https://bevyengine.org/learn/quick-start/getting-started/setup/#installing-os-dependencies + +With this, you should be able to run the game by simply running: + +$ cargo run + +The command must be run from the game source folder. + +NOTE: The game is currently being developed and built on a single developer + machine using Debian GNU/Linux in some Testing/Sid version in an AMD machine + using a NVIDIA 3080. The game should run in a wide range of computers and + configurations, but it has not been tested. + +## Profiling + +Unhaunter, as any other game, will perform wildly different depending on where +it is executed. If there are performance issues on your system, you can help +by profiling the problem yourself. + +WARN: Profiling creates gigabytes worth of data. It is imperative that you know +what do you want to test and do it as quickly as possible. A minute worth of +data could be over 3 GiB. + +To run a profiling session, run: + + $ cargo run --release --features bevy/trace_chrome + +This will create a file named `trace-1999999999999999.json` in the same folder +from where you executed `cargo run` (numbers will be different). + +Be warned that the trace might also contain some private information about your +system. The trace can be opened by others, but only send it to trusted people. +(It shows the paths of where do you have Bevy and other libraries installed, +which is just a minor concern) + +Being a JSON file, it is likely that it can be compressed really well. You can +use 7-Zip, or other tools. ZSTD, if you have it, will probably yield good +results in a short amount of time. + +For example, compressing a sample trace allows us to get 1.3 GiB +compressed into 33 MiB: + +``` +$ zstd -9kv trace-1709882754518652.json +*** Zstandard CLI (64-bit) v1.5.4, by Yann Collet *** +trace-1709882754518652.json : 2.52% ( 1.30 GiB => 33.5 MiB, trace-1709882754518652.json.zst) +``` + +This could be useful to share via email or other methods. ZSTD gives very good +compression ratios at quite fast speed. + +If you want to inspect the file yourself, you can use https://ui.perfetto.dev + +But usually it won't fit in the browser WASM limit (2 GiB), so you might need +to follow instructions here: + +https://perfetto.dev/docs/quickstart/trace-analysis#trace-processor + +Sample session: + +``` +$ curl -LO https://get.perfetto.dev/trace_processor + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 9759 100 9759 0 0 10107 0 --:--:-- --:--:-- --:--:-- 10102 +$ chmod +x ./trace_processor +$ ./trace_processor ~/git/rust/unhaunter/trace-1709880857003805.json --httpd +[865.803] processor_shell.cc:1636 Trace loaded: 2644.45 MB in 63.29s (41.8 MB/s) +[865.804] httpd.cc:99 [HTTP] Starting RPC server on localhost:9001 +[865.804] httpd.cc:104 [HTTP] This server can be used by reloading https://ui.perfetto.dev and clicking on YES on the "Trace Processor native acceleration" dialog or through the Python API (see https://perfetto.dev/docs/analysis/trace-processor#python-api). +``` + +Once you have the trace up, you can zoom in/out and pan left/right using the +WASD keys. + +In there, zoom in on the timeframe you want, usually it would be on the last +part (3/4th to the right) and look for a single frame to inspect. + +To be exact, we are looking for: + +* Process: main 0 + * bevy_app + * winit event_handler + * update: + * main_app (for CPU bound problems, for GPU: sub app: name=RenderExtractApp) + * schedule: name=Main + * schedule: name=Update + +Take a look on that are and see what are the main culprits of the time spent. + +NOTE: bevy_framepace::framerate_limiter is intended to take the majority of the + time. This is because its task is to add a sleep/delay so we keep a constant + FPS and we don't burn CPU/GPU resources without need. + +There's additional info on profiling Bevy here: + +https://github.com/bevyengine/bevy/blob/main/docs/profiling.md + + +## WASM Support + +https://bevy-cheatbook.github.io/platforms/wasm.html + +Install deps + + rustup target install wasm32-unknown-unknown + cargo install wasm-server-runner + +Run with: + + cargo run --target wasm32-unknown-unknown --release + + +Current problems: + +* Slow? +* Regular filesystem operation do not work. Bevy Assets do work. Therefore map loading is borked. +* Instant::now does not work. +* Framepace does not work on the browser. Solved. +* Tiled library is never going to work, it opens the files it wants, whenever it wants. It will always fail on WASM. + +Here's a sample on how to load custom assets, so we could load our own data: +https://bevyengine.org/examples/Assets/custom-asset/ + +But most likely this forces us to pre-bake the maps somehow. + +Wait, tiled-rs DOES support wasm. + +Update: It works now, but there's stutter. Mainly because there's only one thread +for executing; and on top of that there's a GC that when it runs it pauses the game. + +--- +Wasm bindgen: + + wasm-pack build --release --target web + +And to test: + + python3 -m http.server \ No newline at end of file diff --git a/pkg/package.json b/pkg/package.json new file mode 100644 index 0000000..33ca74c --- /dev/null +++ b/pkg/package.json @@ -0,0 +1,14 @@ +{ + "name": "unhaunter", + "version": "0.1.4", + "files": [ + "unhaunter_bg.wasm", + "unhaunter.js", + "unhaunter.d.ts" + ], + "module": "unhaunter.js", + "types": "unhaunter.d.ts", + "sideEffects": [ + "./snippets/*" + ] +} \ No newline at end of file diff --git a/pkg/unhaunter.d.ts b/pkg/unhaunter.d.ts new file mode 100644 index 0000000..be948bf --- /dev/null +++ b/pkg/unhaunter.d.ts @@ -0,0 +1,103 @@ +/* tslint:disable */ +/* eslint-disable */ +/** +*/ +export function wasm_load(): void; + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly wasm_load: () => void; + readonly rust_zstd_wasm_shim_qsort: (a: number, b: number, c: number, d: number) => void; + readonly rust_zstd_wasm_shim_malloc: (a: number) => number; + readonly rust_zstd_wasm_shim_memcmp: (a: number, b: number, c: number) => number; + readonly rust_zstd_wasm_shim_calloc: (a: number, b: number) => number; + readonly rust_zstd_wasm_shim_free: (a: number) => void; + readonly rust_zstd_wasm_shim_memcpy: (a: number, b: number, c: number) => number; + readonly rust_zstd_wasm_shim_memmove: (a: number, b: number, c: number) => number; + readonly rust_zstd_wasm_shim_memset: (a: number, b: number, c: number) => number; + readonly wgpu_compute_pass_set_pipeline: (a: number, b: number) => void; + readonly wgpu_compute_pass_set_bind_group: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_compute_pass_set_push_constant: (a: number, b: number, c: number, d: number) => void; + readonly wgpu_compute_pass_insert_debug_marker: (a: number, b: number, c: number) => void; + readonly wgpu_compute_pass_push_debug_group: (a: number, b: number, c: number) => void; + readonly wgpu_compute_pass_pop_debug_group: (a: number) => void; + readonly wgpu_compute_pass_write_timestamp: (a: number, b: number, c: number) => void; + readonly wgpu_compute_pass_begin_pipeline_statistics_query: (a: number, b: number, c: number) => void; + readonly wgpu_compute_pass_end_pipeline_statistics_query: (a: number) => void; + readonly wgpu_compute_pass_dispatch_workgroups: (a: number, b: number, c: number, d: number) => void; + readonly wgpu_compute_pass_dispatch_workgroups_indirect: (a: number, b: number, c: number) => void; + readonly wgpu_render_bundle_set_pipeline: (a: number, b: number) => void; + readonly wgpu_render_bundle_set_bind_group: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_bundle_set_vertex_buffer: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_bundle_set_push_constants: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_bundle_draw: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_bundle_draw_indexed: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly wgpu_render_bundle_draw_indirect: (a: number, b: number, c: number) => void; + readonly wgpu_render_bundle_draw_indexed_indirect: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_set_pipeline: (a: number, b: number) => void; + readonly wgpu_render_pass_set_bind_group: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_pass_set_vertex_buffer: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_pass_set_push_constants: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_pass_draw: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_pass_draw_indexed: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly wgpu_render_pass_draw_indirect: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_draw_indexed_indirect: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_multi_draw_indirect: (a: number, b: number, c: number, d: number) => void; + readonly wgpu_render_pass_multi_draw_indexed_indirect: (a: number, b: number, c: number, d: number) => void; + readonly wgpu_render_pass_multi_draw_indirect_count: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly wgpu_render_pass_multi_draw_indexed_indirect_count: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly wgpu_render_pass_set_blend_constant: (a: number, b: number) => void; + readonly wgpu_render_pass_set_scissor_rect: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_pass_set_viewport: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; + readonly wgpu_render_pass_set_stencil_reference: (a: number, b: number) => void; + readonly wgpu_render_pass_insert_debug_marker: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_push_debug_group: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_pop_debug_group: (a: number) => void; + readonly wgpu_render_pass_write_timestamp: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_begin_occlusion_query: (a: number, b: number) => void; + readonly wgpu_render_pass_end_occlusion_query: (a: number) => void; + readonly wgpu_render_pass_begin_pipeline_statistics_query: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_end_pipeline_statistics_query: (a: number) => void; + readonly wgpu_render_pass_execute_bundles: (a: number, b: number, c: number) => void; + readonly wgpu_render_pass_set_index_buffer: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_bundle_set_index_buffer: (a: number, b: number, c: number, d: number, e: number) => void; + readonly wgpu_render_bundle_pop_debug_group: (a: number) => void; + readonly wgpu_render_bundle_insert_debug_marker: (a: number, b: number) => void; + readonly wgpu_render_bundle_push_debug_group: (a: number, b: number) => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_export_2: WebAssembly.Table; + readonly _dyn_core__ops__function__FnMut__A_B___Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0fcf9f234871a1b8: (a: number, b: number, c: number, d: number) => void; + readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h9eb7288e751b06d5: (a: number, b: number, c: number) => void; + readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h3782a0cfdbf9fc8d: (a: number, b: number, c: number) => void; + readonly _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h6adf1446948aa92d: (a: number, b: number) => void; + readonly wasm_bindgen__convert__closures__invoke0_mut__h063b0dcfed0d01d4: (a: number, b: number) => void; + readonly wasm_bindgen__convert__closures__invoke0_mut__h0b513f4138f386c3: (a: number, b: number) => void; + readonly wasm_bindgen__convert__closures__invoke1_mut__ha2b0b048f24e2cd7: (a: number, b: number, c: number) => void; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {SyncInitInput} module +* +* @returns {InitOutput} +*/ +export function initSync(module: SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {InitInput | Promise} module_or_path +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: InitInput | Promise): Promise; diff --git a/pkg/unhaunter.js b/pkg/unhaunter.js new file mode 100644 index 0000000..41db397 --- /dev/null +++ b/pkg/unhaunter.js @@ -0,0 +1,2163 @@ +const lAudioContext = (typeof AudioContext !== 'undefined' ? AudioContext : (typeof webkitAudioContext !== 'undefined' ? webkitAudioContext : undefined)); +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedFloat64Memory0 = null; + +function getFloat64Memory0() { + if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachedFloat64Memory0; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 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, 1) >>> 0; + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + 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; +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b) +}); + +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); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} +function __wbg_adapter_34(arg0, arg1, arg2, arg3) { + wasm._dyn_core__ops__function__FnMut__A_B___Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0fcf9f234871a1b8(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); +} + +function __wbg_adapter_37(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h9eb7288e751b06d5(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_42(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h3782a0cfdbf9fc8d(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_47(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h6adf1446948aa92d(arg0, arg1); +} + +function __wbg_adapter_56(arg0, arg1) { + wasm.wasm_bindgen__convert__closures__invoke0_mut__h063b0dcfed0d01d4(arg0, arg1); +} + +function __wbg_adapter_59(arg0, arg1) { + wasm.wasm_bindgen__convert__closures__invoke0_mut__h0b513f4138f386c3(arg0, arg1); +} + +function __wbg_adapter_62(arg0, arg1, arg2) { + wasm.wasm_bindgen__convert__closures__invoke1_mut__ha2b0b048f24e2cd7(arg0, arg1, addHeapObject(arg2)); +} + +/** +*/ +export function wasm_load() { + wasm.wasm_load(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32Memory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32Memory0 = null; + +function getUint32Memory0() { + if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) { + cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32Memory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedFloat32Memory0 = null; + +function getFloat32Memory0() { + if (cachedFloat32Memory0 === null || cachedFloat32Memory0.byteLength === 0) { + cachedFloat32Memory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32Memory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32Memory0().subarray(ptr / 4, ptr / 4 + len); +} + +async function __wbg_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 __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_prototype_1b697e7577c58e6c = function() { + const ret = ResizeObserverEntry.prototype; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_Window_4c650ac3b99bc1a9 = function(arg0) { + const ret = getObject(arg0).Window; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbg_webkitRequestFullscreen_cce372ecace94d4e = function(arg0) { + getObject(arg0).webkitRequestFullscreen(); + }; + imports.wbg.__wbg_webkitFullscreenElement_3bd56a130fcef9c1 = function(arg0) { + const ret = getObject(arg0).webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_webkitExitFullscreen_ce18d40907ad0133 = function(arg0) { + getObject(arg0).webkitExitFullscreen(); + }; + imports.wbg.__wbg_requestFullscreen_0c0539fe1a930ea8 = function(arg0) { + const ret = getObject(arg0).requestFullscreen(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_requestFullscreen_95e771bceda6c426 = function(arg0) { + const ret = getObject(arg0).requestFullscreen; + return addHeapObject(ret); + }; + imports.wbg.__wbg_offsetX_d22e66a9f0f8c37c = function(arg0) { + const ret = getObject(arg0).offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_169f727e06a16969 = function(arg0) { + const ret = getObject(arg0).offsetY; + return ret; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbg_onpointerrawupdate_492ca95b42351e1e = function(arg0) { + const ret = getObject(arg0).onpointerrawupdate; + return addHeapObject(ret); + }; + imports.wbg.__wbg_getCoalescedEvents_6041feaaf6c409e5 = function(arg0) { + const ret = getObject(arg0).getCoalescedEvents; + return addHeapObject(ret); + }; + imports.wbg.__wbg_scheduler_beff56413f7eee2b = function(arg0) { + const ret = getObject(arg0).scheduler; + return addHeapObject(ret); + }; + imports.wbg.__wbg_requestIdleCallback_93f231875e889525 = function(arg0) { + const ret = getObject(arg0).requestIdleCallback; + return addHeapObject(ret); + }; + imports.wbg.__wbg_scheduler_81dd8825508d1e2b = function(arg0) { + const ret = getObject(arg0).scheduler; + return addHeapObject(ret); + }; + imports.wbg.__wbg_postTask_601d1b4ae386565b = function(arg0, arg1, arg2) { + const ret = getObject(arg0).postTask(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }; + 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_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 ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_mark_40e050a77cc39fea = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_measure_aa7a73f17813f708 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbg_log_c9486ca5d8e2cbe8 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_aba5996d9bde071f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_92adf5bbd2568b71 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_beginQuery_ad59d7ffda61cf9e = function(arg0, arg1, arg2) { + getObject(arg0).beginQuery(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindBufferRange_bfdd227c2d5515af = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).bindBufferRange(arg1 >>> 0, arg2 >>> 0, getObject(arg3), arg4, arg5); + }; + imports.wbg.__wbg_bindSampler_12a1965a2db071ed = function(arg0, arg1, arg2) { + getObject(arg0).bindSampler(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindVertexArray_2a70aed123353597 = function(arg0, arg1) { + getObject(arg0).bindVertexArray(getObject(arg1)); + }; + imports.wbg.__wbg_blitFramebuffer_8ca764978b2e3b3f = 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_6c5edae24f952d4d = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_eab63186e3e72d98 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, getObject(arg2), arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_3b75566851019327 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferSubData(arg1 >>> 0, arg2, getObject(arg3)); + }; + imports.wbg.__wbg_clearBufferiv_07046f3c028ef141 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_d0ebea28b39eb980 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clientWaitSync_b3f79a980d4d9498 = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).clientWaitSync(getObject(arg1), arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_compressedTexSubImage2D_1194f18adf8859b9 = 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_41270fc03b157293 = 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_34cd53cffc6add9c = 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_f0da020d6e3e3791 = 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_70becf455ca484cd = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyTexSubImage3D_f385cc4e05c95e64 = 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_createQuery_dca7163929abd29d = function(arg0) { + const ret = getObject(arg0).createQuery(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createSampler_e2bcf2bc717a1cad = function(arg0) { + const ret = getObject(arg0).createSampler(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createVertexArray_761ba22fc5da3ad7 = function(arg0) { + const ret = getObject(arg0).createVertexArray(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_deleteQuery_3524b489c741d48f = function(arg0, arg1) { + getObject(arg0).deleteQuery(getObject(arg1)); + }; + imports.wbg.__wbg_deleteSampler_f760c2bdc7a3d881 = function(arg0, arg1) { + getObject(arg0).deleteSampler(getObject(arg1)); + }; + imports.wbg.__wbg_deleteSync_6bff1584a3aae6a1 = function(arg0, arg1) { + getObject(arg0).deleteSync(getObject(arg1)); + }; + imports.wbg.__wbg_deleteVertexArray_26631f33de66bdfd = function(arg0, arg1) { + getObject(arg0).deleteVertexArray(getObject(arg1)); + }; + imports.wbg.__wbg_drawArraysInstanced_b0963fae97f2f14e = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawBuffers_117fa4691357b53d = function(arg0, arg1) { + getObject(arg0).drawBuffers(getObject(arg1)); + }; + imports.wbg.__wbg_drawElementsInstanced_19c02c2c6c7ebdd5 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_endQuery_feb28d278e32cfae = function(arg0, arg1) { + getObject(arg0).endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_fenceSync_452ae6f3789bdc77 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_framebufferTextureLayer_5fdc631245f13684 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, getObject(arg3), arg4, arg5); + }; + imports.wbg.__wbg_getBufferSubData_42fbdf01d4c31560 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).getBufferSubData(arg1 >>> 0, arg2, getObject(arg3)); + }; + imports.wbg.__wbg_getIndexedParameter_69fe97ab84f9db9b = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_112c9a3c8a8dd0da = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getQueryParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getSyncParameter_0c83093c52867612 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getSyncParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getUniformBlockIndex_b9628e75250e866c = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).getUniformBlockIndex(getObject(arg1), getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_2d3e8a1b99fd845c = function() { return handleError(function (arg0, arg1, arg2) { + getObject(arg0).invalidateFramebuffer(arg1 >>> 0, getObject(arg2)); + }, arguments) }; + imports.wbg.__wbg_readBuffer_4c16fe804e5fd30c = function(arg0, arg1) { + getObject(arg0).readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_c1a5f8a1344005bd = 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_8260b74d4439418e = 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_c5f884a4faf6330a = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_samplerParameterf_a15f79d315dcfc5d = function(arg0, arg1, arg2, arg3) { + getObject(arg0).samplerParameterf(getObject(arg1), arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6f5c08b9c98433e9 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).samplerParameteri(getObject(arg1), arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texImage2D_1159b898accc2807 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + getObject(arg0).texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, getObject(arg9)); + }, arguments) }; + imports.wbg.__wbg_texImage3D_8387d089d2edabd3 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + getObject(arg0).texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, getObject(arg10)); + }, arguments) }; + imports.wbg.__wbg_texStorage2D_b46c4dcaa6dc9638 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_521eded8d8da33a6 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + getObject(arg0).texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_33018bcf2de70890 = 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_b97aa5ddc0162314 = 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_texSubImage2D_cbc346dc5a210f5d = 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_ad0af504139d876c = 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_4d372d780fc0e4a7 = 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_texSubImage3D_5884c8e282839ff9 = 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_d98b6d6d4c3f3d01 = 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_texSubImage3D_a8f081c484f78039 = 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_texSubImage3D_e36d3c30ac0d0749 = 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_texSubImage3D_2742ec6099cae3fc = 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_uniform1ui_c80628cb3caeb621 = function(arg0, arg1, arg2) { + getObject(arg0).uniform1ui(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_a079de4d57adc89f = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform2fv(getObject(arg1), getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_fcef57681e7795f1 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform2iv(getObject(arg1), getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_71554e4167cdd33e = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform2uiv(getObject(arg1), getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_0211c4807ed5b6bb = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform3fv(getObject(arg1), getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_da537ca1568e83fe = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform3iv(getObject(arg1), getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_428937cb43fae771 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform3uiv(getObject(arg1), getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_5134ae6d977cd056 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform4fv(getObject(arg1), getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_eaebe8f50f18f893 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform4iv(getObject(arg1), getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_16e6176d8af58a26 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform4uiv(getObject(arg1), getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_bcbb7fbc2fe88b8d = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniformBlockBinding(getObject(arg1), arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_1c4f6d47a69eddf2 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix2fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_b020ec69dab7967a = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix2x3fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_95bdc38e1581b61c = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix2x4fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_5b337adcad4a038d = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix3fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_9fb4b6d3e6773824 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix3x2fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_0fa64821be97c8f2 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix3x4fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_10075e61e88aea3b = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix4fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_b40bad492503453e = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix4x2fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_2571917be5ea974c = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix4x3fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_vertexAttribDivisor_aad38a21841ace46 = function(arg0, arg1, arg2) { + getObject(arg0).vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_24c9254053dd8ab4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_activeTexture_02d56293bce2f613 = function(arg0, arg1) { + getObject(arg0).activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_attachShader_70c3f88b777a0a54 = function(arg0, arg1, arg2) { + getObject(arg0).attachShader(getObject(arg1), getObject(arg2)); + }; + imports.wbg.__wbg_bindAttribLocation_ff0dc5b546d9c8b0 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).bindAttribLocation(getObject(arg1), arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBuffer_ac939bcab5249160 = function(arg0, arg1, arg2) { + getObject(arg0).bindBuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindFramebuffer_0b8b88d70f0b876e = function(arg0, arg1, arg2) { + getObject(arg0).bindFramebuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindRenderbuffer_f06f73fc0b43967e = function(arg0, arg1, arg2) { + getObject(arg0).bindRenderbuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindTexture_e28115f3ea3da6d2 = function(arg0, arg1, arg2) { + getObject(arg0).bindTexture(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_blendColor_4416443539cdef95 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquation_1c7272d8e9e0ce11 = function(arg0, arg1) { + getObject(arg0).blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_457e81472270e23c = function(arg0, arg1, arg2) { + getObject(arg0).blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_ac53b0d3a97b7f7f = function(arg0, arg1, arg2) { + getObject(arg0).blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_b6a96b8e26e75171 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_clear_40335e7899ec7759 = function(arg0, arg1) { + getObject(arg0).clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clearColor_b48ee3ca810de959 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).clearColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_clearDepth_3777869cc4be970c = function(arg0, arg1) { + getObject(arg0).clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_49cd65640cc9d1d9 = function(arg0, arg1) { + getObject(arg0).clearStencil(arg1); + }; + imports.wbg.__wbg_colorMask_743f2bbb6e3fb4e5 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_bdfb3d5a3ad59498 = function(arg0, arg1) { + getObject(arg0).compileShader(getObject(arg1)); + }; + imports.wbg.__wbg_copyTexSubImage2D_6e2fe88bb9fa3ffd = 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_a95c59cc2c1750e7 = function(arg0) { + const ret = getObject(arg0).createBuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createFramebuffer_52e5d7327d5afba3 = function(arg0) { + const ret = getObject(arg0).createFramebuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createProgram_0a7670ed33f06d97 = function(arg0) { + const ret = getObject(arg0).createProgram(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createRenderbuffer_881be806709189a9 = function(arg0) { + const ret = getObject(arg0).createRenderbuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createShader_119ffcdb1667f405 = function(arg0, arg1) { + const ret = getObject(arg0).createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createTexture_4f0c3c77df4bde11 = function(arg0) { + const ret = getObject(arg0).createTexture(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_cullFace_68b06ff8967b93f3 = function(arg0, arg1) { + getObject(arg0).cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_deleteBuffer_b8aaa61f9bb13617 = function(arg0, arg1) { + getObject(arg0).deleteBuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteFramebuffer_d6907809466bdbdb = function(arg0, arg1) { + getObject(arg0).deleteFramebuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteProgram_d90e44574acb8018 = function(arg0, arg1) { + getObject(arg0).deleteProgram(getObject(arg1)); + }; + imports.wbg.__wbg_deleteRenderbuffer_1c4b186beb91d4a5 = function(arg0, arg1) { + getObject(arg0).deleteRenderbuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteShader_5ec1e25476df2da0 = function(arg0, arg1) { + getObject(arg0).deleteShader(getObject(arg1)); + }; + imports.wbg.__wbg_deleteTexture_554c30847d340929 = function(arg0, arg1) { + getObject(arg0).deleteTexture(getObject(arg1)); + }; + imports.wbg.__wbg_depthFunc_e49f522acf6c6c2d = function(arg0, arg1) { + getObject(arg0).depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_052a5e3afe45b590 = function(arg0, arg1) { + getObject(arg0).depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_8309e031492fd023 = function(arg0, arg1, arg2) { + getObject(arg0).depthRange(arg1, arg2); + }; + imports.wbg.__wbg_disable_f68719f70ddfb5b8 = function(arg0, arg1) { + getObject(arg0).disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_557393d91e187e24 = function(arg0, arg1) { + getObject(arg0).disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_drawArrays_2f37c32534dffd91 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_enable_6dab9d5278ba15e2 = function(arg0, arg1) { + getObject(arg0).enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_c2bfb733e87824c8 = function(arg0, arg1) { + getObject(arg0).enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_framebufferRenderbuffer_564b54a213de82b7 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4)); + }; + imports.wbg.__wbg_framebufferTexture2D_e7783c0015d1135a = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4), arg5); + }; + imports.wbg.__wbg_frontFace_271693c85383f2e8 = function(arg0, arg1) { + getObject(arg0).frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_getExtension_25430e0ed157fcf8 = 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_b282105ca8420119 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).getParameter(arg1 >>> 0); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getProgramInfoLog_110f43b4125782e9 = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getProgramInfoLog(getObject(arg2)); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_getProgramParameter_22b3f1c8d913cd2c = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getProgramParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getShaderInfoLog_562b1447e7c24866 = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getShaderInfoLog(getObject(arg2)); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_getShaderParameter_58d3b34afa9db13b = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getShaderParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getSupportedExtensions_1a007030d26efba5 = function(arg0) { + const ret = getObject(arg0).getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_getUniformLocation_7b435a76db4f3128 = 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_e170ffe0b8242136 = function(arg0, arg1) { + getObject(arg0).linkProgram(getObject(arg1)); + }; + imports.wbg.__wbg_pixelStorei_6be3fc7114b690b8 = function(arg0, arg1, arg2) { + getObject(arg0).pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_polygonOffset_0f2730043ba169b2 = function(arg0, arg1, arg2) { + getObject(arg0).polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_renderbufferStorage_5a63960c0bb41916 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_scissor_27cb154cc9864444 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_shaderSource_e12efd3a2bf3413d = function(arg0, arg1, arg2, arg3) { + getObject(arg0).shaderSource(getObject(arg1), getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_stencilFuncSeparate_e6b4c784aa470ba1 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMask_4093c371489c5e3e = function(arg0, arg1) { + getObject(arg0).stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_6a90a6801f96c33e = function(arg0, arg1, arg2) { + getObject(arg0).stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_f98bb31212170061 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_texParameteri_f5c0d085b77931dd = function(arg0, arg1, arg2, arg3) { + getObject(arg0).texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_uniform1f_b13c736354a10aa7 = function(arg0, arg1, arg2) { + getObject(arg0).uniform1f(getObject(arg1), arg2); + }; + imports.wbg.__wbg_uniform1i_1fd90743f7b78faa = function(arg0, arg1, arg2) { + getObject(arg0).uniform1i(getObject(arg1), arg2); + }; + imports.wbg.__wbg_uniform4f_5b57101145ac6da8 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).uniform4f(getObject(arg1), arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_useProgram_53de6b084c4780ce = function(arg0, arg1) { + getObject(arg0).useProgram(getObject(arg1)); + }; + imports.wbg.__wbg_vertexAttribPointer_3133080603a92d4c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + getObject(arg0).vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_viewport_afd5166081d009b2 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_instanceof_Window_99dc9805eaa2614b = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_document_5257b70811e953c0 = function(arg0) { + const ret = getObject(arg0).document; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_navigator_910cca0226b70083 = function(arg0) { + const ret = getObject(arg0).navigator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_devicePixelRatio_93bac98af723c7ba = function(arg0) { + const ret = getObject(arg0).devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_isSecureContext_a4963ee69cd2dcf2 = function(arg0) { + const ret = getObject(arg0).isSecureContext; + return ret; + }; + imports.wbg.__wbg_cancelIdleCallback_997859437f81670c = function(arg0, arg1) { + getObject(arg0).cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_getComputedStyle_6c29e44f9905911b = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).getComputedStyle(getObject(arg1)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_matchMedia_fed5c8e73cf148cf = 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_requestIdleCallback_fb28f525ab20b96a = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).requestIdleCallback(getObject(arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_2635bb6bdb94eb3f = function() { return handleError(function (arg0, arg1) { + getObject(arg0).cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_requestAnimationFrame_1820a8e6b645ec5a = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).requestAnimationFrame(getObject(arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_clearTimeout_cf250b4eed087f7b = function(arg0, arg1) { + getObject(arg0).clearTimeout(arg1); + }; + imports.wbg.__wbg_fetch_0117c27c9b3739e0 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).fetch(getStringFromWasm0(arg1, arg2)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_setTimeout_022e0626b26fb37c = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).setTimeout(getObject(arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_bd20251bb242e262 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).setTimeout(getObject(arg1), arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_body_3eb73da919b867a1 = function(arg0) { + const ret = getObject(arg0).body; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_visibilityState_acae3352a32a6e08 = function(arg0) { + const ret = getObject(arg0).visibilityState; + return addHeapObject(ret); + }; + imports.wbg.__wbg_activeElement_552aa1722725dcf5 = function(arg0) { + const ret = getObject(arg0).activeElement; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_fullscreenElement_8ebe202aecd8ae3c = function(arg0) { + const ret = getObject(arg0).fullscreenElement; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createElement_1a136faad4101f43 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).createElement(getStringFromWasm0(arg1, arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_exitFullscreen_4207821551a694a7 = function(arg0) { + getObject(arg0).exitFullscreen(); + }; + imports.wbg.__wbg_exitPointerLock_5764ae8300935b9e = function(arg0) { + getObject(arg0).exitPointerLock(); + }; + imports.wbg.__wbg_querySelector_d86f889797c65e88 = 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_f3f6eb39f24c1bb0 = function(arg0) { + const ret = getObject(arg0).getBoundingClientRect(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_requestPointerLock_7e461e6d3998ca6a = function(arg0) { + getObject(arg0).requestPointerLock(); + }; + imports.wbg.__wbg_setAttribute_0918ea45d5a1c663 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setPointerCapture_02adb3c41a2a5367 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_bufferData_9566a2faddca5792 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b2e68fdc1fd1e94b = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferData(arg1 >>> 0, getObject(arg2), arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_7d216abec8307331 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).bufferSubData(arg1 >>> 0, arg2, getObject(arg3)); + }; + imports.wbg.__wbg_compressedTexSubImage2D_5666e0146e152b7d = 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_32bab95664f5bcdf = 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_texImage2D_9cd1931c442b03ad = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + getObject(arg0).texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, getObject(arg9)); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_d23a3ec1fa60bdaf = 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_uniform2fv_d375e6a7b2f1e575 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform2fv(getObject(arg1), getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_5ba0883cf01ae09d = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform2iv(getObject(arg1), getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_ce5f4b99b178dd74 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform3fv(getObject(arg1), getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_f297f19f134ad0c2 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform3iv(getObject(arg1), getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_f7afb7d09ee03175 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform4fv(getObject(arg1), getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_2dbb8a34d36a28c3 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).uniform4iv(getObject(arg1), getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformMatrix2fv_9e0249ce783ce2be = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix2fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_2a9524cf34ecbd62 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix3fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_4c466deaf158ed5b = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).uniformMatrix4fv(getObject(arg1), arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_activeTexture_3748123e1becf07d = function(arg0, arg1) { + getObject(arg0).activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_attachShader_cfbbdefc08a0422f = function(arg0, arg1, arg2) { + getObject(arg0).attachShader(getObject(arg1), getObject(arg2)); + }; + imports.wbg.__wbg_bindAttribLocation_1d7075153fbbd1e4 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).bindAttribLocation(getObject(arg1), arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBuffer_3f166cc2f502fc09 = function(arg0, arg1, arg2) { + getObject(arg0).bindBuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindFramebuffer_28e8c0c3f76447af = function(arg0, arg1, arg2) { + getObject(arg0).bindFramebuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindRenderbuffer_2fe89083883b96e7 = function(arg0, arg1, arg2) { + getObject(arg0).bindRenderbuffer(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_bindTexture_be92cdd3f162b4f9 = function(arg0, arg1, arg2) { + getObject(arg0).bindTexture(arg1 >>> 0, getObject(arg2)); + }; + imports.wbg.__wbg_blendColor_71d54d4dad7a369a = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquation_b1df5434f3ad5aac = function(arg0, arg1) { + getObject(arg0).blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_33f23a57d77e8079 = function(arg0, arg1, arg2) { + getObject(arg0).blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_5adf0a3a9f164e6e = function(arg0, arg1, arg2) { + getObject(arg0).blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_52fdb0f1fbf57928 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_clear_af4278a00382d3ce = function(arg0, arg1) { + getObject(arg0).clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clearColor_9a45e2200c61a8f2 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).clearColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_clearDepth_a40e7b975ebc5c14 = function(arg0, arg1) { + getObject(arg0).clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_62277af75c0a3558 = function(arg0, arg1) { + getObject(arg0).clearStencil(arg1); + }; + imports.wbg.__wbg_colorMask_57603facaeb6e2e3 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_be824cfad43331b8 = function(arg0, arg1) { + getObject(arg0).compileShader(getObject(arg1)); + }; + imports.wbg.__wbg_copyTexSubImage2D_6ce49c4a307e877d = 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_90bf79c414ad4956 = function(arg0) { + const ret = getObject(arg0).createBuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createFramebuffer_f8c26154f8992bfa = function(arg0) { + const ret = getObject(arg0).createFramebuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createProgram_983b87cad6d06768 = function(arg0) { + const ret = getObject(arg0).createProgram(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createRenderbuffer_e2d77844fbdcc842 = function(arg0) { + const ret = getObject(arg0).createRenderbuffer(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createShader_896229165c5a11d4 = function(arg0, arg1) { + const ret = getObject(arg0).createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createTexture_b77eefdce0bb2c55 = function(arg0) { + const ret = getObject(arg0).createTexture(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_cullFace_a65f5d17b1ff5686 = function(arg0, arg1) { + getObject(arg0).cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_deleteBuffer_d70596808095dac2 = function(arg0, arg1) { + getObject(arg0).deleteBuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteFramebuffer_23c9c7c8176aa9b8 = function(arg0, arg1) { + getObject(arg0).deleteFramebuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteProgram_8447c337271aa934 = function(arg0, arg1) { + getObject(arg0).deleteProgram(getObject(arg1)); + }; + imports.wbg.__wbg_deleteRenderbuffer_7bb3c4c79eac08ff = function(arg0, arg1) { + getObject(arg0).deleteRenderbuffer(getObject(arg1)); + }; + imports.wbg.__wbg_deleteShader_322b059ad560664a = function(arg0, arg1) { + getObject(arg0).deleteShader(getObject(arg1)); + }; + imports.wbg.__wbg_deleteTexture_bbda7cb554bc12b9 = function(arg0, arg1) { + getObject(arg0).deleteTexture(getObject(arg1)); + }; + imports.wbg.__wbg_depthFunc_b78eec6735fd7a0a = function(arg0, arg1) { + getObject(arg0).depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_d2c08d83ea550563 = function(arg0, arg1) { + getObject(arg0).depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_c4d7339e2f6b2e4a = function(arg0, arg1, arg2) { + getObject(arg0).depthRange(arg1, arg2); + }; + imports.wbg.__wbg_disable_57e8624c865bd654 = function(arg0, arg1) { + getObject(arg0).disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_fb822948cb54eec9 = function(arg0, arg1) { + getObject(arg0).disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_drawArrays_d48ee5c0a02be869 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_enable_54d01bacc240df3e = function(arg0, arg1) { + getObject(arg0).enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_c971ef03599058ec = function(arg0, arg1) { + getObject(arg0).enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_framebufferRenderbuffer_27bc520ea685b484 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4)); + }; + imports.wbg.__wbg_framebufferTexture2D_c61bc6c888f33a52 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, getObject(arg4), arg5); + }; + imports.wbg.__wbg_frontFace_e13136966c974dd8 = function(arg0, arg1) { + getObject(arg0).frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_getParameter_798cbb8ff20c7af0 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).getParameter(arg1 >>> 0); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_getProgramInfoLog_3ff10ea818ab6ce4 = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getProgramInfoLog(getObject(arg2)); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_getProgramParameter_35800b92324ff726 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getProgramParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getShaderInfoLog_3e435d2b50e0ecf0 = function(arg0, arg1, arg2) { + const ret = getObject(arg1).getShaderInfoLog(getObject(arg2)); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_getShaderParameter_a9315ba73ab18731 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).getShaderParameter(getObject(arg1), arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getUniformLocation_f161344f25983444 = 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_caeab1eb0c0246be = function(arg0, arg1) { + getObject(arg0).linkProgram(getObject(arg1)); + }; + imports.wbg.__wbg_pixelStorei_ac98844c2d6d1937 = function(arg0, arg1, arg2) { + getObject(arg0).pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_polygonOffset_442517f9de53e3de = function(arg0, arg1, arg2) { + getObject(arg0).polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_renderbufferStorage_982fcb5577f764ca = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_scissor_7206bcd2a5540aa3 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_shaderSource_04af20ecb1962b3b = function(arg0, arg1, arg2, arg3) { + getObject(arg0).shaderSource(getObject(arg1), getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_stencilFuncSeparate_89563ca030dab790 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMask_76ea69a0c4738423 = function(arg0, arg1) { + getObject(arg0).stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_1303b1855315b85a = function(arg0, arg1, arg2) { + getObject(arg0).stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_fef362ec0f1539d1 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_texParameteri_dd08984388e62491 = function(arg0, arg1, arg2, arg3) { + getObject(arg0).texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_uniform1f_5c36f8a2cf1d8cd7 = function(arg0, arg1, arg2) { + getObject(arg0).uniform1f(getObject(arg1), arg2); + }; + imports.wbg.__wbg_uniform1i_5a5f1f9d5828e6c6 = function(arg0, arg1, arg2) { + getObject(arg0).uniform1i(getObject(arg1), arg2); + }; + imports.wbg.__wbg_uniform4f_93ef17b7172e8ad2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).uniform4f(getObject(arg1), arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_useProgram_229c8fa8394b4c26 = function(arg0, arg1) { + getObject(arg0).useProgram(getObject(arg1)); + }; + imports.wbg.__wbg_vertexAttribPointer_e9c4ff85658b9ad2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + getObject(arg0).vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_viewport_0ca27d1d6ac8424c = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_style_b32d5cb9a6bd4720 = function(arg0) { + const ret = getObject(arg0).style; + return addHeapObject(ret); + }; + imports.wbg.__wbg_focus_623326ec4eefd224 = function() { return handleError(function (arg0) { + getObject(arg0).focus(); + }, arguments) }; + imports.wbg.__wbg_error_0f3a2d4325dee96a = function(arg0, arg1) { + console.error(getObject(arg0), getObject(arg1)); + }; + imports.wbg.__wbg_id_b65a9e5c38af3381 = function(arg0, arg1) { + const ret = getObject(arg1).id; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_index_ad8482877f40f04f = function(arg0) { + const ret = getObject(arg0).index; + return ret; + }; + imports.wbg.__wbg_mapping_9891f1fe2b08c14b = function(arg0) { + const ret = getObject(arg0).mapping; + return addHeapObject(ret); + }; + imports.wbg.__wbg_connected_e7984632fc5baeca = function(arg0) { + const ret = getObject(arg0).connected; + return ret; + }; + imports.wbg.__wbg_buttons_42cf81a9dc81d560 = function(arg0) { + const ret = getObject(arg0).buttons; + return addHeapObject(ret); + }; + imports.wbg.__wbg_axes_29295fc5e2791881 = function(arg0) { + const ret = getObject(arg0).axes; + return addHeapObject(ret); + }; + imports.wbg.__wbg_ctrlKey_0d75e0e9028bd999 = function(arg0) { + const ret = getObject(arg0).ctrlKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_12353f0e19b21d6a = function(arg0) { + const ret = getObject(arg0).shiftKey; + return ret; + }; + imports.wbg.__wbg_altKey_a076f8612103d7e8 = function(arg0) { + const ret = getObject(arg0).altKey; + return ret; + }; + imports.wbg.__wbg_metaKey_4e3f6e986f2802b1 = function(arg0) { + const ret = getObject(arg0).metaKey; + return ret; + }; + imports.wbg.__wbg_button_8a97c55db17c7314 = function(arg0) { + const ret = getObject(arg0).button; + return ret; + }; + imports.wbg.__wbg_buttons_d516d4a6ffb63df2 = function(arg0) { + const ret = getObject(arg0).buttons; + return ret; + }; + imports.wbg.__wbg_movementX_7ed3fefa16dfa971 = function(arg0) { + const ret = getObject(arg0).movementX; + return ret; + }; + imports.wbg.__wbg_movementY_a0be141073121d2c = function(arg0) { + const ret = getObject(arg0).movementY; + return ret; + }; + imports.wbg.__wbg_persisted_032c13ba4aa8c6eb = function(arg0) { + const ret = getObject(arg0).persisted; + return ret; + }; + imports.wbg.__wbg_contentRect_486b07f866c91a66 = function(arg0) { + const ret = getObject(arg0).contentRect; + return addHeapObject(ret); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_5f65d6c2bd58062b = function(arg0) { + const ret = getObject(arg0).devicePixelContentBoxSize; + return addHeapObject(ret); + }; + imports.wbg.__wbg_inlineSize_61a4e582b0d875c2 = function(arg0) { + const ret = getObject(arg0).inlineSize; + return ret; + }; + imports.wbg.__wbg_blockSize_ad207c0d03bd1782 = function(arg0) { + const ret = getObject(arg0).blockSize; + return ret; + }; + imports.wbg.__wbg_deltaX_de18e6f358ab88cf = function(arg0) { + const ret = getObject(arg0).deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_50a026b7421f883d = function(arg0) { + const ret = getObject(arg0).deltaY; + return ret; + }; + imports.wbg.__wbg_deltaMode_b8290e36698673d0 = function(arg0) { + const ret = getObject(arg0).deltaMode; + return ret; + }; + imports.wbg.__wbg_instanceof_DomException_3813d9e5e1312be8 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof DOMException; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_message_9cb2b2d345ff18c6 = function(arg0, arg1) { + const ret = getObject(arg1).message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_width_7cfb8b6f2a8cc639 = function(arg0) { + const ret = getObject(arg0).width; + return ret; + }; + imports.wbg.__wbg_height_6930ed73b88da306 = function(arg0) { + const ret = getObject(arg0).height; + return ret; + }; + imports.wbg.__wbg_videoWidth_024256de61021e4a = function(arg0) { + const ret = getObject(arg0).videoWidth; + return ret; + }; + imports.wbg.__wbg_videoHeight_2c601663d2d0211a = function(arg0) { + const ret = getObject(arg0).videoHeight; + return ret; + }; + imports.wbg.__wbg_new_862901d928bf4337 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(getObject(arg0)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_disconnect_4c8e1494cd215540 = function(arg0) { + getObject(arg0).disconnect(); + }; + imports.wbg.__wbg_observe_6cc6ed5bd384e675 = function(arg0, arg1) { + getObject(arg0).observe(getObject(arg1)); + }; + imports.wbg.__wbg_observe_daa84e012177febe = function(arg0, arg1, arg2) { + getObject(arg0).observe(getObject(arg1), getObject(arg2)); + }; + imports.wbg.__wbg_unobserve_6e4cf206c219430c = function(arg0, arg1) { + getObject(arg0).unobserve(getObject(arg1)); + }; + imports.wbg.__wbg_instanceof_Response_0d25bb8436a9cefe = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Response; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_status_351700a30c61ba61 = function(arg0) { + const ret = getObject(arg0).status; + return ret; + }; + imports.wbg.__wbg_arrayBuffer_ec4617b29bb0f61c = function() { return handleError(function (arg0) { + const ret = getObject(arg0).arrayBuffer(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_drawBuffersWEBGL_533ee2b72ddb728a = function(arg0, arg1) { + getObject(arg0).drawBuffersWEBGL(getObject(arg1)); + }; + imports.wbg.__wbg_x_a0dc9ae3ec018f6a = function(arg0) { + const ret = getObject(arg0).x; + return ret; + }; + imports.wbg.__wbg_y_6f1256869a5628ee = function(arg0) { + const ret = getObject(arg0).y; + return ret; + }; + imports.wbg.__wbg_media_3b4b8723e3ef28e6 = function(arg0, arg1) { + const ret = getObject(arg1).media; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_matches_68b7ad47c1091323 = function(arg0) { + const ret = getObject(arg0).matches; + return ret; + }; + imports.wbg.__wbg_addListener_0bbd0358c52d8a0e = function() { return handleError(function (arg0, arg1) { + getObject(arg0).addListener(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_removeListener_b8fc928c2300e3c6 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).removeListener(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_setonmessage_2cfb8fb8a15890e6 = function(arg0, arg1) { + getObject(arg0).onmessage = getObject(arg1); + }; + imports.wbg.__wbg_close_04d3a9914c09e2f8 = function(arg0) { + getObject(arg0).close(); + }; + imports.wbg.__wbg_postMessage_e200ca4f0ead7ec7 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).postMessage(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_start_ab1a682cca472112 = function(arg0) { + getObject(arg0).start(); + }; + imports.wbg.__wbg_signal_7876560d9d0f914c = function(arg0) { + const ret = getObject(arg0).signal; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_fa36281638875de8 = function() { return handleError(function () { + const ret = new AbortController(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_abort_7792bf3f664d7bb3 = function(arg0) { + getObject(arg0).abort(); + }; + imports.wbg.__wbg_destination_62d2e29a54544ec0 = function(arg0) { + const ret = getObject(arg0).destination; + return addHeapObject(ret); + }; + imports.wbg.__wbg_currentTime_6b9141913a965d2f = function(arg0) { + const ret = getObject(arg0).currentTime; + return ret; + }; + imports.wbg.__wbg_newwithcontextoptions_14f6b0728f2e5974 = function() { return handleError(function (arg0) { + const ret = new lAudioContext(getObject(arg0)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_close_41fb3d66e34246dc = function() { return handleError(function (arg0) { + const ret = getObject(arg0).close(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_createBuffer_a4cdfb0b3c256e3e = 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_0d20dc119e4ded11 = function() { return handleError(function (arg0) { + const ret = getObject(arg0).createBufferSource(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_resume_32fc64eaa464289a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).resume(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_108350bd17ad1d04 = function(arg0) { + const ret = getObject(arg0).isIntersecting; + return ret; + }; + imports.wbg.__wbg_width_193b434156effb1d = function(arg0) { + const ret = getObject(arg0).width; + return ret; + }; + imports.wbg.__wbg_setwidth_62ca8c8f2794be77 = function(arg0, arg1) { + getObject(arg0).width = arg1 >>> 0; + }; + imports.wbg.__wbg_height_84d4ae4d422188a3 = function(arg0) { + const ret = getObject(arg0).height; + return ret; + }; + imports.wbg.__wbg_setheight_34b71cfdf6095cbd = function(arg0, arg1) { + getObject(arg0).height = arg1 >>> 0; + }; + imports.wbg.__wbg_getContext_f183e180a122d091 = 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_framebufferTextureMultiviewOVR_b4f234dba08738d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + getObject(arg0).framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, getObject(arg3), arg4, arg5, arg6); + }; + imports.wbg.__wbg_setbuffer_f16a95796c5a7380 = function(arg0, arg1) { + getObject(arg0).buffer = getObject(arg1); + }; + imports.wbg.__wbg_setonended_d2cab878358a6af4 = function(arg0, arg1) { + getObject(arg0).onended = getObject(arg1); + }; + imports.wbg.__wbg_start_88dbb78b1c762033 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).start(arg1); + }, arguments) }; + imports.wbg.__wbg_addEventListener_2f891d22985fd3c8 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3)); + }, arguments) }; + imports.wbg.__wbg_removeEventListener_07715e6f464823fc = function() { return handleError(function (arg0, arg1, arg2, arg3) { + getObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3)); + }, arguments) }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_a6076360513b6876 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_width_9d9d26b087c6ad54 = function(arg0) { + const ret = getObject(arg0).width; + return ret; + }; + imports.wbg.__wbg_setwidth_05075fb6b4cc720e = function(arg0, arg1) { + getObject(arg0).width = arg1 >>> 0; + }; + imports.wbg.__wbg_height_770da314320603d8 = function(arg0) { + const ret = getObject(arg0).height; + return ret; + }; + imports.wbg.__wbg_setheight_7e0e88a922100d8c = function(arg0, arg1) { + getObject(arg0).height = arg1 >>> 0; + }; + imports.wbg.__wbg_getContext_1daf9aba3e114993 = 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_bindVertexArrayOES_e95cf32f50e47240 = function(arg0, arg1) { + getObject(arg0).bindVertexArrayOES(getObject(arg1)); + }; + imports.wbg.__wbg_createVertexArrayOES_96ccfea00081dcf3 = function(arg0) { + const ret = getObject(arg0).createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_deleteVertexArrayOES_657b2572282b9dff = function(arg0, arg1) { + getObject(arg0).deleteVertexArrayOES(getObject(arg1)); + }; + imports.wbg.__wbg_maxChannelCount_f7897fa7dc85d572 = function(arg0) { + const ret = getObject(arg0).maxChannelCount; + return ret; + }; + imports.wbg.__wbg_setchannelCount_ddf571b2ad2e8eef = function(arg0, arg1) { + getObject(arg0).channelCount = arg1 >>> 0; + }; + imports.wbg.__wbg_connect_65474f2479b77506 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).connect(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_preventDefault_d2c7416966cb0632 = function(arg0) { + getObject(arg0).preventDefault(); + }; + imports.wbg.__wbg_pressed_6689c2375fac761f = function(arg0) { + const ret = getObject(arg0).pressed; + return ret; + }; + imports.wbg.__wbg_value_df73ea5624c95e17 = function(arg0) { + const ret = getObject(arg0).value; + return ret; + }; + imports.wbg.__wbg_width_05e7fce75535d85f = function(arg0) { + const ret = getObject(arg0).width; + return ret; + }; + imports.wbg.__wbg_height_51b9308e888df865 = function(arg0) { + const ret = getObject(arg0).height; + return ret; + }; + imports.wbg.__wbg_new_6617e215130d0025 = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(getObject(arg0)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_disconnect_d70bd32b9cb4687c = function(arg0) { + getObject(arg0).disconnect(); + }; + imports.wbg.__wbg_observe_9b6f7f1aa30c2fe0 = function(arg0, arg1) { + getObject(arg0).observe(getObject(arg1)); + }; + imports.wbg.__wbg_appendChild_bd383ec5356c0bdb = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).appendChild(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_contains_a94dd6fc112ea617 = function(arg0, arg1) { + const ret = getObject(arg0).contains(getObject(arg1)); + return ret; + }; + imports.wbg.__wbg_getSupportedProfiles_a3af04122b4f2f30 = function(arg0) { + const ret = getObject(arg0).getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_getPropertyValue_9f0d67e1a114f89a = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = getObject(arg1).getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }, arguments) }; + imports.wbg.__wbg_removeProperty_569b8c8469084b23 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = getObject(arg1).removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }, arguments) }; + imports.wbg.__wbg_setProperty_a763529f4ef8ac76 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_getGamepads_77e0120579fb7c8d = function() { return handleError(function (arg0) { + const ret = getObject(arg0).getGamepads(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_drawArraysInstancedANGLE_4ba856b2c59d84b8 = function(arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_fdf5cd2eb03dd141 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + getObject(arg0).drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_51dd5c906f4912a2 = function(arg0, arg1, arg2) { + getObject(arg0).vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_copyToChannel_47042ca9c7b9618d = function() { return handleError(function (arg0, arg1, arg2, arg3) { + getObject(arg0).copyToChannel(getArrayF32FromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_altKey_c3c61dc3af936846 = function(arg0) { + const ret = getObject(arg0).altKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_e7fc1575581bc431 = function(arg0) { + const ret = getObject(arg0).ctrlKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_0a061aeba25dbd63 = function(arg0) { + const ret = getObject(arg0).shiftKey; + return ret; + }; + imports.wbg.__wbg_metaKey_b879a69fa9f3f7af = function(arg0) { + const ret = getObject(arg0).metaKey; + return ret; + }; + imports.wbg.__wbg_location_3d1aba6d141f01fb = function(arg0) { + const ret = getObject(arg0).location; + return ret; + }; + imports.wbg.__wbg_repeat_8514eb33e8553b6b = function(arg0) { + const ret = getObject(arg0).repeat; + return ret; + }; + imports.wbg.__wbg_key_9a2550983fbad1d0 = function(arg0, arg1) { + const ret = getObject(arg1).key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_code_3b51bddc7419ef7d = function(arg0, arg1) { + const ret = getObject(arg1).code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_port1_55b3ea63b5d29a4d = function(arg0) { + const ret = getObject(arg0).port1; + return addHeapObject(ret); + }; + imports.wbg.__wbg_port2_78f5a59a4effe9f7 = function(arg0) { + const ret = getObject(arg0).port2; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_b7e038999edffb16 = function() { return handleError(function () { + const ret = new MessageChannel(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_pointerId_288a7753a42433eb = function(arg0) { + const ret = getObject(arg0).pointerId; + return ret; + }; + imports.wbg.__wbg_pressure_ef807a4027b5b179 = function(arg0) { + const ret = getObject(arg0).pressure; + return ret; + }; + imports.wbg.__wbg_pointerType_6421ba54876364b9 = function(arg0, arg1) { + const ret = getObject(arg1).pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_getCoalescedEvents_727ac35c45831392 = function(arg0) { + const ret = getObject(arg0).getCoalescedEvents(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6 = function(arg0) { + const ret = getObject(arg0).queueMicrotask; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_481971b0d87f3dd4 = function(arg0) { + queueMicrotask(getObject(arg0)); + }; + imports.wbg.__wbg_performance_eeefc685c9bc38b4 = function(arg0) { + const ret = getObject(arg0).performance; + return addHeapObject(ret); + }; + imports.wbg.__wbg_now_e0d8ec93dd25766a = function(arg0) { + const ret = getObject(arg0).now(); + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbg_crypto_d05b68a3572bb8ca = function(arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_process_b02b3570280d0366 = function(arg0) { + const ret = getObject(arg0).process; + return addHeapObject(ret); + }; + imports.wbg.__wbg_versions_c1cb42213cedf0f5 = function(arg0) { + const ret = getObject(arg0).versions; + return addHeapObject(ret); + }; + imports.wbg.__wbg_node_43b1089f407e4ec2 = 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_require_9a7e0f667ead4995 = function() { return handleError(function () { + const ret = module.require; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_msCrypto_10fc94afee92bd76 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_randomFillSync_b70ccbdf4926a99d = function() { return handleError(function (arg0, arg1) { + getObject(arg0).randomFillSync(takeObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_getRandomValues_7e42b4fb8779dc6d = function() { return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_length_cd7af8117672b8b8 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_16b304a2cfa7ff4a = function() { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newnoargs_e258087cd0daa0ea = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_72fb9a18b5ae2624 = function() { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_self_ce0dbfc45cf2f5be = function() { return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_window_c6fb939a7f436783 = function() { return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_globalThis_d1e6af4856ba331b = function() { return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_global_207b558942527489 = function() { return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_eval_020a6ea487e91ede = function() { return handleError(function (arg0, arg1) { + const ret = eval(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_bd8e338fbd5f5cc8 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_includes_310a37f41280ae42 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).includes(getObject(arg1), arg2); + return ret; + }; + imports.wbg.__wbg_of_4a2b313a453ec059 = function(arg0) { + const ret = Array.of(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_push_a5b05aedc7234f9f = function(arg0, arg1) { + const ret = getObject(arg0).push(getObject(arg1)); + return ret; + }; + imports.wbg.__wbg_call_27c0f87801dedf93 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_call_b3ca7c6051f9bec1 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_now_3014639a94423537 = function() { + const ret = Date.now(); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_fcb32c9a1f90b136 = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_is_010fdc0f4ab96916 = function(arg0, arg1) { + const ret = Object.is(getObject(arg0), getObject(arg1)); + return ret; + }; + imports.wbg.__wbg_exec_b9996525463e30df = function(arg0, arg1, arg2) { + const ret = getObject(arg0).exec(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_new_3c970fa9da0c5794 = function(arg0, arg1, arg2, arg3) { + const ret = new RegExp(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_resolve_b0083a7967828ec8 = function(arg0) { + const ret = Promise.resolve(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_catch_0260e338d10f79ae = function(arg0, arg1) { + const ret = getObject(arg0).catch(getObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_then_0c86a60e8fcfe9f6 = function(arg0, arg1) { + const ret = getObject(arg0).then(getObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_then_a73caa9a87991566 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).then(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_12d079cc21e14bdb = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_41559f654c4e743c = function(arg0, arg1, arg2) { + const ret = new Int8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_4bea9f904a7e0aef = function(arg0, arg1, arg2) { + const ret = new Int16Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_425360430a1c8206 = function(arg0, arg1, arg2) { + const ret = new Int32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_63b92bc8671ed464 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9fd64654bc0b0817 = function(arg0, arg1, arg2) { + const ret = new Uint16Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_3125852e5a7fbcff = function(arg0, arg1, arg2) { + const ret = new Uint32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_4a659d079a1650e0 = function(arg0, arg1, arg2) { + const ret = new Float32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithlength_e9b4878cebadb3d3 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_subarray_a1f73cd4b5b42fe1 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_c20a40f15020d68a = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_set_a47bac70306a19a7 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_set_1f9b04f170055d33 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_stringify_8887fe74e1c50d81 = function() { return handleError(function (arg0) { + const ret = JSON.stringify(getObject(arg0)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + 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_wrapper12414 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5386, __wbg_adapter_34); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper12416 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5386, __wbg_adapter_37); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper12418 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5386, __wbg_adapter_37); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper13518 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5615, __wbg_adapter_42); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper13520 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5615, __wbg_adapter_42); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper13522 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5615, __wbg_adapter_47); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper13524 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5615, __wbg_adapter_42); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper13526 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5615, __wbg_adapter_42); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper13528 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 5615, __wbg_adapter_42); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper58087 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 29338, __wbg_adapter_56); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper113129 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 56512, __wbg_adapter_59); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper116984 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 57171, __wbg_adapter_62); + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, maybe_memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedFloat32Memory0 = null; + cachedFloat64Memory0 = null; + cachedInt32Memory0 = null; + cachedUint32Memory0 = null; + cachedUint8Memory0 = null; + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(input) { + if (wasm !== undefined) return wasm; + + if (typeof input === 'undefined') { + input = new URL('unhaunter_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { + input = fetch(input); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await input, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync } +export default __wbg_init; diff --git a/pkg/unhaunter_bg.wasm b/pkg/unhaunter_bg.wasm new file mode 100644 index 0000000..6b4cd4c Binary files /dev/null and b/pkg/unhaunter_bg.wasm differ diff --git a/pkg/unhaunter_bg.wasm.d.ts b/pkg/unhaunter_bg.wasm.d.ts new file mode 100644 index 0000000..b5e08ac --- /dev/null +++ b/pkg/unhaunter_bg.wasm.d.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function wasm_load(): void; +export function rust_zstd_wasm_shim_qsort(a: number, b: number, c: number, d: number): void; +export function rust_zstd_wasm_shim_malloc(a: number): number; +export function rust_zstd_wasm_shim_memcmp(a: number, b: number, c: number): number; +export function rust_zstd_wasm_shim_calloc(a: number, b: number): number; +export function rust_zstd_wasm_shim_free(a: number): void; +export function rust_zstd_wasm_shim_memcpy(a: number, b: number, c: number): number; +export function rust_zstd_wasm_shim_memmove(a: number, b: number, c: number): number; +export function rust_zstd_wasm_shim_memset(a: number, b: number, c: number): number; +export function wgpu_compute_pass_set_pipeline(a: number, b: number): void; +export function wgpu_compute_pass_set_bind_group(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_compute_pass_set_push_constant(a: number, b: number, c: number, d: number): void; +export function wgpu_compute_pass_insert_debug_marker(a: number, b: number, c: number): void; +export function wgpu_compute_pass_push_debug_group(a: number, b: number, c: number): void; +export function wgpu_compute_pass_pop_debug_group(a: number): void; +export function wgpu_compute_pass_write_timestamp(a: number, b: number, c: number): void; +export function wgpu_compute_pass_begin_pipeline_statistics_query(a: number, b: number, c: number): void; +export function wgpu_compute_pass_end_pipeline_statistics_query(a: number): void; +export function wgpu_compute_pass_dispatch_workgroups(a: number, b: number, c: number, d: number): void; +export function wgpu_compute_pass_dispatch_workgroups_indirect(a: number, b: number, c: number): void; +export function wgpu_render_bundle_set_pipeline(a: number, b: number): void; +export function wgpu_render_bundle_set_bind_group(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_bundle_set_vertex_buffer(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_bundle_set_push_constants(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_bundle_draw(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_bundle_draw_indexed(a: number, b: number, c: number, d: number, e: number, f: number): void; +export function wgpu_render_bundle_draw_indirect(a: number, b: number, c: number): void; +export function wgpu_render_bundle_draw_indexed_indirect(a: number, b: number, c: number): void; +export function wgpu_render_pass_set_pipeline(a: number, b: number): void; +export function wgpu_render_pass_set_bind_group(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_pass_set_vertex_buffer(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_pass_set_push_constants(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_pass_draw(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_pass_draw_indexed(a: number, b: number, c: number, d: number, e: number, f: number): void; +export function wgpu_render_pass_draw_indirect(a: number, b: number, c: number): void; +export function wgpu_render_pass_draw_indexed_indirect(a: number, b: number, c: number): void; +export function wgpu_render_pass_multi_draw_indirect(a: number, b: number, c: number, d: number): void; +export function wgpu_render_pass_multi_draw_indexed_indirect(a: number, b: number, c: number, d: number): void; +export function wgpu_render_pass_multi_draw_indirect_count(a: number, b: number, c: number, d: number, e: number, f: number): void; +export function wgpu_render_pass_multi_draw_indexed_indirect_count(a: number, b: number, c: number, d: number, e: number, f: number): void; +export function wgpu_render_pass_set_blend_constant(a: number, b: number): void; +export function wgpu_render_pass_set_scissor_rect(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_pass_set_viewport(a: number, b: number, c: number, d: number, e: number, f: number, g: number): void; +export function wgpu_render_pass_set_stencil_reference(a: number, b: number): void; +export function wgpu_render_pass_insert_debug_marker(a: number, b: number, c: number): void; +export function wgpu_render_pass_push_debug_group(a: number, b: number, c: number): void; +export function wgpu_render_pass_pop_debug_group(a: number): void; +export function wgpu_render_pass_write_timestamp(a: number, b: number, c: number): void; +export function wgpu_render_pass_begin_occlusion_query(a: number, b: number): void; +export function wgpu_render_pass_end_occlusion_query(a: number): void; +export function wgpu_render_pass_begin_pipeline_statistics_query(a: number, b: number, c: number): void; +export function wgpu_render_pass_end_pipeline_statistics_query(a: number): void; +export function wgpu_render_pass_execute_bundles(a: number, b: number, c: number): void; +export function wgpu_render_pass_set_index_buffer(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_bundle_set_index_buffer(a: number, b: number, c: number, d: number, e: number): void; +export function wgpu_render_bundle_pop_debug_group(a: number): void; +export function wgpu_render_bundle_insert_debug_marker(a: number, b: number): void; +export function wgpu_render_bundle_push_debug_group(a: number, b: number): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export const __wbindgen_export_2: WebAssembly.Table; +export function _dyn_core__ops__function__FnMut__A_B___Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h0fcf9f234871a1b8(a: number, b: number, c: number, d: number): void; +export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h9eb7288e751b06d5(a: number, b: number, c: number): void; +export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h3782a0cfdbf9fc8d(a: number, b: number, c: number): void; +export function _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h6adf1446948aa92d(a: number, b: number): void; +export function wasm_bindgen__convert__closures__invoke0_mut__h063b0dcfed0d01d4(a: number, b: number): void; +export function wasm_bindgen__convert__closures__invoke0_mut__h0b513f4138f386c3(a: number, b: number): void; +export function wasm_bindgen__convert__closures__invoke1_mut__ha2b0b048f24e2cd7(a: number, b: number, c: number): void; +export function __wbindgen_free(a: number, b: number, c: number): void; +export function __wbindgen_exn_store(a: number): void; +export function __wbindgen_start(): void; diff --git a/src/bin/unhaunter.rs b/src/bin/unhaunter.rs new file mode 100644 index 0000000..3fe13d6 --- /dev/null +++ b/src/bin/unhaunter.rs @@ -0,0 +1,5 @@ +use unhaunter::app_run; + +fn main() { + app_run(); +} diff --git a/src/board.rs b/src/board.rs index bafc401..dc3a18c 100644 --- a/src/board.rs +++ b/src/board.rs @@ -1,9 +1,9 @@ -use std::{f32::consts::PI, time::Instant}; +use std::f32::consts::PI; use bevy::{ prelude::*, sprite::MaterialMesh2dBundle, - utils::{HashMap, HashSet}, + utils::{HashMap, HashSet, Instant}, }; use rand::Rng; use serde::{Deserialize, Serialize}; @@ -760,7 +760,7 @@ pub fn boardfield_update( // info!("Lighting rebuild"); let build_start_time = Instant::now(); let cbp = CachedBoardPos::new(); - // info!("CBP time {:?}", build_start_time.elapsed()); + bf.exposure_lux = 1.0; bf.light_field.clear(); // Dividing by 4 so later we don't get an overflow if there's no map. diff --git a/src/ghost.rs b/src/ghost.rs index df3bda1..0c3d55c 100644 --- a/src/ghost.rs +++ b/src/ghost.rs @@ -202,7 +202,7 @@ fn ghost_enrage( } ghost.rage += angry * dt / 10.0; avg_angry.push_len(angry, dt); - if timer.just_finished() { + if timer.just_finished() && DEBUG_HUNTS { dbg!(&avg_angry.avg(), ghost.rage); } let rage_limit = if DEBUG_HUNTS { 40.0 } else { 120.0 }; diff --git a/src/main.rs b/src/lib.rs similarity index 63% rename from src/main.rs rename to src/lib.rs index f580803..1c2ac5c 100644 --- a/src/main.rs +++ b/src/lib.rs @@ -1,5 +1,6 @@ mod behavior; mod board; +pub mod colors; mod game; mod gear; mod ghost; @@ -14,7 +15,6 @@ mod summary; mod tiledmap; mod truck; mod utils; -pub mod colors; use std::time::Duration; @@ -25,15 +25,16 @@ use bevy::{ window::WindowResolution, }; use materials::{CustomMaterial1, UIPanelMaterial}; +use wasm_bindgen::prelude::wasm_bindgen; -fn set_fps_limiter(mut settings: ResMut) { - settings.limiter = bevy_framepace::Limiter::from_framerate(60.0); - // bevy_framepace::debug::DiagnosticsPlugin - // bevy_framepace::FramePaceStats -} const FPS_DEBUG: bool = false; -fn main() { +#[wasm_bindgen(start)] +pub fn wasm_load() { + app_run(); +} + +pub fn app_run() { let mut app = App::new(); app.add_plugins( DefaultPlugins @@ -42,6 +43,8 @@ fn main() { primary_window: Some(Window { title: "Unhaunter".to_string(), resolution: WindowResolution::new(1500.0, 800.0), + // Enabling VSync might make it easier in WASM? (It doesn't) + present_mode: bevy::window::PresentMode::Fifo, ..default() }), ..default() @@ -49,8 +52,6 @@ fn main() { ) .add_plugins(Material2dPlugin::::default()) .add_plugins(UiMaterialPlugin::::default()) - .add_plugins(bevy_framepace::FramepacePlugin) - .add_systems(Startup, set_fps_limiter) .insert_resource(ClearColor(Color::rgb(0.04, 0.08, 0.14))) .init_resource::() .insert_resource(Time::::from_duration(Duration::from_secs_f32( @@ -59,10 +60,10 @@ fn main() { if FPS_DEBUG { app.add_plugins(FrameTimeDiagnosticsPlugin) - .add_plugins(LogDiagnosticsPlugin::default()) - .add_plugins(bevy_framepace::debug::DiagnosticsPlugin); + .add_plugins(LogDiagnosticsPlugin::default()); } + arch_setup::app_setup(&mut app); root::app_setup(&mut app); gear::app_setup(&mut app); game::app_setup(&mut app); @@ -77,3 +78,26 @@ fn main() { app.run(); } + +#[cfg(not(target_arch = "wasm32"))] +mod arch_setup { + use super::*; + + fn set_fps_limiter(mut settings: ResMut) { + settings.limiter = bevy_framepace::Limiter::from_framerate(60.0); + } + pub fn app_setup(app: &mut App) { + app.add_plugins(bevy_framepace::FramepacePlugin) + .add_systems(Startup, set_fps_limiter); + + if FPS_DEBUG { + app.add_plugins(bevy_framepace::debug::DiagnosticsPlugin); + } + } +} + +#[cfg(target_arch = "wasm32")] +mod arch_setup { + use super::*; + pub fn app_setup(_app: &mut App) {} +} diff --git a/src/player.rs b/src/player.rs index e07cb19..d336fec 100644 --- a/src/player.rs +++ b/src/player.rs @@ -8,6 +8,8 @@ use bevy::ecs::system::SystemParam; use bevy::prelude::*; use std::time::Duration; +const DEBUG_PLAYER: bool = false; + #[derive(Component, Debug)] pub struct PlayerSprite { pub id: usize, @@ -575,7 +577,7 @@ fn lose_sanity( if ps.health > 100.0 { ps.health = 100.0; } - if timer.just_finished() { + if timer.just_finished() && DEBUG_PLAYER { dbg!(ps.sanity(), mean_sound.0, ps.health); } } diff --git a/src/root.rs b/src/root.rs index 3919f98..da43c94 100644 --- a/src/root.rs +++ b/src/root.rs @@ -1,8 +1,6 @@ -use std::time::Instant; - use bevy::{prelude::*, render::render_asset::RenderAssetUsages}; -use crate::{materials::CustomMaterial1, tiledmap::naive_tmx_loader}; +use crate::materials::CustomMaterial1; #[derive(Debug, Default, States, Copy, Clone, Eq, PartialEq, Hash)] pub enum State { @@ -345,63 +343,97 @@ pub struct Maps { pub maps: Vec, } -use glob::Pattern; -use walkdir::WalkDir; - -/// Scans the "assets/maps/" directory for files matching "*.tmx" and returns their paths. -pub fn find_tmx_files() -> Vec { - let mut paths = Vec::new(); - let pattern = Pattern::new("*.tmx").unwrap(); - let base_path = "assets/maps/"; - - for entry in WalkDir::new(base_path).into_iter().filter_map(|e| e.ok()) { - let path = entry.path(); - // Check if the path matches the "*.tmx" pattern and is a file - if path.is_file() && pattern.matches_path(path) { - // Convert the path to a String and store it in the vector - if let Some(str_path) = path.to_str() { - paths.push(str_path.to_string()); +pub fn app_setup(app: &mut App) { + app.init_state::() + .init_state::() + .init_resource::() + .add_systems(Startup, (load_assets, arch::init_maps)); +} + +#[cfg(not(target_arch = "wasm32"))] +mod arch { + use super::*; + use crate::tiledmap::naive_tmx_loader; + + use glob::Pattern; + use walkdir::WalkDir; + + /// Scans the "assets/maps/" directory for files matching "*.tmx" and returns their paths. + pub fn find_tmx_files() -> Vec { + let mut paths = Vec::new(); + let pattern = Pattern::new("*.tmx").unwrap(); + let base_path = "assets/maps/"; + info!("Loading maps..."); + for entry in WalkDir::new(base_path).into_iter() { + let Ok(entry) = entry else { + error!("Error loading: {:?}", entry); + continue; + }; + let path = entry.path(); + info!("Found {:?}", path); + // Check if the path matches the "*.tmx" pattern and is a file + if path.is_file() && pattern.matches_path(path) { + // Convert the path to a String and store it in the vector + if let Some(str_path) = path.to_str() { + paths.push(str_path.to_string()); + } } } - } - paths -} + paths + } -pub fn init_maps(mut maps: ResMut) { - // Scan for maps: - let tmx_files = find_tmx_files(); - for path in tmx_files { - let start = Instant::now(); - // Loading a map can take 100ms or more. Therefore we do a naive load instead - let (classname, display_name) = match naive_tmx_loader(&path) { - Ok(m) => m, - Err(e) => { - warn!("Cannot load map {path:?}: {e}"); + pub fn init_maps(mut maps: ResMut) { + // Scan for maps: + let tmx_files = find_tmx_files(); + for path in tmx_files { + // Loading a map can take 100ms or more. Therefore we do a naive load instead + let (classname, display_name) = match naive_tmx_loader(&path) { + Ok(m) => m, + Err(e) => { + warn!("Cannot load map {path:?}: {e}"); + continue; + } + }; + if classname != Some("UnhaunterMap1".to_string()) { + warn!( + "Unrecognized Class {:?} for map {:?} (Should be 'UnhaunterMap1')", + classname, path + ); continue; } - }; - let load_time_ms = start.elapsed().as_secs_f32() * 1000.0; - if classname != Some("UnhaunterMap1".to_string()) { - warn!( - "Unrecognized Class {:?} for map {:?} (Should be 'UnhaunterMap1')", - classname, path - ); - continue; + let default_name = format!("Unnamed ({})", path.replace("assets/maps/", "")); + let display_name = display_name.unwrap_or(default_name); + info!("Found map {display_name:?} at path {path:?}"); + maps.maps.push(Map { + name: display_name, + path, + }); } - let default_name = format!("Unnamed ({})", path.replace("assets/maps/", "")); - let display_name = display_name.unwrap_or(default_name); - info!("Found map {display_name:?} at path {path:?} - loaded in {load_time_ms:.2}ms"); - maps.maps.push(Map { - name: display_name, - path, - }); } } -pub fn app_setup(app: &mut App) { - app.init_state::() - .init_state::() - .init_resource::() - .add_systems(Startup, (load_assets, init_maps)); +#[cfg(target_arch = "wasm32")] +mod arch { + use super::*; + pub fn find_tmx_files() -> Vec { + // WASM does not support scanning folders it seems... + vec![ + "assets/maps/map_house1.tmx".to_string(), + "assets/maps/map_house2.tmx".to_string(), + "assets/maps/map_school1.tmx".to_string(), + ] + } + pub fn init_maps(mut maps: ResMut) { + // Scan for maps: + let tmx_files = find_tmx_files(); + for path in tmx_files { + let display_name = path.replace("assets/maps/", ""); + info!("Found map {display_name:?} at path {path:?}"); + maps.maps.push(Map { + name: display_name, + path, + }); + } + } } diff --git a/src/tiledmap.rs b/src/tiledmap.rs index 49c90d7..4646b19 100644 --- a/src/tiledmap.rs +++ b/src/tiledmap.rs @@ -3,7 +3,7 @@ //! Most of the classes here are almost a redefinition (for now) of the tiled library. //! Currently serve as an example on how to load/store data. -use std::{collections::HashMap, fmt::Debug, io::BufRead as _, slice::Iter}; +use std::{collections::HashMap, fmt::Debug, slice::Iter}; /// A simple 2D position with X and Y components that it is generic. /// @@ -214,6 +214,69 @@ pub struct MapTileSetDb { pub db: HashMap, } +#[cfg(not(target_arch = "wasm32"))] +mod arch { + pub fn map_loader(path: impl AsRef) -> tiled::Map { + let mut loader = tiled::Loader::new(); + loader.load_tmx_map(path).unwrap() + } +} + +#[cfg(target_arch = "wasm32")] +mod arch { + use std::io::Cursor; + + /// Basic example reader impl that just keeps a few resources in memory + struct MemoryReader; + + impl tiled::ResourceReader for MemoryReader { + type Resource = Cursor<&'static [u8]>; + type Error = std::io::Error; + + fn read_from( + &mut self, + path: &std::path::Path, + ) -> std::result::Result { + let path = path.to_str().unwrap(); + match path { + "assets/maps/map_house1.tmx" => { + Ok(Cursor::new(include_bytes!("../assets/maps/map_house1.tmx"))) + } + "assets/maps/map_house2.tmx" => { + Ok(Cursor::new(include_bytes!("../assets/maps/map_house2.tmx"))) + } + "assets/maps/map_school1.tmx" => Ok(Cursor::new(include_bytes!( + "../assets/maps/map_school1.tmx" + ))), + "assets/maps/unhaunter_custom_tileset.tsx" => Ok(Cursor::new(include_bytes!( + "../assets/maps/unhaunter_custom_tileset.tsx" + ))), + "assets/maps/unhaunter_spritesheet2.tsx" => Ok(Cursor::new(include_bytes!( + "../assets/maps/unhaunter_spritesheet2.tsx" + ))), + "assets/maps/unhaunter_spritesheetA_3x3x3.tsx" => Ok(Cursor::new(include_bytes!( + "../assets/maps/unhaunter_spritesheetA_3x3x3.tsx" + ))), + "assets/maps/unhaunter_spritesheetA_6x6x10.tsx" => Ok(Cursor::new(include_bytes!( + "../assets/maps/unhaunter_spritesheetA_6x6x10.tsx" + ))), + _ => Err(std::io::Error::new( + std::io::ErrorKind::NotFound, + "file not found", + )), + } + } + } + pub fn map_loader(path: impl AsRef) -> tiled::Map { + let mut loader = + tiled::Loader::::with_cache_and_reader( + tiled::DefaultResourceCache::new(), + MemoryReader, + ); + loader.load_tmx_map(path).unwrap() + } +} + pub fn bevy_load_map( path: impl AsRef, asset_server: &AssetServer, @@ -221,8 +284,8 @@ pub fn bevy_load_map( tilesetdb: &mut ResMut, ) -> (tiled::Map, Vec<(usize, MapLayer)>) { // Parse Tiled file: - let mut loader = tiled::Loader::new(); - let map = loader.load_tmx_map(path).unwrap(); + + let map = arch::map_loader(path); // Preload all tilesets referenced: for tileset in map.tilesets().iter() { @@ -231,10 +294,9 @@ pub fn bevy_load_map( let data = if let Some(image) = &tileset.image { let img_src = image .source - .canonicalize() - .expect("incorrect path on image source when loading TileSet") - .to_string_lossy() - .to_string(); + .to_str() + .unwrap() + .replace("assets/maps/../", ""); // FIXME: When the images are loaded onto the GPU it seems that we need at least 1 pixel of empty space // .. so that the GPU can sample surrounding pixels properly. // .. This contrasts with how Tiled works, as it assumes a perfect packing if possible. @@ -269,10 +331,9 @@ pub fn bevy_load_map( if let Some(image) = &tile.image { let img_src = image .source - .canonicalize() - .expect("incorrect path on image source when loading TileSet") - .to_string_lossy() - .to_string(); + .to_str() + .unwrap() + .replace("assets/maps/../", ""); dbg!(&img_src); let img_handle: Handle = asset_server.load(img_src); let cmat = CustomMaterial1::from_texture(img_handle.clone()); @@ -400,7 +461,9 @@ pub fn bevy_load_tile( } /// Loads a TMX as text file and inspects the first lines to obtain class and display_name. +#[cfg(not(target_arch = "wasm32"))] pub fn naive_tmx_loader(path: &str) -> anyhow::Result<(Option, Option)> { + use std::io::BufRead as _; // // //