Files
MercuryToolbox/crates/unitysupport/src/lib.rs
T

49 lines
1.5 KiB
Rust

//! Shared Unity-focused helpers for Mercury Toolbox commands.
#![allow(clippy::multiple_crate_versions)]
use common::CliError;
use thiserror::Error;
pub mod assets;
pub mod logs;
pub mod probe;
pub use assets::{
AssetDump, AssetDumpFieldMode, AssetExtractOutput, AssetExtractReport, AssetIndexRow,
AssetReferenceEntry, AssetReferences, ExtractionMode, dump_unity_asset, extract_unity_asset,
index_unity_assets, refs_unity_asset,
};
pub use logs::{
CountEntry, IncidentGroupMode, StackMode, UnityDiagOptions, UnityDiagReport, UnityDiagSummary,
UnityIncident, UnityLogKind, UnityLogSummary, UnitySeverity, analyze_log_paths,
analyze_log_text, discover_log_paths, parse_incident_group_mode, parse_stack_mode,
};
pub use probe::{
BRIDGE_PIPE_NAME, FindData, InspectData, InstallReport, ProbeEnvelope, RuntimeStatusData,
ScenesData, StaticData, StatusReport, UninstallReport, find_objects, inspect_object,
inspect_static, install_bridge, query_runtime_status, query_scenes, status_bridge,
uninstall_bridge,
};
/// Errors produced by the shared Unity support layer.
#[derive(Debug, Error)]
pub enum UnitySupportError {
/// Message-style runtime or validation error.
#[error("{0}")]
Message(String),
}
impl UnitySupportError {
/// Builds a new message-style error.
#[must_use]
pub fn message(message: impl Into<String>) -> Self {
Self::Message(message.into())
}
}
impl From<UnitySupportError> for CliError {
fn from(value: UnitySupportError) -> Self {
Self::runtime(value.to_string())
}
}