Repository navigation
A pick made on the map reaches the estimate, and one prefix means one observer - #131
Merged
Merged
Conversation
Switching which node represents a prefix in "Resolve on map" only ticked a checkbox in the Step 2 list. On most windows that panel is off-screen from the map, so "Done resolving" ended the mode with the pick stranded in a list the operator could not see, and the map redrew from applied state — back on the old pick, reading as if the click had not registered. Leaving the mode is the operator saying the picks are final, so it now applies them. applyClusterEditor() is pulled out of the button handler and used by both "Apply Inside Locked Cluster" and "Done resolving", keeping the one apply path #33 asked for: weights carry over, nothing reimplements the read. Only that button applies. switchToRegion() and syncControlStates() drop manual mode too, but they are abandoning the locked cluster, and applying on the way out would write picks into a region the operator just left. Closes #129 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…e carrying it The Step 2 list holds every candidate a prefix resolved to, so matching on the prefix and ticking each row activated both nodes of an ambiguous prefix at once. A single prefix then contributed twice, from positions that can be tens of km apart, and pulled the estimate to somewhere between them — silently. It also ticked proven-link support nodes, which are range-only and never represent a prefix. Add now picks one node per prefix: the one dedupeByPrefix() kept, a support node only as a last resort, and it says when there was more than one candidate rather than presenting the choice as settled (#85). Swapping the pick stays in "Resolve on map", where the geometry is visible. A prefix the operator already has active is left alone. Closes #130 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Two things that both let a Step 2 decision go somewhere other than where the operator thought it went.
Finishing on the map applies what you picked (#129)
Switching which node represents a prefix in "Resolve on map" only ticked a checkbox in the Step 2 list. That panel is off-screen from the map on most windows, so Done resolving ended the mode with the pick stranded in a list the operator could not see, and the map redrew from applied state — back on the old pick, reading as if the click had not registered.
Leaving the mode now applies.
applyClusterEditor()is pulled out of the button handler and used by both Apply Inside Locked Cluster and Done resolving, which keeps the single apply path #33 asked for: weights carry over, nothing reimplements the read.Only that button applies.
switchToRegion()andsyncControlStates()drop manual mode too, but they are abandoning the locked cluster, and applying on the way out would write picks into a region the operator just left.Adding a prefix adds one observer (#130)
The Step 2 list holds every candidate a prefix resolved to, so matching on the prefix and ticking each row activated both nodes of an ambiguous prefix at once. A single prefix then contributed twice, from positions that can be tens of km apart, and pulled the estimate to somewhere between them — silently. It also ticked proven-link support nodes, which are range-only and never represent a prefix.
Add now picks one node per prefix: the one
dedupeByPrefix()kept, a support node only as a last resort, and it says when there was more than one candidate rather than presenting the choice as settled (#85). Swapping stays in "Resolve on map", where the geometry is visible. A prefix the operator already has active is left alone.Verified
Driven against the running page with a rebuilt locked cluster: prefix
2Con two nodes 40 km apart, plus a support node.aaa, bbb→aaa, ccc, status "Locked cluster updated with 2 active observers"aaa:0.4appliedaaa:2.5)2C, two candidates, none activebbbadded, status names the 2 candidates2Cwhile the operator pickedccc7A)Changelog entry for each, per AGENTS.md §7.
Closes #129
Closes #130
🤖 Generated with Claude Code