-
Notifications
You must be signed in to change notification settings - Fork 1
Introduce crossing=no and crossing=informal for QA
#36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- `is_crossing` now includes all `crossing=*`, including "informal" - `is_explicit_crossing_no` (new) handles `crossing=no` - on the QA map, `crossing=no` are purple circles - …they are part of the count of crossings on a junction - A junction is "green" when the sum of crossings and `crossing=no` are the same as edges - The UI shows the crossings and `crossing=no` in the sentence
fd1e1b1 to
75f1d1f
Compare
dabreegster
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! These changes look great, I made a few code style tweaks and one logic addition
backend/src/audit.rs
Outdated
| f.set_property("arms", GeoJson::from(debug_arms)); | ||
| f.set_property("crossings", GeoJson::from(debug_crossings)); | ||
| f.set_property("explicit_non_crossings", GeoJson::from(debug_explicit_non_crossings)); | ||
| f.set_property("crossing_count", crossing_count); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The count properties are redundant with the debug info, bit simpler to not duplicate info
| } | ||
| if node.is_crossing() { | ||
| crossings.insert(*n); | ||
| // Stop iterating along this edge when we hit the first crossing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| {crossingCount} crossing{#if crossingCount !== 1}s{/if} | ||
| {#if explicitNonCrossingCount > 0}, {explicitNonCrossingCount} explicit non-crossing{#if explicitNonCrossingCount !== 1}s{/if}{/if} | ||
| {crossingCount} | ||
| {crossingCount == 1 ? "crossing" : "crossings"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thought this would make this more legible, but with the autoformatting, it really doesn't 😅
| tags?: Record<string, string>; | ||
| is_crossing: boolean; | ||
| is_explicit_crossing_no?: boolean; | ||
| is_explicit_crossing_no: boolean; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The property is always set, so no ?

Following #14 (comment), this PR changes the QA for crossings to include more crossing cases:
is_crossingnow includes allcrossing=*, including "informal"is_explicit_crossing_no(new) handlescrossing=nocrossing=noare purple circlescrossing=noare the same as edgescrossing=noin the sentenceScreenshots:


green with two
crossing=noPlease consider this PR more of a proof of concept. I don't know anything about rust and this was LLM guided. Feel free to close it …