Merge: a log that survives the process, so the tablet can be debugged

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

# Conflicts:
#	apps/darkroom-android/Cargo.toml
#	apps/darkroom-desktop/Cargo.toml
#	platform/dr-plat/src/lib.rs
This commit is contained in:
2026-08-30 13:46:06 +02:00
11 changed files with 1325 additions and 19 deletions
+10 -6
View File
@@ -4,18 +4,21 @@
//! construction, so `core/` contains no `#[cfg(target_os)]` (NFR-PORT-1,
//! ARCH §10).
// Not a trait, and the one module here that is not. It belongs in this crate
// for the same reason the traits do: "where does this platform let an
// application keep state" is a platform question, and both entry points need
// the answer before either has a window. Resolving it in `apps/` would mean
// writing it twice, once per platform, which is the arrangement this crate
// exists to prevent.
// Neither of the next two is a trait, and they are the modules here that are
// not. They belong in this crate for the same reason the traits do: "where does
// this platform let an application keep state" is a platform question, and both
// entry points need the answer before either has a window. Resolving it in
// `apps/` would mean writing it twice, once per platform, which is the
// arrangement this crate exists to prevent.
pub mod crash;
pub mod diagnostics;
pub mod display;
pub mod secrets;
pub mod state;
pub mod storage;
pub mod volumes;
pub use diagnostics::{Installed, LogFile};
pub use display::{
Bounds, DisplayInfo, DisplayProfile, DisplayServer, DisplaySurvey, FallbackReason,
ProfileSource,
@@ -23,6 +26,7 @@ pub use display::{
pub use secrets::{
EphemeralSecretStore, PlatformSecretStore, SecretError, SecretKind, SecretRef, SecretStore,
};
pub use state::{set_state_dir, state_dir};
pub use storage::{
DirRef, Entry, LocalStorage, NewFile, Node, SeekableRead, Storage, StorageError,
WritableStorage,