Skip to main content

weaver_dvr/
frames.rs

1use serde::{Deserialize, Serialize};
2use weaver_core::{DvrPath, EntityId, TagId, Vec3};
3
4#[derive(Clone, Debug, Serialize, Deserialize)]
5pub struct DreamletFrame {
6    pub actor_id: EntityId,
7    pub tick: u64,
8    pub active_count: u32,
9    pub superposed_count: u32,
10    pub cluster_center_ws: Vec3,
11    pub cluster_velocity_ws: Vec3,
12    pub shell_compression: f32,
13    pub particle_density: f32,
14    pub orbit_bias: f32,
15    pub trail_bias: f32,
16}
17
18#[derive(Clone, Debug, Serialize, Deserialize)]
19pub struct PresentationTagOverride {
20    pub tag_id: TagId,
21    pub strength: f32,
22}
23
24#[derive(Clone, Debug, Serialize, Deserialize)]
25pub struct PresentationFrame {
26    pub actor_id: EntityId,
27    pub tick: u64,
28    pub dvr_path: DvrPath,
29    pub roughness_bias: f32,
30    pub emissive_bias: f32,
31    pub fresnel_bias: f32,
32    pub anisotropy_bias: f32,
33    pub opacity_fragmentation: f32,
34    pub normal_coherence: f32,
35    pub property_tag_overrides: Vec<PresentationTagOverride>,
36}