[INFO] cloning repository https://github.com/TheHashimq/atlas
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TheHashimq/atlas" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheHashimq%2Fatlas", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheHashimq%2Fatlas'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dfb9c6d30e432fce1ff15f8e7dd1f5b0a5d03b2f
[INFO] checking TheHashimq/atlas against 4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d for pr-159598
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheHashimq%2Fatlas" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TheHashimq/atlas
[INFO] finished tweaking git repo https://github.com/TheHashimq/atlas
[INFO] tweaked toml for git repo https://github.com/TheHashimq/atlas written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TheHashimq/atlas on toolchain 4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TheHashimq/atlas 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" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30
[INFO] running `Command { std: "docker" "start" "e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30", 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" "e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30" "/opt/rustwide/cargo-home/bin/cargo" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30", 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" "e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30" "/opt/rustwide/cargo-home/bin/cargo" "+4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking unicode-ident v1.0.23
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.108
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling wasm-bindgen v0.2.108
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling naga v27.0.3
[INFO] [stderr]     Checking codespan-reporting v0.12.0
[INFO] [stderr]    Compiling wgpu-hal v27.0.4
[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-alloc v0.6.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking ash v0.38.0+1.3.281
[INFO] [stderr]     Checking ordered-float v5.0.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]    Compiling wgpu-core v27.0.3
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]    Compiling wgpu v27.0.1
[INFO] [stderr]    Compiling wee_alloc v0.4.5
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking memory_units v0.4.0
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking glam v0.27.0
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking wasm-bindgen-test-shared v0.2.108
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.108
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking wgpu-types v27.0.1
[INFO] [stderr]     Checking zerocopy v0.8.39
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.108
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking js-sys v0.3.85
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.58
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.58
[INFO] [stderr]     Checking web-sys v0.3.85
[INFO] [stderr]     Checking wasm-bindgen-test v0.3.58
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking console_log v1.0.0
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v27.0.0
[INFO] [stderr]     Checking atlas-webgpu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/engine/gpu/surface.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |           let target: wgpu::SurfaceTarget = unimplemented!("Canvas surface is only supported on wasm32-unknown-unknown");
[INFO] [stdout]    |                                             ---------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 15 |
[INFO] [stdout] 16 | /         let surface = instance
[INFO] [stdout] 17 | |             .create_surface(target)
[INFO] [stdout] 18 | |             .expect("Failed to create surface");
[INFO] [stdout]    | |________________________________________________^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/engine/gpu/surface.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |           let target: wgpu::SurfaceTarget = unimplemented!("Canvas surface is only supported on wasm32-unknown-unknown");
[INFO] [stdout]    |                                             ---------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 15 |
[INFO] [stdout] 16 | /         let surface = instance
[INFO] [stdout] 17 | |             .create_surface(target)
[INFO] [stdout] 18 | |             .expect("Failed to create surface");
[INFO] [stdout]    | |________________________________________________^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instance`
[INFO] [stdout]   --> src/engine/gpu/surface.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> {
[INFO] [stdout]    |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `canvas`
[INFO] [stdout]   --> src/engine/gpu/surface.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instance`
[INFO] [stdout]   --> src/engine/gpu/surface.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> {
[INFO] [stdout]    |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `canvas`
[INFO] [stdout]   --> src/engine/gpu/surface.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VehiclePhysics` is never constructed
[INFO] [stdout]   --> src/lib.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct VehiclePhysics {
[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 items `new` and `update` are never used
[INFO] [stdout]   --> src/lib.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl VehiclePhysics {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 65 |     fn new(base_y: f32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn update(&mut self, transform: &mut Transform, keys: &KeyboardState, dt: f32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderPipelineHandle` is never constructed
[INFO] [stdout]   --> src/engine/gpu/pipeline.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct RenderPipelineHandle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]   --> src/engine/gpu/pipeline.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl RenderPipelineHandle {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 18 |     pub fn create(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_uniform_layout` is never used
[INFO] [stdout]   --> src/engine/gpu/bind_group.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_uniform_layout(device: &Device) -> BindGroupLayout {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_scene_material_layout` is never used
[INFO] [stdout]   --> src/engine/gpu/bind_group.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn create_scene_material_layout(device: &Device) -> BindGroupLayout {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_scene_material_bind_group` is never used
[INFO] [stdout]    --> src/engine/gpu/bind_group.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn create_scene_material_bind_group(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `begin` is never used
[INFO] [stdout]  --> src/engine/gpu/command.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn begin(device: &Device) -> CommandEncoder {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `submit` is never used
[INFO] [stdout]   --> src/engine/gpu/command.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn submit(queue: &Queue, encoder: CommandEncoder) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Low` and `Ultra` are never constructed
[INFO] [stdout]   --> src/engine/render/renderer.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum QualityTier {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 33 |     Low,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 34 |     Balanced,
[INFO] [stdout] 35 |     Ultra,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QualityTier` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]    --> src/engine/render/renderer.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct HdrTarget {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] 100 |     texture : Texture,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `surface_format`, `depth_texture`, `width`, and `height` are never read
[INFO] [stdout]    --> src/engine/render/renderer.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub struct Renderer {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 224 |     surface_format  : TextureFormat,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     depth_texture   : Texture,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     width           : u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 252 |     height          : u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `resize`, and `set_quality` are never used
[INFO] [stdout]    --> src/engine/render/renderer.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 255 | impl Renderer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 256 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn resize(&mut self, device: &Device, width: u32, height: u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn set_quality(&mut self, device: &Device, quality: QualityTier) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RenderPass` is never used
[INFO] [stdout]  --> src/engine/render/pass.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait RenderPass {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `pyramid` and `ground_plane` are never used
[INFO] [stdout]    --> src/engine/render/mesh.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl Mesh {
[INFO] [stdout]     | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn pyramid(device: &wgpu::Device) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn ground_plane(device: &wgpu::Device, size: f32, subdivisions: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `default_blue`, `metal`, `ground`, and `light_source` are never used
[INFO] [stdout]   --> src/engine/render/material.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Material {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 14 |     pub fn default_blue() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn metal() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn ground() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn light_source() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]  --> src/engine/render/shadow.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShadowMap {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 6 |     pub texture : Texture,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ping_texture` and `pong_texture` are never read
[INFO] [stdout]  --> src/engine/render/bloom.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct BloomPass {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 4 |     pub ping_texture : Texture,
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 5 |     pub ping_view    : TextureView,
[INFO] [stdout] 6 |     pub pong_texture : Texture,
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/render/bloom.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl BloomPass {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(device: &Device, format: TextureFormat, width: u32, height: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssetLoader` is never constructed
[INFO] [stdout]  --> src/engine/assets/loader.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AssetLoader;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load_gltf` is never used
[INFO] [stdout]  --> src/engine/assets/loader.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl AssetLoader {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn load_gltf(path: &str) -> GltfAsset {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GltfAsset` is never constructed
[INFO] [stdout]  --> src/engine/assets/gltf.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct GltfAsset {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Clock` is never constructed
[INFO] [stdout]  --> src/engine/time/clock.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Clock {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tick`, and `delta_seconds` are never used
[INFO] [stdout]   --> src/engine/time/clock.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Clock {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Clock {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn tick(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn delta_seconds(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `w`, `a`, `s`, `d`, `space`, and `shift` are never used
[INFO] [stdout]   --> src/runtime/input.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl KeyboardState {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn w(&self) -> bool { self.keys[0] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 58 |     pub fn a(&self) -> bool { self.keys[1] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 59 |     pub fn s(&self) -> bool { self.keys[2] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 60 |     pub fn d(&self) -> bool { self.keys[3] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 61 |     pub fn space(&self) -> bool { self.keys[4] }
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 62 |     pub fn shift(&self) -> bool { self.keys[5] }
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_light` is never read
[INFO] [stdout]   --> src/runtime/scene.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct PointLight {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub is_light  : f32, // 1.0 for disc mesh, 0.0 for pure light
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_point_light` is never used
[INFO] [stdout]   --> src/runtime/scene.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Scene {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn add_point_light(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VehiclePhysics` is never constructed
[INFO] [stdout]   --> src/lib.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct VehiclePhysics {
[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 items `new` and `update` are never used
[INFO] [stdout]   --> src/lib.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl VehiclePhysics {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 65 |     fn new(base_y: f32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn update(&mut self, transform: &mut Transform, keys: &KeyboardState, dt: f32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderPipelineHandle` is never constructed
[INFO] [stdout]   --> src/engine/gpu/pipeline.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct RenderPipelineHandle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]   --> src/engine/gpu/pipeline.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl RenderPipelineHandle {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 18 |     pub fn create(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_uniform_layout` is never used
[INFO] [stdout]   --> src/engine/gpu/bind_group.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_uniform_layout(device: &Device) -> BindGroupLayout {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_scene_material_layout` is never used
[INFO] [stdout]   --> src/engine/gpu/bind_group.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn create_scene_material_layout(device: &Device) -> BindGroupLayout {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_scene_material_bind_group` is never used
[INFO] [stdout]    --> src/engine/gpu/bind_group.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn create_scene_material_bind_group(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `begin` is never used
[INFO] [stdout]  --> src/engine/gpu/command.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn begin(device: &Device) -> CommandEncoder {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `submit` is never used
[INFO] [stdout]   --> src/engine/gpu/command.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn submit(queue: &Queue, encoder: CommandEncoder) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Low` and `Ultra` are never constructed
[INFO] [stdout]   --> src/engine/render/renderer.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum QualityTier {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 33 |     Low,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 34 |     Balanced,
[INFO] [stdout] 35 |     Ultra,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QualityTier` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]    --> src/engine/render/renderer.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct HdrTarget {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] 100 |     texture : Texture,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `surface_format`, `depth_texture`, `width`, and `height` are never read
[INFO] [stdout]    --> src/engine/render/renderer.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub struct Renderer {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 224 |     surface_format  : TextureFormat,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     depth_texture   : Texture,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     width           : u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 252 |     height          : u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `resize`, and `set_quality` are never used
[INFO] [stdout]    --> src/engine/render/renderer.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 255 | impl Renderer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 256 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn resize(&mut self, device: &Device, width: u32, height: u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn set_quality(&mut self, device: &Device, quality: QualityTier) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RenderPass` is never used
[INFO] [stdout]  --> src/engine/render/pass.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait RenderPass {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `pyramid` and `ground_plane` are never used
[INFO] [stdout]    --> src/engine/render/mesh.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl Mesh {
[INFO] [stdout]     | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn pyramid(device: &wgpu::Device) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn ground_plane(device: &wgpu::Device, size: f32, subdivisions: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `default_blue`, `metal`, `ground`, and `light_source` are never used
[INFO] [stdout]   --> src/engine/render/material.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Material {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 14 |     pub fn default_blue() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn metal() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn ground() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn light_source() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]  --> src/engine/render/shadow.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShadowMap {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 6 |     pub texture : Texture,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ping_texture` and `pong_texture` are never read
[INFO] [stdout]  --> src/engine/render/bloom.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct BloomPass {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 4 |     pub ping_texture : Texture,
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 5 |     pub ping_view    : TextureView,
[INFO] [stdout] 6 |     pub pong_texture : Texture,
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engine/render/bloom.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl BloomPass {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(device: &Device, format: TextureFormat, width: u32, height: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssetLoader` is never constructed
[INFO] [stdout]  --> src/engine/assets/loader.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AssetLoader;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load_gltf` is never used
[INFO] [stdout]  --> src/engine/assets/loader.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl AssetLoader {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn load_gltf(path: &str) -> GltfAsset {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GltfAsset` is never constructed
[INFO] [stdout]  --> src/engine/assets/gltf.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct GltfAsset {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Clock` is never constructed
[INFO] [stdout]  --> src/engine/time/clock.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Clock {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tick`, and `delta_seconds` are never used
[INFO] [stdout]   --> src/engine/time/clock.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Clock {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Clock {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn tick(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn delta_seconds(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `w`, `a`, `s`, `d`, `space`, and `shift` are never used
[INFO] [stdout]   --> src/runtime/input.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl KeyboardState {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn w(&self) -> bool { self.keys[0] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 58 |     pub fn a(&self) -> bool { self.keys[1] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 59 |     pub fn s(&self) -> bool { self.keys[2] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 60 |     pub fn d(&self) -> bool { self.keys[3] }
[INFO] [stdout]    |            ^
[INFO] [stdout] 61 |     pub fn space(&self) -> bool { self.keys[4] }
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 62 |     pub fn shift(&self) -> bool { self.keys[5] }
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_light` is never read
[INFO] [stdout]   --> src/runtime/scene.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct PointLight {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub is_light  : f32, // 1.0 for disc mesh, 0.0 for pure light
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_point_light` is never used
[INFO] [stdout]   --> src/runtime/scene.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Scene {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn add_point_light(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServiceExt`
[INFO] [stdout]  --> src/bin/server.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ServiceExt,
[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: `ServiceExt`
[INFO] [stdout]  --> src/bin/server.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ServiceExt,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_error` is never used
[INFO] [stdout]   --> src/bin/server.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | async fn handle_error(err: std::io::Error) -> impl IntoResponse {
[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 `handle_error` is never used
[INFO] [stdout]   --> src/bin/server.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | async fn handle_error(err: std::io::Error) -> impl IntoResponse {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: naga v27.0.3, wgpu v27.0.1, wgpu-core v27.0.3, wgpu-hal v27.0.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30", kill_on_drop: false }`
[INFO] [stdout] e2729ed55e65e0e2d82a1d54cc128c054bd76e6f11b4d18ebb9fbd6760b16e30
