Conversation
… on spurs in general and has only confused users
|
Some thoughts:
|
|
I think that the snappable points staying visible after your first return to snapped pathfinding seems weird to me, which seems to be the behaviour: I would expect them to show, by default, only on unsnapped -> snapped transitions. Also I probably just have too many tabs open but when they first render my app was freezing up for a decent chunk of time (multiple seconds) surprisingly. |
| } | ||
| if (snapped) { | ||
| $showAllNodes = true; | ||
| // TODO Not sure why, but this isn't triggering the reactive statement above |
There was a problem hiding this comment.
is it to do with it being a pointer effectively? is the reactive statement listening to the store itself rather than what's stored inside of it?
Pete-Y-CS
left a comment
There was a problem hiding this comment.
I'm not sure what behaviour we want but the code looks fine to me
|
|
||
| // Show snappable nodes when going from freehand to snapped | ||
| let first = true; | ||
| function freeToSnapped(snapped: boolean) { |
There was a problem hiding this comment.
My expectation of this would work is that we would somehow listen to when the first snapped node is placed, when that happens switch showAllNodes off.
Also I would expect when snapped is false here we'd set $showAllNodes to false.
Assuming this is desired behaviour, though, the code looks fine.
It's not just your computer, this will be expected in larger areas. There's not an easy way to speed things up beyond the current point. If we switched to web workers (multi-threading), we could make this async, so the tool wouldn't freeze up, but it would still take a few seconds for the nodes to appear the first time. That switch is complicated; if we decide it's necessary, I would make that switch separately from this PR. (And it'll have other UX implications, because every action the user takes will become decoupled from the effect by a slight time lag.)
OK, it's sounding like what we want is:
Does that sound good? |
This sounds like the best way to me |
Demo: https://acteng.github.io/atip/show_snappables/scheme.html?authority=TA_North+Yorkshire
Screencast from 11-09-24 15:59:54.webm
Some users have been confused when trying to snap to long roads without any snappable nodes. Also when changing from a freehand route to a snapped route, it's not always clear the user needs to pick a snapped node to resume. This PR styles all snappable nodes to show this more clearly. It's controllable manually, and automatically enabled when switching from freehand to snapped.
Also, the "avoid doubling back" option is removed from the controls. It's never really useful and only confusing.
Questions / concerns: