Refactor the shadow feature into a shared framework + two equal lanes, and add two visual improvements. Confirmed in-game. - shadow_core.rs (NEW): the shared rig both lanes plug into — one directional sun on the private layer, the camera-layer plumbing, the shadow map, the invisible proxy material, the sun aiming, and the shared caster-collection helpers. Lanes coordinate through a ShadowDemand/ShadowFrame handshake (rig runs first each frame, publishes the frame; lanes declare demand + build their casters after). character_shadow and world_shadow are now EQUAL, independent lane plugins that depend only on shadow_core, never on each other — add, remove or reorder either freely. - character_shadow.rs: slimmed to just the CREATURE caster lane. - world_shadow.rs: the WORLD lane — static_gx solid + alpha-tested foliage + a per-frame entity-resident environment caster (the two entity casters were one shared mesh before; splitting them is what makes the lanes independent). - Moving sun: the shadow basis now tracks the VISIBLE celestial sun (which genuinely rises/sets) instead of the near-fixed lighting sun, so shadows sweep through the day. Elevation clamped to ~18..65 deg so a set/zenith sun never inverts or degenerates the basis; azimuth preserved. - Edge fade: the realtime shadow lightens toward the cascade's max distance so it fades in rather than popping at the resolve boundary. - Night fade: shadow strength ramps by the real sun height (packed into the free fog_params.z light lane), so shadows soften and vanish at night; the baked MCSH terrain shadows fade back IN at night for the world lane, keyed off the same. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 lines
640 B
Plaintext
26 lines
640 B
Plaintext
# Rust build artifacts
|
|
/target/
|
|
**/*.rs.bk
|
|
# Cargo.lock IS committed (this workspace produces binaries).
|
|
|
|
# --- Blizzard-owned content: NEVER commit ---
|
|
# A legally-installed 1.12.1 client, read at runtime; not redistributed.
|
|
/WoW
|
|
# Cached / extracted assets derived from an install.
|
|
/extracted/
|
|
/out/
|
|
# Real client files used as test fixtures (document expected paths, do not commit).
|
|
**/tests/fixtures/
|
|
|
|
# Profiling output (`--features bevy/trace_chrome`).
|
|
trace-*.json
|
|
|
|
# OS / editor cruft
|
|
.DS_Store
|
|
*.swp
|
|
/.idea/
|
|
|
|
# MONKEY: per-run client state written by benilla (saved variables, camera) — not source.
|
|
/benilla-config/
|
|
/benilla.bat
|