# 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`
