[INFO] cloning repository https://github.com/Matt1965/Chasma
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Matt1965/Chasma" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatt1965%2FChasma", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatt1965%2FChasma'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0e06871b22c7401f721ed4db2b64608944a8e77a
[INFO] checking Matt1965/Chasma against master#4cf5f9580233c36f6bc8db76e282ba8a1c1ea491 for pr-154585
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatt1965%2FChasma" "/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/Matt1965/Chasma
[INFO] finished tweaking git repo https://github.com/Matt1965/Chasma
[INFO] tweaked toml for git repo https://github.com/Matt1965/Chasma written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Matt1965/Chasma on toolchain 4cf5f9580233c36f6bc8db76e282ba8a1c1ea491
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4cf5f9580233c36f6bc8db76e282ba8a1c1ea491" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4cf5f9580233c36f6bc8db76e282ba8a1c1ea491" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 600 packages to latest compatible versions
[INFO] [stderr]       Adding bevy v0.16.1 (available: v0.18.1)
[INFO] [stderr]       Adding bevy_heightmap v0.4.1 (available: v0.7.0)
[INFO] [stderr]       Adding image v0.24.9 (available: v0.25.10)
[INFO] [stderr]       Adding ordered-float v5.0.0 (available: v5.3.0)
[INFO] [stderr]       Adding rand v0.9.2 (available: v0.10.0)
[INFO] [stderr]       Adding rand_chacha v0.9.0 (available: v0.10.0)
[INFO] [stderr]       Adding ron v0.8.1 (available: v0.12.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding wgpu v26.0.1 (available: v29.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4cf5f9580233c36f6bc8db76e282ba8a1c1ea491" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gilrs v0.11.1
[INFO] [stderr]   Downloaded wayland-sys v0.31.11
[INFO] [stderr]   Downloaded gilrs-core v0.6.7
[INFO] [stderr]   Downloaded wayland-cursor v0.31.14
[INFO] [stderr]   Downloaded font-types v0.11.2
[INFO] [stderr]   Downloaded wayland-client v0.31.14
[INFO] [stderr]   Downloaded wayland-protocols-wlr v0.3.12
[INFO] [stderr]   Downloaded wayland-protocols-plasma v0.3.12
[INFO] [stderr]   Downloaded wayland-backend v0.3.15
[INFO] [stderr]   Downloaded wayland-protocols v0.32.12
[INFO] [stderr]   Downloaded wayland-scanner v0.31.10
[INFO] [stderr]   Downloaded typewit v1.15.1
[INFO] [stderr]   Downloaded android-activity v0.6.1
[INFO] [stderr]   Downloaded blake3 v1.8.4
[INFO] [stderr]   Downloaded swash v0.2.7
[INFO] [stderr]   Downloaded bevy_heightmap v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+4cf5f9580233c36f6bc8db76e282ba8a1c1ea491" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e0fa6dd30612019ad17911af3a89ce22d95762cb5d210291a4953cd58961d43d
[INFO] running `Command { std: "docker" "start" "-a" "e0fa6dd30612019ad17911af3a89ce22d95762cb5d210291a4953cd58961d43d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0fa6dd30612019ad17911af3a89ce22d95762cb5d210291a4953cd58961d43d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0fa6dd30612019ad17911af3a89ce22d95762cb5d210291a4953cd58961d43d", kill_on_drop: false }`
[INFO] [stdout] e0fa6dd30612019ad17911af3a89ce22d95762cb5d210291a4953cd58961d43d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+4cf5f9580233c36f6bc8db76e282ba8a1c1ea491" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 901ea872c1f287dab9fc94b9a5a0b58412bf0ec5d3b0aa66ecc3e1eb788ffe23
[INFO] running `Command { std: "docker" "start" "-a" "901ea872c1f287dab9fc94b9a5a0b58412bf0ec5d3b0aa66ecc3e1eb788ffe23", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking indexmap v2.13.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking fastrand v2.4.0
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking downcast-rs v2.0.2
[INFO] [stderr]     Checking disqualified v1.0.0
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking bevy_ptr v0.16.1
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking bumpalo v3.20.2
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking typewit v1.15.1
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking const_panic v0.2.15
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]    Compiling blake3 v1.8.4
[INFO] [stderr]     Checking atomicow v1.1.0
[INFO] [stderr]     Checking stackfuture v0.3.1
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking euclid v0.22.14
[INFO] [stderr]    Compiling wgpu-hal v24.0.4
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking svg_fmt v0.4.5
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]     Checking ruzstd v0.8.2
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]    Compiling wgpu-core v24.0.5
[INFO] [stderr]     Checking rectangle-pack v0.4.2
[INFO] [stderr]     Checking const_soft_float v0.1.4
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]    Compiling wgpu v24.0.5
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking ctrlc v3.5.2
[INFO] [stderr]     Checking sysinfo v0.34.2
[INFO] [stderr]     Checking const-fnv1a-hash v1.1.0
[INFO] [stderr]     Checking offset-allocator v0.2.0
[INFO] [stderr]     Checking constgebra v0.1.4
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]     Checking radsort v0.1.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking unicode-script v0.5.8
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking yazi v0.2.1
[INFO] [stderr]     Checking unicode-ccc v0.2.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking zeno v0.3.3
[INFO] [stderr]     Checking fontconfig-parser v0.5.8
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.2.0
[INFO] [stderr]     Checking accesskit v0.18.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking inotify v0.11.1
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking rangemap v1.7.1
[INFO] [stderr]     Checking self_cell v1.2.2
[INFO] [stderr]    Compiling gilrs v0.11.1
[INFO] [stderr]     Checking fontdb v0.16.2
[INFO] [stderr]     Checking sys-locale v0.3.2
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking gilrs-core v0.6.7
[INFO] [stderr]     Checking grid v0.15.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking taffy v0.7.7
[INFO] [stderr]     Checking gif v0.13.3
[INFO] [stderr]    Compiling bevy_macro_utils v0.16.1
[INFO] [stderr]    Compiling encase_derive_impl v0.10.0
[INFO] [stderr]     Checking rodio v0.20.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]    Compiling bevy_reflect_derive v0.16.1
[INFO] [stderr]    Compiling variadics_please v1.1.0
[INFO] [stderr]    Compiling bevy_ecs_macros v0.16.1
[INFO] [stderr]    Compiling bevy_derive v0.16.1
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling encase_derive v0.10.0
[INFO] [stderr]    Compiling bevy_asset_macros v0.16.1
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling bevy_encase_derive v0.16.1
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling bevy_render_macros v0.16.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking font-types v0.11.2
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking rustybuzz v0.14.1
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking wgpu-types v26.0.0
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking av-scenechange v0.14.1
[INFO] [stderr]     Checking read-fonts v0.37.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling bevy_state_macros v0.16.1
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.16.1
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking rav1e v0.8.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking petgraph v0.7.1
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking bevy_platform v0.16.1
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking bevy_utils v0.16.1
[INFO] [stderr]     Checking bevy_tasks v0.16.1
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking naga v26.0.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking glam v0.29.3
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking skrifa v0.40.0
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking naga_oil v0.17.1
[INFO] [stderr]     Checking swash v0.2.7
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking bevy_reflect v0.16.1
[INFO] [stderr]     Checking encase v0.10.0
[INFO] [stderr]     Checking hexasphere v15.1.0
[INFO] [stderr]     Checking bevy_mikktspace v0.16.1
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking cosmic-text v0.13.2
[INFO] [stderr]     Checking wgpu-hal v26.0.6
[INFO] [stderr]     Checking accesskit_winit v0.25.0
[INFO] [stderr]     Checking bevy_ecs v0.16.1
[INFO] [stderr]     Checking bevy_math v0.16.1
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v26.0.0
[INFO] [stderr]     Checking wgpu-core v26.0.1
[INFO] [stderr]     Checking wgpu v26.0.1
[INFO] [stderr]     Checking bevy_color v0.16.2
[INFO] [stderr]     Checking bevy_app v0.16.1
[INFO] [stderr]     Checking bevy_input v0.16.1
[INFO] [stderr]     Checking bevy_asset v0.16.1
[INFO] [stderr]     Checking bevy_log v0.16.1
[INFO] [stderr]     Checking bevy_time v0.16.1
[INFO] [stderr]     Checking bevy_a11y v0.16.1
[INFO] [stderr]     Checking bevy_state v0.16.1
[INFO] [stderr]     Checking bevy_transform v0.16.1
[INFO] [stderr]     Checking bevy_diagnostic v0.16.1
[INFO] [stderr]     Checking bevy_window v0.16.1
[INFO] [stderr]     Checking bevy_gilrs v0.16.1
[INFO] [stderr]     Checking bevy_image v0.16.1
[INFO] [stderr]     Checking bevy_audio v0.16.1
[INFO] [stderr]     Checking bevy_input_focus v0.16.1
[INFO] [stderr]     Checking bevy_mesh v0.16.1
[INFO] [stderr]     Checking bevy_winit v0.16.1
[INFO] [stderr]     Checking bevy_render v0.16.1
[INFO] [stderr]     Checking bevy_core_pipeline v0.16.1
[INFO] [stderr]     Checking bevy_picking v0.16.1
[INFO] [stderr]     Checking bevy_scene v0.16.1
[INFO] [stderr]     Checking bevy_animation v0.16.1
[INFO] [stderr]     Checking bevy_heightmap v0.4.1
[INFO] [stderr]     Checking bevy_sprite v0.16.1
[INFO] [stderr]     Checking bevy_pbr v0.16.1
[INFO] [stderr]     Checking bevy_text v0.16.1
[INFO] [stderr]     Checking bevy_ui v0.16.1
[INFO] [stderr]     Checking bevy_gizmos v0.16.1
[INFO] [stderr]     Checking bevy_gltf v0.16.1
[INFO] [stderr]     Checking bevy_internal v0.16.1
[INFO] [stderr]     Checking bevy v0.16.1
[INFO] [stderr]     Checking chasma v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `UVec2`
[INFO] [stdout]  --> src/terrain/chunking.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::math::{UVec2, Vec2, Vec3};
[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 import: `HashSet`
[INFO] [stdout]  --> src/terrain/chunking.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UVec2`
[INFO] [stdout]  --> src/terrain/chunking.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::math::{UVec2, Vec2, Vec3};
[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: `ChunkCoords`, `LocalOffset`, and `world_to_chunk_and_local`
[INFO] [stdout]   --> src/terrain/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use compat::{ChunkCoords, LocalOffset, world_to_chunk_and_local};
[INFO] [stdout]    |                  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitMovementTarget`
[INFO] [stdout]  --> src/units/commands.rs:2:73
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::units::components::{UnitSelected, OwnedByPlayer, PlayerUnit, UnitMovementTarget};
[INFO] [stdout]   |                                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/terrain/chunking.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::units::components::*`
[INFO] [stdout]  --> src/units/plugin.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::units::components::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MouseButtonInput` and `MouseWheel`
[INFO] [stdout]  --> src/units/selection.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::input::mouse::{MouseButtonInput, MouseWheel};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChunkCoords`, `LocalOffset`, and `world_to_chunk_and_local`
[INFO] [stdout]   --> src/terrain/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use compat::{ChunkCoords, LocalOffset, world_to_chunk_and_local};
[INFO] [stdout]    |                  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::units::components::PlayerUnit`
[INFO] [stdout]  --> src/units/selection.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::units::components::PlayerUnit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitMovementTarget`
[INFO] [stdout]  --> src/units/commands.rs:2:73
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::units::components::{UnitSelected, OwnedByPlayer, PlayerUnit, UnitMovementTarget};
[INFO] [stdout]   |                                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedByPlayer` and `UnitSelected`
[INFO] [stdout]  --> src/units/spawning.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::units::components::{OwnedByPlayer, PlayerUnit, UnitSelected, Unit};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::units::components::*`
[INFO] [stdout]  --> src/units/plugin.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::units::components::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SceneInstance`
[INFO] [stdout]  --> src/units/manifest.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::scene::{SceneInstance, SceneRoot};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::gltf::Gltf`
[INFO] [stdout]  --> src/units/manifest.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bevy::gltf::Gltf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MouseButtonInput` and `MouseWheel`
[INFO] [stdout]  --> src/units/selection.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::input::mouse::{MouseButtonInput, MouseWheel};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::units::components::PlayerUnit`
[INFO] [stdout]  --> src/units/selection.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::units::components::PlayerUnit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedByPlayer` and `UnitSelected`
[INFO] [stdout]  --> src/units/spawning.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::units::components::{OwnedByPlayer, PlayerUnit, UnitSelected, Unit};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SceneInstance`
[INFO] [stdout]  --> src/units/manifest.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::scene::{SceneInstance, SceneRoot};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::gltf::Gltf`
[INFO] [stdout]  --> src/units/manifest.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bevy::gltf::Gltf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlopeSampler`
[INFO] [stdout]  --> src/props/vegetation/systems.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::heightmap_data::{HeightSampler, SlopeSampler};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlopeSampler`
[INFO] [stdout]  --> src/props/vegetation/sampler.rs:5:91
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::heightmap_data::{HeightmapData, HeightTileCache, sample_height, HeightSampler, SlopeSampler};
[INFO] [stdout]   |                                                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/props/instancing/components.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChunkCoord` and `PropArchetypeId`
[INFO] [stdout]  --> src/props/instancing/systems.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::props::core::{ChunkCoord, PropArchetypeId};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/props/instancing/async_spawn.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlopeSampler`
[INFO] [stdout]  --> src/props/vegetation/systems.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::heightmap_data::{HeightSampler, SlopeSampler};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderRef`
[INFO] [stdout]   --> src/props/instancing/async_spawn.rs:10:45
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::props::registry::{PropsRegistry, RenderRef};
[INFO] [stdout]    |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlopeSampler`
[INFO] [stdout]  --> src/props/vegetation/sampler.rs:5:91
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::heightmap_data::{HeightmapData, HeightTileCache, sample_height, HeightSampler, SlopeSampler};
[INFO] [stdout]   |                                                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeightSampler` and `SlopeSampler`
[INFO] [stdout]   --> src/props/instancing/async_spawn.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::heightmap_data::{HeightSampler, SlopeSampler, HeightmapData, HeightTileCache, TerrainSampleAdapter};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BatchStats` and `InstanceBatch`
[INFO] [stdout]   --> src/props/instancing/mod.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use components::{InstanceBatch, BatchStats};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/props/instancing/components.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChunkCoord` and `PropArchetypeId`
[INFO] [stdout]  --> src/props/instancing/systems.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::props::core::{ChunkCoord, PropArchetypeId};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heightmap_data::sample_height`
[INFO] [stdout]  --> src/inputs/components.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::heightmap_data::sample_height;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/props/instancing/async_spawn.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderRef`
[INFO] [stdout]   --> src/props/instancing/async_spawn.rs:10:45
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::props::registry::{PropsRegistry, RenderRef};
[INFO] [stdout]    |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeightSampler` and `SlopeSampler`
[INFO] [stdout]   --> src/props/instancing/async_spawn.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::heightmap_data::{HeightSampler, SlopeSampler, HeightmapData, HeightTileCache, TerrainSampleAdapter};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BatchStats` and `InstanceBatch`
[INFO] [stdout]   --> src/props/instancing/mod.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use components::{InstanceBatch, BatchStats};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heightmap_data::sample_height`
[INFO] [stdout]  --> src/inputs/components.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::heightmap_data::sample_height;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bevy::prelude::EventWriter::<'w, E>::send`: Use `EventWriter::write` instead.
[INFO] [stdout]    --> src/terrain/async_chunk_loader.rs:228:27
[INFO] [stdout]     |
[INFO] [stdout] 228 |         evw_chunks_loaded.send(TerrainChunkLoaded(ChunkArea {
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bevy::prelude::EventWriter::<'w, E>::send`: Use `EventWriter::write` instead.
[INFO] [stdout]    --> src/terrain/async_chunk_loader.rs:228:27
[INFO] [stdout]     |
[INFO] [stdout] 228 |         evw_chunks_loaded.send(TerrainChunkLoaded(ChunkArea {
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/terrain/async_chunk_loader.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut i = 0usize;
[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/terrain/async_chunk_loader.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut i = 0usize;
[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/units/commands.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     mut selected: Query<&mut UnitSelected>,
[INFO] [stdout]   |     ----^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selected`
[INFO] [stdout]  --> src/units/commands.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     mut selected: Query<&mut UnitSelected>,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/units/commands.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     mut selected: Query<&mut UnitSelected>,
[INFO] [stdout]   |     ----^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selected`
[INFO] [stdout]  --> src/units/commands.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     mut selected: Query<&mut UnitSelected>,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/units/selection.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     mut query: Query<(&Transform, Entity), With<UnitSelected>>,
[INFO] [stdout]    |     ----^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manifest_assets`
[INFO] [stdout]   --> src/units/manifest.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     manifest_assets: Res<AssetServer>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest_assets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/units/selection.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     mut query: Query<(&Transform, Entity), With<UnitSelected>>,
[INFO] [stdout]    |     ----^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manifest_assets`
[INFO] [stdout]   --> src/units/manifest.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     manifest_assets: Res<AssetServer>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest_assets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/props/instancing/systems.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     mut integration: ResMut<MergeIntegrationQueue>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integration`
[INFO] [stdout]   --> src/props/instancing/systems.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     mut integration: ResMut<MergeIntegrationQueue>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/props/instancing/systems.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     mut integration: ResMut<MergeIntegrationQueue>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integration`
[INFO] [stdout]   --> src/props/instancing/systems.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     mut integration: ResMut<MergeIntegrationQueue>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/props/instancing/systems.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut i = 0usize;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/props/instancing/systems.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut i = 0usize;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/inputs/camera_input.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut dt = time.delta_secs().min(MAX_CAMERA_DT);
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/inputs/camera_input.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut dt = time.delta_secs().min(MAX_CAMERA_DT);
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selected`
[INFO] [stdout]   --> src/inputs/unit_input.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     selected: Query<Entity, With<UnitSelected>>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selected`
[INFO] [stdout]   --> src/inputs/unit_input.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     selected: Query<Entity, With<UnitSelected>>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChunkTaskInfo` is more private than the item `AsyncChunkLoader::tasks`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub tasks: Vec<(ChunkTaskInfo, Task<Mesh>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AsyncChunkLoader::tasks` is reachable at visibility `pub(in crate::terrain)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ChunkTaskInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct ChunkTaskInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChunkTaskInfo` is more private than the item `AsyncChunkLoader::pending`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub pending: Vec<(ChunkTaskInfo, Mesh)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AsyncChunkLoader::pending` is reachable at visibility `pub(in crate::terrain)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ChunkTaskInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct ChunkTaskInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChunkTaskInfo` is more private than the item `AsyncChunkLoader::tasks`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub tasks: Vec<(ChunkTaskInfo, Task<Mesh>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AsyncChunkLoader::tasks` is reachable at visibility `pub(in crate::terrain)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ChunkTaskInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct ChunkTaskInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChunkTaskInfo` is more private than the item `AsyncChunkLoader::pending`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub pending: Vec<(ChunkTaskInfo, Mesh)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AsyncChunkLoader::pending` is reachable at visibility `pub(in crate::terrain)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ChunkTaskInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/terrain/async_chunk_loader.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct ChunkTaskInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRID_RES` is never used
[INFO] [stdout]  --> src/terrain/systems.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const GRID_RES: UVec2 = UVec2::new(65, 65);
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerrainConfig` is never constructed
[INFO] [stdout]   --> src/terrain/systems.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct TerrainConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_terrain_resources` is never used
[INFO] [stdout]   --> src/terrain/systems.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn init_terrain_resources(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `world_to_chunk_uv` is never used
[INFO] [stdout]   --> src/terrain/chunking.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn world_to_chunk_uv(world_xz: Vec2, data: &HeightmapData) -> Option<((i32, i32), Vec2)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_uv_to_world` is never used
[INFO] [stdout]    --> src/terrain/chunking.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn chunk_uv_to_world(cx: i32, cz: i32, uv: Vec2, data: &HeightmapData) -> Vec2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min` and `max` are never read
[INFO] [stdout]   --> src/terrain/components.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct ChunkAabb {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 30 |     pub min: Vec2, // world XZ
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 31 |     pub max: Vec2, // world XZ
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChunkAabb` 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: struct `Grounded` is never constructed
[INFO] [stdout]   --> src/terrain/components.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Grounded;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Unit` is never constructed
[INFO] [stdout]   --> src/terrain/components.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Unit;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkCoords` is never constructed
[INFO] [stdout]  --> src/terrain/compat.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ChunkCoords {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalOffset` is never constructed
[INFO] [stdout]   --> src/terrain/compat.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct LocalOffset {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `world_to_chunk_and_local` is never used
[INFO] [stdout]   --> src/terrain/compat.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn world_to_chunk_and_local(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/terrain/lod.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ChunkLod(pub LodLevel);
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `ChunkLod` 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: struct `UnitMovementTarget` is never constructed
[INFO] [stdout]   --> src/units/components.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct UnitMovementTarget {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_unit_movement` is never used
[INFO] [stdout]  --> src/units/systems.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update_unit_movement(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `unit_type`, and `scene_path` are never read
[INFO] [stdout]   --> src/units/data.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UnitSpawn {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 27 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub unit_type: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub faction: Faction,
[INFO] [stdout] 32 |     pub scene_path: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitSpawn` 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/props/core.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ChunkCoord {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 23 |     pub const fn new(x: i32, z: i32) -> Self { Self { x, z } }
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contains_xz` are never used
[INFO] [stdout]   --> src/props/core.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ChunkArea {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 35 |     pub fn size(&self) -> Vec2 { self.max_xz - self.min_xz }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 36 |     pub fn contains_xz(&self, p: Vec2) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `NONE`, `contains`, and `any` are never used
[INFO] [stdout]    --> src/props/core.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl BiomeMask {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 112 |     pub const NONE: Self = Self(0);
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 113 |     pub fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 }
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 114 |     pub fn any(self, other: Self) -> bool { (self.0 & other.0) != 0 }
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NavSink` is never used
[INFO] [stdout]    --> src/props/core.rs:153:11
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub trait NavSink: Send + Sync + 'static {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_to_index` is never read
[INFO] [stdout]    --> src/props/registry.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct PropsRegistry {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub name_to_index: HashMap<String, u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropsRegistry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index_of` is never used
[INFO] [stdout]    --> src/props/registry.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl PropsRegistry {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 127 |     pub fn index_of(&self, name: &str) -> Option<PropArchetypeId> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaskWorld` is never constructed
[INFO] [stdout]   --> src/props/placement/masks.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MaskWorld {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `to_uv` are never used
[INFO] [stdout]   --> src/props/placement/masks.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MaskWorld {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 16 |     #[inline]
[INFO] [stdout] 17 |     pub fn size(&self) -> Vec2 { self.max_xz - self.min_xz }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn to_uv(&self, x: f32, z: f32) -> Vec2 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SampleMode` is never used
[INFO] [stdout]   --> src/props/placement/masks.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum SampleMode { Nearest, Linear }
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_mask_01` is never used
[INFO] [stdout]   --> src/props/placement/masks.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn sample_mask_01(img: &Image, world: MaskWorld, x: f32, z: f32, mode: SampleMode) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `accept_by_density` is never used
[INFO] [stdout]   --> src/props/placement/masks.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn accept_by_density(density_01: f32, r01: f32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_prop_instance` is never used
[INFO] [stdout]   --> src/props/streaming/chunk_bind.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn spawn_prop_instance(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_render_ref` is never used
[INFO] [stdout]   --> src/props/streaming/systems.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn spawn_render_ref(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `despawn_on_chunk_unloaded` is never used
[INFO] [stdout]    --> src/props/streaming/systems.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn despawn_on_chunk_unloaded(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drain_spawn_queue` is never used
[INFO] [stdout]  --> src/props/streaming/queue_drain.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn drain_spawn_queue(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeightRule` is never constructed
[INFO] [stdout]  --> src/props/vegetation/rules.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HeightRule {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/props/vegetation/rules.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl HeightRule {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 13 |     #[inline]
[INFO] [stdout] 14 |     pub fn contains(&self, h: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `height_rule_from_filters` is never used
[INFO] [stdout]   --> src/props/vegetation/rules.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn height_rule_from_filters(filters: &CommonFilters) -> HeightRule {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_veg_on_chunk_loaded` is never used
[INFO] [stdout]   --> src/props/vegetation/systems.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn spawn_veg_on_chunk_loaded(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/props/vegetation/plugin.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct VegSampler(pub TerrainSampleAdapter);
[INFO] [stdout]    |            ---------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `VegSampler` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerrainHeightSampler` is never constructed
[INFO] [stdout]   --> src/props/vegetation/sampler.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TerrainHeightSampler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from` is never used
[INFO] [stdout]   --> src/props/vegetation/sampler.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl TerrainHeightSampler {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new_from(data: &HeightmapData, cache_cfg: &HeightTileCache) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PropInstance` is never constructed
[INFO] [stdout]   --> src/props/state.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PropInstance {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PropsState` is never constructed
[INFO] [stdout]   --> src/props/state.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PropsState {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRID_RES` is never used
[INFO] [stdout]  --> src/terrain/systems.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const GRID_RES: UVec2 = UVec2::new(65, 65);
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerrainConfig` is never constructed
[INFO] [stdout]   --> src/terrain/systems.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct TerrainConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_terrain_resources` is never used
[INFO] [stdout]   --> src/terrain/systems.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn init_terrain_resources(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_by_key`, `insert_by_world`, `despawn_chunk`, and `remove_entity` are never used
[INFO] [stdout]   --> src/props/state.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl PropsState {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 22 |     /// Register a newly spawned entity under a chunk key.
[INFO] [stdout] 23 |     pub fn insert_by_key(&mut self, key: (i32, i32), ent: Entity) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn insert_by_world(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn despawn_chunk(&mut self, key: (i32, i32), commands: &mut Commands) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn remove_entity(&mut self, key: (i32, i32), ent: Entity) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `world_to_chunk_uv` is never used
[INFO] [stdout]   --> src/terrain/chunking.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn world_to_chunk_uv(world_xz: Vec2, data: &HeightmapData) -> Option<((i32, i32), Vec2)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_uv_to_world` is never used
[INFO] [stdout]    --> src/terrain/chunking.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn chunk_uv_to_world(cx: i32, cz: i32, uv: Vec2, data: &HeightmapData) -> Vec2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `key_from_world` is never used
[INFO] [stdout]   --> src/props/state.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn key_from_world(x: f32, z: f32, hmd: &HeightmapData) -> Option<(i32, i32)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chunk` is never read
[INFO] [stdout]  --> src/props/instancing/components.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct InstanceBatch {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 8 |     pub chunk: ChunkCoord,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_dirty` is never used
[INFO] [stdout]   --> src/props/instancing/components.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl InstanceBatch {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 24 |     #[inline]
[INFO] [stdout] 25 |     pub fn mark_dirty(&mut self) { self.dirty = true; }
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min` and `max` are never read
[INFO] [stdout]   --> src/terrain/components.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct ChunkAabb {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 30 |     pub min: Vec2, // world XZ
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 31 |     pub max: Vec2, // world XZ
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChunkAabb` 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: field `merged_vertex_count` is never read
[INFO] [stdout]   --> src/props/instancing/components.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct BatchStats {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 36 |     pub instance_count: u32,
[INFO] [stdout] 37 |     pub merged_vertex_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grounded` is never constructed
[INFO] [stdout]   --> src/terrain/components.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Grounded;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Unit` is never constructed
[INFO] [stdout]   --> src/terrain/components.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Unit;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_visible_distance_sq` is never read
[INFO] [stdout]   --> src/props/instancing/resources.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PropsInstancingConfig {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 19 |     pub max_merges_per_frame: usize,
[INFO] [stdout] 20 |     pub max_visible_distance_sq: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkCoords` is never constructed
[INFO] [stdout]  --> src/terrain/compat.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ChunkCoords {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerUnit` is never constructed
[INFO] [stdout]  --> src/inputs/components.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PlayerUnit;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalOffset` is never constructed
[INFO] [stdout]   --> src/terrain/compat.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct LocalOffset {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `world_to_chunk_and_local` is never used
[INFO] [stdout]   --> src/terrain/compat.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn world_to_chunk_and_local(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/inputs/components.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct UnitSelected(pub bool);
[INFO] [stdout]    |            ------------ ^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnitOwner` is never used
[INFO] [stdout]   --> src/inputs/components.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum UnitOwner {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/terrain/lod.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ChunkLod(pub LodLevel);
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `ChunkLod` 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: struct `MoveTarget` is never constructed
[INFO] [stdout]   --> src/inputs/components.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct MoveTarget(pub Option<Vec3>);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnitCamera` is never constructed
[INFO] [stdout]   --> src/inputs/components.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UnitCamera;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnitMovementTarget` is never constructed
[INFO] [stdout]   --> src/units/components.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct UnitMovementTarget {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_unit_movement` is never used
[INFO] [stdout]  --> src/units/systems.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update_unit_movement(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `unit_type`, and `scene_path` are never read
[INFO] [stdout]   --> src/units/data.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UnitSpawn {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 27 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub unit_type: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub faction: Faction,
[INFO] [stdout] 32 |     pub scene_path: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitSpawn` 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/props/core.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ChunkCoord {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 23 |     pub const fn new(x: i32, z: i32) -> Self { Self { x, z } }
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contains_xz` are never used
[INFO] [stdout]   --> src/props/core.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ChunkArea {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 35 |     pub fn size(&self) -> Vec2 { self.max_xz - self.min_xz }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 36 |     pub fn contains_xz(&self, p: Vec2) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `NONE`, `contains`, and `any` are never used
[INFO] [stdout]    --> src/props/core.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl BiomeMask {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 112 |     pub const NONE: Self = Self(0);
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 113 |     pub fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 }
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 114 |     pub fn any(self, other: Self) -> bool { (self.0 & other.0) != 0 }
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NavSink` is never used
[INFO] [stdout]    --> src/props/core.rs:153:11
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub trait NavSink: Send + Sync + 'static {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_to_index` is never read
[INFO] [stdout]    --> src/props/registry.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct PropsRegistry {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub name_to_index: HashMap<String, u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropsRegistry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index_of` is never used
[INFO] [stdout]    --> src/props/registry.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl PropsRegistry {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 127 |     pub fn index_of(&self, name: &str) -> Option<PropArchetypeId> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaskWorld` is never constructed
[INFO] [stdout]   --> src/props/placement/masks.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MaskWorld {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `to_uv` are never used
[INFO] [stdout]   --> src/props/placement/masks.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MaskWorld {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 16 |     #[inline]
[INFO] [stdout] 17 |     pub fn size(&self) -> Vec2 { self.max_xz - self.min_xz }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn to_uv(&self, x: f32, z: f32) -> Vec2 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SampleMode` is never used
[INFO] [stdout]   --> src/props/placement/masks.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum SampleMode { Nearest, Linear }
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_mask_01` is never used
[INFO] [stdout]   --> src/props/placement/masks.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn sample_mask_01(img: &Image, world: MaskWorld, x: f32, z: f32, mode: SampleMode) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `accept_by_density` is never used
[INFO] [stdout]   --> src/props/placement/masks.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn accept_by_density(density_01: f32, r01: f32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_prop_instance` is never used
[INFO] [stdout]   --> src/props/streaming/chunk_bind.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn spawn_prop_instance(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_render_ref` is never used
[INFO] [stdout]   --> src/props/streaming/systems.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn spawn_render_ref(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `despawn_on_chunk_unloaded` is never used
[INFO] [stdout]    --> src/props/streaming/systems.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn despawn_on_chunk_unloaded(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drain_spawn_queue` is never used
[INFO] [stdout]  --> src/props/streaming/queue_drain.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn drain_spawn_queue(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeightRule` is never constructed
[INFO] [stdout]  --> src/props/vegetation/rules.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HeightRule {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/props/vegetation/rules.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl HeightRule {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 13 |     #[inline]
[INFO] [stdout] 14 |     pub fn contains(&self, h: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `height_rule_from_filters` is never used
[INFO] [stdout]   --> src/props/vegetation/rules.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn height_rule_from_filters(filters: &CommonFilters) -> HeightRule {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_veg_on_chunk_loaded` is never used
[INFO] [stdout]   --> src/props/vegetation/systems.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn spawn_veg_on_chunk_loaded(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/props/vegetation/plugin.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct VegSampler(pub TerrainSampleAdapter);
[INFO] [stdout]    |            ---------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `VegSampler` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerrainHeightSampler` is never constructed
[INFO] [stdout]   --> src/props/vegetation/sampler.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TerrainHeightSampler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from` is never used
[INFO] [stdout]   --> src/props/vegetation/sampler.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl TerrainHeightSampler {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new_from(data: &HeightmapData, cache_cfg: &HeightTileCache) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PropInstance` is never constructed
[INFO] [stdout]   --> src/props/state.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PropInstance {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PropsState` is never constructed
[INFO] [stdout]   --> src/props/state.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PropsState {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_by_key`, `insert_by_world`, `despawn_chunk`, and `remove_entity` are never used
[INFO] [stdout]   --> src/props/state.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl PropsState {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 22 |     /// Register a newly spawned entity under a chunk key.
[INFO] [stdout] 23 |     pub fn insert_by_key(&mut self, key: (i32, i32), ent: Entity) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn insert_by_world(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn despawn_chunk(&mut self, key: (i32, i32), commands: &mut Commands) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn remove_entity(&mut self, key: (i32, i32), ent: Entity) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `key_from_world` is never used
[INFO] [stdout]   --> src/props/state.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn key_from_world(x: f32, z: f32, hmd: &HeightmapData) -> Option<(i32, i32)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chunk` is never read
[INFO] [stdout]  --> src/props/instancing/components.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct InstanceBatch {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 8 |     pub chunk: ChunkCoord,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_dirty` is never used
[INFO] [stdout]   --> src/props/instancing/components.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl InstanceBatch {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 24 |     #[inline]
[INFO] [stdout] 25 |     pub fn mark_dirty(&mut self) { self.dirty = true; }
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `merged_vertex_count` is never read
[INFO] [stdout]   --> src/props/instancing/components.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct BatchStats {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 36 |     pub instance_count: u32,
[INFO] [stdout] 37 |     pub merged_vertex_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_visible_distance_sq` is never read
[INFO] [stdout]   --> src/props/instancing/resources.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PropsInstancingConfig {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 19 |     pub max_merges_per_frame: usize,
[INFO] [stdout] 20 |     pub max_visible_distance_sq: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerUnit` is never constructed
[INFO] [stdout]  --> src/inputs/components.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PlayerUnit;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` in tuple element 1 that must be used
[INFO] [stdout]    --> src/terrain/async_chunk_loader.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             loader.tasks.swap_remove(i);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: Tasks are canceled when dropped, use `.detach()` to run them in the background.
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/inputs/components.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct UnitSelected(pub bool);
[INFO] [stdout]    |            ------------ ^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnitOwner` is never used
[INFO] [stdout]   --> src/inputs/components.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum UnitOwner {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveTarget` is never constructed
[INFO] [stdout]   --> src/inputs/components.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct MoveTarget(pub Option<Vec3>);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnitCamera` is never constructed
[INFO] [stdout]   --> src/inputs/components.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UnitCamera;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` in tuple element 1 that must be used
[INFO] [stdout]    --> src/terrain/async_chunk_loader.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             loader.tasks.swap_remove(i);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: Tasks are canceled when dropped, use `.detach()` to run them in the background.
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 40s
[INFO] running `Command { std: "docker" "inspect" "901ea872c1f287dab9fc94b9a5a0b58412bf0ec5d3b0aa66ecc3e1eb788ffe23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "901ea872c1f287dab9fc94b9a5a0b58412bf0ec5d3b0aa66ecc3e1eb788ffe23", kill_on_drop: false }`
[INFO] [stdout] 901ea872c1f287dab9fc94b9a5a0b58412bf0ec5d3b0aa66ecc3e1eb788ffe23
