Skip to content

Restore Sun-directed lighting as Saturn's default - #123

Merged
Protonmatter merged 1 commit into
masterfrom
fix/shared-sun-light-20260928
Sep 28, 2026
Merged

Protonmatter merged 1 commit into
masterfrom
fix/shared-sun-light-20260928

Conversation

@Protonmatter

Copy link
Copy Markdown
Owner

Outcome

Saturn's default camera-relative inspection light hid much of its night side and ring-shadow structure and disabled Sun-derived moon-transit shadows. Fresh sessions now use Sun-directed lighting for Saturn and its rings, consistent with its moons. Orbiting the camera leaves the light and shadow geometry fixed relative to the modeled Sun.

The recovered Saturn texture and color response remain unchanged. Look Lab remains an explicit inspection option. This follows the Saturn appearance work in #122.

Specification and traceability

  • Requirements: SOL-VIS-008.
  • RFC: docs/rfcs/0007-illustrative-planet-looks.md, updated for the Sun-directed default.
  • ADR: Not required; uses the existing lighting path.
  • Governing specification: docs/SPEC.md, illustrative appearance and lighting contract.
  • Non-goals: new texture imagery, shader retuning, orbital changes, additional lights, or release-policy changes.

Correctness and risk

  • Inputs, outputs, and failure behavior: changes the initial lighting mode and selector. Existing texture loading/fallback and explicit inspection behavior remain intact.
  • Compatibility or migration: no data/config migration or public API changes. A fresh session defaults to sunlight; Look Lab stays selectable.
  • Scientific/accuracy/provenance impact: retains modeled Sun directions, physical moon offsets and existing transit geometry. Artistic texture colors and shading remain illustrative; an unlit pole stays dark. No new accuracy qualification is claimed.
  • Privacy/security/dependency impact: none; no dependencies, telemetry, or new network requests.
  • Release risk, monitoring, and rollback: low implementation risk, with an intentional appearance change. Check the fresh-session default, ring shading and camera independence. Revert this commit to restore the prior default. Publication still requires the normal master CI and Pages workflow.

UI and UX

  • Primary task and disclosure-level impact: the Saturn body card shows Sun-directed · default; inspection lighting is explicitly labeled and its suppressed moon shadows are disclosed.
  • Keyboard, focus, touch/pointer, responsive, and reduced-motion evidence: local Chromium/Adreno GPU preview exercised keyboard zoom/orbit and the lighting selector with time paused. Mobile/Safari, touch and additional responsive/reduced-motion qualification were not repeated.
  • Loading, empty, success, degraded, unavailable, and error states: existing behavior is preserved; runtime tests retain pending-map, disabled-texture and Source-qualified checks.
  • Manual usability/accessibility checks: selector default and help verified in the staged app; UI contract validator passed.

Validation evidence

  • Unit tests cover positive, boundary, and negative cases where applicable.
  • Contract/integration tests cover producer-consumer boundaries where applicable.
  • Full browser end-to-end and visual assertion suite: pending hosted CI; focused native-GPU checks passed locally.
  • Deterministic lighting/transit regression passed; numerical generators are unchanged.
  • Rust, Python, Node, and whole-web coverage gates: pending hosted CI for this revision.
  • Remaining checks and qualification limits are identified.

Commands and results:

npm test                                      1,378 passed
python tools/typecheck_web.py                  122 files passed
python tools/validate_sdlc.py                  passed
python tools/validate_docs.py                  passed
python tools/validate_ux_contract.py           passed
python tools/validate_release_manifest.py build/site-shared-sun-1/web-release-manifest.json
                                              passed for the local staged candidate
git diff --check                              passed

The new runtime regression failed against the old default, then passed after the change. It verifies globe/ring solar direction, physical-position lighting for Tethys and Titan, camera independence, a synthetic Tethys transit, and inspection-mode round trips.

Focused staged-browser verification on the local Adreno GPU confirmed identical globe/ring light uniforms before and after camera orbit, preserved epoch/positions, one submitted modeled moon shadow, and no GL errors. All five existing Saturn material fixtures matched their expected RGB values. The Saturn JPEG checksum is unchanged. These checks are local evidence, not hosted CI or deployment proof.

Documentation

  • README and contributor instructions remain accurate; README updated, contributor workflow unchanged.
  • Specification and RFC updated; no new requirement, ADR or implementation plan is needed.
  • Operational workflow, readiness and release policy are unchanged.
  • User-visible claims and help match implemented behavior.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-28T19:27:10.154450Z f43fdbe PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Protonmatter
Protonmatter merged commit cd5dbb7 into master Sep 28, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant