enginerenderer 0.0.1

A zero-dependency offline rendering engine in pure Rust — CPU path tracing, BVH acceleration, 16-band spectral rendering, PBR materials, animation & video export.
Documentation
use super::tools::DebugOverlay;

#[derive(Debug, Default, Clone, Copy)]
pub struct SerializationManager;

impl SerializationManager {
    pub fn serialize_overlay(&self, overlay: &DebugOverlay) -> String {
        format!(
            "frame={};frame_ms={};render_ms={};latency_ms={:.2};audio_gain={:.2};spatial={:.2};reverb={:.2};warnings={};events={};momentum={:.3};logs={};target_ms={:.2};p50_ms={:.2};p95_ms={:.2};p99_ms={:.2};jitter_ms={:.2};quality_bias={:.3};sample_scale={:.3};scheduler_granularity={:.3};substeps={};internal={}x{};output={}x{};internal_scale={:.3};budget_pressure={:.3};tail_pressure={:.3};resize_cooldown={};over_budget_streak={};under_budget_streak={}",
            overlay.frame_index,
            overlay.frame_time_ms,
            overlay.render_time_ms,
            overlay.network_latency_ms,
            overlay.master_gain,
            overlay.spatial_width,
            overlay.reverb_send,
            overlay.warning_count,
            overlay.event_history,
            overlay.momentum_hint,
            overlay.log_depth,
            overlay.adaptation.target_frame_ms,
            overlay.adaptation.frame_p50_ms,
            overlay.adaptation.frame_p95_ms,
            overlay.adaptation.frame_p99_ms,
            overlay.adaptation.jitter_ms,
            overlay.adaptation.quality_bias,
            overlay.adaptation.sample_pressure_scale,
            overlay.adaptation.scheduler_granularity,
            overlay.adaptation.substeps,
            overlay.adaptation.internal_width,
            overlay.adaptation.internal_height,
            overlay.adaptation.output_width,
            overlay.adaptation.output_height,
            overlay.adaptation.internal_scale(),
            overlay.adaptation.budget_pressure(),
            overlay.adaptation.tail_pressure(),
            overlay.adaptation.resize_cooldown_frames,
            overlay.adaptation.over_budget_streak,
            overlay.adaptation.under_budget_streak,
        )
    }
}