Skip to main content

Crate katra3d

Crate katra3d 

Source
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§

CachePayload
Payload for cache events.
CaptureOptions
Capture options for a profiling session.
DecompressPayload
Payload for decompression events.
EmitOpts
Options that enrich an emitted event.
FilePayload
Payload for file operations.
GpuPayload
Payload for GPU counters/samples.
HardwareProfile
Hardware capabilities discovered at runtime (Katra3D §30).
IoPayload
Payload for I/O events.
KatraPayload
Payload for Katra-native events.
MemPayload
Payload for memory operations.
PresentPayload
Payload for present events.
RawPayload
Payload for future/unknown event kinds (extension escape hatch).
ShaderPayload
Payload for shader events.
SyncPayload
Payload for synchronization operations.
ThreadPayload
Payload for thread operations.
TraceEvent
A single captured event.
VulkanPayload
Payload for Vulkan calls. The call identity is in crate::EventKind.

Enums§

D3d12Call
A specific D3D12 API call of interest (KatraProfiler §5 / §16).
DeadlineClass
Urgency classification for graph nodes and I/O operations.
ErrorCategory
Coarse error category. Policy decisions must only depend on this, never on the human-readable message.
EventKind
Every kind of event KatraProfiler can capture (KatraProfiler §5).
KatraError
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.
PromotionState
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.
VulkanCall
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. const so 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.