# Rendering Unification Plan ## Summary Unify the Bevy 0.18 rendering framework around a single effective render-stack contract. Preserve Hybrid Auto GI: requested Solari provides realtime indirect lighting when ready, while Forward PBR remains the correctness fallback for unsupported RT hardware, Solari warmup, and local point/spot shadow lights. ## Implementation - Add `settings::EffectiveRenderStack` and `RenderFallbackReason` as the authoritative GI fallback decision. - Route editor camera stack sync and diagnostics through the shared resolver. - Track requested and effective GI separately in `RenderingCapabilities`. - Keep requested Solari raytracing mesh tagging alive while the camera temporarily renders Forward. - Extend material authoring with emissive color, intensity, and texture fields for Solari-compatible emissive scene lighting. - Add diagnostics for requested/effective GI, fallback reason, and Solari mesh eligibility counts. ## Verification - `cargo fmt --check` - `cargo check --workspace` - `cargo clippy --workspace` - Focused tests for settings, shared hydration, game rendering, and editor camera stack behavior. - `cargo run -p xtask -- validate-levels`