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}