v0.1.0-pre.058

This commit is contained in:
2026-07-27 02:02:11 +02:00
parent e56f2561c5
commit e828677201
22 changed files with 378 additions and 192 deletions

View File

@@ -1,5 +1,5 @@
// file: kb-app-demo-desktop/src/app_state.rs
// version: 9
// version: 10
//! Shared Tauri application state and startup initialization.
@@ -23,6 +23,7 @@ pub(crate) struct AppState {
demo_decode_replay_campaign_id: std::sync::Mutex<std::option::Option<std::string::String>>,
demo_execution_solana_core_running: std::sync::atomic::AtomicBool,
demo_execution_solana_core_cancel_requested: std::sync::atomic::AtomicBool,
startup_sequence_started: std::sync::atomic::AtomicBool,
}
impl crate::AppState {
@@ -68,6 +69,7 @@ impl crate::AppState {
demo_decode_replay_campaign_id: std::sync::Mutex::new(std::option::Option::None),
demo_execution_solana_core_running: std::sync::atomic::AtomicBool::new(false),
demo_execution_solana_core_cancel_requested: std::sync::atomic::AtomicBool::new(false),
startup_sequence_started: std::sync::atomic::AtomicBool::new(false),
});
}
@@ -172,6 +174,19 @@ impl crate::AppState {
return &self.demo_execution_solana_core_cancel_requested;
}
/// Starts the splash startup sequence at most once.
pub(crate) fn begin_startup_sequence(&self) -> bool {
return self
.startup_sequence_started
.compare_exchange(
false,
true,
std::sync::atomic::Ordering::AcqRel,
std::sync::atomic::Ordering::Acquire,
)
.is_ok();
}
/// Returns the number of logging routes held by the logging guard.
pub(crate) fn logging_route_count(&self) -> usize {
let lock_result = self.logging_guard.lock();