feat: Implement 'find path' tool for spatially indexed skeleton - #221
feat: Implement 'find path' tool for spatially indexed skeleton#221afonsobspinto wants to merge 13 commits into
Conversation
94920ec to
eecaff1
Compare
…r segmentation layer
|
Thanks for the PR! A few comments from trying it (will look at the code after):
|
| StatusMessage.showTemporaryMessage(message); | ||
| return; | ||
| } | ||
| const segmentId = Number(source.segmentId); |
There was a problem hiding this comment.
I'm aware we need to make the fix to uint64, but is it broken here if supported uint64. In other words I'm wondering is this just another aspect we need to fix later, or if it is possible to make this new part mostly uint64 ready now so it is less work later
There was a problem hiding this comment.
I'm not sure if you are expecting any changes here. Find Path state is already mostly uint64-ready: node and segment IDs are stored as bigInt, serialized as decimal strings, and restored with parseUint64.
But because the spatially indexed skeletons interfaces are not, yet, we need to convert the bigInts back to number here.
Once the broader spatial skeleton uint64 migration is complete, these conversions here can be removed.
…ation and bindings
|
Closes https://metacell.atlassian.net/browse/NGLANCERSU-12
Adds a datasource-owned Find Path tool for spatially indexed skeletons.
The tool lets users select two exact nodes in a visible skeleton and renders the shortest route between them as a white annotation polyline. It is intended primarily as a debugging aid for locating erroneous connections in merged neurons.
The interaction follows Graphene's Find Path tool where applicable:
Unlike Graphene, path calculation is performed locally using the complete skeleton topology already cached in the client.
Architecture overview
The implemented data flow is:
User-facing behavior