fix(client_state): backwards compatibility

This commit is contained in:
Nova
2024-02-20 03:59:18 -05:00
parent 8e317a8e08
commit 2dc0fdadfd

View File

@@ -33,7 +33,7 @@ impl LaunchInfo {
#[derive(Debug, Serialize, Deserialize)] #[derive(Debug, Serialize, Deserialize)]
pub struct ClientState { pub struct ClientState {
pub launch_info: Option<LaunchInfo>, pub launch_info: Option<LaunchInfo>,
pub data: Option<Vec<u8>>, pub data: Vec<u8>,
pub root: Mat4, pub root: Mat4,
pub spatial_anchors: FxHashMap<String, Mat4>, pub spatial_anchors: FxHashMap<String, Mat4>,
} }
@@ -41,7 +41,7 @@ impl ClientState {
pub fn from_deserialized(client: &Client, state: ClientStateInternal) -> Self { pub fn from_deserialized(client: &Client, state: ClientStateInternal) -> Self {
ClientState { ClientState {
launch_info: LaunchInfo::from_client(client), launch_info: LaunchInfo::from_client(client),
data: state.data, data: state.data.unwrap_or_default(),
root: Self::spatial_transform(client, &state.root.unwrap_or_default()) root: Self::spatial_transform(client, &state.root.unwrap_or_default())
.unwrap_or_default(), .unwrap_or_default(),
spatial_anchors: state spatial_anchors: state
@@ -84,7 +84,7 @@ impl ClientState {
root.set_transform(self.root) root.set_transform(self.root)
} }
ClientStateInternal { ClientStateInternal {
data: self.data.clone(), data: Some(self.data.clone()),
root: Some("/".to_string()), root: Some("/".to_string()),
spatial_anchors: self spatial_anchors: self
.spatial_anchors .spatial_anchors
@@ -116,7 +116,7 @@ impl Default for ClientState {
fn default() -> Self { fn default() -> Self {
Self { Self {
launch_info: None, launch_info: None,
data: None, data: Default::default(),
root: Mat4::IDENTITY, root: Mat4::IDENTITY,
spatial_anchors: Default::default(), spatial_anchors: Default::default(),
} }