refactor(engine): split settings_plugin runtime code into submodules
Second phase of #118 for settings_plugin: the 2,857-line mod.rs becomes four focused submodules along existing system boundaries — mod.rs 561 types, markers, SettingsButton, plugin build, persistence input.rs 632 button/hotkey handlers, focus attachment, scrolling updates.rs 495 per-frame value-text updater systems + label helpers ui.rs 1,231 spawn_settings_panel + row builders + thumbnails Moved items are pub(super); mod.rs glob-imports the submodules so system registration and tests keep their bare names. No behaviour change; all 29 settings tests pass unchanged. Refs #118 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
use super::*;
|
||||
use crate::ui_focus::{FocusRow, Focusable};
|
||||
use crate::ui_modal::ModalButton;
|
||||
use crate::ui_tooltip::Tooltip;
|
||||
|
||||
fn headless_app() -> App {
|
||||
let mut app = App::new();
|
||||
@@ -326,9 +329,7 @@ fn settings_buttons_carry_tooltip() {
|
||||
.world_mut()
|
||||
.query::<(&SettingsButton, &Tooltip)>()
|
||||
.iter(app.world())
|
||||
.find_map(|(btn, tip)| {
|
||||
matches!(btn, SettingsButton::ConnectSync).then(|| tip.0.clone())
|
||||
})
|
||||
.find_map(|(btn, tip)| matches!(btn, SettingsButton::ConnectSync).then(|| tip.0.clone()))
|
||||
.expect("Connect button should spawn with a Tooltip when backend is Local");
|
||||
assert_eq!(
|
||||
connect_tip.as_ref(),
|
||||
|
||||
Reference in New Issue
Block a user