use std::io::{Read, Write};
#[derive(Debug, Clone, Copy, PartialEq)]
#[non_exhaustive]
pub enum SaveType {
World,
Subassembly,
}
#[derive(Debug)]
struct ModInfo {
mod_id: String,
mod_version: [i32; 4],
}
#[derive(Debug)]
struct ComponentType {
numeric_id: u16,
text_id: String,
}
#[derive(Debug)]
struct Input {
circuit_state_id: i32,
}
#[derive(Debug)]
struct Output {
circuit_state_id: i32,
}
#[derive(Debug)]
struct Component {
address: u32,
parent: u32,
type_id: u16,
position: [f32; 3],
rotation: [f32; 4],
inputs: Vec,
outputs: Vec