@g1cloud/bpmn-modeler-next 5.0.0-beta.62 → 5.0.0-beta.64
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 +35 -1
- package/dist/bpmn-modeler.js +9177 -9069
- package/dist/bpmn-modeler.umd.cjs +56 -56
- 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,20 @@
|
|
|
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
|
+
/**
|
|
5
|
+
* ── B-185 ⓐ. 막힌 곧은 메시지의 「도킹 편이 곧은 2점」 후보(순수) ──
|
|
6
|
+
*
|
|
7
|
+
* 송신 노드 바로 아래 위성 저장소처럼 **가운데 곧은 길만** 막힌 메시지를 우회를 까는 두 생성기(관통 보정 `planEdgeRepair` ·
|
|
8
|
+
* 풀 횡단 재경로 `planCrossPoolRoute`)가 각자 ㄷ 으로 감쌌다 — 🔁 「후보 생성기 공백」(B-64 꼴): 둘 다 양 끝 도킹을 고정하고
|
|
9
|
+
* 우회만 내서 곧은 대안을 아무도 안 냈다(N22 · 도킹 편이 `dockShiftCandidates` 는 겹침 보정에만 있다).
|
|
10
|
+
* 🔴 **N20** — 막힌 흐름에 대한 사람의 수단에 ㄷ 이 없다(레거시 + Downloads 막힌 시퀀스 66 · 메시지 4 → 굽힘 4 이상 **0** ·
|
|
11
|
+
* 사람은 굽힘 2 계단으로 26 이상 비킨다) · 우리 산출 ㄷ 11 · 사람은 저장 산출의 ㄷ **2/2** 를 막는 것을 옮겨 곧게 폈다.
|
|
12
|
+
* 🔴 **메시지 한정** — 곧은 메시지의 도킹 편이는 사람 관례다(491 중 84 = 17% · 대개 10~24) · 시퀀스는 **2/3,236**.
|
|
13
|
+
*
|
|
14
|
+
* 편이 범위 = 두 끝점 면의 교집합(모서리 10 안쪽 · 끝점이 판정 대상이 아닌 풀이면 그쪽은 제약 없음) · 가운데에서 가까운 편이
|
|
15
|
+
* 순(5px) · 관통 0 · 끝점 아닌 도형과 틈 ≥ `clear`. 채택은 호출부가 `pickDockShiftStraight` 로 대조 경로와 비교해 정한다.
|
|
16
|
+
*/
|
|
17
|
+
export declare function dockShiftStraightCandidates(edge: GeometryEdge, targets: readonly GeometryShape[], clear?: number): GeometryPoint[][];
|
|
4
18
|
/**
|
|
5
19
|
* 축 정렬 구간이 장애물을 **완전히 가로지를 때** 그것을 우회하는 4점을 만든다(순수).
|
|
6
20
|
*
|
|
@@ -85,6 +99,26 @@ export declare function planEdgeRepair(edge: GeometryEdge, targets: readonly Geo
|
|
|
85
99
|
export declare function repairIntroducedCrossings(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeKeys: ReadonlySet<string>,
|
|
86
100
|
/** 2차 호출 전용 — 이 간선들만 본다(B-90. 1차가 돌려준 «주석 때문에 포기» 집합). */
|
|
87
101
|
only?: ReadonlySet<string>): Set<string>;
|
|
102
|
+
/**
|
|
103
|
+
* ── B-188 ⓑ. 행 이동이 떠난 자리를 감싸던 ⊓ 를 접는다 ──
|
|
104
|
+
*
|
|
105
|
+
* 7단계 `node.update{band|lane}` 가 노드를 이어지지 않은 선 위로 옮기면 위 관통 보정이 **선을** 비켜 깐다(ⓐ). 그 노드가 다음
|
|
106
|
+
* 배치에서 떠나도 그 선은 끝점이 아니라 다시 깔리지 않아 빈자리를 감싼 우회가 남는다(ⓑ — 외부 검토 네 문서가 지목 · 빈 ⊓
|
|
107
|
+
* 사람 2/3,783 ↔ 외부 6/1,063). 같은 노드가 같은 선 위 다른 행으로 가면 ⊓ 가 둘로 쌓인다(B-195 *"두번 ㄷ"*).
|
|
108
|
+
*
|
|
109
|
+
* 🔴 **⊓ 하나만 접는다 — 선 전체를 다시 깔지 않는다.** 기본 경로로 다시 깔면 도킹 오프셋 같은 기존 결정까지 버려 이웃 선과
|
|
110
|
+
* 겹쳤다(시제품 v2). 대상 = 배치 전부터 있던 시퀀스 · 메시지 중 떠난 노드와 이어지지 않고 끝점을 이 배치가 안 바꾼 선의
|
|
111
|
+
* 4점 ⊓(p0 → p1 → p2 → p3 · p0 · p3 가 같은 축)인데 밑변 p0 → p3 가 **떠난 자리를 지나고 지금 아무 도형도 안 지나는** 것.
|
|
112
|
+
* 채택 = `relayFresh`(B-114 ⓔ)와 같은 규칙(그 선 자기 라벨을 뺀 판정 — 새로 생긴 수 ≤ 해소) + 교차(끝점 공유 포함) 비증가 —
|
|
113
|
+
* 아니면 점과 라벨을 되돌린다.
|
|
114
|
+
* ⚠ **이 배치가 떠난 자리만 본다** — 이미 남아 있는 옛 빈 ⊓ 은 원인을 모른다(사람이 둔 것일 수 있다).
|
|
115
|
+
* ⚠ **라벨** — bpmn-js 가 경로 변화에 맞춰 라벨을 옮긴다. 라벨이 붙은 구간(라벨 중심에서 가장 가까운 구간)이 접힌 세 구간
|
|
116
|
+
* 밖이면 제자리로 되돌린다(다른 도형 위로 옮겨졌다 — 합성 실측). 안이면 그대로 두고 호출자가 라벨-선 보정에 넘긴다(B-178 과
|
|
117
|
+
* 같은 이유 · 안 넘기면 선재 라벨로 취급돼 자기 선 위에 남는다).
|
|
118
|
+
*
|
|
119
|
+
* 반환 = 실제로 접은 선 id.
|
|
120
|
+
*/
|
|
121
|
+
export declare function foldVacatedDetours(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, vacated: readonly VacatedBox[], beforeEdgeIds: ReadonlySet<string>, reroutedEdgeIds: ReadonlySet<string>): Set<string>;
|
|
88
122
|
type Bounds = {
|
|
89
123
|
x: number;
|
|
90
124
|
y: number;
|