diff --git a/docs/ISSUES.md b/docs/ISSUES.md index bc39ced..b7eee93 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -272,29 +272,6 @@ missing is the plugin-API surface. --- -## #27 — Cloud meshes appear missing or faint compared to retail - -**Status:** OPEN -**Severity:** LOW (aesthetic feature-parity — doesn't break gameplay) -**Filed:** 2026-04-26 -**Component:** sky / clouds - -**Description:** After fixing Bug B (#26 — stars-as-square), the user observed during visual verification that cloud coverage in the sky doesn't match retail. Cloud meshes are authored in the dat (e.g. `0x010015B6`, `0x01004C35`-`0x01004C38`, `0x01004C36` etc) and `tools/StarsProbe` confirms they're loaded into the SkyObject lists with non-zero TexVelocity (so they get GL_REPEAT correctly under the post-#26 code path). They're not strictly missing — they're rendered — but their visual presence falls short of retail. - -**Root cause / status:** Unknown. Hypotheses: (a) cloud surfaces' alpha/blend mode is too subtle (cloud surface flags or shader path under-emphasise the texture); (b) cloud meshes positioned/scaled wrong relative to the dome so they're inside the dome and occluded; (c) DayGroup keyframe interpolation suppresses cloud transparency at certain times of day; (d) some cloud SkyObjects we should be rendering are filtered out by a Properties bit we mis-handle (Props=0x02 might mean something more than "cloud — render it"); (e) retail uses an additive cloud blend that our Translucency classifier doesn't apply. - -**Files:** -- `src/AcDream.App/Rendering/Sky/SkyRenderer.cs` — sky pass; check per-cloud blend / luminosity / transparency. -- `src/AcDream.Core/World/SkyDescLoader.cs` — Properties bit decoding. -- `src/AcDream.App/Rendering/Shaders/sky.frag` — cloud transparency math. -- `tools/StarsProbe/` — already dumps cloud GfxObj UVs + bounds; extend to dump per-DayGroup cloud surface flags. - -**Research:** None yet. `tools/StarsProbe` output already enumerates which DayGroups reference which cloud meshes — start there. - -**Acceptance:** Side-by-side launch of acdream and a retail client at the same `ACDREAM_DAY_GROUP` shows visually-comparable cloud coverage in the sky. - ---- - ## #28 — Aurora ("northern lights") effect not rendered **Status:** OPEN @@ -318,6 +295,14 @@ missing is the plugin-API surface. # Recently closed +## #27 — [DONE 2026-04-26] Cloud meshes appeared missing or faint vs retail + +**Closed:** 2026-04-26 +**Commit:** `4678b3e fix(sky): apply per-Surface Translucency + Luminosity for retail-faithful weather` +**Resolution:** Resolved as a side-effect of the Bug A fix. The original observation came from a session where every sky mesh got `effEmissive = 1.0` (saturated `vTint` to white), which made stars/clouds look full-bright instead of time-of-day-tinted. Fix 2 corrected the emissive default to `sub.SurfLuminosity` so cloud surfaces (Lum=0.0) now run through the ambient+diffuse vertex-lit path and pick up keyframe tint. Fix 1 separately plumbed `surface.Translucency` to the shader, picking up the 0.25 translucency on cloud surface `0x08000023` (75% opacity). Visual verification under Phase 0 of the followup plan: clouds and colors now match retail at LCG-picked DayGroups across the day cycle. + +--- + ## #1 — [DONE 2026-04-26] Rain falls only to horizon, not to the player's feet **Closed:** 2026-04-26