@g1cloud/bpmn-modeler-next 5.0.0-alpha.17 → 5.0.0-alpha.19

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.
@@ -8,7 +8,7 @@ export type { DocumentIndex, ElementCategory } from './documentIndex';
8
8
  export { buildRegistryIndex } from './documentIndex';
9
9
  export { validateOps } from './validate';
10
10
  export { lowerOps, resolverServicesOf, type ResolverServices } from './lower';
11
- export { forwardThreePointCandidates, planCrossPoolRoute, planEdgeRepair, planLabelLineClearance, planLabelPlacement, planMiddleSegmentShifts, planOppositeOverlapRepair, planSegmentDetours, repairIntroducedCrossings, repairIntroducedOppositeOverlaps, repairIntroducedSharedSegmentLabels, repairIntroducedLabelLines, rerouteIntroducedCrossPoolEdges, } from './routeRepair';
11
+ export { forwardThreePointCandidates, planCrossPoolRoute, planEdgeRepair, planLabelLineClearance, planLabelPlacement, planMiddleSegmentShifts, planOppositeOverlapRepair, planSegmentDetours, planBackEdgeBoundaryClearance, repairIntroducedBoundaryHugging, repairIntroducedCrossings, repairIntroducedOppositeOverlaps, repairIntroducedSharedSegmentLabels, repairIntroducedLabelLines, rerouteIntroducedCrossPoolEdges, } from './routeRepair';
12
12
  export interface ApplyBpmnOpsResult {
13
13
  ok: boolean;
14
14
  issues: ResolveIssue[];
@@ -72,6 +72,25 @@ export declare function planCrossPoolRoute(edge: GeometryEdge, scene: GeometrySc
72
72
  * 안). `beforeEdgeIds` = 하강 전 간선 id — 그 밖의 것만 대상(안전 성질 2: 선재 경로 불가침).
73
73
  */
74
74
  export declare function rerouteIntroducedCrossPoolEdges(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeEdgeIds: ReadonlySet<string>): void;
75
+ /** 안쪽 구간(첫·끝 도킹 구간 제외)이 컨테이너 경계선과 나란히 이 거리 안에서 달리면 "경계에 붙었다"고 본다. */
76
+ export declare const BOUNDARY_CLEARANCE = 30;
77
+ /** 웨이포인트의 **안쪽 구간**(도킹 구간 제외)이 어느 컨테이너의 경계선과 나란히 `BOUNDARY_CLEARANCE` 안에서 겹쳐 달리는가. */
78
+ export declare function hugsContainerBoundary(pts: readonly GeometryPoint[], containers: readonly GeometryShape[]): boolean;
79
+ /** 안쪽 구간이 이 거리 안에서 다른 도형 옆을 지나면 "스친다"고 본다(관통은 아니지만 도형 사이 통로를 달리는 선). */
80
+ export declare const NEAR_PASS_MARGIN = 40;
81
+ /** 안쪽 구간(도킹 구간 제외)이 끝점 아닌 도형을 `NEAR_PASS_MARGIN` 안에서 스치는 횟수 — 빈 여백을 달리는 경로가 0. */
82
+ export declare function nearPassCount(pts: readonly GeometryPoint[], shapes: readonly GeometryShape[], endpoints: readonly string[]): number;
83
+ /**
84
+ * 경계에 붙어 달리는 되돌아가는 간선의 재경로(순수, B-26 ⓑ). 스무 번째 표본 `재결재`(담당자 레인 위 행 → 팀장 레인
85
+ * 결재)의 보정 경로 A2 는 채널이 레인 경계선 15px 아래를 달리고 목표 열 세로선이 위 행 노드들 옆을 지나갔다 —
86
+ * 사용자는 출발 아랫면 → 오른쪽 빈 열 → 결재 아래 채널 → 결재 아랫면으로 **빈 여백만 달리는** 경로를 그렸다(그 채널도
87
+ * 경계에서 20px — 경계 근접만으로는 사용자 답까지 버려진다). 그래서 지금 경로가 경계에 붙어 있을 때만 발동하고, 후보는
88
+ * 관통 0 · 읽을 수 없는 중첩 비증가 · 교차 비용 비증가를 지킨 뒤 **(스침 수 + 경계 근접) 최소 → 편이 → 길이** 로 고른다.
89
+ * 같은 레인 안에서 되돌아가는 간선(r2 `Flow_o14`)은 A2 채널이 경계에서 멀어 발동하지 않는다. 없으면 `null`.
90
+ */
91
+ export declare function planBackEdgeBoundaryClearance(edge: GeometryEdge, scene: GeometryScene): GeometryPoint[] | null;
92
+ /** 이 배치가 **새로 만든** 시퀀스 플로우 중 경계에 붙어 달리는 되돌아가는 간선을 재경로한다(B-26 ⓑ). */
93
+ export declare function repairIntroducedBoundaryHugging(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeEdgeIds: ReadonlySet<string>): void;
75
94
  /**
76
95
  * 한 간선의 **읽을 수 없는 중첩**(반대 방향 · 종류 다름)을 없애거나 줄이는 경로(순수). 못 찾으면 `null`.
77
96
  * 종류 다른 중첩(B-17 ⓐ)의 보정 = 도킹 편이 — "가급적 중심에 도킹하되 어쩔 수 없을 땐 약간 비껴서"