feat: 3D cockpit challenge camera + landing-point reticle (v0.6.14.0)#60
Open
kenlacroix wants to merge 3 commits into
Open
feat: 3D cockpit challenge camera + landing-point reticle (v0.6.14.0)#60kenlacroix wants to merge 3 commits into
kenlacroix wants to merge 3 commits into
Conversation
Adds a first-person cockpit view as the 4th C-cycle camera in the 3D renderer. Since you can't see your own attitude from inside (and 3D foreshortening already makes precision landing hard), it ships with a ballistic landing-point designator: a ground reticle showing where you'll touch down if thrust is cut, green over a pad and amber off it. LM hidden, camera rolls with the craft. New optional IGameplayRenderer.setEffectiveGravity feeds per-world gravity so the prediction is correct on alt-gravity worlds. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deploying moonlander-enhanced with
|
| Latest commit: |
56daa31
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://986e7558.moonlander-enhanced.pages.dev |
| Branch Preview URL: | https://feat-cockpit-camera.moonlander-enhanced.pages.dev |
Polish on the v0.6.14.0 cockpit camera. A camera-fixed porthole vignette frames the first-person view, and a synthetic attitude indicator at bottom-center shows roll directly: a horizon bar counter-rotates against a fixed craft reference that reddens past the 10-degree landing-angle gate. Both are cockpit-only and need a live WebGL context (not jsdom-testable); verified in-browser on ?renderer=3d. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Owner
Author
Follow-up: v0.6.15.0 — cockpit polishAdded the two follow-ups flagged in the v0.6.14.0 CHANGELOG note, addressing the "you can't see your own attitude from inside" tension:
Verified in-browser on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A first-person cockpit view for 3D mode — the 4th angle in the
Ccycle (chase → orbital → low → cockpit). Deliberately a challenge camera, not the default: from inside the lander you can't see your own attitude, and 3D foreshortening already makes precision landing harder. So it ships with the thing that makes it landable.The skill aid: Landing-Point Designator
A world-space ground reticle showing where you'll touch down if you cut thrust now — ballistic projection from current position + velocity under gravity, refined against the terrain height at the predicted spot. The ring is green over a pad, amber off it. Fly by steering the marker onto the pad. (Apollo had the same idea — the LPD grid in the LM window.)
Details
IGameplayRenderer.setEffectiveGravity?(g)— optional;GamefeedsgravityPreset.gameGravityso the LPD predicts correctly on alt-gravity worlds (Europa/Titan/sandbox). Canvas/WebGL omit it.Verification
tsc+ biome clean (new/edited files) ·vite buildsucceeds · 602/602 tests pass.?renderer=3d→ pressCto reach cockpit; check the LPD tracks and recolors over pads.Follow-up polish (deferred, in TODOS)
Window-frame vignette and a synthetic attitude indicator (roll currently reads from the world tilting).
🤖 Generated with Claude Code