1#[allow(dead_code)]
41pub mod api;
42#[allow(dead_code)]
43pub mod diagnostics;
44pub mod handles;
45pub mod streaming;
46
47#[allow(dead_code)]
48mod allocators;
49#[allow(dead_code)]
50mod core;
51#[allow(dead_code)]
52mod sync;
53#[allow(dead_code)]
54mod util;
55
56#[cfg(feature = "bevy")]
57pub mod bevy;
58
59#[cfg(feature = "debug")]
60pub mod debug;
61
62#[cfg(feature = "tokio")]
63pub mod tokio;
64
65pub use api::alloc::SmartAlloc;
67pub use api::config::AllocConfig;
68pub use api::scope::{FrameGuard, FrameScope};
69pub use api::stats::AllocStats;
70pub use api::tag::{AllocationIntent, AllocationTag};
71
72pub use api::wrappers::{FrameBox, FrameSlice, PoolBox, HeapBox};
74
75#[cfg(feature = "nightly")]
77pub use api::allocator_impl::{FrameAllocator, PoolAllocator, HeapAllocator};
78
79pub use api::groups::{GroupAllocator, GroupId, GroupHandle, GroupStats};
81
82pub use allocators::handles::{Handle, HandleAllocator, HandleAllocatorStats, PinGuard};
84
85pub use allocators::streaming::{StreamId, StreamPriority, StreamState, StreamingAllocator, StreamingStats};
87
88pub use core::budget::{BudgetEvent, BudgetManager, BudgetStatus, TagBudget};
90
91pub use diagnostics::{DiagnosticsHooks, DiagnosticsEvent, SharedDiagnostics, MemoryGraphData};
93pub use diagnostics::{ProfilerHooks, ProfilerZone, MemoryEvent};
94pub use diagnostics::{AllocatorSnapshot, SnapshotHistory};
95
96pub use diagnostics::{Diagnostic, DiagnosticKind};
98pub use diagnostics::{StrictMode, set_strict_mode, StrictModeGuard};
99pub use diagnostics::{FA001, FA002, FA003, FA101, FA102, FA201, FA202, FA301, FA302, FA401, FA402, FA901};
100
101pub use api::phases::{Phase, PhaseGuard, PhaseTracker};
103pub use api::phases::{begin_phase, end_phase, current_phase, is_in_phase};
104
105pub use api::checkpoint::{FrameCheckpoint, CheckpointGuard, SpeculativeResult};
107
108pub use api::frame_collections::{FrameVec, FrameVecIntoIter, FrameMap};
110
111pub use api::tagged::{TagGuard, TagStack, with_tag, current_tag, tag_path};
113
114pub use api::scratch::{ScratchPool, ScratchRegistry, ScratchPoolHandle, ScratchPoolStats};
116
117pub use api::retention::{RetentionPolicy, Importance, FrameRetained, PromotedAllocation, PromotionFailure};
119pub use api::promotion::{FrameSummary, PromotionResult, FailureBreakdown, TagSummary, PhaseSummary};
120
121pub use diagnostics::behavior::{
123 AllocKind, BehaviorFilter, BehaviorIssue, BehaviorReport, BehaviorThresholds, TagBehaviorStats,
124 FA501, FA502, FA510, FA520, FA530,
125};
126pub use diagnostics::{DiagnosticCode, DiagnosticLevel};
127
128pub use api::transfer::{TransferHandle, TransferId, TransferState, TransferStats, TransferRegistry};
130pub use api::barrier::{FrameBarrier, FrameBarrierBuilder, BarrierStats};
131pub use api::lifecycle::{FrameEvent, LifecycleManager, LifecycleSummary, ThreadFrameStats, FrameLifecycleGuard};
132pub use api::thread_budget::{
133 ThreadBudgetManager, ThreadBudgetConfig, ThreadBudgetState, ThreadBudgetStats,
134 BudgetExceededPolicy, BudgetCheckResult,
135};
136pub use api::deferred_control::{
137 DeferredProcessing, DeferredConfig, DeferredController, DeferredStats as DeferredControlStats,
138 QueueFullPolicy, QueueResult, DeferredConfigBuilder,
139};
140
141pub use api::snapshot::{
143 Snapshot, SnapshotConfig, SnapshotEmitter, SnapshotSummary,
144 ThreadSnapshot, TagSnapshot, BudgetInfo,
145 PromotionStats as SnapshotPromotionStats,
146 TransferStats as SnapshotTransferStats,
147 DeferredStats as SnapshotDeferredStats,
148 RuntimeDiagnostic, SNAPSHOT_VERSION,
149};