DAP Shaders 4.0
===============

The headline version. 3.5 added breadth; 4.0 adds the two most-requested
features (temporal anti-aliasing and rain puddles), real performance work,
and a friendlier settings menu.

=======================================

--- 4.0 ---

NEW: TEMPORAL ANTI-ALIASING (TAA)
- Blends each frame with reprojected previous frames, with neighbourhood
  clamping so moving edges do not ghost. Kills most shimmer on foliage,
  fences and specular highlights.
- Honest design note: this is TAA without sub-pixel jitter. Jittered TAA
  requires touching every geometry program and shipping that without
  in-game visual testing risks a mess; the un-jittered version is safe,
  still removes most temporal noise, and pairs with FXAA for static edges.
  Jitter is planned once this is proven in the wild.

NEW: WET GROUND & PUDDLES
- Rain gradually darkens sky-exposed ground and pools reflective puddles
  in low spots (they feed the existing SSR, so they genuinely reflect).
- Uses the game's slow "wetness" value, so the world dries out over a
  minute or two after the rain stops rather than snapping dry.

PERFORMANCE (honest note: structural improvements, NOT benchmarked -
the author cannot run Minecraft; please measure on your own machine)
- Shadows: early-consensus filtering. Fully lit and fully dark pixels
  (most of the screen) now use HALF the shadow taps; penumbra edges keep
  the full count so softness is unchanged where it shows.
- Clouds: the per-step sun tap (the most expensive part of the march) is
  skipped for thin wisps where it contributes nothing visible - roughly
  halves cloud noise cost on scattered-cloud days.
- Aurora: skipped entirely in heavy rain.
- These stack with the existing early exits (cloud transmittance, SSR
  bounds, FXAA flat-pixel skip).

MENU OVERHAUL
- Main screen reordered: the things people actually change (Graphics,
  Camera, Sky, Water) come first.
- Screens renamed in plain language: "Sky & Weather", "Water & Rain",
  "Movement & Animation", "Time & Weather Override", "Nether & End".
- Profile switcher now describes what each tier means.
- TAA and puddles slot into Camera and Water & Rain respectively.

STILL PLANNED (4.1+)
- Sub-pixel jitter for full TAA quality.
- LabPBR parallax (POM), metals/F0, subsurface scattering.
- Distant Horizons support.
- Coloured voxel lighting / GI.

TESTING NOTE
- All 146 shader programs compile clean under glslangValidator across six
  setting permutations (all on, all off, TAA on, LabPBR on, performance
  mode, combinations). The shadow early-exit math was verified numerically.
- Compiling is not playing: this build has NOT been run inside Minecraft.
  Check TAA and puddles in-game before publishing, and if TAA misbehaves
  on your hardware it is one toggle to turn off.

=======================================

--- 3.5 ---

FIXES (all of these shipped in 3)
- FIXED: Custom Time and Custom Weather were enabled BY DEFAULT, locking the sky
  and lighting to permanent noon / permanent clear while shadows still followed
  the real sun. The day/night cycle now works out of the box. Both overrides are
  still there, just off unless you turn them on.
- FIXED: a duplicate, dead copy of the time/weather system (CUSTOM_TIME,
  CUSTOM_WEATHER, WEATHER_MODE, and a second TIME_OF_DAY with a conflicting
  slider list) sat in settings.glsl with nothing calling it. Removed.
- FIXED: Cloud Density was used by the cloud shader but never appeared in the
  menu; End Portal Speed was in settings but wired to nothing. Both work now.
- FIXED: eight options had tooltips but no display name, so they showed as raw
  define names in the menu.

NEW: WAVING FOLIAGE
- Grass, flowers, crops, saplings and leaves move in the wind. Plants are hinged
  at their base so they bend rather than sliding off their block.
- Underwater plants (kelp, seagrass) sway slower and wider.
- Separate strength sliders for plants and leaves, plus wind speed and gust size.

NEW: UNDERWATER
- Being submerged now does something. Colour is absorbed with distance, red
  first, so deep water goes blue-green the way real water does.
- Lava and powder snow get their own submerged looks.

NEW: WATER REFRACTION
- The surface bends what is behind it, following the waves. Translucent surfaces
  are now blended inside the shader rather than by the hardware to allow this.

NEW: CAUSTICS
- Dancing bands of focused light on underwater surfaces, only where daylight
  actually reaches.

NEW: COLOURED SHADOWS
- Stained glass and water tint the light they block instead of casting flat black.

NEW: CLOUD SHADOWS
- Clouds darken the ground beneath them, sampling the same cloud field you can
  see overhead, so the shadow matches the cloud.

NEW: HELD LIGHT
- A torch (or any light-emitting block) in either hand lights the world around you.

NEW: LabPBR MATERIAL SUPPORT  (off by default)
- Normal and specular maps from a LabPBR resource pack: real surface bumps,
  per-texel roughness, and a texture-driven emission channel.
