weaver-dvr 1.0.0

Weaver DVR — Dreamwell Virtual Rasterizer API, frame types, and metaphor bindings.
Documentation
use serde::{Deserialize, Serialize};
use weaver_core::{DvrPath, EntityId, TagId, Vec3};

#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct DreamletFrame {
    pub actor_id: EntityId,
    pub tick: u64,
    pub active_count: u32,
    pub superposed_count: u32,
    pub cluster_center_ws: Vec3,
    pub cluster_velocity_ws: Vec3,
    pub shell_compression: f32,
    pub particle_density: f32,
    pub orbit_bias: f32,
    pub trail_bias: f32,
}

#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct PresentationTagOverride {
    pub tag_id: TagId,
    pub strength: f32,
}

#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct PresentationFrame {
    pub actor_id: EntityId,
    pub tick: u64,
    pub dvr_path: DvrPath,
    pub roughness_bias: f32,
    pub emissive_bias: f32,
    pub fresnel_bias: f32,
    pub anisotropy_bias: f32,
    pub opacity_fragmentation: f32,
    pub normal_coherence: f32,
    pub property_tag_overrides: Vec<PresentationTagOverride>,
}