refactor(alg.rightAnglePath): consolidate duplicate code into helpers - #3472
Merged
kumilingus merged 6 commits intoAug 20, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Refactors alg.rightAnglePath in @joint/core to reduce duplication by extracting repeated route-construction logic into dedicated helper functions, aiming to improve readability and maintainability of the orthogonal routing algorithm.
Changes:
- Introduced helper functions to build common route point patterns (S-shapes, same-side routes, side-to-side routes, and midpoint fallbacks).
- Replaced multiple duplicated inline point-construction blocks in
rightAnglePath()with calls to these helpers. - Centralized edge-case handling for intersecting source/target boxes into shared helpers.
Suppressed comments (1)
packages/joint-core/src/alg/rightAnglePath.mjs:259
- The comment is incomplete (ends with “and”), which makes the intent of this edge-case handling unclear.
// This is an edge case when the source and target intersect and
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
kumilingus
approved these changes
Aug 20, 2026
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.
Description
Refactors duplicate logic inside
alg.rightAnglePathby introducing helper functions.Motivation and Context
Duplicate code is hard to maintain since it is easy to overlook places where a bugfix should be applied. This is a conservative refactor with a focus on readability which consolidates blocks of duplicate logic without trying to introduce additional abstractions.
That is why functions were introduced for pairs / fours of separate source-target direction combinations instead of trying to introduce more abstracted methods that would combine cases more aggressively at the cost of hurting reader comprehension (e.g. by designating a single combination like top->left as the "canonical" one and treating others as rotations of it.