summaryrefslogtreecommitdiff
path: root/world/src/main.rs
blob: 56b62c9e6fd9b9f67783852c0aa27c23c3c76c60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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(())
}