awsm-scene-loader 0.3.0

Load an awsm-scene runtime bundle (scene.toml + assets/) into the renderer — the parallel to renderer-gltf's populate_gltf, for OUR own format. Used by the model-test page (round-trip: export a bundle → load it back → compare) and the player.
docs.rs failed to build awsm-scene-loader-0.3.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

populate_awsm_scene — load an [awsm_scene::Scene] (the runtime bundle's scene.toml) into the renderer. The parallel to awsm_renderer_gltf::populate_gltf: that loads foreign glTF, this loads our format. They share the same renderer core — glb meshes in a bundle go through populate_gltf's machinery, primitives regenerate via awsm-meshgen, and our materials / clips bind on top.

The headline use is the round-trip test: in the MCP-controlled browser session, export_player_bundlepopulate_awsm_scene → screenshot, compared against the source render. The model-test page can load a .glb or one of our exported bundles this way.

Runs as one batched, phased pass (build materials → upload textures → upload meshes → load animation → compile pipelines), reporting each [LoadPhase] through a callback. Handles: the node hierarchy (transforms); primitive meshes with their built-in materials; glb meshes (assets/<id>.glb) AND skinned meshes (assets/<skin.source>.glb), both fed through populate_gltf with [GltfMaterialSource::Single] so they take OUR material (no glTF default-mint) and ride the same geometry+skin+morph upload foreign glTF uses; lights (shared light_from_config + shadow params); cameras; textures + custom-WGSL materials; and animation — the scene's clips + NLA mixer ([animation::load_animations]) lowered against the per-node keys built here. The loader only LOADS the clips; the consumer drives the clock (a player's update_animations, or the editor round-trip's playhead pin). Remaining follow-on: driving a skinned mesh's rig glb joints from our Transform tracks (skin correspondence — the rig still poses at bind pose, and its bone tracks currently target the scene bone nodes, not the glb joints).