From f2fa92e701b8da8e9d2e091ade21784623710374 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 5 Jan 2025 18:20:49 +0100 Subject: a --- world/Cargo.toml | 12 ++++++++++++ world/src/main.rs | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 world/Cargo.toml create mode 100644 world/src/main.rs (limited to 'world') diff --git a/world/Cargo.toml b/world/Cargo.toml new file mode 100644 index 0000000..ee74e2b --- /dev/null +++ b/world/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "weareworld" +version = "0.1.0" +edition = "2024" + +[dependencies] +anyhow = "1.0.95" +clap = { version = "4.5.23", features = ["derive"] } +env_logger = "0.11.6" +gltf = { version = "1.4.1", features = ["extras", "names"] } +log = "0.4.22" +weareshared = { path = "../shared" } 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(()) +} -- cgit v1.2.3-70-g09d2