Expand description
Katra3D — the umbrella crate.
One dependency gives you the whole Katra3D runtime: every Katra library crate is re-exported under its own module, and the core vocabulary (events, scopes, payloads, errors, policy types) is re-exported at the top level.
use katra3d::prelude::*;Katra3D is a performance-first native Rust Windows gaming runtime for Linux: it finds the smallest set of hot compatibility paths whose native reconstruction produces the largest measurable improvement, and keeps mature C implementations (Wine, vkd3d-proton, DXVK, NTSYNC) as fallbacks, oracles, and compatibility archives.
The architectural center is the semantic request graph
(katra3d::graph): explicit intent (DirectStorage) and inferred intent
(KatraFlow) both feed one Linux-native execution graph (I/O, memory,
scheduling, synchronization, shaders), with every claim measured,
falsifiable, and recorded in machine-readable receipts.
§Promotion states
Every subsystem reports an honest PromotionState: observe,
shadow, native_experimental, native_default, or fallback.
Nothing claims a state it has not earned (see
docs/standards/promotion-gates.md in the repository).
Re-exports§
pub use katra_abi as abi;pub use katra_cache as cache;pub use katra_core as core;pub use katra_courts as courts;pub use katra_d3d12 as d3d12;pub use katra_dstorage as dstorage;pub use katra_flow as flow;pub use katra_graph as graph;pub use katra_io as io;pub use katra_memory as memory;pub use katra_prof as prof;pub use katra_replay as replay;pub use katra_report as report;pub use katra_schedule as schedule;pub use katra_shader as shader;pub use katra_sync as sync;pub use katra_trace as trace;pub use katra_vulkan as vulkan;
Modules§
- prelude
- The prelude: core vocabulary + the most common runtime types.
Structs§
- Cache
Payload - Payload for cache events.
- Capture
Options - Capture options for a profiling session.
- Decompress
Payload - Payload for decompression events.
- Emit
Opts - Options that enrich an emitted event.
- File
Payload - Payload for file operations.
- GpuPayload
- Payload for GPU counters/samples.
- Hardware
Profile - Hardware capabilities discovered at runtime (Katra3D §30).
- IoPayload
- Payload for I/O events.
- Katra
Payload - Payload for Katra-native events.
- MemPayload
- Payload for memory operations.
- Present
Payload - Payload for present events.
- RawPayload
- Payload for future/unknown event kinds (extension escape hatch).
- Shader
Payload - Payload for shader events.
- Sync
Payload - Payload for synchronization operations.
- Thread
Payload - Payload for thread operations.
- Trace
Event - A single captured event.
- Vulkan
Payload - Payload for Vulkan calls. The call identity is in
crate::EventKind.
Enums§
- D3d12
Call - A specific D3D12 API call of interest (KatraProfiler §5 / §16).
- Deadline
Class - Urgency classification for graph nodes and I/O operations.
- Error
Category - Coarse error category. Policy decisions must only depend on this, never on the human-readable message.
- Event
Kind - Every kind of event KatraProfiler can capture (KatraProfiler §5).
- Katra
Error - The unified Katra error type.
- Payload
- The payload of a
crate::TraceEvent. Plain scalars only; append-only. - Phase
- The phase of an event relative to the operation it describes.
- Promotion
State - The promotion state of a subsystem (§3.2, §20).
- Scope
- The layer of the stack that produced an event.
- Subsystem
- The named subsystems of Katra3D.
- Vulkan
Call - A specific Vulkan call of interest.
Constants§
- KATRA_
VERSION - The current Katra3D version.
Katra3D crate version (from
Cargo.toml).
Functions§
- fnv1a
- FNV-1a 64-bit over raw bytes.
constso schema hashes can be computed at compile time. - fnv1a_
combine - Combine two hashes (for rolling fingerprints).
- fnv1a_
parts - FNV-1a over a sequence of 64-bit parts (each part folded in little-endian).
- fnv1a_
str - FNV-1a over a string.
Type Aliases§
- Result
- Result alias used across Katra3D.