Repository navigation
Rebuild saved component relation indexes with their target entities - #57
Merged
HexDecimal merged 2 commits intoOct 13, 2026
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #57 +/- ##
=======================================
Coverage 99.15% 99.15%
=======================================
Files 9 9
Lines 949 949
=======================================
Hits 941 941
Misses 8 8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Owner
|
This was a critical fix. I've added this to the changelog myself. I'll likely make a new release soon. |
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.
Loading a registry preserves component relation values but rebuilds their specific-target query index with the origin in place of the target:
The current output is
['moon'],[],['moon']. It should be['moon'],['moon'],[]: loading creates neither a missing planet relation nor a self-relation.Use
targetin_relations_lookup_from, matching_relations_lookup_add. This changes a derived lookup table, without changing the stored relation data or save format.Regressions cover ordinary/named component keys, pickle protocols 2/4/5, specific and wildcard forward/reverse queries, the spurious self-match and unchanged tag relations. In 54 native saved orbital-scene configurations, all 2,934 incorrect specific-target query results are corrected. Every query matches its pre-save result; component values, reverse/tag controls and serialized byte hashes remain unchanged. The full pytest/doctest suite, mypy and project-pinned Ruff checks pass. Existing xpasses and the pytest parametrization warning are also present on main.