Skip to main content

spatialrust_viewer/
lib.rs

1//! Viewer state, interaction controls, native window shell, and debug overlays.
2//!
3//! The default feature set is renderer- and window-system-independent. Native
4//! window creation is opt-in through `native`; geometry uploads remain explicit
5//! operations in `spatialrust-render-wgpu`.
6
7#![deny(unsafe_code)]
8#![warn(missing_docs)]
9
10mod adapters;
11mod calibration_evidence;
12mod controls;
13mod dataset_health;
14mod digital_twin;
15mod edge_partition;
16mod error;
17mod live_publish;
18mod map_diff;
19mod mapping_gate;
20mod mission_cockpit;
21#[cfg(feature = "native")]
22mod native;
23mod observatory;
24mod overlay;
25mod replay;
26mod semantic_overlay;
27mod state;
28mod studio;
29mod timeline;
30
31#[cfg(feature = "camera")]
32pub use adapters::camera_frustum_visual;
33#[cfg(feature = "scene-gaussian")]
34pub use adapters::gaussian_visual;
35#[cfg(feature = "scene")]
36pub use adapters::{mesh_visual, surfel_visual};
37#[cfg(feature = "mapping")]
38pub use adapters::{pose_graph_visual, trajectory_visual};
39#[cfg(feature = "semantic")]
40pub use adapters::{semantic_overlay_visual, semantic_visual, spatial_record_entity_visual};
41pub use adapters::{AdaptedGeometry, AdaptedVisual, AdapterReceipt};
42pub use calibration_evidence::{
43    CalibrationEvidenceClock, CalibrationEvidenceFrame, CalibrationEvidenceState,
44    CALIBRATION_EVIDENCE_STATE_VERSION,
45};
46pub use controls::{InputAction, ViewerController};
47pub use dataset_health::{
48    DatasetHealthCheck, DatasetHealthStage, DatasetHealthState, DatasetHealthSummary,
49    DatasetHealthTopic, DATASET_HEALTH_STATE_VERSION,
50};
51pub use digital_twin::{
52    DigitalTwinAsset, DigitalTwinState, DigitalTwinSummary, DIGITAL_TWIN_STATE_VERSION,
53};
54pub use edge_partition::{
55    EdgePartition, EdgePartitionState, EdgePartitionSummary, EdgePartitionTransfer,
56    EDGE_PARTITION_STATE_VERSION,
57};
58pub use error::{ViewerError, ViewerResult};
59pub use live_publish::{
60    LivePublishPacket, LivePublishState, LivePublishSummary, LivePublishTopic,
61    LivePublishTransport, LIVE_PUBLISH_STATE_VERSION,
62};
63pub use map_diff::{
64    MapDiffBounds, MapDiffCell, MapDiffMap, MapDiffState, MapDiffSummary, MAP_DIFF_STATE_VERSION,
65};
66pub use mapping_gate::{
67    FullBagMappingState, MappingGateSummary, MappingOdometrySummary, MappingSourceSummary,
68    MappingTsdfSummary, FULL_BAG_MAPPING_STATE_VERSION,
69};
70pub use mission_cockpit::{
71    MissionCockpitFrame, MissionCockpitLayer, MissionCockpitLink, MissionCockpitNode,
72    MissionCockpitPoint, MissionCockpitState, MissionCockpitSummary, MissionCockpitTimeline,
73    MISSION_COCKPIT_MAX_SAMPLED_POINTS, MISSION_COCKPIT_STATE_VERSION,
74};
75#[cfg(feature = "native")]
76pub use native::{NativeViewer, NativeViewerOptions};
77pub use observatory::{
78    CalibrationArtifact, CalibrationObservatoryState, ClockCalibration, FrameTransform,
79    CALIBRATION_OBSERVATORY_STATE_VERSION,
80};
81pub use overlay::{DebugOverlay, OverlayGeometry, OverlayKind};
82pub use replay::{
83    ReplayArtifact, ReplayDemoState, ReplaySample, ReplaySummary, ReplayTopic,
84    REPLAY_DEMO_STATE_VERSION,
85};
86pub use semantic_overlay::{
87    SemanticOverlayClass, SemanticOverlayEntity, SemanticOverlayModel, SemanticOverlayState,
88    SemanticOverlaySummary, SEMANTIC_CONFIDENCE_SCALE, SEMANTIC_OVERLAY_STATE_VERSION,
89};
90pub use state::{
91    AttributeSummary, InspectorSelection, LayerPresentation, ViewerState, ViewportSize,
92    VIEWER_STATE_VERSION,
93};
94pub use studio::{
95    StudioCalibration, StudioFrameGraph, StudioLayer, StudioPerformance, StudioSource,
96    StudioStageMetric, StudioState, StudioTimeline, STUDIO_STATE_VERSION,
97};
98pub use timeline::{FrameTimestamps, RgbdFrameView, RgbdPixelSample, RgbdTimeline};