diff --git a/Cargo.toml b/Cargo.toml index 78a166f7..0552b3cc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,16 @@ authors = ["sam "] # since day one, enacted at the 0530 debt sweep). Per-crate feature additions stay in the crate. # `image` deliberately stays per-crate: its default-features/feature sets differ per consumer, # and a workspace default-features choice can't be subtracted from downstream. +# **Lint policy** (decision 2266 §C4). `too_many_arguments` is a readability lint for plain +# functions; on a Bevy system the parameter list IS the scheduler's dependency declaration, and +# a system that reads eight resources has eight parameters by construction. The lint had fired +# 364 times in this workspace and been allowed 364 times, 281 of them on systems — a lint whose +# every verdict is overridden is not a gate, it is a tax on adding a system. Allowed once here; +# the per-site attributes are gone. `type_complexity` stays on: it fires on shapes a type alias +# or a `SystemParam` bundle genuinely fixes. +[workspace.lints.clippy] +too_many_arguments = "allow" + [workspace.dependencies] anyhow = "1.0.102" # bevy's `default` is `["2d", "3d", "ui"]`, and every one of those three pulls `audio` diff --git a/crates/benilla-adt/Cargo.toml b/crates/benilla-adt/Cargo.toml index 698998c3..10ad7516 100644 --- a/crates/benilla-adt/Cargo.toml +++ b/crates/benilla-adt/Cargo.toml @@ -5,5 +5,8 @@ edition.workspace = true license.workspace = true description = "ADT terrain-tile reader for WoW 1.12.1 (build 5875) — in-repo, decision 0021" +[lints] +workspace = true + [dependencies] benilla-bytes = { path = "../benilla-bytes" } diff --git a/crates/benilla-app/Cargo.toml b/crates/benilla-app/Cargo.toml index 26b841c3..18380dad 100644 --- a/crates/benilla-app/Cargo.toml +++ b/crates/benilla-app/Cargo.toml @@ -5,6 +5,9 @@ edition.workspace = true license.workspace = true description = "The Bevy app as a library: everything but the build-id stamp, which lives in the `benilla` launcher shim so a commit dirties ~30 lines instead of this crate (decision 0993)" +[lints] +workspace = true + [features] # **The dev/player seam** (decisions 0026 + 1173). Default-ON, so every ordinary `cargo run`, # capture, probe and gate builds exactly what it built before. `--no-default-features` compiles diff --git a/crates/benilla-app/src/area.rs b/crates/benilla-app/src/area.rs index ed799f45..756e323b 100644 --- a/crates/benilla-app/src/area.rs +++ b/crates/benilla-app/src/area.rs @@ -145,7 +145,6 @@ fn elect_event(cache: &ZoneCache, next: &ZoneSignal) -> Option<&'static str> { /// indoor override), the PvP tuple, write the host globals, then fire the elected zone event /// and — independently, like the client's second site — `MINIMAP_ZONE_CHANGED` when the /// subzone-else-zone line changed. -#[allow(clippy::too_many_arguments)] fn feed_zone_events( script: Option>, world: benilla_world::world_point::WorldPoint, diff --git a/crates/benilla-app/src/area_trigger.rs b/crates/benilla-app/src/area_trigger.rs index e9e09a39..4e3f74f7 100644 --- a/crates/benilla-app/src/area_trigger.rs +++ b/crates/benilla-app/src/area_trigger.rs @@ -112,7 +112,7 @@ impl Plugin for AreaTriggerPlugin { Update, check_area_triggers .in_set(WorldStage::Stream) - .run_if(in_state(crate::char_select::ClientState::InWorld)), + .in_set(crate::char_select::InWorldGated), ); } } diff --git a/crates/benilla-app/src/aura_visual.rs b/crates/benilla-app/src/aura_visual.rs index f67a42cf..693fe426 100644 --- a/crates/benilla-app/src/aura_visual.rs +++ b/crates/benilla-app/src/aura_visual.rs @@ -742,7 +742,6 @@ type AuraParts<'w, 's> = Query< /// Note the swap keys on the *instance* alpha only: a batch whose own animated colour alpha dips is /// a per-batch quantity the reference combines separately, and forcing those onto a blend pass would /// change every existing unit's look. -#[allow(clippy::too_many_arguments)] // one Bevy system's full input set pub(crate) fn apply_aura_alpha( time: Res