chore: disable Bevy default features to drop unused audio stack
Closes Quat investigation #2. The project uses kira for audio (cpal 0.17 + alsa 0.10), but Bevy's default feature set still pulled bevy_audio → rodio → cpal 0.15 + alsa 0.9 + symphonia codecs — about 50 transitive crates the binary never executes. Workspace Cargo.toml's bevy entry now declares default-features = false plus an explicit allow-list of the features actually used (default_app subset + default_platform desktop subset + common_api + 2D + UI rendering). The list is derived analytically from the leaves of Bevy 0.18's 2d and ui meta-features; built cleanly on the first try with no missing-symbol errors. Features intentionally omitted vs Bevy default: - bevy_audio (kira handles audio directly) - bevy_animation (custom CardAnimation, not Bevy's) - bevy_gilrs, bevy_gizmos, bevy_picking variants, bevy_post_process, scene, hdr, sysinfo_plugin (none used) - webgl2, web, android-* (desktop-only; solitaire_wasm is Bevy-free and uses wasm-bindgen + solitaire_core directly) - wayland (X11 chosen; Wayland can be added later if requested) Dependency-tree size for solitaire_app drops from 628 unique crates to 577 (-51). Verified gone: bevy_audio, rodio, cpal 0.15. The remaining cpal 0.17 and symphonia 0.5 are pulled by kira, not Bevy. solitaire_wasm needed no changes — it doesn't depend on bevy. All 1134 tests pass; clippy clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Generated
+23
-1090
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user