[INFO] cloning repository https://github.com/BriceKrispies/axiom
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BriceKrispies/axiom" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBriceKrispies%2Faxiom", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBriceKrispies%2Faxiom'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1f75fefd742dc92beac3766f5828b33fde66502e
[INFO] checking BriceKrispies/axiom against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBriceKrispies%2Faxiom" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/BriceKrispies/axiom
[INFO] finished tweaking git repo https://github.com/BriceKrispies/axiom
[INFO] tweaked toml for git repo https://github.com/BriceKrispies/axiom written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BriceKrispies/axiom on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BriceKrispies/axiom 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2
[INFO] running `Command { std: "docker" "start" "2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2", 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" "2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2", 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" "2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking axiom-kernel v0.1.0 (/opt/rustwide/workdir/crates/axiom-kernel)
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking log v0.4.30
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling zerocopy v0.8.49
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking axiom-recipe v0.1.0 (/opt/rustwide/workdir/crates/axiom-recipe)
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling naga v25.0.1
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling wgpu-hal v25.0.2
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking codespan-reporting v0.12.0
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]    Compiling wgpu-core v25.0.2
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling wgpu v25.0.2
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking memchr v2.8.1
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking axiom-space v0.1.0 (/opt/rustwide/workdir/crates/axiom-space)
[INFO] [stderr]     Checking axiom-entropy v0.1.0 (/opt/rustwide/workdir/crates/axiom-entropy)
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking axiom-proc-core v0.1.0 (/opt/rustwide/workdir/crates/axiom-proc-core)
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking axiom-interface v0.1.0 (/opt/rustwide/workdir/crates/axiom-interface)
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking rustc-demangle v0.1.28
[INFO] [stderr]     Checking mintex v0.1.4
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking thousands v0.2.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking axiom-audio v0.1.0 (/opt/rustwide/workdir/modules/axiom-audio)
[INFO] [stderr]    Compiling axiom-burnt-rubber v0.1.0 (/opt/rustwide/workdir/apps/burnt-rubber)
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling axiom-zones v0.1.0 (/opt/rustwide/workdir/crates/axiom-zones)
[INFO] [stderr]    Compiling zerocopy-derive v0.8.49
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]     Checking axiom-runtime v0.1.0 (/opt/rustwide/workdir/crates/axiom-runtime)
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking axiom-math v0.1.0 (/opt/rustwide/workdir/crates/axiom-math)
[INFO] [stderr]     Checking axiom-agent v0.1.0 (/opt/rustwide/workdir/modules/axiom-agent)
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking axiom-host v0.1.0 (/opt/rustwide/workdir/crates/axiom-host)
[INFO] [stderr]     Checking axiom-noise v0.1.0 (/opt/rustwide/workdir/crates/axiom-noise)
[INFO] [stderr]     Checking axiom-field v0.1.0 (/opt/rustwide/workdir/crates/axiom-field)
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking axiom-frame v0.1.0 (/opt/rustwide/workdir/crates/axiom-frame)
[INFO] [stderr]     Checking wgpu-types v25.0.0
[INFO] [stderr]     Checking axiom-ecs v0.1.0 (/opt/rustwide/workdir/crates/axiom-ecs)
[INFO] [stderr]     Checking axiom-surface v0.1.0 (/opt/rustwide/workdir/crates/axiom-surface)
[INFO] [stderr]     Checking axiom-scene v0.1.0 (/opt/rustwide/workdir/modules/axiom-scene)
[INFO] [stderr]     Checking axiom-webgpu v0.1.0 (/opt/rustwide/workdir/modules/axiom-webgpu)
[INFO] [stderr]     Checking axiom-render v0.1.0 (/opt/rustwide/workdir/modules/axiom-render)
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking axiom-resources v0.1.0 (/opt/rustwide/workdir/modules/axiom-resources)
[INFO] [stderr]     Checking axiom-physics v0.1.0 (/opt/rustwide/workdir/modules/axiom-physics)
[INFO] [stderr]     Checking axiom-input v0.1.0 (/opt/rustwide/workdir/modules/axiom-input)
[INFO] [stderr]     Checking axiom-animation-authoring v0.1.0 (/opt/rustwide/workdir/modules/axiom-animation-authoring)
[INFO] [stderr]     Checking axiom-layout v0.1.0 (/opt/rustwide/workdir/crates/axiom-layout)
[INFO] [stderr]     Checking axiom-render-pipeline v0.1.0 (/opt/rustwide/workdir/modules/axiom-render-pipeline)
[INFO] [stderr]     Checking axiom-figure v0.1.0 (/opt/rustwide/workdir/modules/axiom-figure)
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> modules/axiom-render-pipeline/src/render_pipeline_api.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use axiom_math::{Mat4, MathApi, Vec2, Vec3, Vec4};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking axiom-visibility v0.1.0 (/opt/rustwide/workdir/modules/axiom-visibility)
[INFO] [stderr]     Checking axiom-proc-texture v0.1.0 (/opt/rustwide/workdir/crates/axiom-proc-texture)
[INFO] [stderr]     Checking axiom-proc-mesh v0.1.0 (/opt/rustwide/workdir/crates/axiom-proc-mesh)
[INFO] [stderr]     Checking axiom-introspect v0.1.0 (/opt/rustwide/workdir/crates/axiom-introspect)
[INFO] [stderr]     Checking axiom-physical-animation v0.1.0 (/opt/rustwide/workdir/modules/axiom-physical-animation)
[INFO] [stderr]     Checking axiom-mesh v0.1.0 (/opt/rustwide/workdir/crates/axiom-mesh)
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking axiom-canvas2d-backend v0.1.0 (/opt/rustwide/workdir/modules/axiom-canvas2d-backend)
[INFO] [stderr]     Checking axiom-mesh-ops v0.1.0 (/opt/rustwide/workdir/crates/axiom-mesh-ops)
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking axiom-biome v0.1.0 (/opt/rustwide/workdir/modules/axiom-biome)
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking dhat v0.3.3
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking axiom-crypto v0.1.0 (/opt/rustwide/workdir/crates/axiom-crypto)
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking bstr v1.13.1
[INFO] [stderr]     Checking axiom-placement v0.1.0 (/opt/rustwide/workdir/modules/axiom-placement)
[INFO] [stderr]     Checking axiom-terrain v0.1.0 (/opt/rustwide/workdir/modules/axiom-terrain)
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]     Checking ascii v1.1.0
[INFO] [stderr]     Checking chunked_transfer v1.5.0
[INFO] [stderr]     Checking axiom-levelgen v0.1.0 (/opt/rustwide/workdir/modules/axiom-levelgen)
[INFO] [stderr]     Checking tiny_http v0.12.0
[INFO] [stderr]     Checking axiom-draw2d v0.1.0 (/opt/rustwide/workdir/modules/axiom-draw2d)
[INFO] [stderr]     Checking axiom-geosphere v0.1.0 (/opt/rustwide/workdir/crates/axiom-geosphere)
[INFO] [stderr]     Checking axiom-workspace v0.1.0 (/opt/rustwide/workdir/apps/axiom-workspace)
[INFO] [stderr]     Checking grep-matcher v0.1.9
[INFO] [stderr]     Checking axiom-net-protocol v0.1.0 (/opt/rustwide/workdir/modules/axiom-net-protocol)
[INFO] [stderr]     Checking axiom-assets v0.1.0 (/opt/rustwide/workdir/modules/axiom-assets)
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking xtask v0.1.0 (/opt/rustwide/workdir/crates/xtask)
[INFO] [stderr]     Checking encoding_rs_io v0.1.8
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking globset v0.4.19
[INFO] [stderr]     Checking axiom-text v0.1.0 (/opt/rustwide/workdir/modules/axiom-text)
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking axiom-grid v0.1.0 (/opt/rustwide/workdir/modules/axiom-grid)
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking axiom-quintet v0.1.0 (/opt/rustwide/workdir/apps/axiom-quintet)
[INFO] [stderr]     Checking memmap2 v0.9.11
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking axiom-tween v0.1.0 (/opt/rustwide/workdir/modules/axiom-tween)
[INFO] [stderr]     Checking axiom-tick v0.1.0 (/opt/rustwide/workdir/modules/axiom-tick)
[INFO] [stderr]     Checking axiom-client-core v0.1.0 (/opt/rustwide/workdir/modules/axiom-client-core)
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking grep-searcher v0.1.17
[INFO] [stderr]     Checking ignore v0.4.32
[INFO] [stderr]     Checking axiom-asset-pack v0.1.0 (/opt/rustwide/workdir/tools/axiom-asset-pack)
[INFO] [stderr]     Checking grep-regex v0.1.14
[INFO] [stderr]     Checking axiom-hydrology v0.1.0 (/opt/rustwide/workdir/crates/axiom-hydrology)
[INFO] [stderr]     Checking axiom-netcode v0.1.0 (/opt/rustwide/workdir/modules/axiom-netcode)
[INFO] [stderr]     Checking axiom-sim-core v0.1.0 (/opt/rustwide/workdir/modules/axiom-sim-core)
[INFO] [stderr]     Checking axiom-scatter v0.1.0 (/opt/rustwide/workdir/modules/axiom-scatter)
[INFO] [stderr]     Checking axiom-recording v0.1.0 (/opt/rustwide/workdir/modules/axiom-recording)
[INFO] [stderr]     Checking axiom-proc-validate v0.1.0 (/opt/rustwide/workdir/crates/axiom-proc-validate)
[INFO] [stderr]     Checking axiom-streaming v0.1.0 (/opt/rustwide/workdir/modules/axiom-streaming)
[INFO] [stderr]     Checking axiom-animation v0.1.0 (/opt/rustwide/workdir/modules/axiom-animation)
[INFO] [stderr]     Checking axiom-perception v0.1.0 (/opt/rustwide/workdir/modules/axiom-perception)
[INFO] [stderr]     Checking axiom-agent-harness v0.1.0 (/opt/rustwide/workdir/modules/axiom-agent-harness)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> modules/axiom-agent-harness/src/agent_harness_api.rs:295:22
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let (report, mut queue) = AgentApi::step(
[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] [stderr]     Checking axiom-debug-overlay v0.1.0 (/opt/rustwide/workdir/modules/axiom-debug-overlay)
[INFO] [stderr]     Checking axiom-world v0.1.0 (/opt/rustwide/workdir/modules/axiom-world)
[INFO] [stdout] warning: method `take_scrubber_toggle` is never used
[INFO] [stdout]    --> modules/axiom-debug-overlay/src/overlay_state.rs:444:19
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl OverlayState {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub(crate) fn take_scrubber_toggle(&mut self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-proc-inspect v0.1.0 (/opt/rustwide/workdir/tools/axiom-proc-inspect)
[INFO] [stderr]     Checking axiom-forest v0.1.0 (/opt/rustwide/workdir/modules/axiom-forest)
[INFO] [stderr]     Checking axiom-planetgen v0.1.0 (/opt/rustwide/workdir/modules/axiom-planetgen)
[INFO] [stderr]     Checking fontdue v0.9.3
[INFO] [stderr]     Checking axiom-netcode-relay v0.1.0 (/opt/rustwide/workdir/tools/axiom-netcode-relay)
[INFO] [stderr]     Checking axiom-netplay-load v0.1.0 (/opt/rustwide/workdir/tools/axiom-netplay-load)
[INFO] [stderr]     Checking axiom-font-import v0.1.0 (/opt/rustwide/workdir/tools/axiom-font-import)
[INFO] [stderr]     Checking axiom-atlas v0.1.0 (/opt/rustwide/workdir/tools/axiom-atlas)
[INFO] [stderr]     Checking axiom-serve v0.1.0 (/opt/rustwide/workdir/tools/axiom-serve)
[INFO] [stdout] warning: unused import: `grep_searcher::sinks`
[INFO] [stdout]   --> tools/axiom-atlas/src/search.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use grep_searcher::sinks;
[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: `grep_searcher::sinks`
[INFO] [stdout]   --> tools/axiom-atlas/src/search.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use grep_searcher::sinks;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-dev-reload v0.1.0 (/opt/rustwide/workdir/tools/axiom-dev-reload)
[INFO] [stderr]     Checking axiom-proc-fuzz v0.1.0 (/opt/rustwide/workdir/tools/axiom-proc-fuzz)
[INFO] [stderr]     Checking axiom-worldsave v0.1.0 (/opt/rustwide/workdir/modules/axiom-worldsave)
[INFO] [stderr]     Checking axiom-profile-runner v0.1.0 (/opt/rustwide/workdir/tools/axiom-profile-runner)
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> modules/axiom-render-pipeline/src/render_pipeline_api.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use axiom_math::{Mat4, MathApi, Vec2, Vec3, Vec4};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `positions`, `normals`, and `uvs` are never read
[INFO] [stdout]    --> tools/axiom-profile-runner/src/scenario.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct CubeMesh {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 136 |     positions: Vec<Vec3>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 137 |     normals: Vec<Vec3>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 138 |     uvs: Vec<Vec2>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]   --> modules/axiom-render/tests/frame_capture.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | use axiom_math::{Mat4, Quat, Transform, Vec2, Vec3, Vec4};
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-windowing v0.1.0 (/opt/rustwide/workdir/modules/axiom-windowing)
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]    --> modules/axiom-render/src/render_input.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |     use axiom_math::{Mat4, Vec2, Vec3, Vec4};
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-field-inspect v0.1.0 (/opt/rustwide/workdir/tools/axiom-field-inspect)
[INFO] [stdout] warning: fields `normals` and `uvs` are never read
[INFO] [stdout]    --> tools/axiom-profile-runner/src/scenario.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct CubeMesh {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 136 |     positions: Vec<Vec3>,
[INFO] [stdout] 137 |     normals: Vec<Vec3>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 138 |     uvs: Vec<Vec2>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-fp-controller v0.1.0 (/opt/rustwide/workdir/modules/axiom-fp-controller)
[INFO] [stderr]     Checking axiom-terrain-mesh v0.1.0 (/opt/rustwide/workdir/modules/axiom-terrain-mesh)
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> crates/axiom-host/src/paint.rs:304:36
[INFO] [stdout]     |
[INFO] [stdout] 304 |         assert!(lbytes[0] < lbytes[(7 * 4)], "ramp brightens left→right");
[INFO] [stdout]     |                                    ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 304 -         assert!(lbytes[0] < lbytes[(7 * 4)], "ramp brightens left→right");
[INFO] [stdout] 304 +         assert!(lbytes[0] < lbytes[7 * 4], "ramp brightens left→right");
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> modules/axiom-agent-harness/src/agent_harness_api.rs:295:22
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let (report, mut queue) = AgentApi::step(
[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] [stderr]     Checking axiom-render-bench v0.1.0 (/opt/rustwide/workdir/tools/axiom-render-bench)
[INFO] [stderr]     Checking axiom-state v0.1.0 (/opt/rustwide/workdir/crates/axiom-state)
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v25.0.0
[INFO] [stderr]     Checking axiom-gpu-backend v0.1.0 (/opt/rustwide/workdir/modules/axiom-gpu-backend)
[INFO] [stdout] warning: unused import: `FieldValue`
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/surface_program/emit_ops.rs:33:30
[INFO] [stdout]    |
[INFO] [stdout] 33 | use axiom_field::{FieldType, FieldValue};
[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: `SLOTS_USED`, `hex_to_linear`, and `srgb_to_linear`
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/params.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     hex_to_linear, srgb_to_linear, MaterialParams, UvMode, SLOTS_USED, SLOT_COUNT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |     [halved, 1][((halved < 1) as usize)]
[INFO] [stdout]     |                 ^                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -     [halved, 1][((halved < 1) as usize)]
[INFO] [stdout] 118 +     [halved, 1][(halved < 1) as usize]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:124:16
[INFO] [stdout]     |
[INFO] [stdout] 124 |     [tiles, 1][((tiles < 1) as usize)]
[INFO] [stdout]     |                ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -     [tiles, 1][((tiles < 1) as usize)]
[INFO] [stdout] 124 +     [tiles, 1][(tiles < 1) as usize]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:172:16
[INFO] [stdout]     |
[INFO] [stdout] 172 |         [4, 8][((self.format as u32 == HostAttachmentFormat::Rgba16Float as u32) as usize)]
[INFO] [stdout]     |                ^                                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 172 -         [4, 8][((self.format as u32 == HostAttachmentFormat::Rgba16Float as u32) as usize)]
[INFO] [stdout] 172 +         [4, 8][(self.format as u32 == HostAttachmentFormat::Rgba16Float as u32) as usize]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: overflow evaluating the requirement `OnceLock<Option<NativeGpu>>: Sync`
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/native_gpu.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static SHARED: std::sync::OnceLock<Option<NativeGpu>> = std::sync::OnceLock::new();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: which requires `Option<NativeGpu>: Send`
[INFO] [stdout]    = note: which requires `NativeGpu: Send`
[INFO] [stdout]    = note: which requires `wgpu::Adapter: Send`
[INFO] [stdout]    = note: which requires `wgpu::dispatch::DispatchAdapter: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu::backend::wgpu_core::CoreAdapter>: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::CoreAdapter: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu::wgpu_core::global::Global>: Send`
[INFO] [stdout]    = note: which requires `wgpu::wgpu_core::global::Global: Send`
[INFO] [stdout]    = note: which requires `Hub: Send`
[INFO] [stdout]    = note: which requires `registry::Registry<Arc<wgpu::wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: which requires `wgc::lock::vanilla::RwLock<storage::Storage<Arc<wgpu::wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, storage::Storage<Arc<wgpu::wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `storage::Storage<Arc<wgpu::wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: which requires `Vec<storage::Element<Arc<wgpu::wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: and so on...
[INFO] [stdout]    = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]    = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`axiom_gpu_backend`)
[INFO] [stdout]    = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[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 #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]    = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec4`
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/emit_ops.rs:534:28
[INFO] [stdout]     |
[INFO] [stdout] 534 |     use axiom_math::{Vec3, Vec4};
[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: `axiom_recipe::Scalar`
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/emit_ops.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout] 535 |     use axiom_recipe::Scalar;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |     [halved, 1][((halved < 1) as usize)]
[INFO] [stdout]     |                 ^                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -     [halved, 1][((halved < 1) as usize)]
[INFO] [stdout] 118 +     [halved, 1][(halved < 1) as usize]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:124:16
[INFO] [stdout]     |
[INFO] [stdout] 124 |     [tiles, 1][((tiles < 1) as usize)]
[INFO] [stdout]     |                ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -     [tiles, 1][((tiles < 1) as usize)]
[INFO] [stdout] 124 +     [tiles, 1][(tiles < 1) as usize]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:172:16
[INFO] [stdout]     |
[INFO] [stdout] 172 |         [4, 8][((self.format as u32 == HostAttachmentFormat::Rgba16Float as u32) as usize)]
[INFO] [stdout]     |                ^                                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 172 -         [4, 8][((self.format as u32 == HostAttachmentFormat::Rgba16Float as u32) as usize)]
[INFO] [stdout] 172 +         [4, 8][(self.format as u32 == HostAttachmentFormat::Rgba16Float as u32) as usize]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: overflow evaluating the requirement `OnceLock<ParityGpu>: Sync`
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/surface_program/bound_image.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static SHARED: std::sync::OnceLock<ParityGpu> = std::sync::OnceLock::new();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: which requires `ParityGpu: Send`
[INFO] [stdout]    = note: which requires `wgpu::Queue: Send`
[INFO] [stdout]    = note: which requires `wgpu::dispatch::DispatchQueue: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu::backend::wgpu_core::CoreQueue>: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::CoreQueue: Send`
[INFO] [stdout]    = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]    = note: which requires `Arc<wgpu::wgpu_core::global::Global>: Send`
[INFO] [stdout]    = note: which requires `wgpu::wgpu_core::global::Global: Send`
[INFO] [stdout]    = note: which requires `Hub: Send`
[INFO] [stdout]    = note: which requires `registry::Registry<Arc<wgpu::wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: which requires `wgc::lock::vanilla::RwLock<storage::Storage<Arc<wgpu::wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, storage::Storage<Arc<wgpu::wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `storage::Storage<Arc<wgpu::wgpu_core::command::CommandBuffer>>: Send`
[INFO] [stdout]    = note: which requires `Vec<storage::Element<Arc<wgpu::wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: which requires `alloc::raw_vec::RawVec<storage::Element<Arc<wgpu::wgpu_core::command::CommandBuffer>>>: Send`
[INFO] [stdout]    = note: and so on...
[INFO] [stdout]    = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]    = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`axiom_gpu_backend`)
[INFO] [stdout]    = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[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 #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]    = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IDENTITY_MATRIX` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gpu_backend_api/mod.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const IDENTITY_MATRIX: [f32; 16] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `bisected` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gpu_backend_api/mod.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl GpuBackendApi {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn bisected(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `program_id`, `vertex`, `fragment`, and `params` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/cache.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl SurfaceProgramSource {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(crate) const fn program_id(&self) -> u64 {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(crate) fn vertex(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub(crate) fn fragment(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub(crate) fn params(&self) -> &[u8] {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sources` and `source` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/cache.rs:250:19
[INFO] [stdout]     |
[INFO] [stdout] 185 | impl SurfaceProgramCatalog {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub(crate) fn sources(&self) -> &[SurfaceProgramSource] {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub(crate) fn source(&self, program_id: u64) -> Option<&SurfaceProgramSource> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SurfacePipelineInputs` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/surface_program/compile.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub(crate) struct SurfacePipelineInputs<'a> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compile` and `len` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/compile.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl SurfaceProgramCache {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub(crate) fn compile(
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) fn len(&self) -> u32 {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_one` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/compile.rs:239:4
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn compile_one(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Compilation` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/surface_program/program_error.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) enum SurfaceProgramFault {
[INFO] [stdout]    |                 ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Compilation = 1,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceProgramFault` 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 `program_id`, `channels`, `fault`, and `detail` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/program_error.rs:86:25
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl SurfaceProgramError {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub(crate) const fn program_id(&self) -> u64 {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub(crate) const fn channels(&self) -> u16 {
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub(crate) const fn fault(&self) -> SurfaceProgramFault {
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub(crate) fn detail(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeviceFacts` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/device_facts.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) struct DeviceFacts {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `UNRESOLVED`, `impersonating`, and `gbuffer_formats_renderable` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/device_facts.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl DeviceFacts {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub(crate) const UNRESOLVED: DeviceFacts = DeviceFacts {
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub(crate) fn impersonating(self, spec: &str) -> DeviceFacts {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub(crate) const fn gbuffer_formats_renderable(&self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `layouts` is never read
[INFO] [stdout]     --> modules/axiom-gpu-backend/src/scene_renderer.rs:1030:5
[INFO] [stdout]      |
[INFO] [stdout]  949 | pub(crate) struct SceneRenderer {
[INFO] [stdout]      |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1030 |     layouts: MainPassLayouts,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SceneRenderer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `format`, `material`, `lights`, `shadow_sample`, and `surface` are never read
[INFO] [stdout]     --> modules/axiom-gpu-backend/src/scene_renderer.rs:1048:5
[INFO] [stdout]      |
[INFO] [stdout] 1047 | struct MainPassLayouts {
[INFO] [stdout]      |        --------------- fields in this struct
[INFO] [stdout] 1048 |     format: wgpu::TextureFormat,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 1049 |     material: wgpu::BindGroupLayout,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] 1050 |     lights: wgpu::BindGroupLayout,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 1051 |     shadow_sample: wgpu::BindGroupLayout,
[INFO] [stdout]      |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1054 |     surface: wgpu::BindGroupLayout,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MainPassLayouts` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `prepare_surfaces`, `surface_program_count`, `replace_geometry`, and `load_meshes` are never used
[INFO] [stdout]     --> modules/axiom-gpu-backend/src/scene_renderer.rs:1870:19
[INFO] [stdout]      |
[INFO] [stdout] 1226 | impl SceneRenderer {
[INFO] [stdout]      | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1870 |     pub(crate) fn prepare_surfaces(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1893 |     pub(crate) fn surface_program_count(&self) -> u32 {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2484 |     pub(crate) fn replace_geometry(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2501 |     pub(crate) fn load_meshes(
[INFO] [stdout]      |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `device_hdr_targets` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/hdr_target.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) const fn device_hdr_targets(render_attachment: bool, sampled: bool) -> bool {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grant_hdr_targets` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/hdr_target.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) fn grant_hdr_targets(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COVERAGE_DYNAMIC` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) const COVERAGE_DYNAMIC: f32 = 0.7;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COVERAGE_STATIC` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub(crate) const COVERAGE_STATIC: f32 = 1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VELOCITY_TEXTURE_V_SIGN` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub(crate) const VELOCITY_TEXTURE_V_SIGN: f32 = -1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GBUFFER_BYTES_PER_SAMPLE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:160:18
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) const GBUFFER_BYTES_PER_SAMPLE: u32 = 16;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `location` and `bytes_per_sample` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:174:25
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl GBufferChannel {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub(crate) const fn location(self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(crate) const fn bytes_per_sample(self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `device_gbuffer` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub(crate) const fn device_gbuffer(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `grant_gbuffer` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub(crate) fn grant_gbuffer(
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `oct_wrap` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:254:15
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub(crate) fn oct_wrap(v: [f32; 2]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_normal` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:275:15
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub(crate) fn encode_normal(n: [f32; 3]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_normal` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:286:15
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub(crate) fn decode_normal(f: [f32; 2]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `velocity_uv_delta` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:308:15
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub(crate) fn velocity_uv_delta(curr_clip: [f32; 4], prev_clip: [f32; 4]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `view_depth` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:319:15
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub(crate) fn view_depth(view_position_z: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `textures` and `size` are never read
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:513:5
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub(crate) struct GBufferTargets {
[INFO] [stdout]     |                   -------------- fields in this struct
[INFO] [stdout] 513 |     textures: [wgpu::Texture; GBUFFER_CHANNELS.len()],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516 |     size: (u32, u32),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GBufferTargets` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `texture` and `size` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gbuffer.rs:580:19
[INFO] [stdout]     |
[INFO] [stdout] 520 | impl GBufferTargets {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 580 |     pub(crate) fn texture(&self, channel: GBufferChannel) -> &wgpu::Texture {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub(crate) fn size(&self) -> (u32, u32) {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_EV` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/agx.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub(crate) const MIN_EV: f32 = -12.47393;
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_EV` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/agx.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) const MAX_EV: f32 = 4.026069;
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn glsl_clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:237:4
[INFO] [stdout]     |
[INFO] [stdout] 237 | fn glsl_clamp3(v: Vec3, lo: f32, hi: f32) -> Vec3 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lum` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:246:15
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub(crate) fn lum(c: Vec3) -> f32 {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rec2020_from_srgb` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) fn rec2020_from_srgb(c: Vec3) -> Vec3 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `srgb_from_rec2020` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:260:15
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub(crate) fn srgb_from_rec2020(c: Vec3) -> Vec3 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inset` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:269:15
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub(crate) fn inset(c: Vec3) -> Vec3 {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `outset` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub(crate) fn outset(c: Vec3) -> Vec3 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contrast_channel` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn contrast_channel(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contrast` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:303:15
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub(crate) fn contrast(x: Vec3) -> Vec3 {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `agx` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/agx.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub(crate) fn agx(color: Vec3, slope: f32, power: f32, sat: f32) -> Vec3 {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SKY_WEIGHT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) const SKY_WEIGHT: f32 = 0.15;
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAR_DISTANCE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub(crate) const FAR_DISTANCE: f32 = 400.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAP_CLAMP` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) const TAP_CLAMP: f32 = 40.0;
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SKY_KNEE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub(crate) const SKY_KNEE: Vec2 = Vec2::new(0.06, 0.3);
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPEED_UP` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:118:18
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(crate) const SPEED_UP: f32 = 1.4;
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPEED_DOWN` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) const SPEED_DOWN: f32 = 3.2;
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ADAPT_DT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) const MAX_ADAPT_DT: f32 = 0.1;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPEED_CONSTANT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:130:18
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub(crate) const SPEED_CONSTANT: f32 = 1.2;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPOSURE_KEY` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:134:18
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub(crate) const EXPOSURE_KEY: f32 = 1.06;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCENE_MIN_EV` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) const SCENE_MIN_EV: f32 = -4.3;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCENE_MAX_EV` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub(crate) const SCENE_MAX_EV: f32 = 20.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHAIN_SIZES` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub(crate) const CHAIN_SIZES: [u32; 4] = [64, 16, 4, 1];
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCENE_LUX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) const SCENE_LUX: f32 = 25000.0;
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `photometric_ev100` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) fn photometric_ev100(metered_ev: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPOSURE_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) const EXPOSURE_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPOSURE_PASS_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:311:18
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub(crate) const EXPOSURE_PASS_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:397:4
[INFO] [stdout]     |
[INFO] [stdout] 397 | fn glsl_clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn glsl_mix(a: f32, b: f32, t: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:408:4
[INFO] [stdout]     |
[INFO] [stdout] 408 | fn glsl_smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meter_tap` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:415:15
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub(crate) fn meter_tap(c: Vec3, tap_clamp: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `centre_weight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:425:15
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub(crate) fn centre_weight(uv: Vec2) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sky_deweight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:436:15
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub(crate) fn sky_deweight(w: f32, luminance: f32, meter: Vec4, sky_knee: Vec2, depth: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `loglum` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:453:15
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub(crate) fn loglum(
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reduce_offset` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:469:15
[INFO] [stdout]     |
[INFO] [stdout] 469 | pub(crate) fn reduce_offset(x: i32, y: i32, texel: Vec2) -> Vec2 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reduce` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:482:15
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub(crate) fn reduce(samples: &[Vec2; 16]) -> Vec2 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adapt` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/exposure.rs:499:15
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub(crate) fn adapt(s: Vec2, prev: f32, params: Vec4, limits: Vec4) -> Vec2 {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BloomTuning` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/mod.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub(crate) struct BloomTuning {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOURCE_SETTINGS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/mod.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) const SOURCE_SETTINGS: BloomTuning = BloomTuning {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTRUCTOR_DEFAULTS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/mod.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) const CONSTRUCTOR_DEFAULTS: BloomTuning = BloomTuning {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOWN_TAPS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) const DOWN_TAPS: [[f32; 2]; 13] = [
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UP_TAPS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) const UP_TAPS: [[f32; 2]; 9] = [
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIREFLY_CLAMP` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub(crate) const FIREFLY_CLAMP: f32 = 24.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn add(a: [f32; 3], b: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn scale(a: [f32; 3], by: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divide` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn divide(a: [f32; 3], by: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `floor_at_zero` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn floor_at_zero(a: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quad_mean` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn quad_mean(p: [f32; 3], q: [f32; 3], r: [f32; 3], s: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quad_sum` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn quad_sum(p: [f32; 3], q: [f32; 3], r: [f32; 3], s: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `downsample_karis` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub(crate) fn downsample_karis(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `downsample_plain` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn downsample_plain(taps: [[f32; 3]; 13]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upsample_tent` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) fn upsample_tent(taps: [[f32; 3]; 9]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blend` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:222:15
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub(crate) fn blend(destination: [f32; 3], source: [f32; 3], weight: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combine` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/filters.rs:249:15
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub(crate) fn combine(hdr: [f32; 3], bloom: [f32; 3], strength: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quantize` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/half_storage.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) fn quantize(value: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_half_bits` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/half_storage.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) fn to_half_bits(value: f32) -> u16 {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_half_bits` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/half_storage.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) fn from_half_bits(half: u16) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `luminance` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/prefilter.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) fn luminance(colour: [f32; 3]) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `karis_weight` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/prefilter.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) fn karis_weight(colour: [f32; 3]) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `knee_floor` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/prefilter.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn knee_floor(knee: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefilter` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/prefilter.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(crate) fn prefilter(colour: [f32; 3], threshold: f32, knee: f32) -> [f32; 3] {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Image` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/reference.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) struct Image {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_fn`, `width`, `height`, `texels`, `texel`, and `sample` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/reference.rs:79:19
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl Image {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub(crate) fn from_fn(
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub(crate) fn width(&self) -> u32 {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub(crate) fn height(&self) -> u32 {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub(crate) fn texels(&self) -> &[[f32; 3]] {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn texel(&self, x: i32, y: i32) -> [f32; 3] {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn sample(&self, uv: [f32; 2]) -> [f32; 3] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/reference.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn mix(a: [f32; 3], b: [f32; 3], t: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `texel_centre` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/reference.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn texel_centre(x: u32, y: u32, width: u32, height: u32) -> [f32; 2] {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `downsample` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/reference.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn downsample(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upsample` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/reference.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn upsample(source: &Image, destination: &Image, radius: f32, weight: f32) -> Image {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/reference.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) fn render(source: &Image, tuning: BloomTuning, levels: usize) -> Option<Image> {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEVELS_HIGH` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/schedule.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) const LEVELS_HIGH: usize = 6;
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEVELS_LOW` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/schedule.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) const LEVELS_LOW: usize = 5;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NARROW_STEP` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/schedule.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) const NARROW_STEP: (f32, f32) = (1.0, 0.5);
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDE_STEP` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/schedule.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) const WIDE_STEP: (f32, f32) = (0.62, 0.34);
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mip_sizes` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/schedule.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) fn mip_sizes(width: u32, height: u32, levels: usize) -> Vec<(u32, u32)> {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upsample_step` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/schedule.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn upsample_step(level: usize, count: usize) -> (f32, f32) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEVEL_FORMAT` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/chain.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) const LEVEL_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Rgba16Float;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Level` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/chain.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct Level {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Step` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/chain.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct Step {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BloomPyramid` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/chain.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub(crate) struct BloomPyramid {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `output`, `output_size`, `copy_output_to_buffer`, and `record` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/chain.rs:97:19
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl BloomPyramid {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub(crate) fn new(
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub(crate) fn output(&self) -> &wgpu::TextureView {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub(crate) fn output_size(&self) -> (u32, u32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub(crate) fn copy_output_to_buffer(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub(crate) fn record(
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOOM_PYRAMID_WGSL` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/bloom_pyramid/wgsl.rs:31:18
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) const BLOOM_PYRAMID_WGSL: &str = r#"
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOOM_PASSES_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/wgsl.rs:167:18
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub(crate) const BLOOM_PASSES_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CASCADES` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) const MAX_CASCADES: usize = 4;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAP_SIZE` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub(crate) const MAP_SIZE: u32 = 2048;
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAMBDA` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) const LAMBDA: f64 = 0.86;
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACK_DISTANCE` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) const BACK_DISTANCE: f32 = 140.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DISTANCE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) const MAX_DISTANCE: f32 = 140.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEAR` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:107:7
[INFO] [stdout]     |
[INFO] [stdout] 107 | const NEAR: f32 = 0.0;
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_SPLIT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:111:7
[INFO] [stdout]     |
[INFO] [stdout] 111 | const UNUSED_SPLIT: f32 = 1.0e9;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_TEXEL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:113:7
[INFO] [stdout]     |
[INFO] [stdout] 113 | const UNUSED_TEXEL: f32 = 0.01;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_RANGE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:115:7
[INFO] [stdout]     |
[INFO] [stdout] 115 | const UNUSED_RANGE: f32 = 1.0;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RADIUS_QUANTUM` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | const RADIUS_QUANTUM: f64 = 16.0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTICAL_SUN` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:122:7
[INFO] [stdout]     |
[INFO] [stdout] 122 | const VERTICAL_SUN: f32 = 0.98;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CULL_MARGIN_TEXELS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 | const CULL_MARGIN_TEXELS: f32 = 32.0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GL_TO_WGPU_DEPTH` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:135:7
[INFO] [stdout]     |
[INFO] [stdout] 135 | const GL_TO_WGPU_DEPTH: [f32; 16] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atlas_byte_size` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub(crate) fn atlas_byte_size(map_size: u32, count: usize) -> u64 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CascadeCamera` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub(crate) struct CascadeCamera {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CascadeParams` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:160:19
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) struct CascadeParams {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CascadeQuality` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub(crate) struct CascadeQuality {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quality_tier` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub(crate) fn quality_tier(level: u32) -> CascadeQuality {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fit` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | struct Fit {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_FIT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:217:7
[INFO] [stdout]     |
[INFO] [stdout] 217 | const UNUSED_FIT: Fit = Fit {
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CascadeSet` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:230:19
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub(crate) struct CascadeSet {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:238:19
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl CascadeSet {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 237 |     /// How many cascades are live. Always in `[1, MAX_CASCADES]`.
[INFO] [stdout] 238 |     pub(crate) fn count(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub(crate) fn map_size(&self) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub(crate) fn matrices(&self) -> [[f32; 16]; MAX_CASCADES] {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub(crate) fn split(&self) -> [f32; MAX_CASCADES] {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub(crate) fn split_near(&self) -> [f32; MAX_CASCADES] {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub(crate) fn texel(&self) -> [f32; MAX_CASCADES] {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub(crate) fn range(&self) -> [f32; MAX_CASCADES] {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub(crate) fn centre(&self, index: usize) -> Vec3 {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub(crate) fn radius(&self, index: usize) -> f32 {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub(crate) fn cull_margin(&self, index: usize) -> f32 {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `splits` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:304:15
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub(crate) fn splits(count: usize, near: f32, far: f32) -> [f32; MAX_CASCADES + 1] {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub_frustum_sphere` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:333:15
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub(crate) fn sub_frustum_sphere(cn: f32, cf: f32, k2: f32) -> (f32, f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fit` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:429:15
[INFO] [stdout]     |
[INFO] [stdout] 429 | pub(crate) fn fit(
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fit_one` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn fit_one(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade/shading.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn mix(a: f32, b: f32, t: f32) -> f32 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade/shading.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade/shading.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn step(edge: f32, x: f32) -> f32 {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ig_noise` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade/shading.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) fn ig_noise(x: f32, y: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vogel` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade/shading.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) fn vogel(index: u32, taps: u32, phi: f32) -> (f32, f32) {
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_cascade` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade/shading.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) fn select_cascade(view_depth: f32, split: &[f32; MAX_CASCADES], count: usize) -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/cascade/shading.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub(crate) fn project(
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cascade_shadow` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade/shading.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) fn cascade_shadow<F: Fn(usize, f32, f32) -> f32>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sun_shadow` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/cascade/shading.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub(crate) fn sun_shadow<F: Fn(usize, f32, f32) -> f32>(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOLD_DX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:341:18
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub(crate) const FOLD_DX: Vec2 = Vec2 { x: 0.05, y: 0.0 };
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOLD_DY` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:344:18
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub(crate) const FOLD_DY: Vec2 = Vec2 { x: 0.0, y: 0.05 };
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn glsl_clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:360:4
[INFO] [stdout]     |
[INFO] [stdout] 360 | fn glsl_smoothstep(edge0: f32, edge1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_dot` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:371:4
[INFO] [stdout]     |
[INFO] [stdout] 371 | fn glsl_dot(a: Vec3, b: Vec3) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_negate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:376:4
[INFO] [stdout]     |
[INFO] [stdout] 376 | fn glsl_negate(v: Vec3) -> Vec3 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enabled` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:385:15
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub(crate) fn enabled(cloth: Vec4) -> bool {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:391:15
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub(crate) fn fold_uv(world_pos: Vec3) -> Vec2 {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `underside` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:404:15
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub(crate) fn underside(
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:424:15
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub(crate) fn fold(
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cloth_light` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:456:15
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub(crate) fn cloth_light(
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transmission` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:472:15
[INFO] [stdout]     |
[INFO] [stdout] 472 | pub(crate) fn transmission(cloth: Vec4, ao: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transmitted` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/cloth.rs:482:15
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub(crate) fn transmitted(trans_sum: Vec3, diffuse_color: Vec3, transmission: f32) -> Vec3 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OW_DIST` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/compose.rs:160:18
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) const OW_DIST: &str = "0.0";
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DETAIL` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/detail.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(crate) const DEFAULT_DETAIL: [f32; 4] = [11.0, 0.55, 0.35, 16.0];
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DETAIL_WORLD` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/detail.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) const DEFAULT_DETAIL_WORLD: f32 = 0.26;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVATION_MIN_SCALE` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/detail.rs:77:7
[INFO] [stdout]    |
[INFO] [stdout] 77 | const DERIVATION_MIN_SCALE: f32 = 0.3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVED_TILES_FLOOR` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/detail.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const DERIVED_TILES_FLOOR: f32 = 1.2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:228:4
[INFO] [stdout]     |
[INFO] [stdout] 228 | fn glsl_smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_normalize` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:235:4
[INFO] [stdout]     |
[INFO] [stdout] 235 | fn glsl_normalize(v: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DetailOut` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:245:19
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub(crate) struct DetailOut {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detail_fade` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) fn detail_fade(fade_metres: f32, dist: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detail_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:266:15
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub(crate) fn detail_uv(uv: [f32; 2], tiles: f32) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blend_normal` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:273:15
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub(crate) fn blend_normal(
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blend_normal_projected` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:290:15
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) fn blend_normal_projected(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `micro_height` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub(crate) fn micro_height(detail_texel: [f32; 4]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modulate_albedo` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:312:15
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub(crate) fn modulate_albedo(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modulate_roughness` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:324:15
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub(crate) fn modulate_roughness(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `surface_height` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:334:15
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub(crate) fn surface_height(albedo_alpha: f32, micro: f32, fade: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detail` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:342:15
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub(crate) fn detail(
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detail_tiles` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detail.rs:401:15
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub(crate) fn detail_tiles(
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_normalize` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:197:4
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn glsl_normalize(v: Vec3) -> Vec3 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detile_warp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:228:15
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub(crate) fn detile_warp(v: Vec2) -> Vec2 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detile_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:234:15
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub(crate) fn detile_uv(uv: Vec2) -> Vec2 {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detile_decode_normal` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub(crate) fn detile_decode_normal(texel: Vec3, normal_amp: f32) -> Vec3 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detile_mask_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub(crate) fn detile_mask_uv(object_pos: Vec3, macro_scale: f32) -> Vec2 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detile_mask_from_green` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:259:15
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub(crate) fn detile_mask_from_green(green: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detile_fold_detail_normal` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:265:15
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub(crate) fn detile_fold_detail_normal(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeightBlend` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:281:19
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub(crate) struct HeightBlend {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `height_blend` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/detile.rs:296:15
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub(crate) fn height_blend(
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gl_step` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn gl_step(edge: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gl_mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn gl_mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gl_normalize` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn gl_normalize(v: Vec3) -> Vec3 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gl_inverse_sqrt` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:207:4
[INFO] [stdout]     |
[INFO] [stdout] 207 | fn gl_inverse_sqrt(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `axis_signs` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn axis_signs(n: Vec3) -> Vec3 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OwFrame` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:223:19
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub(crate) struct OwFrame {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OwTangentBasis` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:238:19
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub(crate) struct OwTangentBasis {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ow_axis_frame` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:252:15
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub(crate) fn ow_axis_frame(p: Vec3, n: Vec3, axis: i32, ow_tile: Vec4) -> OwFrame {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ow_orthonormalise` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub(crate) fn ow_orthonormalise(f: OwFrame, n: Vec3) -> OwFrame {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ow_tangent_frame` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/frames.rs:309:15
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub(crate) fn ow_tangent_frame(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MACRO_NOISE_SIZE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:252:18
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub(crate) const MACRO_NOISE_SIZE: usize = 64;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MacroNoise` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:258:19
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub(crate) struct MacroNoise {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `procedural`, `texels`, and `sample` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:268:19
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl MacroNoise {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub(crate) fn procedural() -> MacroNoise {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub(crate) fn texels(&self) -> &[[f32; 4]] {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub(crate) fn sample(&self, u: f32, v: f32) -> [f32; 4] {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hashed_channel` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:299:4
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn hashed_channel(x: u32, y: u32, lane: u32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MacroVariationIn` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:314:19
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) struct MacroVariationIn {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MacroVariationOut` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:342:19
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub(crate) struct MacroVariationOut {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:361:4
[INFO] [stdout]     |
[INFO] [stdout] 361 | fn step(edge: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:375:4
[INFO] [stdout]     |
[INFO] [stdout] 375 | fn clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:380:4
[INFO] [stdout]     |
[INFO] [stdout] 380 | fn scale3(v: [f32; 3], s: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn dot3(a: [f32; 3], b: [f32; 3]) -> f32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:392:4
[INFO] [stdout]     |
[INFO] [stdout] 392 | fn normalize3(v: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:398:4
[INFO] [stdout]     |
[INFO] [stdout] 398 | fn transform3(columns: [[f32; 3]; 3], v: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `macro_variation` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/macro_variation.rs:411:15
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub(crate) fn macro_variation(input: &MacroVariationIn, noise: &MacroNoise) -> MacroVariationOut {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn mix3(x: [f32; 3], y: [f32; 3], a: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn clamp(x: f32, low: f32, high: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:226:4
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn smoothstep(edge0: f32, edge1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaskInputs` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:234:19
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub(crate) struct MaskInputs {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaskLayer` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:266:19
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub(crate) struct MaskLayer {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:275:15
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub(crate) fn apply(input: &MaskInputs) -> MaskLayer {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vertex_colour_masks` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:299:4
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn vertex_colour_masks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ambient_occlusion` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/masks.rs:344:15
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub(crate) fn ambient_occlusion(occlusion: f32, ao_strength: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchChannels` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:223:19
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub(crate) struct PatchChannels {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fract` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:235:15
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub(crate) fn fract(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step_ge` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub(crate) fn step_ge(edge: f32, x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp01` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn clamp01(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:257:15
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub(crate) fn smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash11` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:264:15
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(crate) fn hash11(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:277:15
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub(crate) fn apply(
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchSample` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:359:19
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub(crate) struct PatchSample {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evaluate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:371:19
[INFO] [stdout]     |
[INFO] [stdout] 369 | impl PatchSample {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 370 |     /// Run the CPU reference on this row.
[INFO] [stdout] 371 |     pub(crate) fn evaluate(&self) -> PatchChannels {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLES` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub(crate) const SAMPLES: usize = 32;
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `samples` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/patches.rs:402:15
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub(crate) fn samples() -> Vec<PatchSample> {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POM_MAX_STEPS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub(crate) const POM_MAX_STEPS: u32 = 48;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PomMarch` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:168:19
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub(crate) struct PomMarch {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `saturate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn saturate(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn mix(a: f32, b: f32, t: f32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:197:4
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn normalize3(v: Vec3) -> Vec3 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pom_fade` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub(crate) fn pom_fade(view_distance: f32, fade_near: f32, fade_far: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pom_view_tangent` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:222:15
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub(crate) fn pom_view_tangent(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarchState` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | struct MarchState {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pom` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/pom.rs:257:15
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub(crate) fn pom(
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn clamp(x: f32, low: f32, high: f32) -> f32 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_WEAR_MATERIAL` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) const DEFAULT_WEAR_MATERIAL: [f32; 4] = [0.42, 0.0, 0.0, 0.5];
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TINT_HEX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) const DEFAULT_TINT_HEX: u32 = 0x00ff_ffff;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_WEAR_COLOR_HEX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub(crate) const DEFAULT_WEAR_COLOR_HEX: u32 = 0x008d_8b86;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_NORMAL_STRENGTH` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) const DEFAULT_NORMAL_STRENGTH: f32 = 1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_ROUGHNESS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:110:18
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) const DEFAULT_ROUGHNESS: [f32; 3] = [1.0, 0.0, 0.06];
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_ALPHA_MASK` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub(crate) const DEFAULT_ALPHA_MASK: bool = false;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROUGHNESS_HARD_FLOOR` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) const ROUGHNESS_HARD_FLOOR: f32 = 0.015;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOLIAGE_ALPHA_TEST` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) const FOLIAGE_ALPHA_TEST: f32 = 0.45;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rough_p` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub(crate) fn rough_p(roughness: [f32; 3], detile: f32) -> [f32; 4] {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `srgb_hex_to_linear` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub(crate) fn srgb_hex_to_linear(hex: u32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wear_albedo` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:168:15
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub(crate) fn wear_albedo(
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wear_orm` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) fn wear_orm(orm: [f32; 3], wear_mask: f32, wear_material: [f32; 4]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normal_strength` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:200:15
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub(crate) fn normal_strength(n: [f32; 3], amp: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tint` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub(crate) fn tint(alb: [f32; 3], tint_color: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `roughness_remap` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:214:15
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub(crate) fn roughness_remap(roughness: f32, rough_p: [f32; 4]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alpha_cut` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub(crate) fn alpha_cut(alpha: f32, alpha_test: f32) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Channels` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub(crate) struct Channels {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channels` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:265:15
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub(crate) fn channels(
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finish` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/tint_wear.rs:291:15
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub(crate) fn finish(
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UvMode` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub(crate) enum UvMode {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tile_scale` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:221:15
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub(crate) fn tile_scale(mode: UvMode, scale: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tile` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:229:15
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub(crate) fn tile(mode: UvMode, scale: f32, offset: [f32; 2]) -> [f32; 4] {
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_step` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn glsl_step(edge: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `projection_pos` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub(crate) fn projection_pos(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `projection_normal` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:255:15
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub(crate) fn projection_normal(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `axis_sign` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:268:15
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub(crate) fn axis_sign(n: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `axis_project` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub(crate) fn axis_project(p: [f32; 3], n: [f32; 3], axis: usize) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tile_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:287:15
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub(crate) fn tile_uv(uv: [f32; 2], tile: [f32; 4]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `axis_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:292:15
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub(crate) fn axis_uv(p: [f32; 3], n: [f32; 3], axis: usize, tile: [f32; 4]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dominant_axis` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:299:15
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub(crate) fn dominant_axis(n: [f32; 3]) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `planar_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:308:15
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub(crate) fn planar_uv(p: [f32; 3], n: [f32; 3], tile: [f32; 4]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triplanar_weights` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:318:15
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub(crate) fn triplanar_weights(n: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triplanar_detail_axis` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/uv_mode.rs:329:15
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub(crate) fn triplanar_detail_axis(n: [f32; 3]) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_WEATHER` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:375:18
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub(crate) const DEFAULT_WEATHER: [f32; 4] = [0.35, 0.3, 0.55, 0.4];
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_GROUND_Y` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub(crate) const DEFAULT_GROUND_Y: f32 = 0.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DUST_COLOR_HEX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub(crate) const DEFAULT_DUST_COLOR_HEX: u32 = 0x006b_6154;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_GRIME_COLOR_HEX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub(crate) const DEFAULT_GRIME_COLOR_HEX: u32 = 0x002A_2620;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_RUST_COLOR_HEX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:388:18
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub(crate) const DEFAULT_RUST_COLOR_HEX: u32 = 0x006D_3A1C;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `three_srgb_to_linear` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:399:4
[INFO] [stdout]     |
[INFO] [stdout] 399 | fn three_srgb_to_linear(c: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `srgb_hex_to_linear` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:407:15
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub(crate) fn srgb_hex_to_linear(hex: u32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fract` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:420:4
[INFO] [stdout]     |
[INFO] [stdout] 420 | fn fract(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:431:4
[INFO] [stdout]     |
[INFO] [stdout] 431 | fn step(edge: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:437:4
[INFO] [stdout]     |
[INFO] [stdout] 437 | fn smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:443:4
[INFO] [stdout]     |
[INFO] [stdout] 443 | fn mix3(x: [f32; 3], y: [f32; 3], a: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn scale3(x: [f32; 3], k: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:455:4
[INFO] [stdout]     |
[INFO] [stdout] 455 | fn normalize3(v: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WeatherState` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:468:19
[INFO] [stdout]     |
[INFO] [stdout] 468 | pub(crate) struct WeatherState {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash11` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:478:15
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub(crate) fn hash11(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runoff` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:488:15
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub(crate) fn runoff(s_axis: f32, y: f32, wobble: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vert_facing` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:513:15
[INFO] [stdout]     |
[INFO] [stdout] 513 | pub(crate) fn vert_facing(nw_y: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `s_axis` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:518:15
[INFO] [stdout]     |
[INFO] [stdout] 518 | pub(crate) fn s_axis(world_pos: [f32; 3], nw: [f32; 3]) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `streak_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:524:15
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub(crate) fn streak_uv(s_axis: f32, world_y: f32) -> [f32; 4] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dust` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:537:15
[INFO] [stdout]     |
[INFO] [stdout] 537 | pub(crate) fn dust(
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rain` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:570:15
[INFO] [stdout]     |
[INFO] [stdout] 570 | pub(crate) fn rain(
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `splash` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:628:15
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub(crate) fn splash(
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wedge` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:673:15
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub(crate) fn wedge(
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WeatherInput` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:703:19
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub(crate) struct WeatherInput {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stack` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/material_shader/weathering.rs:735:15
[INFO] [stdout]     |
[INFO] [stdout] 735 | pub(crate) fn stack(state: WeatherState, input: WeatherInput) -> WeatherState {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_STEPS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:110:18
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) const CONTACT_STEPS: i32 = 14;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_JITTER_FRAME_SCALE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) const CONTACT_JITTER_FRAME_SCALE: f32 = 3.1717;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_NDL_CUTOFF` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) const CONTACT_NDL_CUTOFF: f32 = 0.02;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_UNCOVERED_DEPTH` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub(crate) const CONTACT_UNCOVERED_DEPTH: f32 = 1.0e4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_BIAS_BASE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:147:18
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) const CONTACT_BIAS_BASE: f32 = 0.004;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_BIAS_PER_METRE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) const CONTACT_BIAS_PER_METRE: f32 = 0.0025;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_ORIGIN_BIAS_BASE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:156:18
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub(crate) const CONTACT_ORIGIN_BIAS_BASE: f32 = 0.012;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_ORIGIN_BIAS_PER_METRE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:159:18
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub(crate) const CONTACT_ORIGIN_BIAS_PER_METRE: f32 = 0.0015;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_SUN_DOT_THRESHOLD` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub(crate) const CONTACT_SUN_DOT_THRESHOLD: f32 = 0.999;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_BILATERAL_FALLOFF` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:168:18
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub(crate) const CONTACT_BILATERAL_FALLOFF: f32 = 40.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTACT_BILATERAL_DEPTH_FLOOR` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub(crate) const CONTACT_BILATERAL_DEPTH_FLOOR: f32 = 0.1;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_length` and `with_strength` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:205:19
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl ContactParams {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub(crate) fn with_length(self, metres: f32) -> ContactParams {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub(crate) fn with_strength(self, strength: f32) -> ContactParams {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactInputs` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:220:19
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub(crate) struct ContactInputs<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contact_ray_length` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:245:15
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub(crate) fn contact_ray_length(base_length: f32, depth: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `march` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn march(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contact_pixel` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:314:15
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) fn contact_pixel(
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contact_blur_pixel` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:385:15
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub(crate) fn contact_blur_pixel(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contact_shadow_for_light` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/contact.rs:424:15
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub(crate) fn contact_shadow_for_light(enabled: bool, dot_light_sun: f32, sampled: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAPS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/dof.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub(crate) const TAPS: usize = 32;
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOLDEN_ANGLE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) const GOLDEN_ANGLE: f32 = 2.399_963_23;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAU` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub(crate) const TAU: f32 = 6.283_185_3;
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SKY_DEPTH` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:110:18
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) const SKY_DEPTH: f32 = 1e4;
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REFERENCE_HEIGHT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) const REFERENCE_HEIGHT: f32 = 1080.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_PERIOD` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:118:18
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(crate) const FRAME_PERIOD: u32 = 64;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dof` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub(crate) struct Dof {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOURCE_SETTINGS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) const SOURCE_SETTINGS: Dof = Dof {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTRUCTOR_DEFAULTS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub(crate) const CONSTRUCTOR_DEFAULTS: Dof = Dof {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `focus_lane` and `range_lane` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:188:19
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl Dof {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub(crate) fn focus_lane(self, coc_pixels: f32) -> [f32; 4] {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub(crate) fn range_lane(self) -> [f32; 4] {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOF_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:207:18
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub(crate) const DOF_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOF_PASS_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:383:18
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub(crate) const DOF_PASS_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn glsl_clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn glsl_smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_fract` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:531:4
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn glsl_fract(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ign` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:536:15
[INFO] [stdout]     |
[INFO] [stdout] 536 | pub(crate) fn ign(p: [f32; 2]) -> f32 {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sky_depth` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn sky_depth(depth: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `focus_distance` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:552:15
[INFO] [stdout]     |
[INFO] [stdout] 552 | pub(crate) fn focus_distance(centre_depth: f32, focus: [f32; 4]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coc` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:559:15
[INFO] [stdout]     |
[INFO] [stdout] 559 | pub(crate) fn coc(depth: f32, focus_distance: f32, focus: [f32; 4], range: [f32; 4]) -> f32 {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_coc_pixels` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:579:15
[INFO] [stdout]     |
[INFO] [stdout] 579 | pub(crate) fn max_coc_pixels(max_coc_setting: f32, height: f32, amount: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gather_radius` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:584:15
[INFO] [stdout]     |
[INFO] [stdout] 584 | pub(crate) fn gather_radius(max_coc_px: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_phase` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:589:15
[INFO] [stdout]     |
[INFO] [stdout] 589 | pub(crate) fn frame_phase(frame: u32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gather_rotation` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:598:15
[INFO] [stdout]     |
[INFO] [stdout] 598 | pub(crate) fn gather_rotation(frag_coord: [f32; 2], frame_phase: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `half_size` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:610:15
[INFO] [stdout]     |
[INFO] [stdout] 610 | pub(crate) fn half_size(width: u32, height: u32) -> (u32, u32) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefilter` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:623:15
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub(crate) fn prefilter(
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tap_offset` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:645:15
[INFO] [stdout]     |
[INFO] [stdout] 645 | pub(crate) fn tap_offset(index: usize, rot: f32, radius: f32) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tap_distance` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:661:15
[INFO] [stdout]     |
[INFO] [stdout] 661 | pub(crate) fn tap_distance(off: [f32; 2]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tap_weight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:666:15
[INFO] [stdout]     |
[INFO] [stdout] 666 | pub(crate) fn tap_weight(tap_coc: f32, dist: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gather` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:682:15
[INFO] [stdout]     |
[INFO] [stdout] 682 | pub(crate) fn gather(centre: [f32; 4], taps: &[[f32; 4]; TAPS], rot: f32, radius: f32) -> [f32; 4] {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combine` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:709:15
[INFO] [stdout]     |
[INFO] [stdout] 709 | pub(crate) fn combine(sharp: [f32; 3], blur: [f32; 4], sharp_coc: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quantized_coc` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/dof.rs:729:15
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub(crate) fn quantized_coc(coc_px: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/env.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) const WIDTH: usize = 512;
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEIGHT` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/env.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) const HEIGHT: usize = 256;
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HALF_ONE` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/env.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(crate) const HALF_ONE: u16 = 0x3c00;
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HALF_MAX` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/env.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 | const HALF_MAX: f64 = 65504.0;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `half_base` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/env.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn half_base(index: usize) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `half_shift` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/env.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn half_shift(index: usize) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `three_to_half_float` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/env.rs:143:15
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub(crate) fn three_to_half_float(val: f64) -> u16 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sky_radiance` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/env.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) fn sky_radiance(dir: [f64; 3], sun_dir: [f64; 3]) -> [f64; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `equirect_direction` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/env.rs:228:15
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub(crate) fn equirect_direction(x: usize, y: usize) -> [f64; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_fallback_environment` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/env.rs:243:15
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub(crate) fn build_fallback_environment(sun_dir: [f64; 3]) -> Vec<u16> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DebugView` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) enum DebugView {
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_VIEW_NAMES` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) const DEBUG_VIEW_NAMES: [&str; 11] = [
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DebugSource` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) enum DebugSource {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `available_in` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl DebugSource {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(crate) fn available_in(self, pipeline: &FramePipeline) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `mode`, `source`, and `resolved_source` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl DebugView {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 143 |     /// The `?rview=` string.
[INFO] [stdout] 144 |     pub(crate) const fn name(self) -> &'static str {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub(crate) const fn mode(self) -> u32 {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub(crate) const fn source(self) -> DebugSource {
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(crate) fn resolved_source(self, pipeline: &FramePipeline) -> DebugSource {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_rview` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:186:15
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub(crate) fn parse_rview(query: &str) -> Option<DebugView> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 | const VIEWS: [DebugView; 11] = [
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_cascade_cull` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:219:15
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub(crate) fn no_cascade_cull(query: &str) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_value` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/debug_view.rs:228:4
[INFO] [stdout]     |
[INFO] [stdout] 228 | fn query_value<'a>(query: &'a str, key: &str) -> Option<&'a str> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DT` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:40:18
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub(crate) const MIN_DT: f64 = 1.0 / 480.0;
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DT` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) const MAX_DT: f64 = 0.1;
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALLBACK_DT` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub(crate) const FALLBACK_DT: f64 = 1.0 / 60.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHUTTER_REFERENCE_DT` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) const SHUTTER_REFERENCE_DT: f64 = 1.0 / 60.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_dt` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) fn frame_dt(reported: f64) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `metering_dt` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub(crate) fn metering_dt(auto_exposure: bool, dt: f64) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shutter` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn shutter(setting: f64, dt: f64) -> f64 {
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ads_engagement` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub(crate) fn ads_engagement(reported: Option<f64>) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cascade_jitter_index` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) fn cascade_jitter_index(taa: bool, frame: u64) -> u64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `logs_exposure_this_frame` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub(crate) fn logs_exposure_this_frame(deterministic: bool, frame: u64) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JITTER_ELEMENTS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub(crate) const JITTER_ELEMENTS: [usize; 2] = [8, 9];
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jitter_ndc` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) fn jitter_ndc(jitter_pixels: Vec2, screen: (u32, u32)) -> Vec2 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_jitter` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn apply_jitter(projection: Mat4, offset: Vec2) -> (Mat4, Vec2) {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_jitter` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/frame_inputs.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub(crate) fn remove_jitter(projection: Mat4, saved: Vec2) -> Mat4 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULLSCREEN_POSITIONS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) const FULLSCREEN_POSITIONS: [f32; 9] =
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULLSCREEN_UVS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) const FULLSCREEN_UVS: [f32; 6] = [0.0, 0.0, 2.0, 0.0, 0.0, 2.0];
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULLSCREEN_BOUNDING_RADIUS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) const FULLSCREEN_BOUNDING_RADIUS: f32 = 1e8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULLSCREEN_VERTICES` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub(crate) const FULLSCREEN_VERTICES: u32 = 3;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULLSCREEN_WGSL` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) const FULLSCREEN_WGSL: &str = r#"
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Blending` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub(crate) enum Blending {
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PassState` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) struct PassState {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pass_state` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:144:15
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub(crate) fn pass_state(blending: Option<Blending>) -> PassState {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blit` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:161:19
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub(crate) struct Blit {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blit` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/fullscreen.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) fn blit(clear: bool, layer: u32) -> Blit {
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRACTICAL_RANGE` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) const PRACTICAL_RANGE: f64 = 30.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REF_DAYLIGHT` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) const REF_DAYLIGHT: f64 = 4.6;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SKY_AMBIENT_FRACTION` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub(crate) const SKY_AMBIENT_FRACTION: f64 = 0.15;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) fn smoothstep(x: f64, min: f64, max: f64) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisteredLight` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) struct RegisteredLight {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LIGHT_RANGE` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) const DEFAULT_LIGHT_RANGE: f64 = 25.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CulledLight` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) struct CulledLight {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cull_light` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub(crate) fn cull_light(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_sun` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) fn sync_sun(candidate_intensities: &[f64]) -> Option<usize> {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rgb` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:167:19
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub(crate) struct Rgb {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `max_channel`, `divide_scalar`, and `scale` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl Rgb {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 177 |     /// A triple.
[INFO] [stdout] 178 |     pub(crate) const fn new(r: f64, g: f64, b: f64) -> Self {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub(crate) fn max_channel(self) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub(crate) fn divide_scalar(self, s: f64) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub(crate) fn scale(self, s: f64) -> Self {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BounceFill` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub(crate) struct BounceFill {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkyPublication` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub(crate) struct SkyPublication {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALLBACK_SKY_HUE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:233:7
[INFO] [stdout]     |
[INFO] [stdout] 233 | const FALLBACK_SKY_HUE: Rgb = Rgb::new(0.36, 0.56, 1.0);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHROMA_PUSH` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:244:7
[INFO] [stdout]     |
[INFO] [stdout] 244 | const CHROMA_PUSH: f64 = 1.18;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LUMA` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:247:7
[INFO] [stdout]     |
[INFO] [stdout] 247 | const LUMA: (f64, f64, f64) = (0.2126, 0.7152, 0.0722);
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUND_ALBEDO` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:251:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | const GROUND_ALBEDO: (f64, f64, f64) = (0.33, 0.29, 0.225);
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounce_fill` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:254:15
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub(crate) fn bounce_fill(
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RigLight` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:310:19
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub(crate) struct RigLight {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewRig` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:319:19
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub(crate) struct ViewRig {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEW_RIG_DIRECTIONS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:341:18
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub(crate) const VIEW_RIG_DIRECTIONS: [(f64, f64, f64); 4] = [
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEW_RIG_DISTANCE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:349:18
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub(crate) const VIEW_RIG_DISTANCE: f64 = 4.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `view_rig` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:356:15
[INFO] [stdout]     |
[INFO] [stdout] 356 | pub(crate) fn view_rig(
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEW_RIG_CHILDREN` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:424:18
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub(crate) const VIEW_RIG_CHILDREN: usize = 9;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `view_visible` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:427:15
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub(crate) fn view_visible(view_scene_children: usize) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `viewmodel_shadows_coherent` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:436:15
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub(crate) fn viewmodel_shadows_coherent(distance_squared: f64) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FramePipeline` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/pipeline.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) struct FramePipeline {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/pipeline.rs:80:19
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl FramePipeline {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub(crate) fn resolve(
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub(crate) const fn tier(&self) -> QualityTier {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub(crate) const fn render_scale(&self) -> f64 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(crate) const fn csm(&self) -> CsmConfig {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub(crate) const fn max_anisotropy(&self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub(crate) const fn view_samples(&self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub(crate) const fn bloom_levels(&self) -> Option<usize> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub(crate) const fn taa(&self) -> bool {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub(crate) const fn fxaa(&self) -> bool {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub(crate) const fn runs_prepass(&self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub(crate) const fn runs_cascades(&self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub(crate) const fn runs_gtao(&self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub(crate) const fn runs_contact(&self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub(crate) const fn runs_ssr(&self, first_frame: bool) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub(crate) const fn runs_motion_blur(&self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub(crate) fn runs_dof(&self, ads_t: f64) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub(crate) const fn runs_taa(&self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PassProgram` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) enum PassProgram {
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PREWARM_SCRATCH_SIZE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) const PREWARM_SCRATCH_SIZE: (u32, u32) = (4, 4);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pass_programs` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) fn pass_programs(pipeline: &FramePipeline) -> Vec<PassProgram> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prewarm_shadow_default` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn prewarm_shadow_default(frame: u64) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SceneObjectKind` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(crate) enum SceneObjectKind {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `patchable` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:204:15
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub(crate) fn patchable(kind: SceneObjectKind, is_view_scene: bool) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hidden_from_prepass` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:221:15
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub(crate) fn hidden_from_prepass(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOREIGN_MESH_LIMIT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:232:18
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub(crate) const FOREIGN_MESH_LIMIT: usize = 6;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProbeAction` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub(crate) enum ProbeAction {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_action` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/prewarm.rs:252:15
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub(crate) fn probe_action(active: bool, frame: u64, foreign_meshes: usize) -> ProbeAction {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QualityTier` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum QualityTier {
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUALITY_TIERS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) const QUALITY_TIERS: [QualityTier; 4] = [
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUALITY_NAMES` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) const QUALITY_NAMES: [&str; 4] = ["low", "medium", "high", "ultra"];
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_QUALITY` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) const DEFAULT_QUALITY: QualityTier = QualityTier::Ultra;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QualityPreset` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) struct QualityPreset {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUALITY_PRESETS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) const QUALITY_PRESETS: [QualityPreset; 4] = [
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CsmConfig` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub(crate) struct CsmConfig {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:195:25
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl QualityTier {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 194 |     /// The numeric level `QUALITY_LEVEL` maps this tier to — its discriminant.
[INFO] [stdout] 195 |     pub(crate) const fn level(self) -> u32 {
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub(crate) const fn name(self) -> &'static str {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub(crate) const fn preset(self) -> QualityPreset {
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub(crate) fn from_name(name: &str) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub(crate) const fn csm(self) -> CsmConfig {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub(crate) const fn view_samples(self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub(crate) const fn bloom_levels(self) -> Option<usize> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_cascades` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:251:10
[INFO] [stdout]     |
[INFO] [stdout] 251 | const fn clamp_cascades(n: u32) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_u32` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 257 | const fn min_u32(a: u32, b: u32) -> u32 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `boot_line` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/quality.rs:270:15
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub(crate) fn boot_line(tier: QualityTier) -> String {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ROOMS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub(crate) const MAX_ROOMS: usize = 10;
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOM_FLOOR_Y` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:55:18
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) const ROOM_FLOOR_Y: f64 = -0.8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOM_CEILING_INSET` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) const ROOM_CEILING_INSET: f64 = 0.06;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_ROOF_Y` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) const DEFAULT_ROOF_Y: f64 = 12.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hypot2` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub(crate) fn hypot2(x: f64, y: f64) -> f64 {
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `room_transform` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) fn room_transform(origin: (f64, f64), unit_x: (f64, f64)) -> [f64; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuildingFootprint` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:113:19
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub(crate) struct BuildingFootprint {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RoomVolume` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub(crate) struct RoomVolume {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `room_volumes` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/rooms.rs:151:15
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub(crate) fn room_volumes(buildings: &[BuildingFootprint]) -> Vec<RoomVolume> {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisteredPass` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) struct RegisteredPass {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `registered_order` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) fn registered_order(passes: &[RegisteredPass]) -> Vec<usize> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_registered` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub(crate) fn active_registered(passes: &[RegisteredPass]) -> Vec<usize> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FramePass` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) enum FramePass {
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StepTarget` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub(crate) enum StepTarget {
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlannedStep` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:191:19
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub(crate) struct PlannedStep {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameState` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:207:19
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub(crate) struct FrameState<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FramePlan` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:224:19
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub(crate) struct FramePlan {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pending` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | struct Pending {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_step`, `module_path`, and `module_exists_today` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:245:25
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl FramePass {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub(crate) const fn source_step(self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub(crate) const fn module_path(self) -> &'static str {
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub(crate) const fn module_exists_today(self) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plan` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/schedule.rs:313:15
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub(crate) fn plan(
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameSettings` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/settings.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) struct FrameSettings {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOURCE_SETTINGS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/settings.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub(crate) const SOURCE_SETTINGS: FrameSettings = FrameSettings {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPOSURE_LIMITS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/settings.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub(crate) const EXPOSURE_LIMITS: (f64, f64) = (-4.3, 20.0);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ads_vignette` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/settings.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub(crate) fn ads_vignette(settings: &FrameSettings, ads_t: f64) -> f64 {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composite_sharpen` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/settings.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub(crate) fn composite_sharpen(settings: &FrameSettings, taa: bool) -> f64 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composite_bloom_strength` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/settings.rs:233:15
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub(crate) fn composite_bloom_strength(settings: &FrameSettings, has_bloom: bool) -> f64 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PIXEL_RATIO` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub(crate) const MAX_PIXEL_RATIO: f64 = 1.5;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenSizing` is never constructed
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) struct ScreenSizing {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pixel_ratio` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) fn pixel_ratio(device_pixel_ratio: f64) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `floor_at_least_one` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn floor_at_least_one(v: f64) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `screen_sizing` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) fn screen_sizing(
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `half_res` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) const fn half_res(v: u32) -> u32 {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tile_res` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) const fn tile_res(v: u32) -> u32 {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FrameTarget` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub(crate) enum FrameTarget {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TargetDesc` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub(crate) struct TargetDesc {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `colour_bytes_per_texel` and `bytes` are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl TargetDesc {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 169 |     /// What one texel of the colour attachment costs, in bytes.
[INFO] [stdout] 170 |     const fn colour_bytes_per_texel(self) -> u64 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub(crate) fn bytes(self) -> u64 {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `colour_format` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn colour_format(profile: BackendCapabilityProfile, hdr: bool) -> HostAttachmentFormat {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_targets` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub(crate) fn frame_targets(
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_bytes` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/targets.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn total_bytes(targets: &[TargetDesc]) -> u64 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLICES` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(crate) const SLICES: usize = 3;
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STEPS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub(crate) const STEPS: usize = 8;
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTRUCTOR_RADIUS_METRES` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub(crate) const CONSTRUCTOR_RADIUS_METRES: f32 = 0.9;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTRUCTOR_INTENSITY` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) const CONSTRUCTOR_INTENSITY: f32 = 1.25;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_NOISE_STRIDE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:204:18
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub(crate) const FRAME_NOISE_STRIDE: f32 = 5.588_238;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STEP_HASH_COORD_SCALE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:215:18
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub(crate) const STEP_HASH_COORD_SCALE: f32 = 0.371;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NDC_UV_V_SIGN` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub(crate) const NDC_UV_V_SIGN: f32 = -1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCREEN_STEP_V_SIGN` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:235:18
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub(crate) const SCREEN_STEP_V_SIGN: f32 = -1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COVERAGE_THRESHOLD` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:241:18
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub(crate) const COVERAGE_THRESHOLD: f32 = 0.5;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNCOVERED_DEPTH_SENTINEL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:251:18
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) const UNCOVERED_DEPTH_SENTINEL: f32 = 1.0e4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNCOVERED_VISIBILITY` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:254:18
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub(crate) const UNCOVERED_VISIBILITY: f32 = 1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_phase` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub(crate) fn frame_phase(frame: u32, temporal_on: bool) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fract` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gtao/reference.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) fn fract(x: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gtao/reference.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) fn glsl_clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_mix` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gtao/reference.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub(crate) fn glsl_mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_sign` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gtao/reference.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn glsl_sign(x: f32) -> f32 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ign` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gtao/reference.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) fn ign(p: [f32; 2]) -> f32 {
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash12` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gtao/reference.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) fn hash12(p: [f32; 2]) -> f32 {
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `view_pos` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) fn view_pos(uv: [f32; 2], depth: f32, proj_inv: &[f32; 16]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arc` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(crate) fn arc(h: f32, n: f32, cos_n: f32, sin_n: f32) -> f32 {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radius_px` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub(crate) fn radius_px(radius: f32, p11: f32, resolution_y: f32, depth: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step_offset` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub(crate) fn step_offset(step: usize, noise2: f32, radius_px: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tap` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub(crate) struct Tap {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `horizon_update` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub(crate) fn horizon_update(cos_h: f32, ds: [f32; 3], v: [f32; 3], inv_r2: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `horizon` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub(crate) fn horizon(taps: &[Tap], p: [f32; 3], v: [f32; 3], inv_r2: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SliceFrame` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:263:19
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub(crate) struct SliceFrame {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slice_frame` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:302:15
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub(crate) fn slice_frame(normal: [f32; 3], v: [f32; 3], dir2: [f32; 2]) -> SliceFrame {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slice_direction` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:356:15
[INFO] [stdout]     |
[INFO] [stdout] 356 | pub(crate) fn slice_direction(slice: usize, noise: f32) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slice_visibility` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:384:15
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub(crate) fn slice_visibility(cos_h_neg: f32, cos_h_pos: f32, frame: &SliceFrame) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_visibility` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:397:15
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub(crate) fn resolve_visibility(sum: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temporal_weight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:421:15
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub(crate) fn temporal_weight(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temporal_clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:450:15
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub(crate) fn temporal_clamp(history_ao: f32, current_ao: f32, neighbours: [f32; 4]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temporal_blend` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:463:15
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub(crate) fn temporal_blend(current_ao: f32, clamped_history: f32, weight: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEMPORAL_NEIGHBOUR_TEXELS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:473:18
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub(crate) const TEMPORAL_NEIGHBOUR_TEXELS: [[f32; 2]; 4] = [
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUR_TAPS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:482:18
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub(crate) const BLUR_TAPS: usize = 3;
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUR_CENTRE_WEIGHT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:486:18
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub(crate) const BLUR_CENTRE_WEIGHT: f32 = 0.4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blur_tap_weight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:502:15
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub(crate) fn blur_tap_weight(w0: f32, tap_depth: f32, centre_depth: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blur_distance_weight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:508:15
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub(crate) fn blur_distance_weight(tap: usize) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blur_accumulate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:524:15
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub(crate) fn blur_accumulate(centre: [f32; 2], taps: &[[[f32; 2]; 2]; BLUR_TAPS]) -> (f32, f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blur_output` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:551:15
[INFO] [stdout]     |
[INFO] [stdout] 551 | pub(crate) fn blur_output(sum: f32, wsum: f32, apply_curve: bool, intensity: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `store_rg16f` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gtao/reference.rs:573:15
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub(crate) fn store_rg16f(value: [f32; 2]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ROOMS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub(crate) const MAX_ROOMS: usize = 10;
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MICRO_SHADOW_FRACTION` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub(crate) const MICRO_SHADOW_FRACTION: f32 = 0.35;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn mix3(x: [f32; 3], y: [f32; 3], a: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn mul3(a: [f32; 3], b: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn scale3(a: [f32; 3], s: f32) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn add3(a: [f32; 3], b: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_ao` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub(crate) fn sample_ao(feat_x: f32, ao_texel_r: f32, ao_strength_x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contact_shadow` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:252:15
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub(crate) fn contact_shadow(feat_y: f32, light_dot_sun_view: f32, contact_texel_r: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_bounce` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:269:15
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub(crate) fn multi_bounce(ao: f32, albedo: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `specular_occlusion` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:286:15
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub(crate) fn specular_occlusion(ao: f32, rough: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sun_bounce` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:305:15
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub(crate) fn sun_bounce(world_normal: [f32; 3], sun_dir_world: [f32; 3]) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndirectUniforms` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:326:19
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub(crate) struct IndirectUniforms {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `shipped` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:360:25
[INFO] [stdout]     |
[INFO] [stdout] 353 | impl IndirectUniforms {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub(crate) const fn shipped() -> IndirectUniforms {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interior_gate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:411:15
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub(crate) fn interior_gate(world_pos: [f32; 3], ao: f32, u: &IndirectUniforms) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `direct_light` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:451:15
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub(crate) fn direct_light(
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndirectIn` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:475:19
[INFO] [stdout]     |
[INFO] [stdout] 475 | pub(crate) struct IndirectIn {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndirectOut` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:504:19
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub(crate) struct IndirectOut {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indirect` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:525:15
[INFO] [stdout]     |
[INFO] [stdout] 525 | pub(crate) fn indirect(input: IndirectIn, u: &IndirectUniforms) -> IndirectOut {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssr_blend` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting.rs:597:15
[INFO] [stdout]     |
[INFO] [stdout] 597 | pub(crate) fn ssr_blend(radiance: [f32; 3], feat_z: f32, roughness: f32, ssr: [f32; 4]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOM_FEATHER` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:134:18
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub(crate) const ROOM_FEATHER: (f32, f32) = (0.06, 0.30);
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AO_GATE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) const AO_GATE: (f32, f32) = (0.45, 0.98);
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AO_GATE_MIX` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub(crate) const AO_GATE_MIX: f32 = 0.6;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUN_BOUNCE_WRAP` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(crate) const SUN_BOUNCE_WRAP: f32 = 0.12;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANTI_SUN_UP` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) const ANTI_SUN_UP: f32 = 0.28;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANTI_SUN_EPSILON` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) const ANTI_SUN_EPSILON: f32 = 1e-4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SKY_FILL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:162:18
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) const SKY_FILL: f64 = 0.32;
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUND_FILL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub(crate) const GROUND_FILL: f64 = 0.013;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOUNCE_FILL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub(crate) const BOUNCE_FILL: f64 = 0.008;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IBL_DIFFUSE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:176:18
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub(crate) const IBL_DIFFUSE: f64 = 0.030;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERIOR_INDIRECT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:180:18
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(crate) const INTERIOR_INDIRECT: f64 = 0.035;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SKY_AMBIENT_FRACTION` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:186:18
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub(crate) const SKY_AMBIENT_FRACTION: f64 = 0.15;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALLBACK_SKY_HUE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(crate) const FALLBACK_SKY_HUE: [f64; 3] = [0.36, 0.56, 1.0];
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHROMA_PUSH` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub(crate) const CHROMA_PUSH: f64 = 1.18;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUND_ALBEDO` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:201:18
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub(crate) const GROUND_ALBEDO: [f64; 3] = [0.33, 0.29, 0.225];
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOM_FLOOR_Y` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:205:18
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub(crate) const ROOM_FLOOR_Y: f64 = -0.8;
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOM_ROOF_INSET` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:209:18
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub(crate) const ROOM_ROOF_INSET: f64 = 0.06;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_ROOF_Y` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:213:18
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub(crate) const DEFAULT_ROOF_Y: f64 = 12.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InteriorVolume` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub(crate) struct InteriorVolume {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LevelTransform` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:234:19
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub(crate) struct LevelTransform {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_world_axis` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:253:19
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl LevelTransform {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub(crate) fn from_world_axis(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuildingFootprint` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:283:19
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub(crate) struct BuildingFootprint {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interior_volumes` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:314:15
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) fn interior_volumes(buildings: &[BuildingFootprint]) -> Vec<InteriorVolume> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn glsl_clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:350:4
[INFO] [stdout]     |
[INFO] [stdout] 350 | fn glsl_mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:359:4
[INFO] [stdout]     |
[INFO] [stdout] 359 | fn glsl_smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `level_xz` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:368:15
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub(crate) fn level_xz(world_pos: [f32; 3], xf: [f32; 4]) -> (f32, f32) {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `room_depth` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:382:15
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub(crate) fn room_depth(lx: f32, lz: f32, world_y: f32, room: &InteriorVolume) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indoor` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:399:15
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub(crate) fn indoor(
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interior_gate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:426:15
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub(crate) fn interior_gate(indoor: f32, ao: f32, interior_floor: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndirectTerms` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:449:19
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub(crate) struct IndirectTerms {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indirect_terms` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:470:15
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub(crate) fn indirect_terms(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BounceFill` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:507:19
[INFO] [stdout]     |
[INFO] [stdout] 507 | pub(crate) struct BounceFill {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounce_fill_bands` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:547:15
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub(crate) fn bounce_fill_bands(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INDIRECT_PROBE_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 | pub(crate) const INDIRECT_PROBE_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRADE_LUT_BYTES` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/lut.rs:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub(crate) const GRADE_LUT_BYTES: usize = SIZE * SIZE * SIZE * 4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTRUCTOR_LUT_STRENGTH` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/lut.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) const CONSTRUCTOR_LUT_STRENGTH: f32 = 0.85;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `texel_index` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/lut.rs:363:15
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub(crate) fn texel_index(x: usize, y: usize, z: usize) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inset_uvw` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/lut.rs:398:15
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub(crate) fn inset_uvw(c: [f32; 3], n: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `texel` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/lut.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn texel(table: &[u8], x: usize, y: usize, z: usize) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trilinear` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/lut.rs:421:15
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub(crate) fn trilinear(table: &[u8], uvw: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/lut.rs:444:15
[INFO] [stdout]     |
[INFO] [stdout] 444 | pub(crate) fn apply(table: &[u8], disp: [f32; 3], strength: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_TAPS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub(crate) const MOTION_BLUR_TAPS: usize = 12;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_SAMPLES` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) const MOTION_BLUR_SAMPLES: usize = MOTION_BLUR_TAPS * 2;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_TILE` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) const MOTION_BLUR_TILE: u32 = 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_TILE_TAPS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub(crate) const MOTION_BLUR_TILE_TAPS: usize = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_MAX_RADIUS_PX` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:75:18
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub(crate) const MOTION_BLUR_MAX_RADIUS_PX: f32 = 48.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_INTENSITY` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) const MOTION_BLUR_INTENSITY: f32 = 1.0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_SOURCE_SHUTTER` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) const MOTION_BLUR_SOURCE_SHUTTER: f64 = 0.42;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_FRAME_MODULUS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) const MOTION_BLUR_FRAME_MODULUS: u32 = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_CONSTRUCTOR_PARAMS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/motionblur.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) const MOTION_BLUR_CONSTRUCTOR_PARAMS: [f32; 4] =
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `motion_blur_shutter` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub(crate) fn motion_blur_shutter(shutter_setting: f64, dt: f64) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `motion_blur_tile_size` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub(crate) fn motion_blur_tile_size(width: u32, height: u32) -> (u32, u32) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp01` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn clamp01(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `length2` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn length2(v: [f32; 2]) -> f32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fract` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn fract(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_ign` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:170:15
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub(crate) fn mb_ign(p: [f32; 2]) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_tile_offset` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:186:15
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub(crate) fn mb_tile_offset(index: usize, texel: [f32; 2]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_tile_max` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub(crate) fn mb_tile_max(taps: &[[f32; 2]; MOTION_BLUR_TILE_TAPS]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_velocity` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:228:15
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub(crate) fn mb_velocity(
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_tap_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub(crate) fn mb_tap_uv(uv: [f32; 2], vel: [f32; 2], index: usize, jitter: f32) -> ([f32; 2], f32) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_tap_inside` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:268:15
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub(crate) fn mb_tap_inside(uv: [f32; 2]) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_tap_weight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:286:15
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub(crate) fn mb_tap_weight(d: f32, centre_depth: f32, t: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_accumulate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:301:15
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub(crate) fn mb_accumulate(
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_blend` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:326:15
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub(crate) fn mb_blend(centre: [f32; 3], blurred: [f32; 3], intensity: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mb_centre_depth` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:332:15
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub(crate) fn mb_centre_depth(depth: f32, coverage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_TILE_UNIFORM_FLOATS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:343:18
[INFO] [stdout]     |
[INFO] [stdout] 343 | pub(crate) const MOTION_BLUR_TILE_UNIFORM_FLOATS: usize = 4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_UNIFORM_FLOATS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:347:18
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub(crate) const MOTION_BLUR_UNIFORM_FLOATS: usize = 8;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_motion_blur_tile_uniform` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:352:15
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub(crate) fn pack_motion_blur_tile_uniform(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_motion_blur_uniform` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:363:15
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub(crate) fn pack_motion_blur_uniform(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_WGSL_COMMON` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:383:18
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub(crate) const MOTION_BLUR_WGSL_COMMON: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_TILE_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub(crate) const MOTION_BLUR_TILE_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOTION_BLUR_BLUR_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:596:18
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub(crate) const MOTION_BLUR_BLUR_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `motion_blur_tile_source` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:654:15
[INFO] [stdout]     |
[INFO] [stdout] 654 | pub(crate) fn motion_blur_tile_source() -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `motion_blur_blur_source` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/motionblur.rs:665:15
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub(crate) fn motion_blur_blur_source() -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_STEPS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:139:18
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub(crate) const SSR_STEPS: i32 = 28;
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_REFINE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub(crate) const SSR_REFINE: i32 = 5;
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_START_T` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub(crate) const SSR_START_T: f32 = 0.06;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_MAX_DISTANCE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) const SSR_MAX_DISTANCE: f32 = 24.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_THICKNESS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub(crate) const SSR_THICKNESS: f32 = 0.6;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_INTENSITY` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:156:18
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub(crate) const SSR_INTENSITY: f32 = 1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_FRAME_CYCLE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:159:18
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub(crate) const SSR_FRAME_CYCLE: u32 = 64;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_JITTER_FRAME_SCALE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:162:18
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) const SSR_JITTER_FRAME_SCALE: f32 = 7.331;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_FACING_CUTOFF` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub(crate) const SSR_FACING_CUTOFF: f32 = 0.94;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_EDGE_FADE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub(crate) const SSR_EDGE_FADE: f32 = 0.12;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_RESOLUTION_SHIFT` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub(crate) const SSR_RESOLUTION_SHIFT: u32 = 1;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_ROUGHNESS_CUTOFF` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) const SSR_ROUGHNESS_CUTOFF: f32 = 0.62;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_ROUGHNESS_FULL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:183:18
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) const SSR_ROUGHNESS_FULL: f32 = 0.14;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NDC_V_SIGN` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub(crate) const NDC_V_SIGN: f32 = -1.0;
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenImage` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:206:19
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) struct ScreenImage {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:220:19
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl ScreenImage {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub(crate) fn from_fn(
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub(crate) fn width(&self) -> u32 {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub(crate) fn height(&self) -> u32 {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub(crate) fn texels(&self) -> &[[f32; 4]] {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     fn texel(&self, x: i32, y: i32) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub(crate) fn nearest(&self, uv: [f32; 2]) -> [f32; 4] {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub(crate) fn bilinear(&self, uv: [f32; 2]) -> [f32; 4] {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp4` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn lerp4(a: [f32; 4], b: [f32; 4], t: f32) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_clamp` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:302:15
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub(crate) fn glsl_clamp(x: f32, lo: f32, hi: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glsl_smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:311:15
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub(crate) fn glsl_smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ign` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:330:15
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub(crate) fn ign(p: [f32; 2]) -> f32 {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `view_pos` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:360:15
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub(crate) fn view_pos(uv: [f32; 2], depth: f32, proj_inv: &[f32; 16]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_uv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:376:15
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub(crate) fn project_uv(p: [f32; 3], proj: &[f32; 16]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mat4_mul_vec4` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn mat4_mul_vec4(m: &[f32; 16], v: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:393:4
[INFO] [stdout]     |
[INFO] [stdout] 393 | fn dot3(a: [f32; 3], b: [f32; 3]) -> f32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:400:4
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn normalize3(v: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reflect3` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn reflect3(i: [f32; 3], n: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsrParams` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:414:19
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub(crate) struct SsrParams {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `at_frame` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:432:19
[INFO] [stdout]     |
[INFO] [stdout] 425 | impl SsrParams {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub(crate) fn at_frame(frame: u32) -> SsrParams {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsrInputs` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:444:19
[INFO] [stdout]     |
[INFO] [stdout] 444 | pub(crate) struct SsrInputs<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsrHit` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:468:8
[INFO] [stdout]     |
[INFO] [stdout] 468 | struct SsrHit {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarchState` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:477:8
[INFO] [stdout]     |
[INFO] [stdout] 477 | struct MarchState {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refine` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:495:4
[INFO] [stdout]     |
[INFO] [stdout] 495 | fn refine(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `march` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:532:4
[INFO] [stdout]     |
[INFO] [stdout] 532 | fn march(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssr_confidence` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:613:15
[INFO] [stdout]     |
[INFO] [stdout] 613 | pub(crate) fn ssr_confidence(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssr_pixel` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:642:15
[INFO] [stdout]     |
[INFO] [stdout] 642 | pub(crate) fn ssr_pixel(
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssr_blur_pixel` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:727:15
[INFO] [stdout]     |
[INFO] [stdout] 727 | pub(crate) fn ssr_blur_pixel(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssr_resolve_weight` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:756:15
[INFO] [stdout]     |
[INFO] [stdout] 756 | pub(crate) fn ssr_resolve_weight(alpha: f32, roughness: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssr_resolve` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:781:15
[INFO] [stdout]     |
[INFO] [stdout] 781 | pub(crate) fn ssr_resolve(radiance: [f32; 3], reflection: [f32; 4], roughness: f32) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_UNIFORM_FLOATS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:789:18
[INFO] [stdout]     |
[INFO] [stdout] 789 | pub(crate) const SSR_UNIFORM_FLOATS: usize = 40;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_ssr_uniform` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:797:15
[INFO] [stdout]     |
[INFO] [stdout] 797 | pub(crate) fn pack_ssr_uniform(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_BLUR_UNIFORM_FLOATS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:819:18
[INFO] [stdout]     |
[INFO] [stdout] 819 | pub(crate) const SSR_BLUR_UNIFORM_FLOATS: usize = 4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_ssr_blur_uniform` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:824:15
[INFO] [stdout]     |
[INFO] [stdout] 824 | pub(crate) fn pack_ssr_blur_uniform(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssr_target_size` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:835:15
[INFO] [stdout]     |
[INFO] [stdout] 835 | pub(crate) fn ssr_target_size(width: u32, height: u32) -> (u32, u32) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_COMMON_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:850:18
[INFO] [stdout]     |
[INFO] [stdout] 850 | pub(crate) const SSR_COMMON_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_PASS_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/ssr.rs:984:18
[INFO] [stdout]     |
[INFO] [stdout] 984 | pub(crate) const SSR_PASS_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSR_BLUR_WGSL` is never used
[INFO] [stdout]     --> modules/axiom-gpu-backend/src/ssr.rs:1117:18
[INFO] [stdout]      |
[INFO] [stdout] 1117 | pub(crate) const SSR_BLUR_WGSL: &str = r#"
[INFO] [stdout]      |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAA_JITTER_LENGTH` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/taa.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) const TAA_JITTER_LENGTH: u32 = 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HALTON_DIGITS` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/taa.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const HALTON_DIGITS: u32 = 32;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `halton` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/taa.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) fn halton(index: u32, base: u32) -> f64 {
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_jitter` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) fn taa_jitter(index: u32) -> [f64; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_jitter_projection` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:133:15
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub(crate) fn taa_jitter_projection(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:153:4
[INFO] [stdout]     |
[INFO] [stdout] 153 | fn mix(x: f32, y: f32, a: f32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp01` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn clamp01(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn step(edge: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smoothstep` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn smoothstep(e0: f32, e1: f32, x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `length2` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn length2(v: [f32; 2]) -> f32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lum` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:181:15
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub(crate) fn lum(c: [f32; 3]) -> f32 {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tonemap_w` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) fn tonemap_w(c: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tonemap_w_inv` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) fn tonemap_w_inv(c: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb_to_ycocg` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub(crate) fn rgb_to_ycocg(c: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ycocg_to_rgb` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub(crate) fn ycocg_to_rgb(c: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catmull_rom_weights` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub(crate) fn catmull_rom_weights(f: f32) -> [f32; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catmull_rom_plan` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) fn catmull_rom_plan(uv: [f32; 2], resolution: [f32; 2]) -> ([[f32; 2]; 5], [f32; 5]) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catmull_rom_combine` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:296:15
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub(crate) fn catmull_rom_combine(taps: &[[f32; 3]; 5], weight: &[f32; 5]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_history_store` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:319:15
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub(crate) fn taa_history_store(rgb: [f32; 3]) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_dynamic` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:347:15
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub(crate) fn taa_dynamic(ca: f32, cb: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_dilate` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:363:15
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub(crate) fn taa_dilate(centre_uv: [f32; 2], taps: &[[f32; 4]; 9]) -> ([f32; 2], f32) {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mat4_mul_vec4` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:373:4
[INFO] [stdout]     |
[INFO] [stdout] 373 | fn mat4_mul_vec4(m: &[f32; 16], v: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_background_velocity` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub(crate) fn taa_background_velocity(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_velocity` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:422:15
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub(crate) fn taa_velocity(coverage: f32, stored: [f32; 2], background: [f32; 2]) -> [f32; 2] {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAA_SOURCE_PARAMS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:438:18
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub(crate) const TAA_SOURCE_PARAMS: [f32; 4] = [0.92, 1.25, 1.0, 1.0];
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TaaResolveIn` is never constructed
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:446:19
[INFO] [stdout]     |
[INFO] [stdout] 446 | pub(crate) struct TaaResolveIn {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_resolve` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:474:15
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub(crate) fn taa_resolve(input: &TaaResolveIn) -> [f32; 3] {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAA_UNIFORM_FLOATS` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:534:18
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub(crate) const TAA_UNIFORM_FLOATS: usize = 40;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_taa_uniform` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:539:15
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub(crate) fn pack_taa_uniform(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAA_WGSL_COMMON` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:566:18
[INFO] [stdout]     |
[INFO] [stdout] 566 | pub(crate) const TAA_WGSL_COMMON: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAA_WGSL` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:782:18
[INFO] [stdout]     |
[INFO] [stdout] 782 | pub(crate) const TAA_WGSL: &str = r#"
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `taa_shader_source` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/taa.rs:876:15
[INFO] [stdout]     |
[INFO] [stdout] 876 | pub(crate) fn taa_shader_source() -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `albedo_is_srgb` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/texture_bake.rs:270:15
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub(crate) fn albedo_is_srgb(linear_albedo: bool) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom v0.1.0 (/opt/rustwide/workdir/modules/axiom)
[INFO] [stdout] warning: unused import: `Vec4`
[INFO] [stdout]   --> modules/axiom/src/mesh_geometry.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 | use axiom_math::{Vec2, Vec3, Vec4};
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-end-zone v0.1.0 (/opt/rustwide/workdir/apps/end-zone)
[INFO] [stderr]     Checking axiom-shmup v0.1.0 (/opt/rustwide/workdir/apps/axiom-shmup)
[INFO] [stderr]     Checking axiom-dog v0.1.0 (/opt/rustwide/workdir/apps/dog)
[INFO] [stderr]     Checking axiom-netplay-server v0.1.0 (/opt/rustwide/workdir/tools/axiom-netplay-server)
[INFO] [stdout] warning: unused import: `axiom_agent::AgentApi`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use axiom_agent::AgentApi;
[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: `FrameIndex` and `Tick`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 | use axiom_kernel::{FrameIndex, Tick};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_runtime::RuntimeStep`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use axiom_runtime::RuntimeStep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::showcase::ShowcaseRun`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::showcase::ShowcaseRun;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::identity::PlayerId`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::identity::PlayerId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::runback::RunbackMove`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::runback::RunbackMove;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Perception`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::agent::{perceive, Perception};
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::attempt::AttemptStep`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::attempt::AttemptStep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::identity::PlayerId`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::identity::PlayerId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::SimState`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::state::SimState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_agent::AgentApi`
[INFO] [stdout]  --> apps/end-zone/src/agent_report.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use axiom_agent::AgentApi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FrameIndex` and `Tick`
[INFO] [stdout]  --> apps/end-zone/src/agent_report.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use axiom_kernel::{FrameIndex, Tick};
[INFO] [stdout]   |                    ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_runtime::RuntimeStep`
[INFO] [stdout]  --> apps/end-zone/src/agent_report.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use axiom_runtime::RuntimeStep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::showcase::ShowcaseRun`
[INFO] [stdout]   --> apps/end-zone/src/agent_report.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::showcase::ShowcaseRun;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Aggression` and `self`
[INFO] [stdout]   --> apps/end-zone/src/agent_report.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::autopilot::{self, Aggression};
[INFO] [stdout]    |                        ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::football::BallState`
[INFO] [stdout]   --> apps/end-zone/src/ai/offense.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::football::BallState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::field::OffenseFrame`
[INFO] [stdout]  --> apps/end-zone/src/ai/offense_routes.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::field::OffenseFrame;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TacticalMode`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 | use super::directive::{DefensiveDirective, TacticalMode};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::engagement::Engagement`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::engagement::Engagement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::overseer::PossessionMemory`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use super::overseer::PossessionMemory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::PLAYER_COUNT`
[INFO] [stdout]  --> apps/end-zone/src/ai/perception_access.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::config::PLAYER_COUNT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::BehaviorTuning`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::data::BehaviorTuning;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GOAL_LINE_Z` and `OffenseFrame`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::field::{OffenseFrame, GOAL_LINE_Z};
[INFO] [stdout]    |                    ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BallState` and `situation`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::football::{situation, BallSituation, BallState};
[INFO] [stdout]    |                       ^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TeamId`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::identity::{PlayerId, TeamId};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::brain::RoleState`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::brain::RoleState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::coordination`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::coordination;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `L_FOOT`, `R_FOOT`, `R_HAND`, and `TORSO`
[INFO] [stdout]   --> apps/end-zone/src/player/animation.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     L_FOOT, L_FOREARM, L_SHIN, L_THIGH, L_UPPER_ARM, PART_COUNT, R_FOOT, R_FOREARM, R_HAND, R_SHIN,
[INFO] [stdout]    |     ^^^^^^                                                       ^^^^^^             ^^^^^^
[INFO] [stdout] 16 |     R_THIGH, R_UPPER_ARM, TORSO,
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::collision_rig::CollisionRig`
[INFO] [stdout]  --> apps/end-zone/src/player/falls.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::collision_rig::CollisionRig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TackleContest` and `self`
[INFO] [stdout]   --> apps/end-zone/src/player/falls.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::tackle::{self, TackleContest};
[INFO] [stdout]    |                     ^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `qz`
[INFO] [stdout]  --> apps/end-zone/src/player/pose_overlay.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::animation::{qx, qz, BallHold, JointPose};
[INFO] [stdout]   |                            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::field::OffenseFrame`
[INFO] [stdout]   --> apps/end-zone/src/runback/carry.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::field::OffenseFrame;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::read`
[INFO] [stdout]   --> apps/end-zone/src/runback/carry.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::read;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActiveMove` and `RunbackStatus`
[INFO] [stdout]   --> apps/end-zone/src/runback/carry.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use super::{ActiveMove, RunbackMove, RunbackStatus};
[INFO] [stdout]    |             ^^^^^^^^^^               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::charge`
[INFO] [stdout]   --> apps/end-zone/src/runback/stage.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use super::charge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ThreatVerdict`
[INFO] [stdout]   --> apps/end-zone/src/runback/stage.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::evade::{self, ThreatVerdict};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mask`
[INFO] [stdout]  --> apps/axiom-shmup/src/physics/penetration.rs:4:38
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::physics::surfaces::{self, mask};
[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: `crate::physics::surfaces::mask`
[INFO] [stdout]  --> apps/axiom-shmup/src/physics/rigidbody.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::physics::surfaces::mask;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_kernel::Seconds`
[INFO] [stdout]   --> apps/axiom-shmup/src/render/system.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use axiom_kernel::Seconds;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_math::Quat`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use axiom_math::Quat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::Quality`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::config::Quality;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RUNTIME_BAKE_SIZE`, `Rgba8Map`, and `bake_library`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 | use crate::materials::upload::{bake_library, Rgba8Map, RUNTIME_BAKE_SIZE};
[INFO] [stdout]    |                                ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CameraPose`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::scene::game::{CameraPose, Game};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scene::level::LevelBatch`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use crate::scene::level::LevelBatch;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::world::system::WorldLight`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use crate::world::system::WorldLight;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::world::palette::Palette`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use crate::world::palette::Palette;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drive_hands`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     drive_hands, install_hands, install_rifle, HandGeometry, HandNodes, WeaponLook,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::viewer::to_mesh_data`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use crate::viewer::to_mesh_data;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scene::wiring::look::MaterialLook`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::scene::wiring::look::MaterialLook;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `drive_viewmodel` and `write_camera`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/boot.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::scene::draw::{drive_viewmodel, write_camera};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Quality`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/composition.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::config::{Config, Quality};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `key_albedo`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/install.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::scene::level::{key_albedo, LevelBatch};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::viewer::to_mesh_data`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/install.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::viewer::to_mesh_data;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Config`
[INFO] [stdout]    --> apps/axiom-shmup/src/scene/wiring/look.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 | use crate::config::{Config, Quality};
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-game-runtime v0.1.0 (/opt/rustwide/workdir/apps/axiom-game-runtime)
[INFO] [stdout] warning: unused import: `axiom_kernel::Seconds`
[INFO] [stdout]   --> apps/axiom-shmup/src/render/system.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use axiom_kernel::Seconds;
[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: `crate::config::Quality`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::config::Quality;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RUNTIME_BAKE_SIZE`, `Rgba8Map`, and `bake_library`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 | use crate::materials::upload::{bake_library, Rgba8Map, RUNTIME_BAKE_SIZE};
[INFO] [stdout]    |                                ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scene::level::LevelBatch`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use crate::scene::level::LevelBatch;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::world::system::WorldLight`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use crate::world::system::WorldLight;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::world::palette::Palette`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use crate::world::palette::Palette;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drive_hands`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     drive_hands, install_hands, install_rifle, HandGeometry, HandNodes, WeaponLook,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::viewer::to_mesh_data`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use crate::viewer::to_mesh_data;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scene::wiring::look::MaterialLook`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/app.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::scene::wiring::look::MaterialLook;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `drive_viewmodel` and `write_camera`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/boot.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::scene::draw::{drive_viewmodel, write_camera};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Quality`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/composition.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::config::{Config, Quality};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `key_albedo`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/install.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::scene::level::{key_albedo, LevelBatch};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::viewer::to_mesh_data`
[INFO] [stdout]   --> apps/axiom-shmup/src/scene/install.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::viewer::to_mesh_data;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_COLOR_LUMA` is never used
[INFO] [stdout]     --> apps/burnt-rubber/src/render/mod.rs:1245:7
[INFO] [stdout]      |
[INFO] [stdout] 1245 | const KEY_COLOR_LUMA: f32 =
[INFO] [stdout]      |       ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axiom-shot v0.1.0 (/opt/rustwide/workdir/tools/axiom-shot)
[INFO] [stdout] warning: unused import: `axiom_agent::AgentApi`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use axiom_agent::AgentApi;
[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: `FrameIndex` and `Tick`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 | use axiom_kernel::{FrameIndex, Tick};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_runtime::RuntimeStep`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use axiom_runtime::RuntimeStep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::showcase::ShowcaseRun`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::showcase::ShowcaseRun;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::identity::PlayerId`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::identity::PlayerId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::runback::RunbackMove`
[INFO] [stdout]   --> apps/end-zone/src/agent.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::runback::RunbackMove;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Perception`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::agent::{perceive, Perception};
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::attempt::AttemptStep`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::attempt::AttemptStep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::identity::PlayerId`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::identity::PlayerId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::SimState`
[INFO] [stdout]   --> apps/end-zone/src/agent_drive.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::state::SimState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_agent::AgentApi`
[INFO] [stdout]  --> apps/end-zone/src/agent_report.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use axiom_agent::AgentApi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FrameIndex` and `Tick`
[INFO] [stdout]  --> apps/end-zone/src/agent_report.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use axiom_kernel::{FrameIndex, Tick};
[INFO] [stdout]   |                    ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_runtime::RuntimeStep`
[INFO] [stdout]  --> apps/end-zone/src/agent_report.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use axiom_runtime::RuntimeStep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::showcase::ShowcaseRun`
[INFO] [stdout]   --> apps/end-zone/src/agent_report.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::showcase::ShowcaseRun;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Aggression` and `self`
[INFO] [stdout]   --> apps/end-zone/src/agent_report.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::autopilot::{self, Aggression};
[INFO] [stdout]    |                        ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::football::BallState`
[INFO] [stdout]   --> apps/end-zone/src/ai/offense.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::football::BallState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::field::OffenseFrame`
[INFO] [stdout]  --> apps/end-zone/src/ai/offense_routes.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::field::OffenseFrame;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TacticalMode`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 | use super::directive::{DefensiveDirective, TacticalMode};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::engagement::Engagement`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::engagement::Engagement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::overseer::PossessionMemory`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use super::overseer::PossessionMemory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::PLAYER_COUNT`
[INFO] [stdout]  --> apps/end-zone/src/ai/perception_access.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::config::PLAYER_COUNT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::BehaviorTuning`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::data::BehaviorTuning;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GOAL_LINE_Z` and `OffenseFrame`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::field::{OffenseFrame, GOAL_LINE_Z};
[INFO] [stdout]    |                    ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BallState` and `situation`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::football::{situation, BallSituation, BallState};
[INFO] [stdout]    |                       ^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TeamId`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::identity::{PlayerId, TeamId};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::brain::RoleState`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::brain::RoleState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::coordination`
[INFO] [stdout]   --> apps/end-zone/src/ai/perception_access.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::coordination;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `L_FOOT`, `R_FOOT`, `R_HAND`, and `TORSO`
[INFO] [stdout]   --> apps/end-zone/src/player/animation.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     L_FOOT, L_FOREARM, L_SHIN, L_THIGH, L_UPPER_ARM, PART_COUNT, R_FOOT, R_FOREARM, R_HAND, R_SHIN,
[INFO] [stdout]    |     ^^^^^^                                                       ^^^^^^             ^^^^^^
[INFO] [stdout] 16 |     R_THIGH, R_UPPER_ARM, TORSO,
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::collision_rig::CollisionRig`
[INFO] [stdout]  --> apps/end-zone/src/player/falls.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::collision_rig::CollisionRig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TackleContest` and `self`
[INFO] [stdout]   --> apps/end-zone/src/player/falls.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::tackle::{self, TackleContest};
[INFO] [stdout]    |                     ^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `qz`
[INFO] [stdout]  --> apps/end-zone/src/player/pose_overlay.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::animation::{qx, qz, BallHold, JointPose};
[INFO] [stdout]   |                            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::field::OffenseFrame`
[INFO] [stdout]   --> apps/end-zone/src/runback/carry.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::field::OffenseFrame;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GOLDEN_STEP_LIMIT` and `GoldenStop`
[INFO] [stdout]   --> apps/burnt-rubber/tests/agent_golden.rs:69:42
[INFO] [stdout]    |
[INFO] [stdout] 69 |     self, GoldenCheckpoint, GoldenState, GoldenStop, CHECKPOINTS, GOLDEN_STEP_LIMIT,
[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: `super::read`
[INFO] [stdout]   --> apps/end-zone/src/runback/carry.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::read;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActiveMove` and `RunbackStatus`
[INFO] [stdout]   --> apps/end-zone/src/runback/carry.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use super::{ActiveMove, RunbackMove, RunbackStatus};
[INFO] [stdout]    |             ^^^^^^^^^^               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::charge`
[INFO] [stdout]   --> apps/end-zone/src/runback/stage.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use super::charge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ThreatVerdict`
[INFO] [stdout]   --> apps/end-zone/src/runback/stage.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::evade::{self, ThreatVerdict};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `look_of` is never used
[INFO] [stdout]    --> tools/axiom-shot/src/capture.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn look_of(outcome: &FrameOutcome) -> axiom_host::FrameRenderLook {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `golden_path` is never used
[INFO] [stdout]    --> apps/burnt-rubber/tests/agent_golden.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn golden_path(name: &str) -> PathBuf {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_golden` is never used
[INFO] [stdout]    --> apps/burnt-rubber/tests/agent_golden.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn assert_golden(name: &str, actual: &[u8]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `boost_steps` is assigned to, but never used
[INFO] [stdout]    --> apps/burnt-rubber/tests/road_tailoring.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let mut boost_steps = 0u32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_boost_steps` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `boost_steps` is never read
[INFO] [stdout]    --> apps/burnt-rubber/tests/road_tailoring.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         boost_steps += u32::from(command.boost & sim.boost().ready(&tuning.race));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `thin_sections`, `forgiving`, and `impacts` are never read
[INFO] [stdout]    --> apps/burnt-rubber/tests/road_tailoring.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Scored {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 144 |     thin_sections: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 145 |     /// Sections whose ratio is comfortable rather than marginal.
[INFO] [stdout] 146 |     forgiving: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     impacts: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crate_lane_reach` is never used
[INFO] [stdout]   --> apps/burnt-rubber/tests/agent_bounds.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn crate_lane_reach() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axiom_burnt_rubber::course::validation::ghost`
[INFO] [stdout]   --> apps/burnt-rubber/tests/course_pipeline.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use axiom_burnt_rubber::course::validation::ghost;
[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: `axiom_burnt_rubber::sim::traffic::Traffic`
[INFO] [stdout]   --> apps/burnt-rubber/tests/course_pipeline.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use axiom_burnt_rubber::sim::traffic::Traffic;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `look_of` is never used
[INFO] [stdout]    --> tools/axiom-shot/src/capture.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn look_of(outcome: &FrameOutcome) -> axiom_host::FrameRenderLook {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IDENTITY_MATRIX` is never used
[INFO] [stdout]   --> modules/axiom-gpu-backend/src/gpu_backend_api/mod.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const IDENTITY_MATRIX: [f32; 16] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `bisected` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/gpu_backend_api/mod.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl GpuBackendApi {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn bisected(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/compile.rs:209:19
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl SurfaceProgramCache {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) fn len(&self) -> u32 {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `geometry` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/surface_program/parity_lighting.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn geometry(normal: [f32; 3], specular: f32, emissive: [f32; 3]) -> (Vec<u8>, Vec<u8>) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `surface_program_count`, `replace_geometry`, and `load_meshes` are never used
[INFO] [stdout]     --> modules/axiom-gpu-backend/src/scene_renderer.rs:1893:19
[INFO] [stdout]      |
[INFO] [stdout] 1226 | impl SceneRenderer {
[INFO] [stdout]      | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1893 |     pub(crate) fn surface_program_count(&self) -> u32 {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2484 |     pub(crate) fn replace_geometry(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2501 |     pub(crate) fn load_meshes(
[INFO] [stdout]      |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `output` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/bloom_pyramid/chain.rs:301:19
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl BloomPyramid {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub(crate) fn output(&self) -> &wgpu::TextureView {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEW_RIG_DISTANCE` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/frame_graph/lighting.rs:349:18
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub(crate) const VIEW_RIG_DISTANCE: f64 = 4.0;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUN_BOUNCE_WRAP` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(crate) const SUN_BOUNCE_WRAP: f32 = 0.12;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANTI_SUN_UP` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub(crate) const ANTI_SUN_UP: f32 = 0.28;
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANTI_SUN_EPSILON` is never used
[INFO] [stdout]    --> modules/axiom-gpu-backend/src/indirect_lighting/volumes.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) const ANTI_SUN_EPSILON: f32 = 1e-4;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `wgpu::Device::create_render_pipeline` that must be used
[INFO] [stdout]     --> modules/axiom-gpu-backend/src/exposure.rs:1665:21
[INFO] [stdout]      |
[INFO] [stdout] 1665 | /                     gpu.device
[INFO] [stdout] 1666 | |                         .create_render_pipeline(&wgpu::RenderPipelineDescriptor {
[INFO] [stdout] 1667 | |                             label: Some("axiom-exposure-pass-pipeline"),
[INFO] [stdout] 1668 | |                             layout: Some(&pipeline_layout),
[INFO] [stdout] ...    |
[INFO] [stdout] 1691 | |                             cache: None,
[INFO] [stdout] 1692 | |                         });
[INFO] [stdout]      | |__________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1665 |                     let _unused = gpu.device
[INFO] [stdout]      |                     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `metal` is never read
[INFO] [stdout]    --> apps/axiom-shmup/src/materials/surfaces/metal.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut metal = 1.0;
[INFO] [stdout]     |                     ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 213 |     metal = gl_mix(1.0, 0.0, gl_smoothstep(0.15, 0.55, rust));
[INFO] [stdout]     |     --------------------------------------------------------- `metal` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mtl` is never read
[INFO] [stdout]    --> apps/axiom-shmup/src/materials/surfaces/metal.rs:331:19
[INFO] [stdout]     |
[INFO] [stdout] 331 |       let mut mtl = 0.0;
[INFO] [stdout]     |                     ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 340 | /     mtl = gl_mix(
[INFO] [stdout] 341 | |         0.0,
[INFO] [stdout] 342 | |         1.0,
[INFO] [stdout] 343 | |         gl_smoothstep(0.78, 0.96, chip) * (1.0 - gl_smoothstep(0.2, 0.7, rust_field)),
[INFO] [stdout] 344 | |     );
[INFO] [stdout]     | |_____- `mtl` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/axiom-shmup/src/scene/wiring/hud.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut system = UiSystem::new(rng);
[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]    --> apps/axiom-shmup/src/scene/game.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut weapons = crate::scene::wiring::weapons::WeaponsRig::new(&mut root);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `metal` is never read
[INFO] [stdout]    --> apps/axiom-shmup/src/materials/surfaces/metal.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut metal = 1.0;
[INFO] [stdout]     |                     ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 213 |     metal = gl_mix(1.0, 0.0, gl_smoothstep(0.15, 0.55, rust));
[INFO] [stdout]     |     --------------------------------------------------------- `metal` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mtl` is never read
[INFO] [stdout]    --> apps/axiom-shmup/src/materials/surfaces/metal.rs:331:19
[INFO] [stdout]     |
[INFO] [stdout] 331 |       let mut mtl = 0.0;
[INFO] [stdout]     |                     ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 340 | /     mtl = gl_mix(
[INFO] [stdout] 341 | |         0.0,
[INFO] [stdout] 342 | |         1.0,
[INFO] [stdout] 343 | |         gl_smoothstep(0.78, 0.96, chip) * (1.0 - gl_smoothstep(0.2, 0.7, rust_field)),
[INFO] [stdout] 344 | |     );
[INFO] [stdout]     | |_____- `mtl` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/axiom-shmup/src/scene/wiring/hud.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut system = UiSystem::new(rng);
[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: field `hit` is never read
[INFO] [stdout]    --> apps/axiom-shmup/src/physics/rigidbody.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub struct RigidBodyWorld {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 414 |     hit: HitRecord,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `top_x` and `top_y` are never read
[INFO] [stdout]   --> apps/axiom-shmup/src/world/props/vegetation.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct PalmTree {
[INFO] [stdout]    |                   -------- fields in this struct
[INFO] [stdout] 23 |     pub geo: WorldGeo,
[INFO] [stdout] 24 |     pub top_x: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |     pub top_y: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/axiom-shmup/src/scene/game.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut weapons = crate::scene::wiring::weapons::WeaponsRig::new(&mut root);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `u64s` is never used
[INFO] [stdout]   --> apps/axiom-shmup/src/characterize/mod.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Fingerprint {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn u64s(mut self, values: &[u64]) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CASES` is never used
[INFO] [stdout]   --> apps/axiom-shmup/src/characterize/probes.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub const CASES: &[&str] = &SURFACE_CASE;
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hit` is never read
[INFO] [stdout]    --> apps/axiom-shmup/src/physics/rigidbody.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub struct RigidBodyWorld {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 414 |     hit: HitRecord,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `top_x` is never read
[INFO] [stdout]   --> apps/axiom-shmup/src/world/props/vegetation.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct PalmTree {
[INFO] [stdout]    |                   -------- field in this struct
[INFO] [stdout] 23 |     pub geo: WorldGeo,
[INFO] [stdout] 24 |     pub top_x: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `axiom-frame`
[INFO] [stderr]   --> modules/axiom-render/Cargo.toml:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | axiom-frame = { path = "../../crates/axiom-frame" }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `axiom-frame`
[INFO] [stderr] warning: `axiom-render` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `axiom-frame`
[INFO] [stderr]   --> modules/axiom-resources/Cargo.toml:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | axiom-frame = { path = "../../crates/axiom-frame" }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `axiom-frame`
[INFO] [stderr] warning: `axiom-resources` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `axiom-frame`
[INFO] [stderr]   --> modules/axiom-webgpu/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | axiom-frame = { path = "../../crates/axiom-frame" }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `axiom-frame`
[INFO] [stderr] warning: `axiom-webgpu` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 06s
[INFO] running `Command { std: "docker" "inspect" "2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2", kill_on_drop: false }`
[INFO] [stdout] 2c1000e3a313ad96ad79aad07c171043874f9ce498185e5868489e787a1b72e2
