@g1cloud/bpmn-modeler-next 5.0.0-beta.87 → 5.0.0-beta.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -120,6 +120,21 @@ export declare function planEdgeRepair(edge: GeometryEdge, targets: readonly Geo
120
120
  width: number;
121
121
  height: number;
122
122
  }, others?: readonly GeometryEdge[]): GeometryPoint[] | null;
123
+ /**
124
+ * ── B-198. 관통 우회의 줄기를 같은 목표 형제 줄기에 맞춘다(순수) ──
125
+ *
126
+ * 관통 보정이 고른 4점 경로(h-v-h · v-h-v)의 줄기는 막는 것의 변 ± `DETOUR_MARGIN` 이라, 같은 목표의 같은 도킹점으로 드는
127
+ * 형제 선(bpmn-js 기본 중점)과 20 떨어져 평행하고 **합류점이 둘**이 된다(외부 BSP 문서 9 · 검토자 *"다른 선들과 동일한
128
+ * 지점에서 합류해야 보기가 편할 것 같아"*). 어느 후보 생성기도 형제 줄기를 내지 않는다(N22 — 3점 · 병합 우회 · 왼쪽 이동은 관통).
129
+ *
130
+ * 🔴 **사람은 이 꼴을 안 만든다** — 같은 진입선 짝의 합류점 간격 0 < Δ ≤ 60 이 사람 0/188(레거시 161 · 실무 26 문서)이고
131
+ * 사람은 줄기를 공유하거나(Δ 0) 멀리 합류한다(> 100). 그래서 **가까울 때만** 맞춘다 — 먼 합류는 사람에게도 정상이다.
132
+ * 채택 = 관통 0 · 판독 불가 겹침 · 교차 비증가 · 형제 라벨이 새 공유 구간에 앉지 않는다.
133
+ * ⚠ **자기 라벨이 있는 선은 맞추지 않는다** — 경로가 바뀌면 bpmn-js 가 라벨을 옮겨 그 자리를 미리 알 수 없다(코퍼스 0).
134
+ *
135
+ * `null` = 맞출 형제가 없다.
136
+ */
137
+ export declare function snapToSiblingTrunk(edge: GeometryEdge, points: readonly GeometryPoint[], edges: readonly GeometryEdge[], targets: readonly GeometryShape[]): GeometryPoint[] | null;
123
138
  /**
124
139
  * 이 배치가 **새로 만든** 관통을 고친다(하강 직후, undo 에피소드 안에서 호출된다).
125
140
  *
@@ -266,6 +281,19 @@ export declare function nearPassCount(pts: readonly GeometryPoint[], shapes: rea
266
281
  * 같은 레인 안에서 되돌아가는 간선(r2 `Flow_o14`)은 A2 채널이 경계에서 멀어 발동하지 않는다. 없으면 `null`.
267
282
  */
268
283
  export declare function planBackEdgeBoundaryClearance(edge: GeometryEdge, scene: GeometryScene): GeometryPoint[] | null;
284
+ /**
285
+ * ── B-202. 다른 행으로 가는 갈래가 곧은 형제 갈래의 출구를 함께 쓰는가(순수) ──
286
+ *
287
+ * 게이트웨이의 위 · 아래 갈래가 주 갈래(곧은 2점)와 **같은 꼭짓점에서 같은 방향**으로 나가 첫 구간을 공유한 뒤 꺾이면,
288
+ * 라벨을 각 고유 구간으로 갈라도(B-15 ⓐ) 어느 선이 어디로 가는지 *"내용을 봐야"* 안다(외부 BSP 문서 15 검토자).
289
+ * 🔴 **사람은 이 꼴을 안 만든다** — 곧은 주 갈래 + 다른 행 갈래 짝에서 둘째 갈래가 주 갈래 출구를 공유하는 것은 사람
290
+ * **1/380**(레거시 161 · 실무 26 문서)이고 나머지는 전부 그쪽 꼭짓점(윗면 · 아랫면)으로 나간다. 「같은 방향 팬아웃 겹침은
291
+ * 문제 아님」(B-14 ⓒ1 · B-15 ⓐ)은 이 짝에서 반증됐다 — 같은 쪽 갈래끼리(둘 다 위 · 둘 다 아래)의 공유는 사람도 흔하다(B-192).
292
+ *
293
+ * 판별 = 시퀀스 · 출발이 게이트웨이 · `points` 의 첫 구간이 같은 출발의 곧은 2점 형제 시퀀스와 같은 점 · 같은 축 · 같은 방향.
294
+ * 반환 = 공유하는 형제 id · 없으면 `null`.
295
+ */
296
+ export declare function sharedSiblingExit(points: readonly GeometryPoint[], edge: GeometryEdge, scene: GeometryScene): string | null;
269
297
  /**
270
298
  * 배치가 만든 정방향 간선의 **불필요한 꺾임을 줄인다**(B-34 ⓑ) — bpmn-js 기본 맨해튼 라우팅은 출발 직후
271
299
  * 꺾어 목표 행으로 올라간 뒤 가로로 가는 4점을 낸다. 사람은 두 회차 연속(표본 30·31, 같은 간선 같은 변환)
@@ -294,6 +322,15 @@ export declare function planBackEdgeBoundaryClearance(edge: GeometryEdge, scene:
294
322
  * 직접 근거는 표본 89 하나이고 원본은 짝의 **대칭**을 지지할 뿐이다. 짝 판정은 신규 · 재배선 간선에 똑같이 건다
295
323
  * (한쪽만 걸면 🔁 add/update 경로 갈림이다). 우회가 아니면 순서는 그대로다 — 새 행의 흐름 머리로 들어가는 태스크 출발은
296
324
  * 사람 원본이 가로 → 세로 **63/68**(세로 → 가로 0)이다.
325
+ *
326
+ * ── B-202. **곧은 형제 갈래와 출구를 공유하는 후보는 끝으로 미룬다** ──
327
+ *
328
+ * 가로 → 세로 후보는 출발 오른쪽 면에서 나간다. 출발이 게이트웨이고 그 꼭짓점에서 곧은 형제 갈래가 이미 같은 방향으로
329
+ * 나가면 두 선이 첫 구간을 공유한다(`sharedSiblingExit`) — 판독 불가 겹침은 같은 방향 · 같은 출발을 합류로 빼서 게이트가
330
+ * 못 본다. 이 패스로 오는 그 4점은 시험 이동 되돌림의 잔여였다(`tryShiftGroups` 가 게이트웨이를 목표 밑으로 옮긴 순간 bpmn-js 가
331
+ * 목표 아랫면으로 다시 깔고 되돌림은 도형만 돌린다 — 🔁 B-123 · N22). 공유 후보는 **지우지 않는다** — 다른 후보가 다 막히면
332
+ * 종전대로 쓴다. ⚠ 반대 중첩 보정(`planOppositeOverlapRepair`)에는 넣지 않았다 — 그쪽 실례(주문 이행 fixture)는 후보가 전부
333
+ * 오른 꼭짓점 출발이라 순서로는 못 피하고 코퍼스 효과가 0 이었다(시제품).
297
334
  */
298
335
  export declare function repairIntroducedDetours(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeEdgeIds: ReadonlySet<string>, reroutedEdgeIds: ReadonlySet<string>,
299
336
  /** B-223 — 이 배치 전 도형(뒤늦은 U 의 자기 라벨 비킴 판정). */