LumenLite - lightweight cinematic Iris shaderpack

INSTALL
1. In Minecraft: Options > Video Settings > Shader Packs > "Open Shader Pack Folder".
2. Drop LumenLite.zip (do not unzip) into that folder - or copy the contents so the path is
   shaderpacks/LumenLite/shaders/...
3. Select LumenLite in the list, then open Shader Pack Settings and pick a preset.

If anything fails to compile, Iris prints the exact file/line in the log (latest.log).

SHADOWS - HOW THEY WORK NOW
The real shadow map only covers "Shadow Distance" blocks around you (that is a hard limit of
how shadow maps work). Beyond it, "Distant Shadows" continue the shadows to the horizon using
a depth-buffer ray toward the sun, so you no longer see a ring of shadows around the player.
  Distant Shadows: Off    = beyond the map everything is plain sunlit (the old circle look)
                   Fast   = 10 ray steps, only run where the map ends
                   Smooth = 16 ray steps
Distant shadows are an approximation: only things visible on screen can cast them, and they
are slightly softer/lighter than map shadows. Raise Shadow Distance for more sharp shadows
(costs shadow-pass FPS), lower it for speed - the far shadows cover the rest either way.

LOOK / MOOD (realism pass)
- Daylight: the sun was ~6x too strong against the sky light, so sunlit blocks clipped to near white. Sun and sky light are
  now balanced for a real clear day: sun-to-shade about 3.5 : 1, a sunlit grass top ~(0.46, 0.72, 0.23) instead of ~(0.85, 0.95, 0.54).
  The extra contrast curve in the tone mapper was removed (ACES already has an S-curve) and default saturation is 100.
- Golden hour / sunset: the lit scene is exposure-compensated like a camera would (the sky is not), the sky light fades with the
  sun, so sun-facing walls glow warm while shade stays cool and blue.
- Water: pale grey-green shallows, dark blue-green depths, less biome-blue, waves flatten with distance (no plastic shimmer),
  sun glints are a separate sparkle layer instead of being multiplied into the reflection.
- Clouds: lit tops are bright white-grey with soft blue-grey undersides, cloud shadows are lighter.
- Eyes adapt a little: caves / dark rooms are lifted ~15 %. Vignette is subtler.
Tune to taste (Shader Pack Settings): Exposure (+/-), Saturation, Color Temperature (-1..-30 cooler, + warmer).

CHANGELOG (this revision)
- FIXED (3): the shadow code now reads the REAL shadow-map extent from the shadow projection matrix and
  the real resolution from the texture, instead of trusting the shadowDistance/shadowMapResolution
  constants. If Iris ever clamps or ignores a requested value, coverage, bias and blur no longer disagree
  with the map (that mismatch makes shadows end early or smear into huge blobs, whatever the slider says).
- Shadows stay fully valid out to 80 % of the map radius (was 72 % of the view distance), measured in the
  shadow plane, so they reach further along the sun direction. Distant Shadows hand over from there:
  Fast = 12 ray steps, Smooth = 20.
- FIXED (2): large Shadow Distance values made huge dark/blocky shadow areas. The shadow bias was
  a fixed size, but one shadow-map texel covers more world the farther the distance, so far
  surfaces shadowed themselves. Bias and normal offset now scale with the local texel size, the
  shadow warp is gentler (0.75), and distant shadows only count thin occluders.
  Tip: raise Shadow Quality (resolution) together with distance: 2048 ~ up to 112, 3072 ~ 144, 4096 ~ 192.
- FIXED: shadows vanishing in a circle around the player. The old code blended to "no shadow"
  at 80-98% of shadowDistance. The map now reports coverage and hands over smoothly to the new
  distant-shadow ray. Pixels outside the shadow camera's depth range (deep valleys, tall
  peaks) are handled the same way.
- Shadow PCF exits early when the first 4 taps agree (most pixels) and uses 4 taps past half range.
- Water is no longer drawn into the shadow map (it never reached the opaque shadow texture).
- Shadow caster culling disabled (shadow.culling=false) so off-screen casters cannot blink out.
- New: FXAA (final pass). Tone mapping/grading moved to composite5 so FXAA runs on the finished image.
- Presets re-tuned (Medium 112, High 144, Ultra 192 blocks); Shadow Distance now goes up to 256.
- More vegetation in block.properties (dry grass, wildflowers, leaf litter, ...).

THE "HUGE SHADOW AROUND THE PLAYER" BUG - WHAT IS KNOWN
Debug view "Raw map" showed the shadow test returning "in shadow" for EVERY pixel inside the shadow map (one huge shadow,
sized by the slider). Reading the "all" depth texture instead removed the black but gave no shadows at all. Together that
means the shadow pass is not delivering usable geometry on that Iris/Minecraft combination (the textures read as empty or as 0).
What the pack does about it now:
  - Shadow Depth Source = Auto (default): at the player's position it tests our colour copy, the opaque depth texture
    and the all-depth texture, and uses the first one that really contains the ground there.
  - If NONE works, every pixel gets screen-space shadows (a ray through the depth buffer toward the sun), so you still get
    shadows (trees, buildings, hills visible on screen; softer and less exact than a real shadow map).
  - Shadow Debug View 7 shows the three sources side by side; the bar at the top is GREEN = colour copy picked,
    YELLOW = opaque depth picked, BLUE = all-depth picked, RED = none usable (screen-space shadows in use).
Translucent blocks (stained glass, ice) do not cast shadows in the colour-copy mode.

TROUBLESHOOTING SHADOWS (Shader Pack Settings > Shadow Debug View / Shadow Warp / Shadow Depth Source)
Iris draws shadow-casting terrain only out to the shadow distance AND never farther than your Minecraft
render distance, so shadows cannot extend past either of them - raise render distance too.
Shadow Debug View (look at flat sunlit ground):
  1 Coverage      green = real shadow map, yellow = hand-over zone, red = outside the map
  2 Raw map       white = lit, black = shadowed, magenta = no map data there (should NOT be all black)
  3 Distance rings  RED = the shadow-map radius Iris really uses, BLUE = the slider value, white = every 16 blocks
  4 Stored depth  what the map holds at each pixel (white = empty/far)
  5 Pixel depth   each pixel's own depth as seen from the light
  6 Depth diff    green = correct, red = pixel behind the stored surface (shadowed), blue = in front
  7 Source compare  left/middle/right = opaque depth / all depth / colour copy; terrain-shaped grey = has data, flat white = empty
"Shadow Warp" = 0 turns the shadow-map warp off. Set Shadow Debug View back to Off for normal play.
