//! Single-frame representation using normal structs. //! //! Transposing frame data is fairly slow. Work with Arrow arrays when possible. use crate::game::Port; #[derive(PartialEq, Debug)] pub struct Data { pub pre: Pre, pub post: Post, } #[derive(PartialEq, Debug)] pub struct PortData { pub port: Port, pub leader: Data, pub follower: Option, } #[derive(PartialEq, Debug)] pub struct Frame { pub id: i32, pub ports: Vec, pub start: Option, pub end: Option, pub items: Option>, }