Map fixme markers: light blue when object is a relation member#960
Open
tordans wants to merge 1 commit into
Open
Map fixme markers: light blue when object is a relation member#960tordans wants to merge 1 commit into
tordans wants to merge 1 commit into
Conversation
Relation-bound fixmes use the same RGB as relation member highlighting in EditorMapLayer so mappers can distinguish them from actionable fixmes. Co-authored-by: Tobias <t@tobiasjordans.de>
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.
Problem
Selecting a relation on the map highlights its member ways (and other members) in a distinctive light blue (
EditorMapLayerusesrelationColor, RGB 66/188/244). Separately, objects tagged withfixme=*get a small “F” map marker (FixmeMarkerviaMapMarkerDatabase).Today, relation member highlighting and fixme markers are unrelated visually. Every fixme badge uses the same generic blue button styling from
MapMarker.makeButton(), whether the tagged object stands alone or belongs to one or more relations.Problem: Fixmes on relation members are often not something mappers can resolve inside Go Map (they may require external tools, relation-level edits, or context the app does not expose). When scanning the map, those markers look the same as fixmes on ordinary nodes and ways, so they add noise without signaling “this is relation-scoped / probably not actionable here.”
Desired behavior: When a
fixme=*marker is placed on an object that is a member of at least one relation, tint the marker with the same light blue as relation member highlighting—not the default fixme blue. Fixmes on non-relation objects keep today’s styling.Why: Gives an at-a-glance visual filter: relation-bound fixmes read as a distinct category, so mappers can mentally (or eventually via marker filters) de-emphasize them while focusing on fixmes they can actually address in the editor.
Implementation notes (by Cursor)
cursor/fixme-relation-member-color-6fc2src/Shared/MapMarkers/FixmeMarker.swiftFixmeMarkerchecksobject.parentRelations.isEmpty. If the object has at least one parent relation (viaOsmMapData’s parent-relation cache, same source used elsewhere in the app), the button background uses light blueUIColor(red: 66/255, green: 188/255, blue: 244/255, alpha: 1)—matchingrelationColorinEditorMapLayer. Otherwise it keeps the default.bluefromMapMarker.makeButton().makeButton()(first display) andreuseButtonFrom(_:)(region refresh / marker refresh) so existing buttons pick up the correct color when relations load or membership changes.Testing notes (@tordans)
Test Location: https://www.openstreetmap.org/way/1105973680
fixme=*and no parent relations → F marker should remain default blue.fixme=*→ F marker should be light blue (same hue as selected-relation member highlighting).fixme=*→ still light blue.relation-fixme-before.min.mov
relation-fixme-after.min.mov