LUNARIS VEIL — FULL AUDIT
Author: MissSatella
Build: 1.2.0 stable release

v1.2.0 — Fire flicker + sun/moon glow overpowering the vanilla sprite
- composite.fsh: emissive surfaces (fire, lava, torches - high block
  light) were still being darkened by directional sun/moon shadow like
  solid terrain, causing visible flicker on thin fire geometry as the
  shadow sample shifted. Shadow darkening is now bypassed on
  high-block-light pixels.
- composite.fsh: this pack has no gbuffers_skybasic override, so Iris
  already draws the real vanilla sun/moon sprite. The synthetic glow
  disc layered on top was large/strong enough after the bloom blur to
  wash the real sprite out into a soft blob. Disc radius and intensity
  reduced so the vanilla sprite stays visible/dominant and the glow
  reads as a subtle halo.
- Grass shadow complaint (open): no code-level cause identified yet -
  colortex1 doesn't carry block ID past the vertex stage, so composite
  can't currently tell grass apart from other geometry. Needs a
  screenshot before touching shadow code further.

v1.1.2 — Sun/moon disc aspect-ratio fix (reported by user screenshot)
- composite.fsh: discRadius (used to draw the sun/moon glow disc) was
  measured as length(texcoord - lightScreen) in raw 0-1 UV space, which
  is not square on a widescreen display. This stretched the disc into a
  horizontal oval instead of a round vanilla-style sun/moon.
- Added viewWidth/viewHeight uniforms and corrected the x-axis by the
  screen aspect ratio before measuring radius. Disc is now circular on
  screen regardless of window/monitor aspect ratio.

v1.1.1 — Two verified bug fixes (code-level audit, not a rewrite)
- shadow.vsh: leaf shadow casters were missing the vertical hinge
  (leafHinge) that gbuffers_textured_lit.vsh applies to leaf sway.
  Casters and receivers now displace identically for leaves; previously
  only grass/plants matched, leaves could show shadow drift/detachment.
- composite2.fsh: light-shaft day/night color threshold
  (smoothstep(-0.05, 0.15, sunHeight)) did not match the threshold used
  for sky/fog/color-grade day/night transitions
  (smoothstep(-0.12, 0.20, sunHeight)) elsewhere. Shafts could flip
  warm/cool at a different point in the sun's arc than the rest of the
  scene. Unified to the shared threshold.
- No architectural changes. mc_Entity usage, gbuffers separation, and
  shadow/bias logic were checked and found already correct - not
  altered.


v1.1 — Medium-level visual pass (sun illuminance kept under 100)
- Added SUN_ILLUMINANCE control (0-99, default 88) in composite.fsh. Scales
  the sun-disc bloom/glow directly; hard-clamped so it can never reach or
  exceed 100 and blow the disc out to flat white.
- Sun disc glow radius widened slightly (0.045 -> 0.050) for a softer edge.
- Bloom intensity 0.30 -> 0.33, light-shaft intensity 0.16 -> 0.18
  (composite2.fsh) - a modest lift, not a rework.
- Color grade: saturation 1.06 -> 1.08 (day), contrast curve 1.025 -> 1.035,
  dusk warmth push 0.35 -> 0.40. Still clamps to the original 0-1 range.
- Shared atmosphere palette (lib/atmosphere.glsl) richened slightly: day sky,
  dusk sky and night sky each got a small saturation/depth nudge.
- Moon ambient 0.28 -> 0.30 for consistency with the rest of the pass.
- No changes to shadow logic, foliage wind, or fog gating from v1.0 - those
  were already audited as stable and are left untouched.

v1.0 fixes (carried forward)
- Iris built-in shadow constants were being redeclared through the included shadow library. Constants now live once in shadow.fsh.
- Removed invalid shadow constant assignments from shaders.properties.
- Shadow depth Z remapping removed; shadow depth keeps full precision.
- Static-object shadow bias reduced and stabilized to reduce acne, flicker, and detached shadows.
- Shadow boundary/invalid projection guard strengthened.
- Foliage wind remains limited to block IDs from block.properties; dirt/stone/normal terrain is rigid.
- Leaf motion now has a vertical gradient; grass/plants remain rooted.
- Zero-length normals are protected before encoding and composite shadow calculations.
- Sky bloom is tied to the light-disc screen position rather than raw sky brightness.
- Light-shaft projection made safer when the light is behind/invalid.
- Nether/other no-skylight scenes no longer early-return from the terrain composite path.

Known compatibility note
- Iris/OptiFine versions can differ in built-in attributes; this pack targets Iris-style shader inputs (vaPosition, vaNormal, mc_Entity, chunkOffset).
