appslib/jsonb/
light.rs

1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3
4use crate::jsonb::vec3::Vec3;
5
6#[derive(Clone, Serialize, Deserialize, Debug)]
7#[serde(rename_all = "camelCase")]
8pub struct Light {
9    #[serde(default)]
10    pub id: Uuid,
11    pub l_type: String,
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub color: Option<String>,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub intensity: Option<f32>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub position: Option<Vec3>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub target: Option<Vec3>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub shadow_bias: Option<f32>,
22}