@g1cloud/bpmn-modeler-next 5.0.0-beta.102 → 5.0.0-beta.104

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.
@@ -578,6 +578,8 @@ export type GeometryFinding =
578
578
  };
579
579
  /** 발견을 전후 비교(배치가 새로 만든 것 가려내기)할 수 있게 하는 안정 키. */
580
580
  export declare function geometryFindingKey(finding: GeometryFinding): string;
581
+ /** 공선 중첩으로 세는 최소 겹침 길이 — 꺾임 자리에서 스치는 몇 px 는 겹침이 아니다. */
582
+ export declare const OVERLAP_MIN_LENGTH = 20;
581
583
  /**
582
584
  * 선이 그룹 테두리에 「붙어 흐른다」고 볼 거리(px, 이하) — B-73. N20 격자에서 배치가 만든 쌍의 고침이
583
585
  * **10.0**(표본 83)까지 전량이고 사람이 처음 남긴 것이 **20.0** 이라 그 사이 한가운데에 둔다.
@@ -298,6 +298,15 @@ export declare function planBackEdgeBoundaryClearance(edge: GeometryEdge, scene:
298
298
  * 반환 = 공유하는 형제 id · 없으면 `null`.
299
299
  */
300
300
  export declare function sharedSiblingExit(points: readonly GeometryPoint[], edge: GeometryEdge, scene: GeometryScene): string | null;
301
+ /**
302
+ * ── B-241. 후보 경로가 같은 목표의 되돌이 유입과 같은 입구를 **새로** 만드는가(순수) ──
303
+ *
304
+ * 판독 불가 겹침은 같은 방향 · 끝점 공유를 합류로 빼서(표본 4 · 7) 이 꼴을 못 본다. 🔴 **N20** — 같은 입구 공유율은 사람 ≈ 우리인데
305
+ * **되돌이가 낀 쌍만 사람 0/62 · 우리 6/54** 였다(레거시 185 + 실무 BR 16 · 다른 출신 분류는 전부 사람 ≈ 우리). 지금 경로가 이미
306
+ * 공유하면 이 후보가 만든 것이 아니다. 이 간선 자신이 되돌이면 대상이 아니다(정방향 선을 지키는 조건이다).
307
+ * 반환 = 공유하게 되는 되돌이 id · 없으면 `null`.
308
+ */
309
+ export declare function sharedBackEdgeInlet(points: readonly GeometryPoint[], edge: GeometryEdge, scene: GeometryScene): string | null;
301
310
  /**
302
311
  * 배치가 만든 정방향 간선의 **불필요한 꺾임을 줄인다**(B-34 ⓑ) — bpmn-js 기본 맨해튼 라우팅은 출발 직후
303
312
  * 꺾어 목표 행으로 올라간 뒤 가로로 가는 4점을 낸다. 사람은 두 회차 연속(표본 30·31, 같은 간선 같은 변환)
@@ -335,6 +344,13 @@ export declare function sharedSiblingExit(points: readonly GeometryPoint[], edge
335
344
  * 목표 아랫면으로 다시 깔고 되돌림은 도형만 돌린다 — 🔁 B-123 · N22). 공유 후보는 **지우지 않는다** — 다른 후보가 다 막히면
336
345
  * 종전대로 쓴다. ⚠ 반대 중첩 보정(`planOppositeOverlapRepair`)에는 넣지 않았다 — 그쪽 실례(주문 이행 fixture)는 후보가 전부
337
346
  * 오른 꼭짓점 출발이라 순서로는 못 피하고 코퍼스 효과가 0 이었다(시제품).
347
+ *
348
+ * ── B-241. **되돌이가 이미 쓰는 입구로 줄이지 않는다** ──
349
+ *
350
+ * 반대 겹침 보정이 되돌이를 목표 윗(아랫)면 중앙으로 올린 **뒤** 이 패스가 같은 목표의 정방향 Z 4점(왼면)을 가로 → 세로 3점으로
351
+ * 줄이면 되돌이와 같은 점 · 같은 방향으로 들어간다(표본 153 · 158 · `sharedBackEdgeInlet`). 사람은 두 회차 모두 정방향을 보정 전
352
+ * Z 4점으로 되돌렸다 ⇒ 그런 후보가 나오면 **다음 후보로 넘어가지 않고 지금 경로를 둔다** — 다음 후보(출발 아랫면 세로 → 가로)는
353
+ * 사람 소수 꼴이다(태스크 출발 · 다른 행 정방향 = 레거시 Z 50 · 세로 → 가로 20). 반사실 = 339 배치 갈림 5 · 대가 0.
338
354
  */
339
355
  export declare function repairIntroducedDetours(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeEdgeIds: ReadonlySet<string>, reroutedEdgeIds: ReadonlySet<string>,
340
356
  /** B-223 — 이 배치 전 도형(뒤늦은 U 의 자기 라벨 비킴 판정). */