katra3d 0.1.0

Katra3D: performance-first native Rust Windows gaming runtime for Linux. Behavioral compatibility without architectural inheritance.
Documentation
//! 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.
//!
//! ```rust
//! 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).

#![forbid(unsafe_code)]
#![warn(missing_docs)]

/// The prelude: core vocabulary + the most common runtime types.
pub mod prelude {
    pub use katra_core::{
        CachePayload, CaptureOptions, D3d12Call, DeadlineClass, DecompressPayload, EmitOpts,
        ErrorCategory, EventKind, FilePayload, GpuPayload, HardwareProfile, IoPayload, KatraError,
        KatraPayload, MemPayload, Payload, Phase, PresentPayload, PromotionState, RawPayload,
        Result, Scope, ShaderPayload, Subsystem, SyncPayload, ThreadPayload, TraceEvent,
        VulkanCall, VulkanPayload,
    };
    pub use katra_flow::{FlowMode, FlowPolicy, Prediction, ShadowReport, ShadowTracker};
    pub use katra_graph::{Graph, NodeId, NodeKind};
    pub use katra_io::{IoBackend, IoCapabilities, ReadRequest, SyncBackend};
    pub use katra_prof::{ProfConfig, Profiler, SinkKind};
    pub use katra_replay::{Rate, ReplayConfig, ReplaySummary};
    pub use katra_report::Receipt;
}

// Every Katra library crate, namespaced. `pub use <crate>;` keeps the
// umbrella stable and collision-free: `katra3d::graph::Graph`, etc.

/// libkatra3d: the boring, versioned C ABI.
pub use katra_abi as abi;
/// The layered persistent cache.
pub use katra_cache as cache;
/// Core vocabulary: error model, event kinds, payloads, IDs, policy types.
pub use katra_core as core;
/// The falsifiable court harness.
pub use katra_courts as courts;
/// Evidence-gated D3D12 hot-path dispatch (fallback until proven).
pub use katra_d3d12 as d3d12;
/// The DirectStorage frontend (explicit storage intent).
pub use katra_dstorage as dstorage;
/// KatraFlow: universal storage optimization (observe/shadow/prefetch).
pub use katra_flow as flow;
/// The semantic request graph (the architectural center).
pub use katra_graph as graph;
/// Katra I/O: capability-abstracted async file I/O.
pub use katra_io as io;
/// Lifetime-aware staging arenas.
pub use katra_memory as memory;
/// KatraProfiler: low-overhead correlated event capture.
pub use katra_prof as prof;
/// Deterministic replay, verification, and comparison.
pub use katra_replay as replay;
/// The report engine: Pareto, causality, receipts.
pub use katra_report as report;
/// Deadline-aware unified scheduling.
pub use katra_schedule as schedule;
/// The layered shader service.
pub use katra_shader as shader;
/// Fences, events, epochs, and cross-domain joins.
pub use katra_sync as sync;
/// The versioned trace format and verification.
pub use katra_trace as trace;
/// Vulkan capability model and policy.
pub use katra_vulkan as vulkan;

/// The current Katra3D version.
pub use katra_core::KATRA_VERSION;

// Top-level curated vocabulary (the same set as `prelude`, plus hashing).
pub use katra_core::{
    CachePayload, CaptureOptions, D3d12Call, DeadlineClass, DecompressPayload, EmitOpts,
    ErrorCategory, EventKind, FilePayload, GpuPayload, HardwareProfile, IoPayload, KatraError,
    KatraPayload, MemPayload, Payload, Phase, PresentPayload, PromotionState, RawPayload, Result,
    Scope, ShaderPayload, Subsystem, SyncPayload, ThreadPayload, TraceEvent, VulkanCall,
    VulkanPayload, fnv1a, fnv1a_combine, fnv1a_parts, fnv1a_str,
};