[INFO] cloning repository https://github.com/rei-kurzweil/little-cat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rei-kurzweil/little-cat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frei-kurzweil%2Flittle-cat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frei-kurzweil%2Flittle-cat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cd802b60977679e51f4a62ac97aa2996a44a051e
[INFO] checking rei-kurzweil/little-cat against try#bac5816c5f3d02cebd0599070af62d1782530294 for pr-150408
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frei-kurzweil%2Flittle-cat" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rei-kurzweil/little-cat
[INFO] finished tweaking git repo https://github.com/rei-kurzweil/little-cat
[INFO] tweaked toml for git repo https://github.com/rei-kurzweil/little-cat written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rei-kurzweil/little-cat on toolchain bac5816c5f3d02cebd0599070af62d1782530294
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rei-kurzweil/little-cat already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 33fa78f3e681f2ae1dedfbc23dff4bcfbd5dc525f065ceef2d66c76a6755c051
[INFO] running `Command { std: "docker" "start" "-a" "33fa78f3e681f2ae1dedfbc23dff4bcfbd5dc525f065ceef2d66c76a6755c051", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "33fa78f3e681f2ae1dedfbc23dff4bcfbd5dc525f065ceef2d66c76a6755c051", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33fa78f3e681f2ae1dedfbc23dff4bcfbd5dc525f065ceef2d66c76a6755c051", kill_on_drop: false }`
[INFO] [stdout] 33fa78f3e681f2ae1dedfbc23dff4bcfbd5dc525f065ceef2d66c76a6755c051
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1809ae20c8cc4e73abc6a71a1a32e4aa6e4029d10a5b81dca231612d0f3a62a
[INFO] running `Command { std: "docker" "start" "-a" "e1809ae20c8cc4e73abc6a71a1a32e4aa6e4029d10a5b81dca231612d0f3a62a", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling wayland-client v0.31.11
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]     Checking rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling cc v1.2.50
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling openxr-sys v0.11.0
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]     Checking iri-string v0.7.9
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking zune-jpeg v0.5.7
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking ash-window v0.13.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking openxr v0.19.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking rspirv v0.12.0+sdk-1.3.268.0
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.9
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking little-cat v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `REGISTER_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInstance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     REGISTER_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     REGISTER_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_INPUT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     REGISTER_INPUT {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     REGISTER_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA2D` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     REGISTER_CAMERA2D {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveInstance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInstance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     REGISTER_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     REGISTER_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UPDATE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     UPDATE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MAKE_ACTIVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     MAKE_ACTIVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MakeActiveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_INPUT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     REGISTER_INPUT {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     REGISTER_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA2D` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     REGISTER_CAMERA2D {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveInstance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UPDATE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     UPDATE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MAKE_ACTIVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     MAKE_ACTIVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MakeActiveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform_comp`
[INFO] [stdout]   --> src/engine/ecs/system/input_system.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |             if let Some(transform_comp) = world.get_component_by_id_as::<TransformComponent>(parent) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform_comp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform_comp`
[INFO] [stdout]   --> src/engine/ecs/system/input_system.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |             if let Some(transform_comp) = world.get_component_by_id_as::<TransformComponent>(parent) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform_comp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invert_rigid_transform` is never used
[INFO] [stdout]    --> src/engine/ecs/system/camera_system.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn invert_rigid_transform(m: &[[f32; 4]; 4]) -> [[f32; 4]; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `component_id` is never read
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub struct ComponentCommand {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 164 |     component_id: crate::engine::ecs::ComponentId,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | enum Command {
[INFO] [stdout]     |      ------- variants in this enum
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invert_rigid_transform` is never used
[INFO] [stdout]    --> src/engine/ecs/system/camera_system.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn invert_rigid_transform(m: &[[f32; 4]; 4]) -> [[f32; 4]; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `component_id` is never read
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub struct ComponentCommand {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 164 |     component_id: crate::engine::ecs::ComponentId,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | enum Command {
[INFO] [stdout]     |      ------- variants in this enum
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CameraHandle` and `Camera`
[INFO] [stdout]  --> src/engine/ecs/system/mod.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use camera_system::{Camera, CameraHandle, CameraSystem};
[INFO] [stdout]   |                         ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInstance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     REGISTER_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     REGISTER_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_INPUT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     REGISTER_INPUT {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     REGISTER_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA2D` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     REGISTER_CAMERA2D {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveInstance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UPDATE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     UPDATE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MAKE_ACTIVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     MAKE_ACTIVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MakeActiveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Renderable`
[INFO] [stdout]   --> src/engine/ecs/mod.rs:18:47
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use crate::engine::graphics::primitives::{Renderable, Transform};
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CursorSystem` and `System`
[INFO] [stdout]   --> src/engine/ecs/mod.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use system::{CursorSystem, System, SystemWorld};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MeshHandle`, `Renderable`, and `Transform`
[INFO] [stdout]  --> src/engine/graphics/mod.rs:8:63
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use primitives::{GpuRenderable, Material, MaterialHandle, MeshHandle, Renderable, Transform};
[INFO] [stdout]   |                                                               ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CpuMesh`, `CpuVertex`, and `MeshFactory`
[INFO] [stdout]  --> src/engine/graphics/mod.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use mesh::{CpuMesh, CpuVertex, MeshFactory};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CameraHandle` and `Camera`
[INFO] [stdout]  --> src/engine/ecs/system/mod.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use camera_system::{Camera, CameraHandle, CameraSystem};
[INFO] [stdout]   |                         ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInstance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     REGISTER_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     REGISTER_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_INPUT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     REGISTER_INPUT {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     REGISTER_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REGISTER_CAMERA2D` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     REGISTER_CAMERA2D {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterCamera2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_INSTANCE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveInstance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_RENDERABLE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveRenderable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CURSOR` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REMOVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RemoveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UPDATE_TRANSFORM` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     UPDATE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateTransform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MAKE_ACTIVE_CAMERA` should have an upper camel case name
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     MAKE_ACTIVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MakeActiveCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Renderable`
[INFO] [stdout]   --> src/engine/ecs/mod.rs:18:47
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use crate::engine::graphics::primitives::{Renderable, Transform};
[INFO] [stdout]    |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CursorSystem` and `System`
[INFO] [stdout]   --> src/engine/ecs/mod.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use system::{CursorSystem, System, SystemWorld};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MeshHandle`, `Renderable`, and `Transform`
[INFO] [stdout]  --> src/engine/graphics/mod.rs:8:63
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use primitives::{GpuRenderable, Material, MaterialHandle, MeshHandle, Renderable, Transform};
[INFO] [stdout]   |                                                               ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CpuMesh`, `CpuVertex`, and `MeshFactory`
[INFO] [stdout]  --> src/engine/graphics/mod.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use mesh::{CpuMesh, CpuVertex, MeshFactory};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform_comp`
[INFO] [stdout]   --> src/engine/ecs/system/input_system.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |             if let Some(transform_comp) = world.get_component_by_id_as::<TransformComponent>(parent) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform_comp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform_comp`
[INFO] [stdout]   --> src/engine/ecs/system/input_system.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |             if let Some(transform_comp) = world.get_component_by_id_as::<TransformComponent>(parent) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform_comp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldContext` is never constructed
[INFO] [stdout]   --> src/engine/ecs/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct WorldContext<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<'a> WorldContext<'a> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 35 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `spawn_component_boxed`, `get_parent_as_mut`, `set_parent`, `remove_component_leaf`, and `remove_component_subtree` are never used
[INFO] [stdout]    --> src/engine/ecs/mod.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn spawn_component_boxed(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn get_parent_as_mut<T: 'static>(&mut self, c: ComponentId) -> Option<(ComponentId, &mut T)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn set_parent(&mut self, child: ComponentId, new_parent: Option<ComponentId>) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn remove_component_leaf(&mut self, c: ComponentId) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn remove_component_subtree(&mut self, root: ComponentId) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_name` and `cleanup` are never used
[INFO] [stdout]   --> src/engine/ecs/component/mod.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Component: std::any::Any {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn type_name(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn cleanup(
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_cpu_mesh_handle`, `triangle`, `square`, `cube`, `tetrahedron`, and `color_tetrahedron` are never used
[INFO] [stdout]   --> src/engine/ecs/component/renderable.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl RenderableComponent {
[INFO] [stdout]    | ------------------------ associated functions in this implementation
[INFO] [stdout] 13 |     fn from_cpu_mesh_handle(h: crate::engine::graphics::primitives::CpuMeshHandle, material: MaterialHandle) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn triangle(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn square(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn cube(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn tetrahedron(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn color_tetrahedron(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_rotation_euler`, `set_position`, and `set_scale` are never used
[INFO] [stdout]    --> src/engine/ecs/component/transform.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl TransformComponent {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn set_rotation_euler(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn set_position(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn set_scale(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CursorComponent` is never constructed
[INFO] [stdout]  --> src/engine/ecs/component/cursor.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct CursorComponent {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_component` are never used
[INFO] [stdout]   --> src/engine/ecs/component/cursor.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl CursorComponent {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn with_component(mut self, component: Box<dyn Component>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_handle` is never used
[INFO] [stdout]   --> src/engine/ecs/component/instance.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl InstanceComponent {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn with_handle(mut self, handle: InstanceHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_active_camera` is never used
[INFO] [stdout]   --> src/engine/ecs/component/camera.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl CameraComponent {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn make_active_camera(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `register_cursor` are never used
[INFO] [stdout]   --> src/engine/ecs/system/cursor_system.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl CursorSystem {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn register_cursor(&mut self, component: ComponentId) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `perspective_rh_zo` is never used
[INFO] [stdout]   --> src/engine/ecs/system/camera_system.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Camera {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn perspective_rh_zo(fov_y_radians: f32, aspect: f32, z_near: f32, z_far: f32) -> [[f32; 4]; 4] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `active_camera_matrices` are never used
[INFO] [stdout]    --> src/engine/ecs/system/camera_system.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl CameraSystem {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  75 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn active_camera_matrices(&self) -> Option<([[f32; 4]; 4], [[f32; 4]; 4])> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invert_rigid_transform` is never used
[INFO] [stdout]    --> src/engine/ecs/system/camera_system.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn invert_rigid_transform(m: &[[f32; 4]; 4]) -> [[f32; 4]; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/system/renderable_system.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl RenderableSystem {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/system/transform_system.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TransformSystem {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/system/input_system.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl InputSystem {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register_cursor` is never used
[INFO] [stdout]   --> src/engine/ecs/system/system_world.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl SystemWorld {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn register_cursor(&mut self,  component: ComponentId) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `queue_make_active_camera` is never used
[INFO] [stdout]   --> src/engine/ecs/command_queue.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CommandQueue {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn queue_make_active_camera(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `component_id` is never read
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub struct ComponentCommand {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 164 |     component_id: crate::engine::ecs::ComponentId,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | enum Command {
[INFO] [stdout]     |      ------- variants in this enum
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     MAKE_ACTIVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graphics` is never constructed
[INFO] [stdout]   --> src/engine/graphics/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Graphics;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/graphics/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Graphics {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl GpuRenderable {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 109 |     pub fn new(mesh: MeshHandle, material: MaterialHandle) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stride` and `attributes` are never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct VertexLayout {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 121 |     pub stride: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 122 |     pub attributes: &'static [VertexAttribute],
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VertexLayout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `location`, `offset`, and `format` are never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct VertexAttribute {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 127 |     pub location: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 128 |     pub offset: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 129 |     pub format: VertexFormat,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VertexAttribute` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float32x2`, `Float32x3`, `Float32x4`, and `Uint32` are never constructed
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub enum VertexFormat {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 134 |     Float32x2,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 135 |     Float32x3,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 136 |     Float32x4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 137 |     Uint32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VertexFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vertex_layout` is never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct GpuMesh {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub vertex_layout: &'static VertexLayout,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GpuMesh` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shader` and `fragment_shader` are never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct Material {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 169 |     pub vertex_shader: &'static str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 170 |     pub fragment_shader: &'static str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Material` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `TRIANGLE`, `SQUARE`, `CUBE`, and `TETRAHEDRON` are never used
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl MeshHandle {
[INFO] [stdout]     | --------------- associated constants in this implementation
[INFO] [stdout] 196 |     pub const TRIANGLE: MeshHandle = MeshHandle(2);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 197 |     pub const SQUARE: MeshHandle = MeshHandle(3);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 198 |
[INFO] [stdout] 199 |     pub const CUBE: MeshHandle = MeshHandle(0);
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 200 |     pub const TETRAHEDRON: MeshHandle = MeshHandle(1);
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `U16` is never constructed
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum IndexFormat {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 14 |     U16,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IndexFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uv` is never read
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct CpuVertex {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 24 |     pub pos: [f32; 3],
[INFO] [stdout] 25 |     pub uv: [f32; 2],
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CpuVertex` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `primitive_topology` and `index_format` are never read
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct CpuMesh {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub primitive_topology: PrimitiveTopology,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     pub index_format: IndexFormat,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CpuMesh` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vertex_count` is never used
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl CpuMesh {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn vertex_count(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `cube` and `tetrahedron` are never used
[INFO] [stdout]    --> src/engine/graphics/mesh.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl MeshFactory {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn cube() -> CpuMesh {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn tetrahedron() -> CpuMesh {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `materials` is never read
[INFO] [stdout]   --> src/engine/graphics/renderer.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Renderer {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     materials: Vec<Material>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `material` and `mesh` are never used
[INFO] [stdout]    --> src/engine/graphics/renderer.rs:445:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl Renderer {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 445 |     pub fn material(&self, h: MaterialHandle) -> Option<&Material> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn mesh(&self, h: MeshHandle) -> Option<&GpuMesh> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spirv` is never used
[INFO] [stdout]  --> src/engine/graphics/spirv_reflect.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn parse_spirv(bytes: &[u8]) -> Option<rspirv::dr::Module> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_u32` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn operand_u32(op: &Operand) -> Option<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_decoration` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn operand_decoration(op: &Operand) -> Option<Decoration> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_string` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn operand_string(op: &Operand) -> Option<&str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_push_constants_once` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn print_push_constants_once() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `camera_dirty`, `take_camera_dirty`, `remove`, and `update` are never used
[INFO] [stdout]    --> src/engine/graphics/visual_world.rs:86:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl VisualWorld {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn camera_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn take_camera_dirty(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn remove(&mut self, handle: InstanceHandle) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn update(&mut self, handle: InstanceHandle, renderable: GpuRenderable, instance: Instance) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Networking` is never constructed
[INFO] [stdout]  --> src/engine/networking.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Networking;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/engine/networking.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Networking {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> EngineResult<Self> {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key_pressed`, `key_released`, and `mouse_movement` are never used
[INFO] [stdout]   --> src/engine/user_input.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl InputState {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn key_pressed(&self, key: &Key) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn key_released(&self, key: &Key) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn mouse_movement(&self) -> (f32, f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `state_mut` is never used
[INFO] [stdout]   --> src/engine/user_input.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl UserInput {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn state_mut(&mut self) -> &mut InputState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Xr` is never constructed
[INFO] [stdout]  --> src/engine/xr.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Xr;
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldContext` is never constructed
[INFO] [stdout]   --> src/engine/ecs/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct WorldContext<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<'a> WorldContext<'a> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 35 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `spawn_component_boxed` and `get_parent_as_mut` are never used
[INFO] [stdout]    --> src/engine/ecs/mod.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn spawn_component_boxed(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn get_parent_as_mut<T: 'static>(&mut self, c: ComponentId) -> Option<(ComponentId, &mut T)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_name` and `cleanup` are never used
[INFO] [stdout]   --> src/engine/ecs/component/mod.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Component: std::any::Any {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn type_name(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn cleanup(
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `triangle`, `square`, `tetrahedron`, and `color_tetrahedron` are never used
[INFO] [stdout]   --> src/engine/ecs/component/renderable.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl RenderableComponent {
[INFO] [stdout]    | ------------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn triangle(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn square(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn tetrahedron(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn color_tetrahedron(mesh: crate::engine::graphics::primitives::CpuMeshHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `begin_session` are never used
[INFO] [stdout]   --> src/engine/xr.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Xr {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> EngineResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn begin_session(&mut self) -> EngineResult<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_rotation_euler`, `set_position`, and `set_scale` are never used
[INFO] [stdout]    --> src/engine/ecs/component/transform.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl TransformComponent {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn set_rotation_euler(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn set_position(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn set_scale(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CursorComponent` is never constructed
[INFO] [stdout]  --> src/engine/ecs/component/cursor.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct CursorComponent {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_component` are never used
[INFO] [stdout]   --> src/engine/ecs/component/cursor.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl CursorComponent {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn with_component(mut self, component: Box<dyn Component>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_handle` is never used
[INFO] [stdout]   --> src/engine/ecs/component/instance.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl InstanceComponent {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn with_handle(mut self, handle: InstanceHandle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_active_camera` is never used
[INFO] [stdout]   --> src/engine/ecs/component/camera.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl CameraComponent {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn make_active_camera(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `register_cursor` are never used
[INFO] [stdout]   --> src/engine/ecs/system/cursor_system.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl CursorSystem {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn register_cursor(&mut self, component: ComponentId) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `perspective_rh_zo` is never used
[INFO] [stdout]   --> src/engine/ecs/system/camera_system.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Camera {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn perspective_rh_zo(fov_y_radians: f32, aspect: f32, z_near: f32, z_far: f32) -> [[f32; 4]; 4] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `active_camera_matrices` are never used
[INFO] [stdout]    --> src/engine/ecs/system/camera_system.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl CameraSystem {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  75 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn active_camera_matrices(&self) -> Option<([[f32; 4]; 4], [[f32; 4]; 4])> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invert_rigid_transform` is never used
[INFO] [stdout]    --> src/engine/ecs/system/camera_system.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn invert_rigid_transform(m: &[[f32; 4]; 4]) -> [[f32; 4]; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/system/renderable_system.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl RenderableSystem {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/system/transform_system.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TransformSystem {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/ecs/system/input_system.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl InputSystem {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register_cursor` is never used
[INFO] [stdout]   --> src/engine/ecs/system/system_world.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl SystemWorld {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn register_cursor(&mut self,  component: ComponentId) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `queue_make_active_camera` is never used
[INFO] [stdout]   --> src/engine/ecs/command_queue.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CommandQueue {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn queue_make_active_camera(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `component_id` is never read
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub struct ComponentCommand {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 164 |     component_id: crate::engine::ecs::ComponentId,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/engine/ecs/command_queue.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | enum Command {
[INFO] [stdout]     |      ------- variants in this enum
[INFO] [stdout] 170 |     REGISTER_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     REGISTER_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     REMOVE_INSTANCE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     REMOVE_RENDERABLE {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     REMOVE_TRANSFORM {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     REMOVE_CURSOR {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     REMOVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     MAKE_ACTIVE_CAMERA {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graphics` is never constructed
[INFO] [stdout]   --> src/engine/graphics/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Graphics;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/graphics/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Graphics {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl GpuRenderable {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 109 |     pub fn new(mesh: MeshHandle, material: MaterialHandle) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stride` and `attributes` are never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct VertexLayout {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 121 |     pub stride: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 122 |     pub attributes: &'static [VertexAttribute],
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VertexLayout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `location`, `offset`, and `format` are never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct VertexAttribute {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 127 |     pub location: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 128 |     pub offset: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 129 |     pub format: VertexFormat,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VertexAttribute` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float32x2`, `Float32x3`, `Float32x4`, and `Uint32` are never constructed
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub enum VertexFormat {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 134 |     Float32x2,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 135 |     Float32x3,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 136 |     Float32x4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 137 |     Uint32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VertexFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vertex_layout` is never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct GpuMesh {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub vertex_layout: &'static VertexLayout,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GpuMesh` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shader` and `fragment_shader` are never read
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct Material {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 169 |     pub vertex_shader: &'static str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 170 |     pub fragment_shader: &'static str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Material` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `TRIANGLE`, `SQUARE`, `CUBE`, and `TETRAHEDRON` are never used
[INFO] [stdout]    --> src/engine/graphics/primitives.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl MeshHandle {
[INFO] [stdout]     | --------------- associated constants in this implementation
[INFO] [stdout] 196 |     pub const TRIANGLE: MeshHandle = MeshHandle(2);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 197 |     pub const SQUARE: MeshHandle = MeshHandle(3);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 198 |
[INFO] [stdout] 199 |     pub const CUBE: MeshHandle = MeshHandle(0);
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 200 |     pub const TETRAHEDRON: MeshHandle = MeshHandle(1);
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `U16` is never constructed
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum IndexFormat {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 14 |     U16,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IndexFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uv` is never read
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct CpuVertex {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 24 |     pub pos: [f32; 3],
[INFO] [stdout] 25 |     pub uv: [f32; 2],
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CpuVertex` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `primitive_topology` and `index_format` are never read
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct CpuMesh {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub primitive_topology: PrimitiveTopology,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     pub index_format: IndexFormat,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CpuMesh` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vertex_count` is never used
[INFO] [stdout]   --> src/engine/graphics/mesh.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl CpuMesh {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn vertex_count(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `tetrahedron` is never used
[INFO] [stdout]    --> src/engine/graphics/mesh.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl MeshFactory {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn tetrahedron() -> CpuMesh {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `materials` is never read
[INFO] [stdout]   --> src/engine/graphics/renderer.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Renderer {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     materials: Vec<Material>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `material` and `mesh` are never used
[INFO] [stdout]    --> src/engine/graphics/renderer.rs:445:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl Renderer {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 445 |     pub fn material(&self, h: MaterialHandle) -> Option<&Material> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn mesh(&self, h: MeshHandle) -> Option<&GpuMesh> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spirv` is never used
[INFO] [stdout]  --> src/engine/graphics/spirv_reflect.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn parse_spirv(bytes: &[u8]) -> Option<rspirv::dr::Module> {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_u32` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn operand_u32(op: &Operand) -> Option<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_decoration` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn operand_decoration(op: &Operand) -> Option<Decoration> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_string` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn operand_string(op: &Operand) -> Option<&str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_push_constants_once` is never used
[INFO] [stdout]   --> src/engine/graphics/spirv_reflect.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn print_push_constants_once() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `camera_dirty`, `take_camera_dirty`, `remove`, and `update` are never used
[INFO] [stdout]    --> src/engine/graphics/visual_world.rs:86:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl VisualWorld {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn camera_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn take_camera_dirty(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn remove(&mut self, handle: InstanceHandle) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn update(&mut self, handle: InstanceHandle, renderable: GpuRenderable, instance: Instance) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Networking` is never constructed
[INFO] [stdout]  --> src/engine/networking.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Networking;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/engine/networking.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Networking {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> EngineResult<Self> {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key_pressed`, `key_released`, and `mouse_movement` are never used
[INFO] [stdout]   --> src/engine/user_input.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl InputState {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn key_pressed(&self, key: &Key) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn key_released(&self, key: &Key) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn mouse_movement(&self) -> (f32, f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `state_mut` is never used
[INFO] [stdout]   --> src/engine/user_input.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl UserInput {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn state_mut(&mut self) -> &mut InputState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Xr` is never constructed
[INFO] [stdout]  --> src/engine/xr.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Xr;
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `begin_session` are never used
[INFO] [stdout]   --> src/engine/xr.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Xr {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> EngineResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn begin_session(&mut self) -> EngineResult<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.77s
[INFO] running `Command { std: "docker" "inspect" "e1809ae20c8cc4e73abc6a71a1a32e4aa6e4029d10a5b81dca231612d0f3a62a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1809ae20c8cc4e73abc6a71a1a32e4aa6e4029d10a5b81dca231612d0f3a62a", kill_on_drop: false }`
[INFO] [stdout] e1809ae20c8cc4e73abc6a71a1a32e4aa6e4029d10a5b81dca231612d0f3a62a