- OFF by default: it does nothing without a PBR resource pack loaded and still
  costs two texture samples. Turn it on under Materials & PBR.
- This is the basic version. Parallax (POM), metals/F0 and subsurface scattering
  are version 4.

NEW: SIX MISSING GEOMETRY PROGRAMS
- Beacon beams, mob eyes, enchantment glint, rain/snow particles, the block
  breaking overlay and block entities previously fell back to a generic program
  and were shaded like ordinary surfaces. Beacon beams and mob eyes now glow
  properly, and rain/snow is tinted by sky light so it reads correctly at night
  and under cover.

NEW: CAMERA & ANTI-ALIASING
- FXAA to smooth jagged edges (cheap, no ghosting).
- Motion blur and depth of field, both off by default.
- Frame-to-frame reprojection is in place, which is the groundwork version 4
  needs for temporal AA.

NEW: AURORA
- Curtains of light in the night sky. Fades out during the day and in rain.

MENU
- Two new screens: Materials & PBR, and Camera & Anti-Aliasing.
- Every new option has a label and an impact rating, matching the existing style.
- Performance Mode and the Potato / Low / Medium profiles now also switch the new
  heavy effects off.

KNOWN GAPS (planned for version 4)
- Temporal AA. FXAA is the stand-in for now.
- Parallax occlusion mapping, metals and subsurface scattering for LabPBR.
- Rain puddles and surface wetness.
- Distant Horizons support.
- Coloured voxel lighting / GI.

TESTING NOTE
- All 140 shader programs compile cleanly under a real GLSL compiler
  (glslangValidator) across six setting combinations, including all features on,
  all off, and LabPBR on.
- Compiling is not the same as looking right. This build has NOT been run inside
  Minecraft, so please check the new effects in-game before publishing.

=======================================

--- 3.2 (performance) ---
- Dark UI removed (it was a resource pack anyway); this is a pure shaderpack again.
- Bloom now computed at half resolution: the two bloom passes run at ~1/4 the pixels
  with no visible change.
- colortex2 (lightmap + material id) dropped from RGBA16 to RGBA8: less memory bandwidth.
- SSR sky fallback is only evaluated when a reflection ray actually misses.
- Performance Mode now also drops the sharpening taps.
- (Volumetric fog was already half-res; clouds already use adaptive octaves + early-outs.)

--- 3.1 ---
- Menu reorganised into clean groups: Graphics / Lighting / Sky / Dimensions /
  Animations / Gameplay / Colour & Artistic / Water (+ Profile & Performance Mode on top).
- Every setting now shows its graphical impact on hover (None .. Very High).
- GAMEPLAY: client-only visual Time-of-day and Weather overrides. These affect ONLY
  your screen's sky/light look - they do NOT run /time or /weather, do not touch the
  server, other players, mob spawns, or real shadows, and weather does not add rain particles.
- Custom animated Nether portal (toggle + brightness).
- Emissive blocks: crying obsidian, glowstone, sea lanterns, shroomlight, froglights,
  end rods, amethyst, etc. now glow and bloom. Edit block.50 to add your own.

--- 3.0 ---
- New Extra Features menu: Purkinje night-vision shift, contrast-adaptive Sharpening,
  cinematic Letterbox bars, Posterize, and per-channel Sky Tint.
- End portal optimised: parallax depth is now a slider (default 2, was fixed 3);
  nebula already optional. Cheaper on portal-heavy scenes.
- Sharpen auto-off on Potato/Low profiles.
- Verified for OptiFine / Iris on MC 1.16+ (Iris-only lines like separateEntityDraws
  and buffer scaling are ignored gracefully on OptiFine / older Iris).

NOTE: dark-mode menus (chests, hoppers, brewing stands, creative, etc.) are GUI
textures rendered outside the shader pipeline and CANNOT come from a shaderpack.
Use the companion 'DAP Dark UI' resource pack for that.

--- 2.3 ---
- Everything toggleable: new Dimensions menu screen + Performance Mode master switch.
- More customization: Space Portals on/off, portal brightness / star density / nebula, skybox+sun+moon brightness, Nether biome-tint strength, End ambient.
- Performance: Performance Mode force-collapses SSAO/SSR/fog/clouds/bloom/nebula + trims shadows; nebula disabled on Potato/Low profiles.

--- 2.2 ---
- End portal / end gateway now render a procedural window into space (stars + nebula, emissive) instead of flat black.

--- 2.1 fixes ---
- Opaque entities no longer render see-through (blend.gbuffers_entities=off + forced opaque alpha).
- End: procedural black-hole sky now visible (vanilla end_sky tiles discarded in the End).
- Custom skyboxes / sun / moon render at faithful brightness (skytextured no longer over-brightens).
- Nether lighting no longer a flat red flood: tempered lava tint + neutral fill so albedo/shape read.
- End ground lighting given a neutral fill so end stone stays readable under the violet key.
