c1e07b42b4
Étape 3 (infrastructure uniforms) + le câblage minimal d'Étape 4 pour garder les exemples exécutables (wgpu requiert que tous les bind groups du layout pipeline soient posés au draw) : - resources/uniform.rs : types bytemuck Pod FrameUniforms (192 B) et ObjectUniform (64 B), alignés 16 octets sans padding; offsets vérifiés par un test unitaire contre le contrat du shader. glam feature bytemuck activé. - pipeline_cache: create_uniform_bind_group_layouts() expose les 2 layouts (frame @0 Vertex|Fragment + object @1 Vertex); build_pipeline les attache à TOUT pipeline (un seul layout pour tous, décision actée). - Renderer: alloue le buffer frame partagé + BindGroup(0) (défaut identité, mode lit) et un object identité partagé pour le chemin bas-niveau; cache RefCell<HashMap<label,(buffer,bindgroup)>> par entité, model réécrit chaque frame depuis transform.to_matrix(); draw_entity pose groupes 0+1. 4.3 (caméra active + aspect) non implémenté: simple/manual restent exécutables car basic ignore ces uniforms. Documentation DRAFT mise à jour. Validation: check workspace+examples 0 warning, doc 0 warning, test (Pod+wgsl) OK, fmt propre.