diff --git a/src/core/client.rs b/src/core/client.rs index 4a0416d..ad7378f 100644 --- a/src/core/client.rs +++ b/src/core/client.rs @@ -1,4 +1,5 @@ use super::scenegraph::Scenegraph; +use crate::nodes::field; use crate::nodes::spatial; use libstardustxr::messenger::Messenger; use mio::net::UnixStream; @@ -17,6 +18,7 @@ impl<'a> Client<'a> { }); client.scenegraph.set_client(&client); spatial::create_interface(client.clone()); + field::create_interface(client.clone()); client } pub fn dispatch(&self) -> Result<(), std::io::Error> { diff --git a/src/nodes/field.rs b/src/nodes/field.rs index 5b697cd..26e086f 100644 --- a/src/nodes/field.rs +++ b/src/nodes/field.rs @@ -1,5 +1,6 @@ use super::core::Node; use super::spatial::Spatial; +use crate::core::client::Client; use anyhow::{anyhow, ensure, Result}; use glam::{vec2, vec3a, Vec3, Vec3A}; use libstardustxr::flex_to_vec3; @@ -138,3 +139,8 @@ pub trait Field { fn spatial_ref(&self) -> &Spatial; } + +pub fn create_interface(client: Rc) { + let mut node = Node::create(Rc::downgrade(&client), "", "field", false); + client.get_scenegraph().add_node(node); +} \ No newline at end of file