summaryrefslogtreecommitdiff
path: root/world/src/main.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-05 18:20:49 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-05 18:20:49 +0100
commitf2fa92e701b8da8e9d2e091ade21784623710374 (patch)
tree87d4fe19042fdabad4771967f89ea9cb436bdb1c /world/src/main.rs
parent72c23eb57070ab859ffde4f989aa85f7f2eedcf8 (diff)
downloadweareserver-f2fa92e701b8da8e9d2e091ade21784623710374.tar
weareserver-f2fa92e701b8da8e9d2e091ade21784623710374.tar.bz2
weareserver-f2fa92e701b8da8e9d2e091ade21784623710374.tar.zst
a
Diffstat (limited to 'world/src/main.rs')
-rw-r--r--world/src/main.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/world/src/main.rs b/world/src/main.rs
new file mode 100644
index 0000000..56b62c9
--- /dev/null
+++ b/world/src/main.rs
@@ -0,0 +1,39 @@
+use anyhow::Result;
+use clap::Parser;
+use gltf::Gltf;
+use std::{
+ fs::File,
+ io::BufReader,
+ net::{SocketAddr, TcpStream},
+ path::PathBuf,
+};
+use weareshared::resources::Part;
+
+#[derive(Parser)]
+struct Args {
+ address: SocketAddr,
+ scene: PathBuf,
+}
+
+fn main() -> Result<()> {
+ env_logger::init_from_env("LOG");
+ let args = Args::parse();
+
+ let sock = TcpStream::connect(args.address)?;
+
+ let scenefile = Gltf::from_reader(BufReader::new(File::open(args.scene)?))?;
+ let scene = scenefile
+ .default_scene()
+ .unwrap_or(scenefile.scenes().next().unwrap());
+
+ for node in scene.nodes() {
+ if let Some(mesh) = node.mesh() {
+ for p in mesh.primitives() {
+ for (sem, iter) in p.attributes() {}
+ }
+ let part = Part { ..Part::default() };
+ }
+ }
+
+ Ok(())
+}