@g1cloud/bpmn-modeler-next 5.0.0-beta.62 → 5.0.0-beta.63
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.
- package/dist/agent/resolver/lower.d.ts +13 -0
- package/dist/agent/resolver/routeRepair.d.ts +21 -1
- package/dist/bpmn-modeler.js +8260 -8199
- package/dist/bpmn-modeler.umd.cjs +59 -59
- package/package.json +1 -1
|
@@ -88,6 +88,19 @@ export declare class LowerIssueError extends Error {
|
|
|
88
88
|
}
|
|
89
89
|
/** B-119 ⓒ′ — 위 집합을 읽는다(주입한 `lower` 가 쓰지 않았으면 빈 집합). */
|
|
90
90
|
export declare function labelLandingFlowIdsOf(services: object): ReadonlySet<string>;
|
|
91
|
+
/**
|
|
92
|
+
* B-188 ⓑ — 이 배치의 7단계 행 이동(`node.update{band|lane}`)이 **떠난 자리**(이동 직전 bbox · id = 옮긴 노드). 그 자리를
|
|
93
|
+
* 감싸던 이어지지 않은 선의 ⊓ 를 `foldVacatedDetours` 가 접는다(관통 보정 1차 뒤). 넘기는 길은 B-119 ⓒ′ 와 같다.
|
|
94
|
+
*/
|
|
95
|
+
export interface VacatedBox {
|
|
96
|
+
id: string;
|
|
97
|
+
x: number;
|
|
98
|
+
y: number;
|
|
99
|
+
width: number;
|
|
100
|
+
height: number;
|
|
101
|
+
}
|
|
102
|
+
/** B-188 ⓑ — 위 목록을 읽는다(주입한 `lower` 가 쓰지 않았으면 빈 목록). */
|
|
103
|
+
export declare function vacatedBoxesOf(services: object): readonly VacatedBox[];
|
|
91
104
|
/** 검증 통과가 전제 — 참조 해소 실패는 여기서 프로그래밍 오류로 throw 되고 applyBpmnOps 가 롤백한다. */
|
|
92
105
|
export declare function lowerOps(ops: readonly SymbolicOp[], services: ResolverServices): void;
|
|
93
106
|
/** 주석 도형이 소유자로 등장할 수 있는 finding 의 소유 도형 id. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Connection } from 'bpmn-js/lib/model/Types';
|
|
2
2
|
import { GeometryEdge, GeometryLabel, GeometryPoint, GeometryScene, GeometryShape } from '../geometryAudit';
|
|
3
|
-
import { ResolverServices } from './lower';
|
|
3
|
+
import { ResolverServices, VacatedBox } from './lower';
|
|
4
4
|
/**
|
|
5
5
|
* 축 정렬 구간이 장애물을 **완전히 가로지를 때** 그것을 우회하는 4점을 만든다(순수).
|
|
6
6
|
*
|
|
@@ -85,6 +85,26 @@ export declare function planEdgeRepair(edge: GeometryEdge, targets: readonly Geo
|
|
|
85
85
|
export declare function repairIntroducedCrossings(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeKeys: ReadonlySet<string>,
|
|
86
86
|
/** 2차 호출 전용 — 이 간선들만 본다(B-90. 1차가 돌려준 «주석 때문에 포기» 집합). */
|
|
87
87
|
only?: ReadonlySet<string>): Set<string>;
|
|
88
|
+
/**
|
|
89
|
+
* ── B-188 ⓑ. 행 이동이 떠난 자리를 감싸던 ⊓ 를 접는다 ──
|
|
90
|
+
*
|
|
91
|
+
* 7단계 `node.update{band|lane}` 가 노드를 이어지지 않은 선 위로 옮기면 위 관통 보정이 **선을** 비켜 깐다(ⓐ). 그 노드가 다음
|
|
92
|
+
* 배치에서 떠나도 그 선은 끝점이 아니라 다시 깔리지 않아 빈자리를 감싼 우회가 남는다(ⓑ — 외부 검토 네 문서가 지목 · 빈 ⊓
|
|
93
|
+
* 사람 2/3,783 ↔ 외부 6/1,063). 같은 노드가 같은 선 위 다른 행으로 가면 ⊓ 가 둘로 쌓인다(B-195 *"두번 ㄷ"*).
|
|
94
|
+
*
|
|
95
|
+
* 🔴 **⊓ 하나만 접는다 — 선 전체를 다시 깔지 않는다.** 기본 경로로 다시 깔면 도킹 오프셋 같은 기존 결정까지 버려 이웃 선과
|
|
96
|
+
* 겹쳤다(시제품 v2). 대상 = 배치 전부터 있던 시퀀스 · 메시지 중 떠난 노드와 이어지지 않고 끝점을 이 배치가 안 바꾼 선의
|
|
97
|
+
* 4점 ⊓(p0 → p1 → p2 → p3 · p0 · p3 가 같은 축)인데 밑변 p0 → p3 가 **떠난 자리를 지나고 지금 아무 도형도 안 지나는** 것.
|
|
98
|
+
* 채택 = `relayFresh`(B-114 ⓔ)와 같은 규칙(그 선 자기 라벨을 뺀 판정 — 새로 생긴 수 ≤ 해소) + 교차(끝점 공유 포함) 비증가 —
|
|
99
|
+
* 아니면 점과 라벨을 되돌린다.
|
|
100
|
+
* ⚠ **이 배치가 떠난 자리만 본다** — 이미 남아 있는 옛 빈 ⊓ 은 원인을 모른다(사람이 둔 것일 수 있다).
|
|
101
|
+
* ⚠ **라벨** — bpmn-js 가 경로 변화에 맞춰 라벨을 옮긴다. 라벨이 붙은 구간(라벨 중심에서 가장 가까운 구간)이 접힌 세 구간
|
|
102
|
+
* 밖이면 제자리로 되돌린다(다른 도형 위로 옮겨졌다 — 합성 실측). 안이면 그대로 두고 호출자가 라벨-선 보정에 넘긴다(B-178 과
|
|
103
|
+
* 같은 이유 · 안 넘기면 선재 라벨로 취급돼 자기 선 위에 남는다).
|
|
104
|
+
*
|
|
105
|
+
* 반환 = 실제로 접은 선 id.
|
|
106
|
+
*/
|
|
107
|
+
export declare function foldVacatedDetours(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, vacated: readonly VacatedBox[], beforeEdgeIds: ReadonlySet<string>, reroutedEdgeIds: ReadonlySet<string>): Set<string>;
|
|
88
108
|
type Bounds = {
|
|
89
109
|
x: number;
|
|
90
110
|
y: number;
|