[INFO] cloning repository https://github.com/YorkWestenhaver/bloodtide
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/YorkWestenhaver/bloodtide" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYorkWestenhaver%2Fbloodtide", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYorkWestenhaver%2Fbloodtide'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1a72fa00e15da7d491ff7d6e6a5d54ea31125d20
[INFO] checking YorkWestenhaver/bloodtide against f10db292a3733b5c67c8da8c7661195ff4b05774 for pr-158914
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYorkWestenhaver%2Fbloodtide" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/YorkWestenhaver/bloodtide
[INFO] finished tweaking git repo https://github.com/YorkWestenhaver/bloodtide
[INFO] tweaked toml for git repo https://github.com/YorkWestenhaver/bloodtide written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/YorkWestenhaver/bloodtide on toolchain f10db292a3733b5c67c8da8c7661195ff4b05774
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/YorkWestenhaver/bloodtide 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" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bevy_ecs_tilemap v0.15.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.56
[INFO] [stderr]   Downloaded libredox v0.1.11
[INFO] [stderr]   Downloaded redox_syscall v0.6.0
[INFO] [stderr]   Downloaded bevy_internal v0.15.3
[INFO] [stderr]   Downloaded bevy_winit v0.15.3
[INFO] [stderr]   Downloaded bevy_utils v0.15.3
[INFO] [stderr]   Downloaded bevy_macro_utils v0.15.3
[INFO] [stderr]   Downloaded bevy_ptr v0.15.3
[INFO] [stderr]   Downloaded bevy_window v0.15.3
[INFO] [stderr]   Downloaded bevy_utils_proc_macros v0.15.3
[INFO] [stderr]   Downloaded bevy_ecs_macros v0.15.3
[INFO] [stderr]   Downloaded bevy_derive v0.15.3
[INFO] [stderr]   Downloaded bevy_a11y v0.15.3
[INFO] [stderr]   Downloaded tracing-oslog v0.2.0
[INFO] [stderr]   Downloaded uuid v1.12.1
[INFO] [stderr]   Downloaded bevy_tasks v0.15.3
[INFO] [stderr]   Downloaded bevy_core v0.15.3
[INFO] [stderr]   Downloaded bevy_reflect_derive v0.15.3
[INFO] [stderr]   Downloaded bevy_app v0.15.3
[INFO] [stderr]   Downloaded bevy_log v0.15.3
[INFO] [stderr]   Downloaded bevy_input v0.15.3
[INFO] [stderr]   Downloaded bevy_image v0.15.3
[INFO] [stderr]   Downloaded ktx2 v0.3.0
[INFO] [stderr]   Downloaded encase_derive v0.10.0
[INFO] [stderr]   Downloaded encase_derive_impl v0.10.0
[INFO] [stderr]   Downloaded bevy_asset_macros v0.15.3
[INFO] [stderr]   Downloaded bevy_state_macros v0.15.3
[INFO] [stderr]   Downloaded bevy_mikktspace v0.15.3
[INFO] [stderr]   Downloaded bevy_encase_derive v0.15.3
[INFO] [stderr]   Downloaded bevy_gizmos_macros v0.15.3
[INFO] [stderr]   Downloaded bevy_hierarchy v0.15.3
[INFO] [stderr]   Downloaded bevy_transform v0.15.3
[INFO] [stderr]   Downloaded hexasphere v15.1.0
[INFO] [stderr]   Downloaded bevy_render_macros v0.15.3
[INFO] [stderr]   Downloaded grid v0.14.0
[INFO] [stderr]   Downloaded bevy_time v0.15.3
[INFO] [stderr]   Downloaded bevy_diagnostic v0.15.3
[INFO] [stderr]   Downloaded bevy_gilrs v0.15.3
[INFO] [stderr]   Downloaded bevy_state v0.15.3
[INFO] [stderr]   Downloaded ruzstd v0.7.3
[INFO] [stderr]   Downloaded encase v0.10.0
[INFO] [stderr]   Downloaded bevy_reflect v0.15.3
[INFO] [stderr]   Downloaded bevy_text v0.15.3
[INFO] [stderr]   Downloaded bevy_audio v0.15.3
[INFO] [stderr]   Downloaded bevy_color v0.15.4
[INFO] [stderr]   Downloaded bevy_picking v0.15.3
[INFO] [stderr]   Downloaded bevy_animation v0.15.3
[INFO] [stderr]   Downloaded bevy_math v0.15.3
[INFO] [stderr]   Downloaded bevy_gltf v0.15.3
[INFO] [stderr]   Downloaded bevy_gizmos v0.15.3
[INFO] [stderr]   Downloaded bevy_scene v0.15.3
[INFO] [stderr]   Downloaded bevy_mesh v0.15.3
[INFO] [stderr]   Downloaded bevy_sprite v0.15.3
[INFO] [stderr]   Downloaded naga_oil v0.16.0
[INFO] [stderr]   Downloaded bevy_ui v0.15.3
[INFO] [stderr]   Downloaded bevy_asset v0.15.3
[INFO] [stderr]   Downloaded taffy v0.5.2
[INFO] [stderr]   Downloaded serde_json v1.0.146
[INFO] [stderr]   Downloaded portable-atomic v1.12.0
[INFO] [stderr]   Downloaded web-sys v0.3.83
[INFO] [stderr]   Downloaded bevy_render v0.15.3
[INFO] [stderr]   Downloaded bevy_ecs v0.15.4
[INFO] [stderr]   Downloaded glam v0.29.3
[INFO] [stderr]   Downloaded bevy_pbr v0.15.3
[INFO] [stderr]   Downloaded bevy v0.15.3
[INFO] [stderr]   Downloaded bevy_core_pipeline v0.15.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599
[INFO] running `Command { std: "docker" "start" "4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599" "/opt/rustwide/cargo-home/bin/cargo" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599" "/opt/rustwide/cargo-home/bin/cargo" "+f10db292a3733b5c67c8da8c7661195ff4b05774" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling erased-serde v0.4.9
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]    Compiling uuid v1.12.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking disqualified v1.0.0
[INFO] [stderr]     Checking bevy_ptr v0.15.3
[INFO] [stderr]     Checking nix v0.30.1
[INFO] [stderr]     Checking async-executor v1.13.3
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking bevy_tasks v0.15.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling naga v23.1.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking ctrlc v3.5.1
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling cc v1.2.50
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]    Compiling wgpu-hal v23.0.1
[INFO] [stderr]     Checking wgpu-types v23.0.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]    Compiling wgpu-core v23.0.1
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking stackfuture v0.3.1
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]    Compiling wgpu v23.0.1
[INFO] [stderr]     Checking atomicow v1.1.0
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]     Checking ruzstd v0.7.3
[INFO] [stderr]    Compiling bevy_macro_utils v0.15.3
[INFO] [stderr]    Compiling encase_derive_impl v0.10.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking sysinfo v0.32.1
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]    Compiling serde_json v1.0.146
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking alsa-sys v0.3.1
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking yazi v0.1.6
[INFO] [stderr]     Checking unicode-ccc v0.2.0
[INFO] [stderr]     Checking ryu v1.0.21
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking zeno v0.2.3
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.2.0
[INFO] [stderr]     Checking itoa v1.0.16
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking libudev-sys v0.1.4
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking self_cell v1.2.1
[INFO] [stderr]    Compiling gilrs v0.11.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking grid v0.14.0
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking taffy v0.5.2
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking fontdb v0.16.2
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking noise v0.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.15.3
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling bevy_reflect_derive v0.15.3
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]    Compiling bevy_ecs_macros v0.15.3
[INFO] [stderr]    Compiling bevy_derive v0.15.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bevy_asset_macros v0.15.3
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling encase_derive v0.10.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]    Compiling bevy_render_macros v0.15.3
[INFO] [stderr]    Compiling bevy_encase_derive v0.15.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking font-types v0.7.3
[INFO] [stderr]     Checking read-fonts v0.22.7
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking rustybuzz v0.14.1
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.15.3
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking rodio v0.19.0
[INFO] [stderr]    Compiling bevy_state_macros v0.15.3
[INFO] [stderr]     Checking glam v0.29.3
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking bevy_utils v0.15.3
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking naga_oil v0.16.0
[INFO] [stderr]     Checking skrifa v0.22.3
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking gilrs-core v0.6.6
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking bevy_reflect v0.15.3
[INFO] [stderr]     Checking encase v0.10.0
[INFO] [stderr]     Checking bevy_mikktspace v0.15.3
[INFO] [stderr]     Checking hexasphere v15.1.0
[INFO] [stderr]     Checking swash v0.1.19
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking cosmic-text v0.12.1
[INFO] [stderr]     Checking bevy_ecs v0.15.4
[INFO] [stderr]     Checking bevy_math v0.15.3
[INFO] [stderr]     Checking bevy_color v0.15.4
[INFO] [stderr]     Checking bevy_app v0.15.3
[INFO] [stderr]     Checking bevy_core v0.15.3
[INFO] [stderr]     Checking bevy_asset v0.15.3
[INFO] [stderr]     Checking bevy_a11y v0.15.3
[INFO] [stderr]     Checking bevy_time v0.15.3
[INFO] [stderr]     Checking bevy_log v0.15.3
[INFO] [stderr]     Checking bevy_hierarchy v0.15.3
[INFO] [stderr]     Checking bevy_input v0.15.3
[INFO] [stderr]     Checking bevy_diagnostic v0.15.3
[INFO] [stderr]     Checking bevy_transform v0.15.3
[INFO] [stderr]     Checking bevy_state v0.15.3
[INFO] [stderr]     Checking bevy_window v0.15.3
[INFO] [stderr]     Checking bevy_gilrs v0.15.3
[INFO] [stderr]     Checking bevy_image v0.15.3
[INFO] [stderr]     Checking bevy_audio v0.15.3
[INFO] [stderr]     Checking bevy_mesh v0.15.3
[INFO] [stderr]     Checking bevy_winit v0.15.3
[INFO] [stderr]     Checking bevy_render v0.15.3
[INFO] [stderr]     Checking bevy_core_pipeline v0.15.3
[INFO] [stderr]     Checking bevy_picking v0.15.3
[INFO] [stderr]     Checking bevy_scene v0.15.3
[INFO] [stderr]     Checking bevy_animation v0.15.3
[INFO] [stderr]     Checking bevy_sprite v0.15.3
[INFO] [stderr]     Checking bevy_pbr v0.15.3
[INFO] [stderr]     Checking bevy_text v0.15.3
[INFO] [stderr]     Checking bevy_ui v0.15.3
[INFO] [stderr]     Checking bevy_gizmos v0.15.3
[INFO] [stderr]     Checking bevy_gltf v0.15.3
[INFO] [stderr]     Checking bevy_internal v0.15.3
[INFO] [stderr]     Checking bevy v0.15.3
[INFO] [stderr]     Checking bevy_ecs_tilemap v0.15.0
[INFO] [stderr]     Checking bloodtide v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `GameData`
[INFO] [stdout]  --> src/systems/ai.rs:9:60
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{CreatureSpatialGrid, DebugSettings, GameData};
[INFO] [stdout]   |                                                            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DETAIL_SIZE` and `DetailCategory`
[INFO] [stdout]   --> src/systems/tilemap.rs:9:30
[INFO] [stdout]    |
[INFO] [stdout]  9 |     BiomeType, ChunkManager, DetailCategory, DetailOverlay, GroundChunk,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     TilemapAssets, CHUNK_SIZE, DETAIL_SIZE, DETAIL_Z, GROUND_Z, TILE_SIZE,
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameData`
[INFO] [stdout]   --> src/main.rs:11:168
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...Grid, DeathSprites, PlayerSprites, DebugSettings, Director, GameData, GameState, GameOverState, GamePhase, PlayerDeck, DeckBuilde...
[INFO] [stdout]    |                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameData`
[INFO] [stdout]  --> src/systems/ai.rs:9:60
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{CreatureSpatialGrid, DebugSettings, GameData};
[INFO] [stdout]   |                                                            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DETAIL_SIZE` and `DetailCategory`
[INFO] [stdout]   --> src/systems/tilemap.rs:9:30
[INFO] [stdout]    |
[INFO] [stdout]  9 |     BiomeType, ChunkManager, DetailCategory, DetailOverlay, GroundChunk,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     TilemapAssets, CHUNK_SIZE, DETAIL_SIZE, DETAIL_Z, GROUND_Z, TILE_SIZE,
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameData`
[INFO] [stdout]   --> src/main.rs:11:168
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...Grid, DeathSprites, PlayerSprites, DebugSettings, Director, GameData, GameState, GameOverState, GamePhase, PlayerDeck, DeckBuilde...
[INFO] [stdout]    |                                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 resolution: (1920.0, 1080.0).into(),
[INFO] [stdout]    |                              ^^^^^^ help: explicitly specify the type as `f32`: `1920.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:89:38
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 resolution: (1920.0, 1080.0).into(),
[INFO] [stdout]    |                                      ^^^^^^ help: explicitly specify the type as `f32`: `1080.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/ai.rs:711:9
[INFO] [stdout]     |
[INFO] [stdout] 711 |     for mut velocity in enemy_query.iter_mut() {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/combat.rs:488:79
[INFO] [stdout]     |
[INFO] [stdout] 488 |     for (projectile_entity, mut projectile, projectile_transform, mut sprite, mut velocity, mut visibility, is_pooled) in projectil...
[INFO] [stdout]     |                                                                               ----^^^^^^^^
[INFO] [stdout]     |                                                                               |
[INFO] [stdout]     |                                                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/systems/combat.rs:488:79
[INFO] [stdout]     |
[INFO] [stdout] 488 | ...ransform, mut sprite, mut velocity, mut visibility, is_pooled) in projectile_query.iter_mut() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]     --> src/systems/combat.rs:1048:5
[INFO] [stdout]      |
[INFO] [stdout] 1048 |     time: Res<Time>,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 resolution: (1920.0, 1080.0).into(),
[INFO] [stdout]    |                              ^^^^^^ help: explicitly specify the type as `f32`: `1920.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:89:38
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 resolution: (1920.0, 1080.0).into(),
[INFO] [stdout]    |                                      ^^^^^^ help: explicitly specify the type as `f32`: `1080.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boss_stats`
[INFO] [stdout]     --> src/systems/combat.rs:1412:39
[INFO] [stdout]      |
[INFO] [stdout] 1412 |     for (boss_entity, boss_transform, boss_stats, mut slam, mut attack_state, berserker) in boss_query.iter_mut() {
[INFO] [stdout]      |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boss_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack_multiplier`
[INFO] [stdout]     --> src/systems/combat.rs:1425:17
[INFO] [stdout]      |
[INFO] [stdout] 1425 |             let attack_multiplier = if berserker.is_some() { 2.0 } else { 1.0 }; // 2x attack speed in berserker
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack_multiplier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_entity`
[INFO] [stdout]     --> src/systems/combat.rs:1453:18
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             for (enemy_entity, enemy_transform, mut enemy_stats) in enemy_query.iter_mut() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `creature_entity`
[INFO] [stdout]   --> src/systems/creature_xp.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |         if let Ok((creature_entity, mut stats, mut attack_range, transform)) = creature_query.get_mut(credit.creature_entity) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_creature_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/leveling.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     mut card_roll_state: ResMut<CardRollState>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card_roll_state`
[INFO] [stdout]   --> src/systems/leveling.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     mut card_roll_state: ResMut<CardRollState>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_roll_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_query`
[INFO] [stdout]   --> src/systems/tilemap.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     chunk_query: Query<Entity, With<GroundChunk>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_query`
[INFO] [stdout]   --> src/systems/tooltips.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     target_query: Query<(Entity, &Node, &GlobalTransform, &TooltipTarget)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug_settings`
[INFO] [stdout]    --> src/systems/tooltips.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     debug_settings: Res<DebugSettings>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evolution_state`
[INFO] [stdout]    --> src/systems/ui_panels.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     evolution_state: Res<EvolutionReadyState>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_evolution_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/systems/ui_panels.rs:997:18
[INFO] [stdout]     |
[INFO] [stdout] 997 |             for (i, &threshold) in thresholds.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/ai.rs:711:9
[INFO] [stdout]     |
[INFO] [stdout] 711 |     for mut velocity in enemy_query.iter_mut() {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/combat.rs:488:79
[INFO] [stdout]     |
[INFO] [stdout] 488 |     for (projectile_entity, mut projectile, projectile_transform, mut sprite, mut velocity, mut visibility, is_pooled) in projectil...
[INFO] [stdout]     |                                                                               ----^^^^^^^^
[INFO] [stdout]     |                                                                               |
[INFO] [stdout]     |                                                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/systems/combat.rs:488:79
[INFO] [stdout]     |
[INFO] [stdout] 488 | ...ransform, mut sprite, mut velocity, mut visibility, is_pooled) in projectile_query.iter_mut() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]     --> src/systems/combat.rs:1048:5
[INFO] [stdout]      |
[INFO] [stdout] 1048 |     time: Res<Time>,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boss_stats`
[INFO] [stdout]     --> src/systems/combat.rs:1412:39
[INFO] [stdout]      |
[INFO] [stdout] 1412 |     for (boss_entity, boss_transform, boss_stats, mut slam, mut attack_state, berserker) in boss_query.iter_mut() {
[INFO] [stdout]      |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boss_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack_multiplier`
[INFO] [stdout]     --> src/systems/combat.rs:1425:17
[INFO] [stdout]      |
[INFO] [stdout] 1425 |             let attack_multiplier = if berserker.is_some() { 2.0 } else { 1.0 }; // 2x attack speed in berserker
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack_multiplier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_entity`
[INFO] [stdout]     --> src/systems/combat.rs:1453:18
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             for (enemy_entity, enemy_transform, mut enemy_stats) in enemy_query.iter_mut() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `creature_entity`
[INFO] [stdout]   --> src/systems/creature_xp.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |         if let Ok((creature_entity, mut stats, mut attack_range, transform)) = creature_query.get_mut(credit.creature_entity) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_creature_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_hp` is never read
[INFO] [stdout]    --> src/components/creature.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct CreatureStats {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub base_hp: f64,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreatureStats` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enemy_type` is never read
[INFO] [stdout]   --> src/components/death_animation.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct DeathAnimation {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub enemy_type: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variant` is never read
[INFO] [stdout]   --> src/components/death_animation.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct BloodSplatter {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub variant: usize,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `start_dying` is never used
[INFO] [stdout]   --> src/components/enemy.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl SpriteAnimation {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn start_dying(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `enemy_class`, `enemy_type`, and `attack_speed` are never read
[INFO] [stdout]    --> src/components/enemy.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct EnemyStats {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 119 |     pub id: String,
[INFO] [stdout] 120 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 121 |     pub enemy_class: EnemyClass,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 122 |     pub enemy_type: EnemyType,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub attack_speed: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnemyStats` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Dying` is never constructed
[INFO] [stdout]    --> src/components/enemy.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub enum GoblinKingAnimState {
[INFO] [stdout]     |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 357 |     Dying,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GoblinKingAnimState` 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: methods `start_dying` and `advance_death_frame` are never used
[INFO] [stdout]    --> src/components/enemy.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl GoblinKingAnimation {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub fn start_dying(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn advance_death_frame(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/components/player.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Velocity {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(x: f32, y: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `evolves_from`, `abilities`, `respawn_time`, and `description` are never read
[INFO] [stdout]   --> src/data/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Creature {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub evolves_from: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub abilities: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 28 |     pub respawn_time: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Creature` 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 `evolves_from`, `evolves_into`, `passive_effect`, and `description` are never read
[INFO] [stdout]   --> src/data/mod.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Weapon {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub evolves_from: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub evolves_into: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub evolution_recipe: Vec<String>,
[INFO] [stdout] 82 |     pub passive_effect: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 83 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Weapon` 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 `crit_damage_bonus` and `special_effect` are never read
[INFO] [stdout]    --> src/data/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct Artifact {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub crit_damage_bonus: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 114 |     pub special_effect: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Artifact` 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: multiple fields are never read
[INFO] [stdout]    --> src/data/mod.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct Enemy {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub color_resist: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 134 |     pub color_weak: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub ai_type: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 141 |     pub targets_creatures: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 |     pub min_wave: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 143 |     pub spawn_weight: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 144 |     pub group_size_min: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     pub group_size_max: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub xp_value: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 147 |     pub phases: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 148 |     pub description: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Enemy` 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 `overflow_bonus_per_point` is never read
[INFO] [stdout]    --> src/data/mod.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct AffinityColor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 174 |     pub color: String,
[INFO] [stdout] 175 |     pub overflow_bonus_per_point: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AffinityColor` 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 `tier_value` is never used
[INFO] [stdout]   --> src/math/crit.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl CritTier {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 20 |     /// Returns a numeric value for ordering (higher = better)
[INFO] [stdout] 21 |     pub fn tier_value(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_damage` is never read
[INFO] [stdout]   --> src/math/crit.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct CritResult {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub base_damage: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CritResult` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_crit` is never used
[INFO] [stdout]   --> src/math/crit.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl CritResult {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn is_crit(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/resources/affinity.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AffinityState {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `attack_speed_bonus`, `hp_bonus`, and `special` are never read
[INFO] [stdout]   --> src/resources/affinity.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct AffinityBonus {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 62 |     pub damage_bonus: f64,
[INFO] [stdout] 63 |     pub attack_speed_bonus: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 64 |     pub hp_bonus: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub special: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AffinityBonus` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/resources/artifact_buffs.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ArtifactBuffs {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 46 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `menu_slide_progress` is never read
[INFO] [stdout]   --> src/resources/debug_settings.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct DebugSettings {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub menu_slide_progress: f32, // 0.0 = closed, 1.0 = fully open
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_menu_open` is never used
[INFO] [stdout]    --> src/resources/debug_settings.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl DebugSettings {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn is_menu_open(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `PROJECTILE_SPEED` and `ATTACK_SPEED` are never used
[INFO] [stdout]    --> src/resources/debug_settings.rs:153:15
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl SliderRange {
[INFO] [stdout]     | ---------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub const PROJECTILE_SPEED: SliderRange = SliderRange { min: 0.25, max: 3.0, step: 0.25 };
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 |     pub const ATTACK_SPEED: SliderRange = SliderRange { min: 0.1, max: 5.0, step: 0.1 };
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `creature`, `weapon`, and `artifact` are never used
[INFO] [stdout]   --> src/resources/deck.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl DeckCard {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 21 |     pub fn creature(id: &str, weight: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn weapon(id: &str, weight: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn artifact(id: &str, weight: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cards_by_type` is never used
[INFO] [stdout]    --> src/resources/deck_builder.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl DeckBuilderState {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn cards_by_type(&self, card_type: CardType) -> Vec<&DeckBuilderCard> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_damage` is never used
[INFO] [stdout]    --> src/resources/director.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Director {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn record_damage(&mut self, damage: f64, timestamp: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_next_level_threshold_legacy` is never used
[INFO] [stdout]   --> src/resources/game_state.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn calculate_next_level_threshold_legacy(current_threshold: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_advance_wave` is never used
[INFO] [stdout]   --> src/resources/game_state.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn should_advance_wave(kills_at_wave_start: u32, total_kills: u32, kills_per_wave: u32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_available`, `available_count`, and `active_count` are never used
[INFO] [stdout]   --> src/resources/pools.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ProjectilePool {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn has_available(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn available_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn active_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_available`, `available_count`, and `active_count` are never used
[INFO] [stdout]    --> src/resources/pools.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl DamageNumberPool {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn has_available(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn available_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn active_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_nearby_entities` is never used
[INFO] [stdout]   --> src/resources/spatial.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl CreatureSpatialGrid {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_nearby_entities(&self, pos: Vec2) -> Vec<Entity> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_entities_in_cell`, `get_nearby_entities`, `cell_count`, and `entity_count` are never used
[INFO] [stdout]    --> src/resources/spatial.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl SpatialGrid {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn get_entities_in_cell(&self, cell: (i32, i32)) -> &[Entity] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_nearby_entities(&self, pos: Vec2) -> Vec<Entity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn cell_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn entity_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DETAIL_SIZE` is never used
[INFO] [stdout]   --> src/resources/tilemap.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DETAIL_SIZE: f32 = 16.0;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chunk_coords` is never read
[INFO] [stdout]    --> src/resources/tilemap.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct GroundChunk {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 116 |     pub chunk_coords: (i32, i32),
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ground_atlas` is never read
[INFO] [stdout]    --> src/resources/tilemap.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct TilemapAssets {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 128 |     pub ground_tileset: Handle<Image>,
[INFO] [stdout] 129 |     pub ground_atlas: Handle<TextureAtlasLayout>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CREATURE_FOLLOW_DISTANCE` is never used
[INFO] [stdout]   --> src/systems/ai.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const CREATURE_FOLLOW_DISTANCE: f32 = 100.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `creature_follow_system` is never used
[INFO] [stdout]   --> src/systems/ai.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn creature_follow_system(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exclude_boss_from_chase_system` is never used
[INFO] [stdout]    --> src/systems/ai.rs:706:8
[INFO] [stdout]     |
[INFO] [stdout] 706 | pub fn exclude_boss_from_chase_system(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEAPON_PROJECTILE_SIZE` is never used
[INFO] [stdout]   --> src/systems/combat.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const WEAPON_PROJECTILE_SIZE: f32 = 6.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingExplosion` is never constructed
[INFO] [stdout]    --> src/systems/combat.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub struct PendingExplosion {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingChain` is never constructed
[INFO] [stdout]    --> src/systems/combat.rs:445:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub struct PendingChain {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEAPON_PROJECTILE_COLOR` is never used
[INFO] [stdout]     --> src/systems/combat.rs:1141:7
[INFO] [stdout]      |
[INFO] [stdout] 1141 | const WEAPON_PROJECTILE_COLOR: Color = Color::srgb(0.9, 0.9, 0.95);
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOSS_SLAM_WINDUP` is never used
[INFO] [stdout]     --> src/systems/combat.rs:1385:11
[INFO] [stdout]      |
[INFO] [stdout] 1385 | pub const BOSS_SLAM_WINDUP: f32 = 0.6;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tier` and `position` are never read
[INFO] [stdout]    --> src/systems/death.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct RespawnEntry {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout]  99 |     pub creature_id: String,
[INFO] [stdout] 100 |     pub tier: u8,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 101 |     pub timer: Timer,
[INFO] [stdout] 102 |     pub position: Vec3,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RespawnEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLIDER_HANDLE` is never used
[INFO] [stdout]   --> src/systems/debug_menu.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const SLIDER_HANDLE: Color = Color::srgb(0.9, 0.9, 0.95);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SliderHandle` is never constructed
[INFO] [stdout]   --> src/systems/debug_menu.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct SliderHandle {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SliderButton` is never constructed
[INFO] [stdout]   --> src/systems/debug_menu.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct SliderButton {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUTTON_HOVER` is never used
[INFO] [stdout]   --> src/systems/deck_builder_ui.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const BUTTON_HOVER: Color = Color::srgb(0.23, 0.23, 0.37);
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `card_id` is never read
[INFO] [stdout]   --> src/systems/deck_builder_ui.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct DeckCardRow {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 67 |     pub card_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `card_id` is never read
[INFO] [stdout]    --> src/systems/deck_builder_ui.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct ProbabilityBarFill {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 101 |     pub card_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `card_id` is never read
[INFO] [stdout]    --> src/systems/deck_builder_ui.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct PercentageText {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 107 |     pub card_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]   --> src/systems/leveling.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LevelUpText {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 51 |     pub timer: Timer,
[INFO] [stdout] 52 |     pub level: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_milestone` is never read
[INFO] [stdout]   --> src/systems/leveling.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct PendingCardRoll {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub is_milestone: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingCardRoll` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ENEMIES` is never used
[INFO] [stdout]   --> src/systems/spawning.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MAX_ENEMIES: u32 = 2000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_enemy` is never used
[INFO] [stdout]    --> src/systems/spawning.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub fn spawn_enemy(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Text` is never constructed
[INFO] [stdout]   --> src/systems/tooltips.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum TooltipContent {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Text(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TooltipContent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_stat_line` is never used
[INFO] [stdout]    --> src/systems/tooltips.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn format_stat_line(label: &str, value: f64, suffix: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CREATURE_ROW_HEIGHT` is never used
[INFO] [stdout]   --> src/systems/ui_panels.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CREATURE_ROW_HEIGHT: f32 = 50.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POPUP_HEIGHT` is never used
[INFO] [stdout]   --> src/systems/ui_panels.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const POPUP_HEIGHT: f32 = 150.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `weapon_entity` is never read
[INFO] [stdout]   --> src/systems/ui_panels.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct WeaponListItem {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 76 |     pub weapon_entity: Entity,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `card_name`, `card_type`, and `tier` are never read
[INFO] [stdout]   --> src/systems/ui_panels.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct CardRollPopup {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 86 |     pub timer: Timer,
[INFO] [stdout] 87 |     pub card_name: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 88 |     pub card_type: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 89 |     pub tier: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wave_number` is never read
[INFO] [stdout]   --> src/systems/ui_panels.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct WaveAnnouncement {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 95 |     pub timer: Timer,
[INFO] [stdout] 96 |     pub wave_number: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `count` is never read
[INFO] [stdout]    --> src/systems/ui_panels.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | struct EvolutionInfo {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 163 |     count: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `recent_positions` is never read
[INFO] [stdout]     --> src/systems/ui_panels.rs:1207:9
[INFO] [stdout]      |
[INFO] [stdout] 1206 | pub struct DamageNumberOffsets {
[INFO] [stdout]      |            ------------------- field in this struct
[INFO] [stdout] 1207 |     pub recent_positions: Vec<(Vec2, f32)>, // (position, spawn_time)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_damage_number_offset` is never used
[INFO] [stdout]     --> src/systems/ui_panels.rs:1211:8
[INFO] [stdout]      |
[INFO] [stdout] 1211 | pub fn calculate_damage_number_offset(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/leveling.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     mut card_roll_state: ResMut<CardRollState>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card_roll_state`
[INFO] [stdout]   --> src/systems/leveling.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     mut card_roll_state: ResMut<CardRollState>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_roll_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_query`
[INFO] [stdout]   --> src/systems/tilemap.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     chunk_query: Query<Entity, With<GroundChunk>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_query`
[INFO] [stdout]   --> src/systems/tooltips.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     target_query: Query<(Entity, &Node, &GlobalTransform, &TooltipTarget)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug_settings`
[INFO] [stdout]    --> src/systems/tooltips.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     debug_settings: Res<DebugSettings>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evolution_state`
[INFO] [stdout]    --> src/systems/ui_panels.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     evolution_state: Res<EvolutionReadyState>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_evolution_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/systems/ui_panels.rs:997:18
[INFO] [stdout]     |
[INFO] [stdout] 997 |             for (i, &threshold) in thresholds.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enemy_type` is never read
[INFO] [stdout]   --> src/components/death_animation.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct DeathAnimation {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub enemy_type: String,
[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 `variant` is never read
[INFO] [stdout]   --> src/components/death_animation.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct BloodSplatter {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub variant: usize,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `start_dying` is never used
[INFO] [stdout]   --> src/components/enemy.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl SpriteAnimation {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn start_dying(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Dying` is never constructed
[INFO] [stdout]    --> src/components/enemy.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub enum GoblinKingAnimState {
[INFO] [stdout]     |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 357 |     Dying,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GoblinKingAnimState` 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: methods `start_dying` and `advance_death_frame` are never used
[INFO] [stdout]    --> src/components/enemy.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl GoblinKingAnimation {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub fn start_dying(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn advance_death_frame(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/components/player.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Velocity {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(x: f32, y: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `evolves_from`, `abilities`, `respawn_time`, and `description` are never read
[INFO] [stdout]   --> src/data/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Creature {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub evolves_from: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub abilities: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 28 |     pub respawn_time: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Creature` 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 `evolves_from`, `evolves_into`, `passive_effect`, and `description` are never read
[INFO] [stdout]   --> src/data/mod.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Weapon {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub evolves_from: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub evolves_into: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub evolution_recipe: Vec<String>,
[INFO] [stdout] 82 |     pub passive_effect: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 83 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Weapon` 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 `crit_damage_bonus` and `special_effect` are never read
[INFO] [stdout]    --> src/data/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct Artifact {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub crit_damage_bonus: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 114 |     pub special_effect: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Artifact` 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: multiple fields are never read
[INFO] [stdout]    --> src/data/mod.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct Enemy {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub color_resist: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 134 |     pub color_weak: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub ai_type: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 141 |     pub targets_creatures: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 |     pub min_wave: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 143 |     pub spawn_weight: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 144 |     pub group_size_min: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     pub group_size_max: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub xp_value: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 147 |     pub phases: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 148 |     pub description: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Enemy` 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 `overflow_bonus_per_point` is never read
[INFO] [stdout]    --> src/data/mod.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct AffinityColor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 174 |     pub color: String,
[INFO] [stdout] 175 |     pub overflow_bonus_per_point: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AffinityColor` 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 function `new` is never used
[INFO] [stdout]   --> src/resources/affinity.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AffinityState {
[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/resources/artifact_buffs.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ArtifactBuffs {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 46 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `menu_slide_progress` is never read
[INFO] [stdout]   --> src/resources/debug_settings.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct DebugSettings {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub menu_slide_progress: f32, // 0.0 = closed, 1.0 = fully open
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cards_by_type` is never used
[INFO] [stdout]    --> src/resources/deck_builder.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl DeckBuilderState {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn cards_by_type(&self, card_type: CardType) -> Vec<&DeckBuilderCard> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_damage` is never used
[INFO] [stdout]    --> src/resources/director.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Director {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn record_damage(&mut self, damage: f64, timestamp: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_available` is never used
[INFO] [stdout]   --> src/resources/pools.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ProjectilePool {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn has_available(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `available_count` and `active_count` are never used
[INFO] [stdout]    --> src/resources/pools.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl DamageNumberPool {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn available_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn active_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_nearby_entities` is never used
[INFO] [stdout]   --> src/resources/spatial.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl CreatureSpatialGrid {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_nearby_entities(&self, pos: Vec2) -> Vec<Entity> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DETAIL_SIZE` is never used
[INFO] [stdout]   --> src/resources/tilemap.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DETAIL_SIZE: f32 = 16.0;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chunk_coords` is never read
[INFO] [stdout]    --> src/resources/tilemap.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct GroundChunk {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 116 |     pub chunk_coords: (i32, i32),
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ground_atlas` is never read
[INFO] [stdout]    --> src/resources/tilemap.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct TilemapAssets {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 128 |     pub ground_tileset: Handle<Image>,
[INFO] [stdout] 129 |     pub ground_atlas: Handle<TextureAtlasLayout>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CREATURE_FOLLOW_DISTANCE` is never used
[INFO] [stdout]   --> src/systems/ai.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const CREATURE_FOLLOW_DISTANCE: f32 = 100.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `creature_follow_system` is never used
[INFO] [stdout]   --> src/systems/ai.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn creature_follow_system(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exclude_boss_from_chase_system` is never used
[INFO] [stdout]    --> src/systems/ai.rs:706:8
[INFO] [stdout]     |
[INFO] [stdout] 706 | pub fn exclude_boss_from_chase_system(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEAPON_PROJECTILE_SIZE` is never used
[INFO] [stdout]   --> src/systems/combat.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const WEAPON_PROJECTILE_SIZE: f32 = 6.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingExplosion` is never constructed
[INFO] [stdout]    --> src/systems/combat.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub struct PendingExplosion {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingChain` is never constructed
[INFO] [stdout]    --> src/systems/combat.rs:445:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub struct PendingChain {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEAPON_PROJECTILE_COLOR` is never used
[INFO] [stdout]     --> src/systems/combat.rs:1141:7
[INFO] [stdout]      |
[INFO] [stdout] 1141 | const WEAPON_PROJECTILE_COLOR: Color = Color::srgb(0.9, 0.9, 0.95);
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOSS_SLAM_WINDUP` is never used
[INFO] [stdout]     --> src/systems/combat.rs:1385:11
[INFO] [stdout]      |
[INFO] [stdout] 1385 | pub const BOSS_SLAM_WINDUP: f32 = 0.6;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLIDER_HANDLE` is never used
[INFO] [stdout]   --> src/systems/debug_menu.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const SLIDER_HANDLE: Color = Color::srgb(0.9, 0.9, 0.95);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SliderHandle` is never constructed
[INFO] [stdout]   --> src/systems/debug_menu.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct SliderHandle {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SliderButton` is never constructed
[INFO] [stdout]   --> src/systems/debug_menu.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct SliderButton {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUTTON_HOVER` is never used
[INFO] [stdout]   --> src/systems/deck_builder_ui.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const BUTTON_HOVER: Color = Color::srgb(0.23, 0.23, 0.37);
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `card_id` is never read
[INFO] [stdout]   --> src/systems/deck_builder_ui.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct DeckCardRow {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 67 |     pub card_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `card_id` is never read
[INFO] [stdout]    --> src/systems/deck_builder_ui.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct ProbabilityBarFill {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 101 |     pub card_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `card_id` is never read
[INFO] [stdout]    --> src/systems/deck_builder_ui.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct PercentageText {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 107 |     pub card_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]   --> src/systems/leveling.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LevelUpText {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 51 |     pub timer: Timer,
[INFO] [stdout] 52 |     pub level: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_milestone` is never read
[INFO] [stdout]   --> src/systems/leveling.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct PendingCardRoll {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub is_milestone: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingCardRoll` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ENEMIES` is never used
[INFO] [stdout]   --> src/systems/spawning.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MAX_ENEMIES: u32 = 2000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_enemy` is never used
[INFO] [stdout]    --> src/systems/spawning.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub fn spawn_enemy(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Text` is never constructed
[INFO] [stdout]   --> src/systems/tooltips.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum TooltipContent {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Text(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TooltipContent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CREATURE_ROW_HEIGHT` is never used
[INFO] [stdout]   --> src/systems/ui_panels.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CREATURE_ROW_HEIGHT: f32 = 50.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POPUP_HEIGHT` is never used
[INFO] [stdout]   --> src/systems/ui_panels.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const POPUP_HEIGHT: f32 = 150.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `weapon_entity` is never read
[INFO] [stdout]   --> src/systems/ui_panels.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct WeaponListItem {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 76 |     pub weapon_entity: Entity,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `card_name`, `card_type`, and `tier` are never read
[INFO] [stdout]   --> src/systems/ui_panels.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct CardRollPopup {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 86 |     pub timer: Timer,
[INFO] [stdout] 87 |     pub card_name: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 88 |     pub card_type: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 89 |     pub tier: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wave_number` is never read
[INFO] [stdout]   --> src/systems/ui_panels.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct WaveAnnouncement {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 95 |     pub timer: Timer,
[INFO] [stdout] 96 |     pub wave_number: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `count` is never read
[INFO] [stdout]    --> src/systems/ui_panels.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | struct EvolutionInfo {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 163 |     count: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `recent_positions` is never read
[INFO] [stdout]     --> src/systems/ui_panels.rs:1207:9
[INFO] [stdout]      |
[INFO] [stdout] 1206 | pub struct DamageNumberOffsets {
[INFO] [stdout]      |            ------------------- field in this struct
[INFO] [stdout] 1207 |     pub recent_positions: Vec<(Vec2, f32)>, // (position, spawn_time)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_damage_number_offset` is never used
[INFO] [stdout]     --> src/systems/ui_panels.rs:1211:8
[INFO] [stdout]      |
[INFO] [stdout] 1211 | pub fn calculate_damage_number_offset(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 9m 09s
[INFO] running `Command { std: "docker" "inspect" "4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599", kill_on_drop: false }`
[INFO] [stdout] 4f303b6c8ff02001df1841f8d2ed8a372bd10735b7605f5346afd4d93397c599
