[INFO] cloning repository https://github.com/JackDraak/TripleM
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JackDraak/TripleM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackDraak%2FTripleM", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackDraak%2FTripleM'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f93bfbb14f891fd88c94ff88bb8bf0276936769f
[INFO] documenting JackDraak/TripleM against beta-2025-09-21 for beta-rustdoc-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackDraak%2FTripleM" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JackDraak/TripleM
[INFO] finished tweaking git repo https://github.com/JackDraak/TripleM
[INFO] tweaked toml for git repo https://github.com/JackDraak/TripleM written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JackDraak/TripleM on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JackDraak/TripleM 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 095503c018f43e55b6fda57b439337fb32ccaaab9117c678503dd422ab5ad398
[INFO] running `Command { std: "docker" "start" "-a" "095503c018f43e55b6fda57b439337fb32ccaaab9117c678503dd422ab5ad398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "095503c018f43e55b6fda57b439337fb32ccaaab9117c678503dd422ab5ad398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "095503c018f43e55b6fda57b439337fb32ccaaab9117c678503dd422ab5ad398", kill_on_drop: false }`
[INFO] [stdout] 095503c018f43e55b6fda57b439337fb32ccaaab9117c678503dd422ab5ad398
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 618116dea8c4d3cfedf4818afada70c9d73a229d7937709edc3051a25a39a7c6
[INFO] running `Command { std: "docker" "start" "-a" "618116dea8c4d3cfedf4818afada70c9d73a229d7937709edc3051a25a39a7c6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking libloading v0.8.8
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]    Compiling cc v1.2.38
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling wayland-client v0.31.11
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking waker-fn v1.2.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking async-lock v2.8.0
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling async-fs v1.6.0
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking linux-raw-sys v0.3.8
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]    Compiling xml-rs v0.8.27
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]     Checking async-executor v1.13.3
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking memmap2 v0.9.8
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking ab_glyph v0.2.31
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking accesskit v0.12.3
[INFO] [stderr]    Compiling winit v0.29.15
[INFO] [stderr]    Compiling glutin_egl_sys v0.6.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking accesskit_consumer v0.16.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling glutin v0.31.3
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking async-once-cell v0.5.4
[INFO] [stderr]    Compiling glutin-winit v0.4.2
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]     Checking web-time v0.2.4
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking ringbuf v0.4.8
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.0.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling zvariant_utils v1.0.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.1
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling zvariant_derive v3.15.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling zbus_macros v3.15.2
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking emath v0.27.2
[INFO] [stderr]     Checking ecolor v0.27.2
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking epaint v0.27.2
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking egui v0.27.2
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking zvariant v3.15.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking webbrowser v0.8.15
[INFO] [stderr]     Checking zbus_names v2.6.1
[INFO] [stderr]     Checking zbus v3.15.2
[INFO] [stderr]     Checking egui_glow v0.27.2
[INFO] [stderr]     Checking sctk-adwaita v0.8.3
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking atspi-common v0.3.0
[INFO] [stderr]     Checking atspi-proxies v0.3.0
[INFO] [stderr]     Checking atspi-connection v0.3.0
[INFO] [stderr]     Checking atspi v0.19.0
[INFO] [stderr]     Checking accesskit_unix v0.6.2
[INFO] [stderr]     Checking accesskit_winit v0.16.1
[INFO] [stderr]     Checking egui-winit v0.27.2
[INFO] [stderr]     Checking eframe v0.27.2
[INFO] [stderr]     Checking mood_music_module v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]  Documenting mood_music_module v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:883:17
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 (position.sin() * complexity.polyrhythmic_complexity * 0.1) // Up to 10% timing variation
[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] 883 -                 (position.sin() * complexity.polyrhythmic_complexity * 0.1) // Up to 10% timing variation
[INFO] [stdout] 883 +                 position.sin() * complexity.polyrhythmic_complexity * 0.1 // Up to 10% timing variation
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PI`
[INFO] [stdout]  --> src/audio/synthesis.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::f32::consts::{PI, TAU};
[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: `PI`
[INFO] [stdout]   --> src/audio/drums.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::f32::consts::{PI, TAU};
[INFO] [stdout]    |                        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]  --> src/audio/wavetables.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> src/audio/wavetables.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PI`
[INFO] [stdout]   --> src/audio/wavetables.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::f32::consts::{PI, TAU};
[INFO] [stdout]    |                        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]  --> src/audio/additive.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]   --> src/audio/additive.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::rngs::StdRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ComplexityProfile`
[INFO] [stdout]   --> src/audio/unified_controller.rs:13:67
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::patterns::multi_scale_rhythm::{MultiScaleRhythmSystem, ComplexityProfile};
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MusicalRole`, `VoiceId`, and `VoiceRequest`
[INFO] [stdout]  --> src/audio/pattern_translator.rs:7:40
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::audio::voice_coordination::{VoiceRequest, VoiceId, MusicalRole};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ComplexityProfile`
[INFO] [stdout]  --> src/audio/pattern_translator.rs:8:68
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::patterns::multi_scale_rhythm::{MultiScaleRhythmPattern, ComplexityProfile};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]  --> src/patterns/rhythm.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> src/patterns/rhythm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PatternParameters`
[INFO] [stdout]  --> src/patterns/unified_rhythm.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::patterns::{PatternGenerator, PatternParameters, RhythmPattern};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]   --> src/patterns/unified_rhythm.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{Rng, SeedableRng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]   --> src/patterns/unified_rhythm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::rngs::StdRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GrooveTemplate` and `SwingStyle`
[INFO] [stdout]   --> src/patterns/multi_scale_rhythm.rs:20:77
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::patterns::unified_rhythm::{UnifiedRhythmGenerator, PatternEvent, GrooveTemplate, SwingStyle};
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::NaturalVariation`
[INFO] [stdout]   --> src/patterns/multi_scale_rhythm.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::audio::NaturalVariation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]   --> src/patterns/multi_scale_rhythm.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | use rand::{Rng, SeedableRng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]   --> src/patterns/multi_scale_rhythm.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use rand::rngs::StdRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PI` and `TAU`
[INFO] [stdout]   --> src/patterns/multi_scale_rhythm.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::f32::consts::{PI, TAU};
[INFO] [stdout]    |                        ^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:883:17
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 (position.sin() * complexity.polyrhythmic_complexity * 0.1) // Up to 10% timing variation
[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] 883 -                 (position.sin() * complexity.polyrhythmic_complexity * 0.1) // Up to 10% timing variation
[INFO] [stdout] 883 +                 position.sin() * complexity.polyrhythmic_complexity * 0.1 // Up to 10% timing variation
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PatternParameters`
[INFO] [stdout]  --> src/patterns/unified_melody.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::patterns::{PatternParameters, Scale, MelodyPattern};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/patterns/unified_melody.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::TAU`
[INFO] [stdout]   --> src/patterns/unified_harmony.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::f32::consts::TAU;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PatternGenerator`
[INFO] [stdout]  --> src/patterns/unified_rhythm.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::patterns::{PatternGenerator, PatternParameters, RhythmPattern};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/audio/drums.rs:490:27
[INFO] [stdout]     |
[INFO] [stdout] 490 |     fn trigger(&mut self, velocity: f32, open: bool) {
[INFO] [stdout]     |                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 490 |     fn trigger(&mut self, _velocity: f32, open: bool) {
[INFO] [stdout]     |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 490 -     fn trigger(&mut self, velocity: f32, open: bool) {
[INFO] [stdout] 490 +     fn trigger(&mut self, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32, open: bool) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/audio/drums.rs:557:27
[INFO] [stdout]     |
[INFO] [stdout] 557 |     fn trigger(&mut self, velocity: f32, element_type: PercussionType) {
[INFO] [stdout]     |                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 557 |     fn trigger(&mut self, _velocity: f32, element_type: PercussionType) {
[INFO] [stdout]     |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 557 -     fn trigger(&mut self, velocity: f32, element_type: PercussionType) {
[INFO] [stdout] 557 +     fn trigger(&mut self, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32, element_type: PercussionType) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_time`
[INFO] [stdout]    --> src/audio/unified_controller.rs:705:40
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn update_rhythm_system(&mut self, delta_time: f32) {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn update_rhythm_system(&mut self, _delta_time: f32) {
[INFO] [stdout]     |                                        +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 705 -     fn update_rhythm_system(&mut self, delta_time: f32) {
[INFO] [stdout] 705 +     fn update_rhythm_system(&mut self, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `voice`
[INFO] [stdout]    --> src/audio/voice_coordination.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |         if let Some(voice) = self.voice_pool.active_voices.remove(&voice_id) {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_voice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/audio/pattern_translator.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         duration: f32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 144 |         _duration: f32,
[INFO] [stdout]     |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 144 -         duration: f32,
[INFO] [stdout] 144 +         audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/generators/gentle_melodic.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut rng = StdRng::from_entropy();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/generators/active_ambient.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut rng = StdRng::from_entropy();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/generators/active_ambient.rs:219:41
[INFO] [stdout]     |
[INFO] [stdout] 219 |     fn generate_pulse_sample(&mut self, time: f64) -> f32 {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/generators/active_ambient.rs:247:39
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn generate_pad_sample(&mut self, time: f64) -> f32 {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/generators/active_ambient.rs:263:39
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn generate_arp_sample(&mut self, time: f64) -> f32 {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/generators/edm_style.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut rng = StdRng::from_entropy();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `energy`
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:542:65
[INFO] [stdout]     |
[INFO] [stdout] 542 |     fn set_parameters(&mut self, complexity: f32, density: f32, energy: f32) {
[INFO] [stdout]     |                                                                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 542 |     fn set_parameters(&mut self, complexity: f32, density: f32, _energy: f32) {
[INFO] [stdout]     |                                                                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 542 -     fn set_parameters(&mut self, complexity: f32, density: f32, energy: f32) {
[INFO] [stdout] 542 +     fn set_parameters(&mut self, complexity: f32, density: f32, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:852:35
[INFO] [stdout]     |
[INFO] [stdout] 852 |     fn set_input_value(&mut self, input: f32) {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 852 |     fn set_input_value(&mut self, _input: f32) {
[INFO] [stdout]     |                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 852 -     fn set_input_value(&mut self, input: f32) {
[INFO] [stdout] 852 +     fn set_input_value(&mut self, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beat_phase`
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:857:33
[INFO] [stdout]     |
[INFO] [stdout] 857 |     fn get_timing_offset(&self, beat_phase: f32) -> f32 {
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 857 |     fn get_timing_offset(&self, _beat_phase: f32) -> f32 {
[INFO] [stdout]     |                                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 857 -     fn get_timing_offset(&self, beat_phase: f32) -> f32 {
[INFO] [stdout] 857 +     fn get_timing_offset(&self, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32) -> f32 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beat_phase`
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:862:39
[INFO] [stdout]     |
[INFO] [stdout] 862 |     fn get_velocity_multiplier(&self, beat_phase: f32) -> f32 {
[INFO] [stdout]     |                                       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 862 |     fn get_velocity_multiplier(&self, _beat_phase: f32) -> f32 {
[INFO] [stdout]     |                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 862 -     fn get_velocity_multiplier(&self, beat_phase: f32) -> f32 {
[INFO] [stdout] 862 +     fn get_velocity_multiplier(&self, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32) -> f32 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_value`
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:880:60
[INFO] [stdout]     |
[INFO] [stdout] 880 |     fn avoid_repetition(&mut self, pattern: RhythmPattern, input_value: f32) -> RhythmPattern {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 880 |     fn avoid_repetition(&mut self, pattern: RhythmPattern, _input_value: f32) -> RhythmPattern {
[INFO] [stdout]     |                                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 880 -     fn avoid_repetition(&mut self, pattern: RhythmPattern, input_value: f32) -> RhythmPattern {
[INFO] [stdout] 880 +     fn avoid_repetition(&mut self, pattern: RhythmPattern, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32) -> RhythmPattern {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:900:35
[INFO] [stdout]     |
[INFO] [stdout] 900 |     fn set_input_value(&mut self, input: f32) {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 900 |     fn set_input_value(&mut self, _input: f32) {
[INFO] [stdout]     |                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `THRESHOLD`
[INFO] [stdout]     |
[INFO] [stdout] 900 -     fn set_input_value(&mut self, input: f32) {
[INFO] [stdout] 900 +     fn set_input_value(&mut self, audio::transition::TransitionManager::weights_differ_significantly::THRESHOLD: f32) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:937:42
[INFO] [stdout]     |
[INFO] [stdout] 937 |     fn update_accent_patterns(&mut self, complexity: &ComplexityProfile) {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:999:44
[INFO] [stdout]     |
[INFO] [stdout] 999 |     fn generate_development_markers(&self, complexity: &ComplexityProfile, state: &EvolutionState) -> Result<Vec<DevelopmentMarker>> {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:999:76
[INFO] [stdout]     |
[INFO] [stdout] 999 |     fn generate_development_markers(&self, complexity: &ComplexityProfile, state: &EvolutionState) -> Result<Vec<DevelopmentMarker>> {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1302:36
[INFO] [stdout]      |
[INFO] [stdout] 1302 |     fn update_processes(&mut self, complexity: &ComplexityProfile) {
[INFO] [stdout]      |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1321:26
[INFO] [stdout]      |
[INFO] [stdout] 1321 |     fn update(&mut self, state: &EvolutionState, complexity: &ComplexityProfile) {
[INFO] [stdout]      |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1321:50
[INFO] [stdout]      |
[INFO] [stdout] 1321 |     fn update(&mut self, state: &EvolutionState, complexity: &ComplexityProfile) {
[INFO] [stdout]      |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1359:30
[INFO] [stdout]      |
[INFO] [stdout] 1359 |     fn generate_fills(&self, complexity: &ComplexityProfile, state: &EvolutionState) -> Result<Vec<FillElement>> {
[INFO] [stdout]      |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1359:62
[INFO] [stdout]      |
[INFO] [stdout] 1359 |     fn generate_fills(&self, complexity: &ComplexityProfile, state: &EvolutionState) -> Result<Vec<FillElement>> {
[INFO] [stdout]      |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1372:26
[INFO] [stdout]      |
[INFO] [stdout] 1372 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1372:58
[INFO] [stdout]      |
[INFO] [stdout] 1372 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1376:35
[INFO] [stdout]      |
[INFO] [stdout] 1376 |     fn generate_trajectory(&self, complexity: &ComplexityProfile) -> Result<Vec<DevelopmentPoint>> {
[INFO] [stdout]      |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1389:26
[INFO] [stdout]      |
[INFO] [stdout] 1389 |     fn update(&mut self, complexity: &ComplexityProfile) {
[INFO] [stdout]      |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1393:35
[INFO] [stdout]      |
[INFO] [stdout] 1393 |     fn generate_variations(&self, complexity: &ComplexityProfile) -> Result<Vec<RhythmicMotif>> {
[INFO] [stdout]      |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1404:26
[INFO] [stdout]      |
[INFO] [stdout] 1404 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1404:58
[INFO] [stdout]      |
[INFO] [stdout] 1404 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1408:39
[INFO] [stdout]      |
[INFO] [stdout] 1408 |     fn generate_tension_points(&self, state: &EvolutionState) -> Result<Vec<TensionPoint>> {
[INFO] [stdout]      |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1419:26
[INFO] [stdout]      |
[INFO] [stdout] 1419 |     fn update(&mut self, complexity: &ComplexityProfile) {
[INFO] [stdout]      |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1433:26
[INFO] [stdout]      |
[INFO] [stdout] 1433 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1433:58
[INFO] [stdout]      |
[INFO] [stdout] 1433 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1443:26
[INFO] [stdout]      |
[INFO] [stdout] 1443 |     fn update(&mut self, complexity: &ComplexityProfile) {
[INFO] [stdout]      |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1463:26
[INFO] [stdout]      |
[INFO] [stdout] 1463 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1463:58
[INFO] [stdout]      |
[INFO] [stdout] 1463 |     fn update(&mut self, complexity: &ComplexityProfile, state: &EvolutionState) {
[INFO] [stdout]      |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `complexity`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1594:40
[INFO] [stdout]      |
[INFO] [stdout] 1594 |     fn generate_phrase_elements(&self, complexity: &ComplexityProfile, state: &EvolutionState) -> Result<PhraseElements> {
[INFO] [stdout]      |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complexity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/patterns/multi_scale_rhythm.rs:1594:72
[INFO] [stdout]      |
[INFO] [stdout] 1594 |     fn generate_phrase_elements(&self, complexity: &ComplexityProfile, state: &EvolutionState) -> Result<PhraseElements> {
[INFO] [stdout]      |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sample_rate` is never read
[INFO] [stdout]    --> src/audio/synthesis.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub struct FmSynth {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 166 |     sample_rate: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FmSynth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_evolution_period` is never read
[INFO] [stdout]   --> src/audio/granular.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct GrainBuffer {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |     buffer_evolution_period: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GrainBuffer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/audio/granular.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | struct Wavetable {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 88 |     samples: Vec<f32>,
[INFO] [stdout] 89 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Wavetable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sample_rate` is never read
[INFO] [stdout]   --> src/audio/drums.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct DrumSynthesizer {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     sample_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DrumSynthesizer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sample_rate` is never read
[INFO] [stdout]   --> src/audio/drums.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct SnareSynthesizer {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 72 |     sample_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SnareSynthesizer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sample_rate` is never read
[INFO] [stdout]    --> src/audio/drums.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | pub struct PercussionSynthesizer {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     sample_rate: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PercussionSynthesizer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tone` is never read
[INFO] [stdout]    --> src/audio/drums.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | struct Distortion {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 161 |     drive: f32,
[INFO] [stdout] 162 |     tone: f32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Distortion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `harmonic_content`, `brightness`, and `organic_factor` are never read
[INFO] [stdout]   --> src/audio/wavetables.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Wavetable {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 49 |     samples: Vec<f32>,
[INFO] [stdout] 50 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     character: WaveCharacter,
[INFO] [stdout] 52 |     harmonic_content: f32,    // 0.0 = simple, 1.0 = complex
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     brightness: f32,          // 0.0 = dark, 1.0 = bright
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 54 |     organic_factor: f32,      // 0.0 = geometric, 1.0 = organic
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Wavetable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `center_frequency` and `bandwidth` are never read
[INFO] [stdout]    --> src/audio/wavetables.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct FormantFilter {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout]  99 |     center_frequency: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     bandwidth: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormantFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phase_offset` is never read
[INFO] [stdout]    --> src/audio/wavetables.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct HarmonicComponent {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 117 |     phase_offset: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HarmonicComponent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_amplitude` and `phase_offset` are never read
[INFO] [stdout]   --> src/audio/additive.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct HarmonicOscillator {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     current_amplitude: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     phase_offset: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HarmonicOscillator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evolution_rate` is never read
[INFO] [stdout]   --> src/audio/additive.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct SpectralEnvelope {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     evolution_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpectralEnvelope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `drift_amount` is never read
[INFO] [stdout]   --> src/audio/additive.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct SpectralFormant {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     drift_amount: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpectralFormant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `duration` are never read
[INFO] [stdout]    --> src/audio/additive.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct EvolutionPattern {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 153 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     duration: f32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EvolutionPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stereo_width` is never read
[INFO] [stdout]    --> src/audio/additive.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct OutputProcessor {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 172 |     stereo_width: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OutputProcessor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `wavetable_synth`, `additive_synth`, and `rng` are never read
[INFO] [stdout]   --> src/audio/unified_synth.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct UnifiedSynthesizer {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     wavetable_synth: MorphingWavetableSynth,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     additive_synth: AdditiveSynthesizer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     rng: StdRng,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnifiedSynthesizer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `crossfade_smoothing` is never read
[INFO] [stdout]   --> src/audio/unified_synth.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct SynthesisMorpher {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     crossfade_smoothing: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SynthesisMorpher` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `wavetable_weight`, `wavetable_character`, and `additive_complexity` are never read
[INFO] [stdout]   --> src/audio/unified_synth.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct MorphPoint {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 88 |     wavetable_weight: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     wavetable_character: WaveCharacter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     additive_complexity: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MorphPoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stealing_params` is never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct VoiceManager {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     stealing_params: VoiceStealingParams,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoiceManager` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `character`, `table_morph`, `filter_cutoff`, and `filter_resonance` are never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct WavetableVoiceParams {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 162 |     /// Current wavetable character
[INFO] [stdout] 163 |     character: WaveCharacter,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     table_morph: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     filter_cutoff: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     filter_resonance: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WavetableVoiceParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `harmonic_count`, `spectral_tilt`, and `formant_emphasis` are never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct AdditiveVoiceParams {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 177 |     /// Number of active harmonics
[INFO] [stdout] 178 |     harmonic_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     spectral_tilt: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     formant_emphasis: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdditiveVoiceParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_age_for_stealing`, `amplitude_threshold`, and `note_priority_curve` are never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub struct VoiceStealingParams {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 200 |     /// Minimum voice age before stealing (in seconds)
[INFO] [stdout] 201 |     min_age_for_stealing: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     amplitude_threshold: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     note_priority_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoiceStealingParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `voice_panning` is never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct SpatialProcessor {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 243 |     voice_panning: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpatialProcessor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `limiter_enabled` and `expansion_ratio` are never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct DynamicsProcessor {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 276 |     limiter_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     expansion_ratio: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DynamicsProcessor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filter_slopes` is never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct OutputFilterBank {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 294 |     filter_slopes: FilterSlopes,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OutputFilterBank` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `highpass_slope` and `lowpass_slope` are never read
[INFO] [stdout]    --> src/audio/unified_synth.rs:300:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub struct FilterSlopes {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 299 |     /// High-pass slope (db/octave)
[INFO] [stdout] 300 |     highpass_slope: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     lowpass_slope: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FilterSlopes` 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 `calculate_attack_envelope`, `calculate_release_envelope`, `calculate_attack_time`, and `calculate_release_time` are never used
[INFO] [stdout]    --> src/audio/unified_synth.rs:532:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl UnifiedSynthesizer {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 532 |     fn calculate_attack_envelope(&self, age: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     fn calculate_release_envelope(&self, age: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 552 |     fn calculate_attack_time(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 567 |     fn calculate_release_time(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sample_rate` is never read
[INFO] [stdout]   --> src/audio/crossfade.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CrossfadeManager {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     sample_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CrossfadeManager` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `anti_alias_enabled` and `lookahead_time` are never read
[INFO] [stdout]   --> src/audio/crossfade.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct CrossfadeConfig {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     anti_alias_enabled: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     lookahead_time: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CrossfadeConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/audio/crossfade.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ActiveCrossfade {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 55 |     /// Unique ID for this crossfade
[INFO] [stdout] 56 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActiveCrossfade` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `smoothing` and `needs_anti_alias` are never read
[INFO] [stdout]    --> src/audio/crossfade.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct ParameterCrossfadeSettings {
[INFO] [stdout]     |            -------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 136 |     smoothing: SmoothingCharacteristics,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     needs_anti_alias: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParameterCrossfadeSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `old_value` is never read
[INFO] [stdout]    --> src/audio/crossfade.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub struct ParameterChange {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 225 |     old_value: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParameterChange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `characteristics` is never read
[INFO] [stdout]    --> src/audio/crossfade.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct SmoothingFilter {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 261 |     characteristics: SmoothingCharacteristics,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SmoothingFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `smoothing_factor`, `response_time`, `filter_type`, and `variation_amount` are never read
[INFO] [stdout]    --> src/audio/crossfade.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct SmoothingCharacteristics {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] 270 |     /// Smoothing factor (0.0 to 1.0)
[INFO] [stdout] 271 |     smoothing_factor: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     response_time: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     filter_type: SmoothingFilterType,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     variation_amount: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SmoothingCharacteristics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `memory` is never read
[INFO] [stdout]    --> src/audio/crossfade.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct FilterState {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 306 |     memory: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FilterState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `voice_coordinator` is never read
[INFO] [stdout]   --> src/audio/unified_controller.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct UnifiedController {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     voice_coordinator: VoiceCoordinator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnifiedController` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target_values` is never read
[INFO] [stdout]   --> src/audio/unified_controller.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct ParameterState {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     target_values: HashMap<ControlParameter, f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParameterState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `default_value` and `crossfade_duration` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct ParameterConstraints {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 133 |     default_value: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     crossfade_duration: Option<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParameterConstraints` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parameter`, `old_value`, `new_value`, `timestamp`, and `change_source` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct ParameterChange {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 148 |     /// Which parameter changed
[INFO] [stdout] 149 |     parameter: ControlParameter,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     old_value: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     new_value: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     timestamp: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     change_source: ChangeSource,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParameterChange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub struct Preset {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 212 |     /// Preset name
[INFO] [stdout] 213 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Preset` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameter_activity` is never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct RealTimeMonitor {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     parameter_activity: HashMap<ControlParameter, ParameterActivity>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RealTimeMonitor` 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 `peak_db`, `rms_db`, `peak_hold_db`, and `is_clipping` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub struct OutputLevels {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 263 |     /// Current peak level (dB)
[INFO] [stdout] 264 |     peak_db: f32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     rms_db: f32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     peak_hold_db: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     is_clipping: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OutputLevels` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `last_change_time`, `change_velocity`, and `is_transitioning` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct ParameterActivity {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 279 |     /// How recently this parameter changed
[INFO] [stdout] 280 |     last_change_time: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     change_velocity: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     is_transitioning: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParameterActivity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `audio_timing`, `memory_usage`, and `stability_indicators` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub struct PerformanceMetrics {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 292 |     /// Audio callback timing statistics
[INFO] [stdout] 293 |     audio_timing: TimingStats,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     memory_usage: MemoryUsage,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     stability_indicators: StabilityIndicators,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PerformanceMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `avg_callback_duration`, `max_callback_duration`, `timing_variance`, and `timing_violations` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct TimingStats {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 305 |     /// Average callback duration (ms)
[INFO] [stdout] 306 |     avg_callback_duration: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     max_callback_duration: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     timing_variance: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     timing_violations: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TimingStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_mb`, `peak_mb`, and `allocations_per_sec` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:322:5
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct MemoryUsage {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 321 |     /// Current memory usage (MB)
[INFO] [stdout] 322 |     current_mb: f32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     peak_mb: f32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     allocations_per_sec: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MemoryUsage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `audio_dropouts`, `validation_failures`, and `health_score` are never read
[INFO] [stdout]    --> src/audio/unified_controller.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct StabilityIndicators {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 334 |     /// Audio dropouts detected
[INFO] [stdout] 335 |     audio_dropouts: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     validation_failures: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     health_score: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StabilityIndicators` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]    --> src/audio/unified_controller.rs:854:8
[INFO] [stdout]     |
[INFO] [stdout] 853 | impl ParameterConstraints {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 854 |     fn default() -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sample_rate` is never read
[INFO] [stdout]   --> src/patterns/rhythm.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RhythmGenerator {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     sample_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `humanization_level` is never read
[INFO] [stdout]   --> src/patterns/rhythm.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct MicroRhythmEvolution {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     humanization_level: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MicroRhythmEvolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `accent_patterns` is never read
[INFO] [stdout]   --> src/patterns/rhythm.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct BeatRhythmEvolution {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     accent_patterns: Vec<AccentPattern>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BeatRhythmEvolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phrase_length` is never read
[INFO] [stdout]   --> src/patterns/rhythm.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct PhraseRhythmEvolution {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 91 |     phrase_length: usize,        // Length in measures
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhraseRhythmEvolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `section_length` is never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct SectionRhythmEvolution {
[INFO] [stdout]     |            ---------------------- field in this struct
[INFO] [stdout] 101 |     section_length: usize,       // Length in phrases
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SectionRhythmEvolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `swing_style` are never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct GrooveTemplate {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 110 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     swing_style: SwingStyle,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GrooveTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `weight` and `complexity` are never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct RhythmicCell {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 129 |     pattern: Vec<RhythmPattern>,
[INFO] [stdout] 130 |     weight: f32,                 // Probability weight
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 131 |     energy_level: f32,           // 0.0 = low energy, 1.0 = high energy
[INFO] [stdout] 132 |     complexity: f32,             // 0.0 = simple, 1.0 = complex
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhythmicCell` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `accents` and `intensity` are never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct AccentPattern {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 138 |     accents: Vec<bool>,          // Which beats to accent
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 139 |     intensity: f32,              // Accent strength
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AccentPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `intro_probability`, `fill_positions`, and `energy_arc` are never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct PhraseTemplate {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 145 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 146 |     measure_types: Vec<MeasureType>,
[INFO] [stdout] 147 |     intro_probability: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |     fill_positions: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     energy_arc: Vec<f32>,        // Energy curve across phrase
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PhraseTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `resolution_points` is never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub struct TensionCurve {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 164 |     curve_points: Vec<f32>,      // Tension values (0.0 to 1.0)
[INFO] [stdout] 165 |     resolution_points: Vec<usize>, // Where tension resolves
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TensionCurve` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `energy_path` is never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub struct EvolutionTrajectory {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 171 |     complexity_path: Vec<f32>,   // How complexity changes over time
[INFO] [stdout] 172 |     energy_path: Vec<f32>,       // How energy changes over time
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EvolutionTrajectory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `duration` and `transition_style` are never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct ComplexityStage {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 186 |     target_complexity: f32,
[INFO] [stdout] 187 |     duration: f32,               // In phrases
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 188 |     transition_style: TransitionStyle,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ComplexityStage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `repetition_avoidance` is never read
[INFO] [stdout]    --> src/patterns/rhythm.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct PatternMemory {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 212 |     repetition_avoidance: f32,   // How much to avoid repetition
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternMemory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_pattern`, `pattern_morph_position`, and `variation_probability` are never read
[INFO] [stdout]   --> src/patterns/unified_rhythm.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct AdaptivePattern {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     current_pattern: Vec<PatternEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pattern_morph_position: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     variation_probability: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AdaptivePattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `energy_level` and `optimal_bpm_range` are never read
[INFO] [stdout]   --> src/patterns/unified_rhythm.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct PatternTemplate {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     energy_level: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     optimal_bpm_range: (f32, f32),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PatternTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `groove_template` and `timing_drift` are never read
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct MicroTimingEngine {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 112 |     /// Current groove template
[INFO] [stdout] 113 |     groove_template: GrooveTemplate,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     timing_drift: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MicroTimingEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timing_offsets`, `velocity_multipliers`, `swing_style`, and `beat_emphasis` are never read
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct GrooveTemplate {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 128 |     /// Timing offsets per subdivision
[INFO] [stdout] 129 |     timing_offsets: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     velocity_multipliers: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     swing_style: SwingStyle,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     beat_emphasis: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GrooveTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `groove_templates`, `primary_groove`, `secondary_groove`, and `morph_position` are never read
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct GrooveMorpher {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 154 |     /// Available groove templates
[INFO] [stdout] 155 |     groove_templates: Vec<GrooveTemplate>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     primary_groove: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     secondary_groove: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     morph_position: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GrooveMorpher` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_history` and `repetition_avoidance` are never read
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct UnifiedPatternMemory {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 174 |     max_history: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     repetition_avoidance: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnifiedPatternMemory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_value`, `pattern_signature`, and `timestamp` are never read
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct PatternSnapshot {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 183 |     /// Input value when this pattern was active
[INFO] [stdout] 184 |     input_value: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pattern_signature: PatternSignature,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     timestamp: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `evolution_curves` and `evolution_seed` are never read
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct RhythmEvolutionEngine {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] 205 |     /// Evolution trajectories for different input ranges
[INFO] [stdout] 206 |     evolution_curves: Vec<EvolutionCurve>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     evolution_seed: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhythmEvolutionEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_range`, `complexity_curve`, `energy_curve`, and `mutation_points` are never read
[INFO] [stdout]    --> src/patterns/unified_rhythm.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub struct EvolutionCurve {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 221 |     /// Input range this curve applies to
[INFO] [stdout] 222 |     input_range: (f32, f32),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     complexity_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     energy_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     mutation_points: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EvolutionCurve` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `accent_patterns` is never read
[INFO] [stdout]   --> src/patterns/multi_scale_rhythm.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct MicroScaleController {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     accent_patterns: Vec<AccentPattern>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MicroScaleController` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pattern_groups` is never read
[INFO] [stdout]   --> src/patterns/multi_scale_rhythm.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct MesoScaleController {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pattern_groups: Vec<PatternGroupDefinition>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MesoScaleController` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `global_memory` is never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct MacroScaleController {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 110 |     global_memory: GlobalRhythmMemory,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MacroScaleController` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scale_interaction_matrix`, `sync_points`, `transition_manager`, and `constraint_system` are never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct ScaleCoordinator {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 119 |     /// How scales influence each other
[INFO] [stdout] 120 |     scale_interaction_matrix: ScaleInteractionMatrix,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     sync_points: Vec<SyncPoint>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     transition_manager: CrossScaleTransitionManager,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     constraint_system: HierarchicalConstraints,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScaleCoordinator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `interaction_rules` and `phase_relationships` are never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct PolyrhythmEngine {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 139 |     interaction_rules: LayerInteractionRules,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     phase_relationships: PhaseRelationshipManager,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PolyrhythmEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `evolution_rules`, `nested_structures`, and `complexity_progression` are never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct EuclideanPatternGenerator {
[INFO] [stdout]     |            ------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     evolution_rules: EuclideanEvolutionRules,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     nested_structures: Vec<NestedEuclideanStructure>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     complexity_progression: EuclideanComplexityProgression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EuclideanPatternGenerator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `phrasing_rules`, `boundary_detector`, and `phrase_development` are never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct PhraseAwareEngine {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 171 |     phrasing_rules: PhrasingRules,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     boundary_detector: PhraseBoundaryDetector,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     phrase_development: PhraseEvolutionEngine,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PhraseAwareEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `complexity_history` is never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct EvolutionState {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 190 |     complexity_history: ComplexityHistory,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EvolutionState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fill_probability` is never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:569:5
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub struct FillPatternGenerator {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] 569 |     fill_probability: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FillPatternGenerator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `active_motifs` is never read
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:594:5
[INFO] [stdout]     |
[INFO] [stdout] 593 | pub struct RhythmicMotifSystem {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 594 |     active_motifs: Vec<RhythmicMotif>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhythmicMotifSystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `morph_rate` is never read
[INFO] [stdout]   --> src/patterns/unified_melody.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ContinuousScaleMorpher {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     morph_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContinuousScaleMorpher` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `brightness`, `tension`, `complexity`, and `extended_intervals` are never read
[INFO] [stdout]   --> src/patterns/unified_melody.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct ScaleTemplate {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     brightness: f32,    // -1.0 = dark, 1.0 = bright
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 75 |     tension: f32,       // 0.0 = consonant, 1.0 = dissonant
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 76 |     complexity: f32,    // 0.0 = simple, 1.0 = complex
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     extended_intervals: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScaleTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `phrase_templates`, `current_phrase`, `phrase_progress`, `adaptive_length`, `rest_probability`, and `breath_timing` are never read
[INFO] [stdout]   --> src/patterns/unified_melody.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct AdaptivePhraseGenerator {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] 85 |     /// Phrase templates for different complexity levels
[INFO] [stdout] 86 |     phrase_templates: Vec<PhraseTemplate>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     current_phrase: PhraseStructure,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     phrase_progress: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     adaptive_length: AdaptiveLength,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     rest_probability: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 97 |     breath_timing: BreathTiming,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AdaptivePhraseGenerator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length_beats`, `density_curve`, `direction_tendency`, `rest_points`, and `complexity_level` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct PhraseTemplate {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 103 |     /// Length in beats
[INFO] [stdout] 104 |     length_beats: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     density_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     direction_tendency: Vec<MelodicDirection>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     rest_points: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     complexity_level: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PhraseTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_length`, `current_position`, `note_timings`, and `contour` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct PhraseStructure {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 132 |     /// Total length in samples
[INFO] [stdout] 133 |     total_length: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     current_position: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     note_timings: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     contour: Vec<MelodicDirection>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PhraseStructure` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_length`, `length_curve`, and `length_range` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct AdaptiveLength {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 148 |     /// Base length multiplier
[INFO] [stdout] 149 |     base_length: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     length_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     length_range: (f32, f32),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveLength` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `inter_phrase_gap`, `breath_points`, and `breath_variation` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub struct BreathTiming {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 161 |     /// Time between phrases
[INFO] [stdout] 162 |     inter_phrase_gap: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     breath_points: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     breath_variation: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BreathTiming` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `active_motifs`, `development_techniques`, `motif_memory`, `variation_rate`, and `development_intensity` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct MotifDevelopment {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 174 |     /// Current active motifs
[INFO] [stdout] 175 |     active_motifs: Vec<Motif>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     development_techniques: Vec<DevelopmentTechnique>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     motif_memory: VecDeque<Motif>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     variation_rate: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     development_intensity: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MotifDevelopment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `intervals`, `rhythm`, `weight`, `frequency`, and `transformations` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Motif {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 191 |     /// Note sequence (intervals from root)
[INFO] [stdout] 192 |     intervals: Vec<i8>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     rhythm: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     weight: f32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     frequency: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     transformations: Vec<Transformation>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Motif` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `technique`, `intensity`, and `applied_at` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct Transformation {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 220 |     technique: DevelopmentTechnique,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 221 |     intensity: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 222 |     applied_at: f32, // Time when applied
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Transformation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `learning_rate`, `adaptation_speed`, and `sequence_memory` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct AdaptiveMarkov {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 235 |     learning_rate: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 236 |     adaptation_speed: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     sequence_memory: VecDeque<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveMarkov` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transitions`, `rhythm_transitions`, and `style_bias` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub struct TransitionMatrix {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 249 |     transitions: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     rhythm_transitions: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     style_bias: StyleBias,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TransitionMatrix` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stepwise_tendency`, `consonance_preference`, `rhythmic_regularity`, and `scale_adherence` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct StyleBias {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 260 |     /// Preference for stepwise motion vs leaps
[INFO] [stdout] 261 |     stepwise_tendency: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     consonance_preference: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     rhythmic_regularity: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     scale_adherence: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StyleBias` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rhythm`, `input_context`, and `created_at` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub struct MelodicFragment {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 292 |     rhythm: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     input_context: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     created_at: f32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MelodicFragment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `evolution_curves`, `mutation_rate`, and `mutation_intensity` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct MelodyEvolutionEngine {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] 304 |     /// Evolution trajectories
[INFO] [stdout] 305 |     evolution_curves: Vec<MelodicEvolutionCurve>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     mutation_rate: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 315 |     mutation_intensity: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MelodyEvolutionEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_range`, `complexity_evolution`, `range_evolution`, `rhythmic_evolution`, and `mutation_points` are never read
[INFO] [stdout]    --> src/patterns/unified_melody.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct MelodicEvolutionCurve {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] 320 |     /// Input range this curve affects
[INFO] [stdout] 321 |     input_range: (f32, f32),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     complexity_evolution: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     range_evolution: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     rhythmic_evolution: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     mutation_points: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MelodicEvolutionCurve` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_timbre_morph` is never used
[INFO] [stdout]    --> src/patterns/unified_melody.rs:613:8
[INFO] [stdout]     |
[INFO] [stdout] 336 | impl UnifiedMelodyGenerator {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn calculate_timbre_morph(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_timbre_evolution` is never used
[INFO] [stdout]    --> src/patterns/unified_melody.rs:988:8
[INFO] [stdout]     |
[INFO] [stdout] 965 | impl MelodyEvolutionEngine {
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 988 |     fn get_timbre_evolution(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_bass_note` is never read
[INFO] [stdout]   --> src/patterns/unified_harmony.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct UnifiedHarmonyGenerator {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     current_bass_note: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnifiedHarmonyGenerator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_progression` and `progression_speed` are never read
[INFO] [stdout]   --> src/patterns/unified_harmony.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct AdaptiveChordProgression {
[INFO] [stdout]    |            ------------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 65 |     current_progression: Vec<ChordFunction>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     progression_speed: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AdaptiveChordProgression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `style_traits`, `loop_length`, and `loop_point` are never read
[INFO] [stdout]   --> src/patterns/unified_harmony.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct ProgressionTemplate {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 80 |     /// Name of the progression
[INFO] [stdout] 81 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     style_traits: ProgressionTraits,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     loop_length: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 94 |     loop_point: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgressionTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `modal_tendency`, `chromatic_level`, `tension_preference`, and `rhythm_density` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct ProgressionTraits {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 116 |     /// Tendency toward modal vs tonal harmony
[INFO] [stdout] 117 |     modal_tendency: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     chromatic_level: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     tension_preference: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     rhythm_density: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ProgressionTraits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `substitution_map` is never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct ChordSubstitutionSystem {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] 132 |     /// Available substitutions by function
[INFO] [stdout] 133 |     substitution_map: Vec<(ChordFunction, Vec<ChordFunction>)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChordSubstitutionSystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `extensions` and `voice_assignment` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct ChordStructure {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     extensions: Vec<ChordExtension>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     voice_assignment: Vec<VoiceAssignment>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChordStructure` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `note`, `voice_index`, and `voice_character` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub struct VoiceAssignment {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 207 |     /// MIDI note number
[INFO] [stdout] 208 |     note: u8,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     voice_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     voice_character: VoiceCharacter,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoiceAssignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pattern_templates`, `current_pattern`, `walking_bass`, and `rhythmic_bass` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct AdaptiveBassGenerator {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] 229 |     /// Bass pattern templates
[INFO] [stdout] 230 |     pattern_templates: Vec<BassPatternTemplate>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     current_pattern: BassPattern,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     walking_bass: WalkingBassEngine,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     rhythmic_bass: RhythmicBassEngine,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveBassGenerator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `note_pattern`, `rhythm_pattern`, `input_range`, and `style_traits` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct BassPatternTemplate {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 251 |     /// Pattern name
[INFO] [stdout] 252 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     note_pattern: Vec<i8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     rhythm_pattern: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     input_range: (f32, f32),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     style_traits: BassStyleTraits,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BassPatternTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `movement_level`, `rhythmic_activity`, and `harmonic_function` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct BassStyleTraits {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 269 |     /// How much the bass moves around
[INFO] [stdout] 270 |     movement_level: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     rhythmic_activity: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     harmonic_function: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BassStyleTraits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `notes`, `timings`, `position`, and `length` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub struct BassPattern {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 282 |     /// Current notes in the pattern
[INFO] [stdout] 283 |     notes: Vec<u8>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     timings: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     position: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     length: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BassPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `walking_pattern`, `step_patterns`, `target_notes`, and `walking_speed` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct WalkingBassEngine {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 298 |     /// Current walking pattern
[INFO] [stdout] 299 |     walking_pattern: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     step_patterns: Vec<StepPattern>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     target_notes: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     walking_speed: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WalkingBassEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `step_type` and `weight` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub struct StepPattern {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 313 |     /// Type of step motion
[INFO] [stdout] 314 |     step_type: StepType,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     weight: f32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StepPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rhythmic_patterns`, `current_pattern`, `syncopation_level`, and `groove_lock` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct RhythmicBassEngine {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 331 |     /// Rhythmic patterns
[INFO] [stdout] 332 |     rhythmic_patterns: Vec<RhythmicPattern>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     current_pattern: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     syncopation_level: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     groove_lock: f32, // How locked to main rhythm
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhythmicBassEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `beats`, `accents`, and `note_choices` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct RhythmicPattern {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 346 |     /// Beat pattern
[INFO] [stdout] 347 |     beats: Vec<bool>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     accents: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     note_choices: Vec<NoteChoice>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhythmicPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_tension`, `tension_curve`, `resolution_patterns`, and `tension_sources` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub struct TensionResolutionEngine {
[INFO] [stdout]     |            ----------------------- fields in this struct
[INFO] [stdout] 368 |     /// Current tension level (0.0 to 1.0)
[INFO] [stdout] 369 |     current_tension: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     tension_curve: TensionCurve,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     resolution_patterns: Vec<ResolutionPattern>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     tension_sources: Vec<TensionSource>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TensionResolutionEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `control_points` and `interpolation_type` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub struct TensionCurve {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 383 |     /// Control points for tension over time
[INFO] [stdout] 384 |     control_points: Vec<(f32, f32)>, // (time, tension)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     interpolation_type: CurveInterpolation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TensionCurve` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chord_sequence`, `release_amount`, and `resolution_time` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:400:5
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub struct ResolutionPattern {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 399 |     /// Chord sequence for resolution
[INFO] [stdout] 400 |     chord_sequence: Vec<ChordFunction>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     release_amount: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     resolution_time: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolutionPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `modulation_targets` and `pivot_system` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub struct ModulationSystem {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 428 |     modulation_targets: Vec<ModulationTarget>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pivot_system: PivotChordSystem,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModulationSystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_scale`, `relationship`, and `difficulty` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:437:5
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub struct ModulationTarget {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 436 |     /// Target scale
[INFO] [stdout] 437 |     target_scale: Scale,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     relationship: KeyRelationship,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     difficulty: f32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModulationTarget` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pivot_chords` and `modulation_state` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:460:5
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub struct PivotChordSystem {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 459 |     /// Available pivot chords between keys
[INFO] [stdout] 460 |     pivot_chords: Vec<PivotChord>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     modulation_state: ModulationState,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PivotChordSystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `original_function`, `target_function`, and `chord` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:469:5
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub struct PivotChord {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 468 |     /// Function in original key
[INFO] [stdout] 469 |     original_function: ChordFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     target_function: ChordFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     chord: ChordStructure,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PivotChord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `voice_leading_rules`, `voice_positions`, `motion_preferences`, and `parallel_avoidance` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub struct VoiceLeadingEngine {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 489 |     /// Voice leading rules
[INFO] [stdout] 490 |     voice_leading_rules: Vec<VoiceLeadingRule>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     voice_positions: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     motion_preferences: MotionPreferences,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     parallel_avoidance: ParallelAvoidance,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoiceLeadingEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rule_type`, `strength`, and `context` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub struct VoiceLeadingRule {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 504 |     /// Rule type
[INFO] [stdout] 505 |     rule_type: VoiceLeadingRuleType,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 508 |     strength: f32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     context: VoiceLeadingContext,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoiceLeadingRule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `progression_context` and `voice_ranges` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:526:5
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub struct VoiceLeadingContext {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 525 |     /// Chord progression context
[INFO] [stdout] 526 |     progression_context: ProgressionContext,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 529 |     voice_ranges: Vec<(u8, u8)>, // (min, max) for each voice
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoiceLeadingContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `contrary_motion`, `oblique_motion`, `similar_motion`, and `parallel_motion` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:544:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub struct MotionPreferences {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 543 |     /// Preference for contrary motion
[INFO] [stdout] 544 |     contrary_motion: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 547 |     oblique_motion: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     similar_motion: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     parallel_motion: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MotionPreferences` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parallel_fifths`, `parallel_octaves`, and `parallel_unisons` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 557 | pub struct ParallelAvoidance {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 558 |     /// Avoid parallel 5ths
[INFO] [stdout] 559 |     parallel_fifths: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 562 |     parallel_octaves: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     parallel_unisons: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParallelAvoidance` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `density_curve` and `texture_types` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 570 | pub struct HarmonicTextureManager {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 578 |     density_curve: DensityCurve,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 581 |     texture_types: Vec<TextureType>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HarmonicTextureManager` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `density_points` and `smoothing` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:590:5
[INFO] [stdout]     |
[INFO] [stdout] 588 | pub struct DensityCurve {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 589 |     /// How texture density changes with input
[INFO] [stdout] 590 |     density_points: Vec<(f32, f32)>, // (input, density)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 |     smoothing: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DensityCurve` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `avoidance_strength` is never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:620:5
[INFO] [stdout]     |
[INFO] [stdout] 609 | pub struct HarmonyMemory {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 620 |     avoidance_strength: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HarmonyMemory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `evolution_curves` and `complexity_evolution` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:627:5
[INFO] [stdout]     |
[INFO] [stdout] 625 | pub struct HarmonyEvolutionEngine {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 626 |     /// Evolution trajectories
[INFO] [stdout] 627 |     evolution_curves: Vec<HarmonyEvolutionCurve>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 636 |     complexity_evolution: ComplexityEvolution,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HarmonyEvolutionEngine` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_range`, `complexity_curve`, `voice_count_curve`, and `rhythm_curve` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:642:5
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub struct HarmonyEvolutionCurve {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] 641 |     /// Input range this curve affects
[INFO] [stdout] 642 |     input_range: (f32, f32),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 645 |     complexity_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 648 |     voice_count_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 651 |     rhythm_curve: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HarmonyEvolutionCurve` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chord_complexity`, `extension_usage`, and `substitution_rate` are never read
[INFO] [stdout]    --> src/patterns/unified_harmony.rs:657:5
[INFO] [stdout]     |
[INFO] [stdout] 655 | pub struct ComplexityEvolution {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 656 |     /// Chord complexity over time
[INFO] [stdout] 657 |     chord_complexity: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 660 |     extension_usage: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 663 |     substitution_rate: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ComplexityEvolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_bass_note` is never used
[INFO] [stdout]     --> src/patterns/unified_harmony.rs:1270:8
[INFO] [stdout]      |
[INFO] [stdout] 1226 | impl AdaptiveBassGenerator {
[INFO] [stdout]      | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1270 |     fn get_current_bass_note(&mut self, chord: &ChordStructure, _beat_phase: f32) -> u8 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/mood_music_module/index.html and 9 other files
[INFO] running `Command { std: "docker" "inspect" "618116dea8c4d3cfedf4818afada70c9d73a229d7937709edc3051a25a39a7c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "618116dea8c4d3cfedf4818afada70c9d73a229d7937709edc3051a25a39a7c6", kill_on_drop: false }`
[INFO] [stdout] 618116dea8c4d3cfedf4818afada70c9d73a229d7937709edc3051a25a39a7c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "DOCS_RS=1" "-e" "RUSTC_BOOTSTRAP=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aed1ff3ba062e9d07ee1d75e228563bf36d50295ff3853cabbffb1ecb391429b
[INFO] running `Command { std: "docker" "start" "-a" "aed1ff3ba062e9d07ee1d75e228563bf36d50295ff3853cabbffb1ecb391429b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]     Checking wayland-client v0.31.11
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zvariant_utils v1.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling bytemuck_derive v1.10.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zvariant_derive v3.15.2
[INFO] [stderr]    Compiling zbus_macros v3.15.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking emath v0.27.2
[INFO] [stderr]     Checking ecolor v0.27.2
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking epaint v0.27.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking egui v0.27.2
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking serde v1.0.225
[INFO] [stderr]     Checking sctk-adwaita v0.8.3
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking winit v0.29.15
[INFO] [stderr]     Checking zvariant v3.15.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking zbus_names v2.6.1
[INFO] [stderr]     Checking egui_glow v0.27.2
[INFO] [stderr]     Checking webbrowser v0.8.15
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking zbus v3.15.2
[INFO] [stderr]     Checking glutin-winit v0.4.2
[INFO] [stderr]     Checking atspi-common v0.3.0
[INFO] [stderr]     Checking atspi-proxies v0.3.0
[INFO] [stderr]     Checking atspi-connection v0.3.0
[INFO] [stderr]     Checking atspi v0.19.0
[INFO] [stderr]     Checking accesskit_unix v0.6.2
[INFO] [stderr]     Checking accesskit_winit v0.16.1
[INFO] [stderr]     Checking egui-winit v0.27.2
[INFO] [stderr]     Checking eframe v0.27.2
[INFO] [stderr]  Documenting mood_music_module v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/patterns/multi_scale_rhythm.rs:883:17
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 (position.sin() * complexity.polyrhythmic_complexity * 0.1) // Up to 10% timing variation
[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] 883 -                 (position.sin() * complexity.polyrhythmic_complexity * 0.1) // Up to 10% timing variation
[INFO] [stdout] 883 +                 position.sin() * complexity.polyrhythmic_complexity * 0.1 // Up to 10% timing variation
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.45s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/mood_music_module/index.html
[INFO] running `Command { std: "docker" "inspect" "aed1ff3ba062e9d07ee1d75e228563bf36d50295ff3853cabbffb1ecb391429b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aed1ff3ba062e9d07ee1d75e228563bf36d50295ff3853cabbffb1ecb391429b", kill_on_drop: false }`
[INFO] [stdout] aed1ff3ba062e9d07ee1d75e228563bf36d50295ff3853cabbffb1ecb391429b
