Fix planet-marker desync on orbit rescale and preset-collision UI bug#4
Merged
Merged
Conversation
- Configurations screen: rebuilding the ModelViewTransform2 on axis change replaced the object outright, so the planet markers and elongation indicator (which captured the old transform in a closure at construction) silently kept rendering at the previous scale while the orbit circles resized correctly. Now mutate the transform's matrix in place and explicitly resync the dependent nodes. - ConfigurationsModel.applyPreset now reports success/failure instead of always committing the preset index; the control panel reverts a preset combo box when both planets would land on the same orbit (previously the combo box showed the newly picked planet while the semimajor axis silently stayed unchanged). - ConfigurationsTimeline: guard the drag handler against a zero/negative synodic period the same way the render loop already does. - ConfigurationsTimeReadout: bind Text directly to the model Property instead of a redundant manual link. - Removed two non-null assertions in the zodiac strip label loops by iterating with forEach instead of indexing. Verified in-browser: reverting the fix and dragging the target planet's semimajor-axis slider reproduces the marker staying frozen at the old orbit distance; with the fix, both planets track their resized orbits correctly, including while playing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qTbZeFneh9h3njJEhTUSQ
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.
change replaced the object outright, so the planet markers and
elongation indicator (which captured the old transform in a closure
at construction) silently kept rendering at the previous scale while
the orbit circles resized correctly. Now mutate the transform's
matrix in place and explicitly resync the dependent nodes.
of always committing the preset index; the control panel reverts a
preset combo box when both planets would land on the same orbit
(previously the combo box showed the newly picked planet while the
semimajor axis silently stayed unchanged).
synodic period the same way the render loop already does.
instead of a redundant manual link.
iterating with forEach instead of indexing.
Verified in-browser: reverting the fix and dragging the target
planet's semimajor-axis slider reproduces the marker staying frozen at
the old orbit distance; with the fix, both planets track their resized
orbits correctly, including while playing.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_018qTbZeFneh9h3njJEhTUSQ