// 직각 배선. 두 점을 가운데 x 에서 세로로 꺾는 Z 경로로 잇고 SVG points 문자열로 냅니다.
// 입력은 시작점과 끝점이고 출력은 "x,y x,y ..." 네 점 문자열입니다.
// 같은 두 점이면 늘 같은 경로가 나옵니다. 모든 선분은 가로나 세로입니다.
// 노드를 피해 돌아가지 않습니다.
// Orthogonal routing: a Z-shaped polyline between two points as an SVG points string.

export type 점 = { x: int, y: int }

export function 직각경로(시작: 점, 끝: 점) -> string {
  let 가운데x = (시작.x + 끝.x) / 2
  [시작, { x: 가운데x, y: 시작.y }, { x: 가운데x, y: 끝.y }, 끝].map(점값 => "{점값.x},{점값.y}").join(" ")
}
