Answer the review: direction settles distance, brightness is one-sided, and a lost id stops the scene

Three findings from the adversarial review of the merge, all reproduced.

The distance test was hiding 1 489 stars that sit under an arcsecond from
their Gaia entry with a Hipparcos parallax off by half — thirty of them at a
false few parsecs from the Sun (HIP 82724 at 3.7 pc, where Gaia has it at
62.8) — and the first audit did not see them because it counted residual
doubles through the same 50 % filter. Under three arcseconds the distances
are now not consulted: a coincidence of direction that close is never chance
at this depth (the quarter-degree shift finds none), and the parallax is the
thing to fix. Brightness keeps its say at any separation, and is now
one-sided: a folded entry may be five magnitudes fainter (a red dwarf in V
against G) but not one brighter, because an entry a magnitude brighter than
what is already at that spot is a primary Gaia does not carry — Almach,
Alfirk and Ashlesha had all been folded into their companions' entries,
93 in all. The sky grid wraps at 0h.

The Gaia query orders by source_id after G, so the row order — and the ids
assigned from it — is a function of the archive's content rather than of the
server's plan for 20 064 ties; the cache key is a hash of the query.

And a bookmark to a star id the catalogue no longer holds — 56 000 Gaia ids
change with this — sent the scene through reconcileSelection, enterSystem,
its decline, finishTransition and reconcileSelection again until the stack
overflowed. The selection is cleared instead, at the one place every path
goes through.

Regenerated: 423 641 stars, 57 512 HYG identities on Gaia positions, no HYG
id or name lost, no star within 20 pc left with an unclaimed Gaia entry under
an arcsecond. 403 HYG survivors still have an unclaimed Gaia entry within
60": 13 under an arcsecond, where the brightness guard does not trust HYG's
magnitude, and the rest components 3" to 60" from their counterpart.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QL6F9Bgfh8SgAiAAcPB9Hw
This commit is contained in:
2026-08-28 21:20:45 +02:00
co-authored by Claude Fable 5
parent 08534279fb
commit dc2ce08694
10 changed files with 116 additions and 31 deletions
@@ -1391,6 +1391,15 @@ export class GalaxySystemSceneComponent implements AfterViewInit, OnDestroy {
if (this.busy || selectedStarId === this.currentStarId) {
return;
}
// An id the catalogue no longer holds — a bookmark to a Gaia row that a refresh renumbered
// or folded into a named star — has nowhere to fly to. It is cleared here rather than left
// to `enterSystem` to decline, because declining completes the transition, and completing
// re-reads the same id: the two would call each other until the stack ran out.
if (selectedStarId !== null && !this.starsById.has(selectedStarId)) {
this.navigationStore.selectStar(null);
return;
}
this.busy = true;
if (selectedStarId === null) {