fix(simulation): Clippy cleanup and CI enforcement (#635)

Fix all Clippy warnings across the server codebase (2411 insertions, 1341
deletions). Raise type-complexity-threshold to 750 and too-many-arguments
to 12 in .clippy.toml for idiomatic Bevy ECS system signatures. The server
now passes `cargo clippy -- --deny warnings` cleanly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-17 10:33:15 +01:00
co-authored by Claude Opus 4.6
parent 7f7706442a
commit aa79dd97e7
84 changed files with 2409 additions and 1339 deletions
+127 -99
View File
@@ -4,9 +4,9 @@
use crate::bridge::debug::DebugCommandBuffer;
use crate::bridge::types::{FacingDirection, ObjectType, PlayerAction, PlayerInput};
use crate::settings::{SettingsCommand, SettingsCommandBuffer};
use crate::knowledge::{EntityRegistry, StableId};
use crate::perception::vision_cone::{facing_from_delta, Facing};
use crate::settings::{SettingsCommand, SettingsCommandBuffer};
use crate::simulation::interaction::{DoorInteractRequest, DoorState, TerminalInteractRequest};
use crate::simulation::inventory::{
find_next_slot, occupied_slots_for, CarriedBy, InventorySlot, ItemName, MAX_INVENTORY_SLOTS,
@@ -207,93 +207,97 @@ pub fn process_player_input(
}
}
match verb.as_deref() {
Some("Take") => {
handle_take(
&mut commands,
&registry,
&player_query,
&inventory_items,
target_entity_id,
);
Some("Take") => {
handle_take(
&mut commands,
&registry,
&player_query,
&inventory_items,
target_entity_id,
);
}
Some("Place") => {
handle_place(&mut commands, &registry, &player_query, target_entity_id);
}
Some("Talk") => {
handle_talk(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
);
}
Some("Follow") => {
handle_follow(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
current_tick,
);
}
Some("Examine NPC")
| Some("ExamineNpc")
| Some("Examine Object")
| Some("ExamineObject")
| Some("Observe") => {
handle_examine(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
);
}
Some("Confront") => {
handle_confront(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
);
}
Some("Reset") => {
handle_reset(
&mut commands,
&registry,
&reset_triggers,
&mut room_snapshots,
target_entity_id,
current_tick,
);
}
// #246: Door and Terminal behavior
Some("Open") | Some("Close") => {
handle_door_interact(
&mut commands,
&registry,
&player_query,
&door_states,
target_entity_id,
);
}
Some("Use") => {
handle_terminal_interact(
&mut commands,
&registry,
&player_query,
&object_types,
target_entity_id,
);
}
_ => {
tracing::info!(
"Interact: target={:?}, verb={:?} — logged only",
target_entity_id,
verb,
);
}
}
Some("Place") => {
handle_place(&mut commands, &registry, &player_query, target_entity_id);
}
Some("Talk") => {
handle_talk(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
);
}
Some("Follow") => {
handle_follow(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
current_tick,
);
}
Some("Examine NPC") | Some("ExamineNpc") | Some("Examine Object")
| Some("ExamineObject") | Some("Observe") => {
handle_examine(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
);
}
Some("Confront") => {
handle_confront(
&mut commands,
&registry,
&player_query,
&all_positions,
target_entity_id,
);
}
Some("Reset") => {
handle_reset(
&mut commands,
&registry,
&reset_triggers,
&mut room_snapshots,
target_entity_id,
current_tick,
);
}
// #246: Door and Terminal behavior
Some("Open") | Some("Close") => {
handle_door_interact(
&mut commands,
&registry,
&player_query,
&door_states,
target_entity_id,
);
}
Some("Use") => {
handle_terminal_interact(
&mut commands,
&registry,
&player_query,
&object_types,
target_entity_id,
);
}
_ => {
tracing::info!(
"Interact: target={:?}, verb={:?} — logged only",
target_entity_id,
verb,
);
}
}}
}
PlayerAction::WalkAway => {
if let Ok((player_entity, _, _, _)) = player_query.single() {
commands
@@ -383,21 +387,27 @@ pub fn process_player_input(
if let Some(ref mut buf) = settings_cmd_buffer {
buf.push(SettingsCommand::Change { key, value });
} else {
tracing::warn!("ChangeSetting received but SettingsCommandBuffer not registered");
tracing::warn!(
"ChangeSetting received but SettingsCommandBuffer not registered"
);
}
}
PlayerAction::RequestAllSettings => {
if let Some(ref mut buf) = settings_cmd_buffer {
buf.push(SettingsCommand::RequestAll);
} else {
tracing::warn!("RequestAllSettings received but SettingsCommandBuffer not registered");
tracing::warn!(
"RequestAllSettings received but SettingsCommandBuffer not registered"
);
}
}
PlayerAction::DeleteSetting { key } => {
if let Some(ref mut buf) = settings_cmd_buffer {
buf.push(SettingsCommand::Delete { key });
} else {
tracing::warn!("DeleteSetting received but SettingsCommandBuffer not registered");
tracing::warn!(
"DeleteSetting received but SettingsCommandBuffer not registered"
);
}
}
}
@@ -663,7 +673,10 @@ fn handle_dialogue_response(
let target_stable = StableId(target_entity_id);
let Some(target_entity) = registry.to_entity(&target_stable) else {
tracing::warn!(target_entity_id, "DialogueResponse: target entity not in registry");
tracing::warn!(
target_entity_id,
"DialogueResponse: target entity not in registry"
);
return;
};
@@ -690,7 +703,11 @@ fn handle_dialogue_response(
response_id: response_id.to_string(),
});
tracing::debug!(target_entity_id, response_id, "DialogueResponse: marker set on player");
tracing::debug!(
target_entity_id,
response_id,
"DialogueResponse: marker set on player"
);
}
/// Handle Confront verb: set ConfrontationDelivered marker on the player entity (#520, D-063).
@@ -971,11 +988,14 @@ fn handle_door_interact(
return;
};
commands
.entity(player_entity)
.insert(DoorInteractRequest { door_entity: target_entity });
commands.entity(player_entity).insert(DoorInteractRequest {
door_entity: target_entity,
});
tracing::debug!(target_id, "Door interact: DoorInteractRequest inserted on player");
tracing::debug!(
target_id,
"Door interact: DoorInteractRequest inserted on player"
);
}
/// Handle Terminal Use: insert `TerminalInteractRequest` on the player entity (#246).
@@ -1001,7 +1021,10 @@ fn handle_terminal_interact(
let target_stable = StableId(target_id);
let Some(target_entity) = registry.to_entity(&target_stable) else {
tracing::warn!(target_id, "Terminal interact: target entity not in registry");
tracing::warn!(
target_id,
"Terminal interact: target entity not in registry"
);
return;
};
@@ -1020,9 +1043,14 @@ fn handle_terminal_interact(
commands
.entity(player_entity)
.insert(TerminalInteractRequest { terminal_entity: target_entity });
.insert(TerminalInteractRequest {
terminal_entity: target_entity,
});
tracing::debug!(target_id, "Terminal interact: TerminalInteractRequest inserted on player");
tracing::debug!(
target_id,
"Terminal interact: TerminalInteractRequest inserted on player"
);
}
/// Handle TeleportToHub: move player to hub spawn, clear interaction state (#491).