use anyhow::Result; use std::{ collections::{HashMap, HashSet}, sync::Arc, }; use weareshared::{packets::Resource, resources::Part, tree::SceneTree}; use wgpu::Buffer; pub struct ScenePreparer { index_buffers: HashMap, vertex_buffers_x3: HashMap<[Resource; 1], Arc>, vertex_buffers_x2: HashMap<[Resource; 2], Arc>, vertex_buffers_x1: HashMap<[Resource; 3], Arc>, parts: HashMap, } impl ScenePreparer { pub fn new() -> Self { Self { index_buffers: HashMap::new(), vertex_buffers_x3: HashMap::new(), vertex_buffers_x2: HashMap::new(), vertex_buffers_x1: HashMap::new(), parts: HashMap::new(), } } fn update(&mut self, tree: &SceneTree) -> Result<()> { let x = tree.objects.values().map(|o| o.res).collect::>(); } }