makepad/examples/material_lab/Cargo.toml
Admin 1e639e0282 render: the world's generic items, lights and environment reach the renderer (KERNELS.md P6.1, step 1) -- Renderer::register_geometry(GeometryId, GeometryData) makes host geometry resident, and each frame the World's Mesh and packed Instances items (LAYOUT_TRANSFORM_TINT: a model matrix and a tint per record) ride the placed models on the same lanes, shadows and clustered lights as a game's props (renderer/items.rs): a (geometry, material) pair is one uploaded model built on first use, the base colour rides the instance tint, and Unlit, blended and IBL items draw through built-in Splash materials, while a Splash material draws through the program a host installed under splash_material_name(program). Lines, points, cards and models stay the host's (render-lines, the compositor; skipped_items counts them), and kernel-written buffers resolve through Renderer::resolve_buffer, left for makepad-render-kernels (RK2). A world's own Sun and Sky lights replace the rig's key and hemisphere fill (world_lights::apply_world_sun) and its environment's fog replaces the host's (world_fog; the lanes fog exponentially, so linear fog maps to a density). A game World has none of these, so Sandbox draws as before. examples/material_lab gains two World scenes drawn in the dark (--scene=rect, --scene=ibl) and their pixel tests: a rectangular area light lights its cube and not the next one, an IBL metal cube reflects the sunset environment's warm horizon, an Unlit item shows its colour, a packed Instances item draws its tinted copies. Checked: cargo test --release -p makepad-render (452 + integration; new: geometry packing and validation, material keys), cargo test --release -p makepad-example-material-lab --test pixels (3 pass on Metal), cargo build --release -p makepad-sandbox.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 12:24:20 +02:00

18 lines
759 B
TOML

[package]
name = "makepad-example-material-lab"
version = "0.1.0"
edition = "2021"
description = "Material pixel tests: a row of cubes, one per Splash material hook, on the real renderer"
license = "MIT OR Apache-2.0"
[dependencies]
makepad-widgets = { path = "../../widgets", version = "2.0.0" }
makepad-draw = { path = "../../draw", version = "2.0.0" }
makepad-render = { path = "../../libs/render", version = "0.1.0" }
makepad-render-graph = { path = "../../libs/render_graph", version = "0.1.0" }
makepad-gltf = { path = "../../libs/gltf" }
makepad-scene = { path = "../../libs/scene" }
[dev-dependencies]
makepad-test = { path = "../../libs/makepad_test", version = "0.1.0" }
makepad-zune-png = { path = "../../libs/zune/zune-png", version = "0.5.2" }