plexus_substrate/activations/solar/
types.rs1use schemars::JsonSchema;
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
10#[serde(tag = "type", rename_all = "snake_case")]
11pub enum SolarEvent {
12 Body {
14 name: String,
15 body_type: BodyType,
16 mass_kg: f64,
17 radius_km: f64,
18 orbital_period_days: Option<f64>,
19 parent: Option<String>,
20 },
21 System {
23 star: String,
24 planet_count: usize,
25 moon_count: usize,
26 total_bodies: usize,
27 },
28}
29
30#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, PartialEq, Eq)]
32#[serde(rename_all = "snake_case")]
33pub enum BodyType {
34 Star,
35 Planet,
36 DwarfPlanet,
37 Moon,
38}