[feat]: Manhattan router should support ports inside the element's body.
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 5.4k
- Forks
- 893
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 26
Description
Current versus expected behaviour
[!NOTE]
This is a follow up from https://github.com/clientIO/joint/discussions/2738#discussioncomment-10737651
Hi @kumilingus !
I've been playing around with the code you gave me in the manhattan-router discussion the other day and I saw something that I thought is worth mentioning. Certain situations lead to the manhattan router creating extra vertices:
I'm aware that this might be (¿?) caused by the step option and because of the way collisions are detected (¿?), which is fine, but if I set the step value to 1 (actually any value below 7), manhattan just stops avoiding any obstacles at all.
I tried debugging the code and re-reading all the docs, and I believe there is a correlation between step and gridSize, but setting the later to the same value doesn't fix the problem.
Why isn't manhattan avoiding obstacles when step < 7 ?
Steps to reproduce
- Go to https://codesandbox.io/p/sandbox/runtime-dream-8ffcy9
- Change
stepto any value below7 - Move the cells and check if the link is avoiding the cells
Version
4.0.4
What browsers are you seeing the problem on?
Chrome, Safari
What operating system are you seeing the problem on?
Mac
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked CodeSandbox reproduction and test the Manhattan router with step values below 7, then compare the behavior with the reported gridSize relationship. Done means the router continues avoiding moved cells at those step values in Chrome and Safari; no source file or test is named in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100