## 🚀 What's New in v1.1.4 — *Atmosphere LUTs, Distant Horizons Seam Fix & Half-Res Bloom*
Version **1.1.4** rebuilds the experimental physical sky around shared low-frequency LUTs, replaces the hole-producing DH screen-door seam with a deterministic hand-off, and cuts post-process cost with skippable half-resolution bloom. It also finishes the TAA story for Distant Horizons (correct DH reprojection + Halton jitter on LOD geometry) and swaps glittery water fBm for a coherent Gerstner swell.
### 🧪 Shared Physical-Atmosphere LUTs (`begin` / `begin1`)
* **Tiny HDR LUTs, not fullscreen buffers.** v1.1.3 deleted unused full-screen `colortex5`/`colortex6` to save VRAM. v1.1.4 brings them back as **64×32** solar-transmittance (`colortex5`) and **32×16** multi-scatter / ground-bounce (`colortex6`) tables — kilobytes, not megabytes.
* **`begin.fsh`** rebuilds direct solar transmittance every frame: sun elevation on X (`−0.16…1.0`, including civil twilight), camera altitude on Y (`0–30 km`), Kasten–Young airmass × Rayleigh + aerosol extinction, zeroed below the night hemisphere.
* **`begin1.fsh`** layers bounded multi-scattering and biome-aware ground bounce on top of that transmittance. Noon is Rayleigh-blue; low sun is warm; swamp/snow/vegetation tints come from `GROUND_BOUNCE_MODE`.
* **Shared by every physical-sky consumer** — `gbuffers_skybasic`, terrain fog, water analytic reflection, volumetric godrays, clouds and the SSR sky fallback all sample the same LUTs instead of each running a second atmosphere march.
* When **`SKY_MODE=0`** (every shipped profile) the LUT passes write constants and cost almost nothing. Enable Physical Sky manually in the Experimental tab.
New Experimental → Atmosphere options (off-profile defaults stay cinematic / auto):
* **`ATMOSPHERE_TURBIDITY`** — *Crisp / Balanced / Hazy* aerosol load.
* **`ATMOSPHERE_SCALE`** — *Compact 25 m / Balanced 50 m / Cinematic 100 m* per block (how Minecraft Y maps into atmosphere kilometres).
* **`GROUND_BOUNCE_MODE`** — *Auto (biome-aware) / Neutral Soil / Vegetation / Snow / Desert*.
* **`SKY_TEMPORAL`** — rotation-only history blend for the sky (requires TAA). Physical sky uses a higher history weight than the animated gradient sky so stars/aurora do not trail.
The swamp detector now also matches **`BIOME_MANGROVE_SWAMP`**.
### 🌍 Distant Horizons — Hard Seam, TAA & Iris Workaround
> ⚠️ AuraLite still does **NOT** claim full Distant Horizons compatibility. v1.1.4 is a targeted correctness pass on the v1.1.2/v1.1.3 experimental path.
* **Hard deterministic hand-off at `far`.** The v1.1.3 16 m screen-door dither discarded random LOD fragments in the seam band; on DH 3.2 those holes showed sky/white whenever vanilla geometry did not fill the same pixel. DH fragments with `dist < far` are now simply discarded — less cinematic, never stochastic.
* **DH receives the same optional Halton camera jitter** as vanilla gbuffers. `composite1.fsh` reprojects DH pixels through `dhProjectionInverse` + `dhPreviousProjection` (vanilla matrices have the wrong far plane).
* **Conservative DH history cap (0.45)** — LOD meshes change topology as chunks stream; they participate in TAA but cannot leave long trails.
* **`DH_BLOCK_ILLUMINATED` tag `colortex2.a = 0.24`** — distant sea lanterns / glowstone stay self-emissive even when they are not lava-orange or portal-violet. Extra DH material classes: DIRT, SAND, TERRACOTTA.
* **`dh_water`** now honours `WATER_WAVES` / riffles / transparency / specular, applies the frozen-ocean navy floor, and occludes against `dhDepthTex1` (plus Iris `depthtex1` via view-space Z, because raw depths use different projections).
* **`DH_SHADOW_RANGE`** — *Seam (1.25×) / Extended (2×) / Far (4×)* of vanilla `far`. LOD receivers can keep sampling the shared shadow map past the vanilla chunk edge.
* **Shadow-map footprint rebalanced for DH:** MED **192 m**, HIGH/ULTRA **512 m**, EXTREME **768 m** (VERY_LOW/LOW stay 60 m, no shadows).
* **`dhShadow.enabled=false` by default.** DH 3.2.0-b + Iris 1.7.6 can replace/cull the *vanilla* terrain shadow pass — symptom: mob shadows remain, block shadows vanish even in vanilla chunks. Users with a verified working Iris/DH bridge can turn the DH shadow pass back on and then use `DH_SHADOW_RANGE`.
### 🎯 TAA — Sky Temporal Resolve & Material Reactive Mask
* **Sky temporal resolve (`SKY_TEMPORAL`)** — sky pixels have no stable world position, so history is reprojected with **camera rotation only** (no translation). Gradient-sky history weight is lower (0.28) than Physical (0.46) so clouds/aurora/meteors do not smear.
* **Material reactive mask** — water (`0.8`), foliage (`0.62`) and emissive/lava (`< 0.5`) cut history weight by 46% / 30% / 58%. Without a per-object velocity buffer this is what stops waving leaves and water from ghosting after TAA.
### 🌊 Gerstner Water Spectrum
* Replaces the v1.1.3 value-noise / fBm central-difference normal in `final.fsh`. That field was mathematically stable but read as high-frequency random glitter.
* A 4-direction travelling swell (dominant wind + cross swell + two low-amplitude ripples) produces **analytic slopes** and a calmer default surface. Amplitude is clamped to `±0.22`.
* Near-water vertex swell is slightly reduced (`0.04/0.02 → 0.032/0.016`) so the geometric mesh matches the new reflection spectrum.
* Dead Voronoi lava-height helpers removed from `gbuffers_water`, `gbuffers_terrain_translucent` and `gbuffers_terrain` (lava stays texture-driven).
### ✨ Half-Resolution, Skippable HDR Bloom
* New master **`BLOOM`** toggle. VERY_LOW / LOW skip the entire 5-pass chain via `program.composite3–7.enabled=BLOOM` (Iris/OptiFine do not even dispatch the programs).
* **`colortex3`/`colortex4` are half-resolution** (`size.buffer = 0.5 0.5`). Gaussian strides are doubled so the world-space radius stays the same; `final.fsh` linearly upsamples the glow.
* `TAA` similarly gates `composite1`/`composite2`, so lighter profiles no longer pay for unused fullscreen passes.
### 🌌 Aurora Quality
* New **`AURORA_QUALITY`** — *Soft 8 / Balanced 12 / Silky 18* raymarch steps, with a centred globally-animated ray start (the previous per-pixel hash grain is gone).
### 🎚️ Profile Rebalance (v1.1.4)
| Profile | Shadows | DH receivers | TAA | Bloom | Sky temporal |
| --- | --- | --- | --- | --- | --- |
| VERY_LOW / LOW | ❌ 512 / 60 m | Seam | ❌ | ❌ | ❌ |
| MED | ✅ 1024 / **192 m** Balanced | Seam | ❌ | ✅ Balanced | ❌ |
| HIGH | ✅ 2048 / **512 m** Balanced | Extended | ✅ | ✅ Balanced | ✅ |
| ULTRA | ✅ 4096 / **512 m** Aggressive | Extended | ✅ | ✅ Balanced | ✅ |
| EXTREME | ✅ 8192 / **768 m** Aggressive | Far | ✅ | ✅ Strong | ✅ |
Camera jitter remains **off by default in every profile**.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }