@g1cloud/bpmn-modeler-next 5.0.0-alpha.20 → 5.0.0-alpha.22

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.
@@ -124,7 +124,9 @@ export type GeometryFinding =
124
124
  * 컨테이너(레인·풀) 경계선이 상자를 가른다(열세 번째 표본에서 사용자가 지목: "선에 달린 글자가 선과 겹치거나
125
125
  * 레인선상에 걸린다"). 전형 = 세로 2점 메시지플로우의 라벨 — bpmn-js 는 라벨 **중심**을 선 + 15 에 두므로 폭 42
126
126
  * 라벨은 6px, 폭 64 는 17px 선 위에 걸친다. 가로 구간의 라벨(중심이 선 위 15, 높이 14)은 걸치지 않는다.
127
- * `line` = 그 간선 id 또는 컨테이너 id.
127
+ * `line` = 그 간선 id 또는 컨테이너 id. **`edge` = 라벨의 소유자 id** — 간선 라벨이면 간선, **도형의 외부 이름 라벨**
128
+ * (게이트웨이·이벤트 이름, B-29)이면 그 도형 id(스물네 번째 표본: 되돌아가는 간선 가로선이 게이트웨이 이름 라벨을
129
+ * 가로질러 사용자가 세 회차 연속 라벨을 올렸다 — bpmn-js 적응 배치는 도킹 면만 보고 지나가는 선은 안 본다).
128
130
  */
129
131
  | {
130
132
  kind: 'label-over-line';
@@ -226,6 +228,8 @@ export declare function sceneCrossingCost(scene: GeometryScene): number;
226
228
  export declare function edgeCrossingPairsOf(scene: GeometryScene): Array<[string, string]>;
227
229
  /** 컨테이너를 뺀 판정 대상 도형 — 관통·겹침 양쪽의 공통 모집단. */
228
230
  export declare const auditTargetsOf: (scene: GeometryScene) => GeometryShape[];
231
+ /** 도형의 외부 이름 라벨을 가로지르는 선 — 간선 구간(id 순) → 컨테이너 경계선(id 순). 첫 것의 id, 없으면 `null`. */
232
+ export declare function lineThroughShapeLabel(shape: GeometryShape, scene: GeometryScene): string | null;
229
233
  /** 장면의 외부 라벨 전부(도형 이름 라벨 + 간선 라벨)와 그 소유자 — 판정과 주석 배치(6단계 장애물)가 같은 목록을 쓴다. */
230
234
  export declare function labelRectsOf(scene: GeometryScene): Array<{
231
235
  owner: string;
@@ -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, planBackEdgeBoundaryClearance, repairIntroducedBoundaryHugging, repairIntroducedCrossings, repairIntroducedOppositeOverlaps, repairIntroducedSharedSegmentLabels, repairIntroducedLabelLines, rerouteIntroducedCrossPoolEdges, } from './routeRepair';
11
+ export { forwardThreePointCandidates, planCrossPoolRoute, planEdgeRepair, planLabelLineClearance, planLabelPlacement, planMiddleSegmentShifts, planOppositeOverlapRepair, planSegmentDetours, planBackEdgeBoundaryClearance, repairIntroducedBoundaryHugging, repairIntroducedCrossings, repairIntroducedOppositeOverlaps, repairIntroducedSharedSegmentLabels, repairIntroducedLabelLines, repairIntroducedShapeLabelLines, planShapeLabelClearance, rerouteIntroducedCrossPoolEdges, } from './routeRepair';
12
12
  export interface ApplyBpmnOpsResult {
13
13
  ok: boolean;
14
14
  issues: ResolveIssue[];
@@ -128,3 +128,7 @@ export declare function repairIntroducedLabelLines(services: Pick<ResolverServic
128
128
  * 선재 간선의 라벨은 사람이 놓았을 수 있어 손대지 않는다(안전 성질 2).
129
129
  */
130
130
  export declare function repairIntroducedSharedSegmentLabels(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeKeys: ReadonlySet<string>, beforeEdgeIds: ReadonlySet<string>): void;
131
+ /** 라벨 상자를 가로지르는 선을 피한 새 자리(순수). 같은 쪽에서 선 밖으로 비끼기 → 도형 상·하·좌·우 기본 자리. 없으면 `null`. */
132
+ export declare function planShapeLabelClearance(shape: GeometryShape, scene: GeometryScene): GeometryLabel | null;
133
+ /** 이 배치가 **새로 만든** 도형의 이름 라벨을 선에서 뗀다(맨 마지막 — 경로·간선 라벨이 전부 확정된 뒤). */
134
+ export declare function repairIntroducedShapeLabelLines(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeShapeIds: ReadonlySet<string>): void;