@g1cloud/bpmn-modeler-next 5.0.0-alpha.22 → 5.0.0-alpha.24
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/geometryAudit.d.ts +33 -1
- package/dist/agent/resolver/index.d.ts +6 -0
- package/dist/bpmn-modeler.js +8881 -8825
- package/dist/bpmn-modeler.umd.cjs +62 -62
- package/package.json +1 -1
|
@@ -27,6 +27,13 @@ export interface GeometryShape {
|
|
|
27
27
|
* `annotation-over-label` 의 입력(B-24 ⓑ): 주석 상자가 이 위에 놓이면 텍스트가 겹쳐 둘 다 읽을 수 없다.
|
|
28
28
|
*/
|
|
29
29
|
label?: GeometryLabel;
|
|
30
|
+
/**
|
|
31
|
+
* 그룹의 멤버 id 목록(`bwl:members` 힌트, A-4 — 그룹일 때만). `group-overlap-unintended` 의 입력:
|
|
32
|
+
* 두 그룹의 바운즈가 겹칠 때 **멤버를 공유하면 의도된 겹침**(한 노드가 두 단계에 걸친다)이고,
|
|
33
|
+
* 공유하지 않으면 **그리다 보니 겹친 것**이다. 힌트가 없는 그룹(사람이 GUI 로 그린 것)은 판단할
|
|
34
|
+
* 근거가 없으므로 판정하지 않는다.
|
|
35
|
+
*/
|
|
36
|
+
members?: readonly string[];
|
|
30
37
|
}
|
|
31
38
|
/** 간선 외부 라벨의 bounds — 라벨은 판정 대상 도형이 아니지만 **어느 간선의 것으로 읽히는가**는 판정한다(B-15). */
|
|
32
39
|
export interface GeometryLabel {
|
|
@@ -143,6 +150,32 @@ export type GeometryFinding =
|
|
|
143
150
|
kind: 'annotation-over-label';
|
|
144
151
|
annotation: string;
|
|
145
152
|
label: string;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* 두 그룹의 바운즈가 겹치는데 **멤버를 하나도 공유하지 않는다** — 사람은 그 겹침이 업무적 판단인지
|
|
156
|
+
* (한 활동이 두 단계에 걸친다) 그리다 보니 생긴 것인지 구분할 수 없다(G12 실측에서 사용자가 지목:
|
|
157
|
+
* "그룹이 겹쳐서 판단에 의한 건지 그리다 보니 겹친 건지 판단이 잘 안 되는 상태"). 멤버를 공유하는
|
|
158
|
+
* 겹침은 **의도로 읽히므로 제외**한다 — 겹침 자체가 결함이 아니라 *의도가 표현되지 않은 겹침*이 결함이다.
|
|
159
|
+
* 전형 = 단계 그룹은 x 구간인데 멤버가 여러 풀에 흩어져 x 범위가 서로 물리는 경우(A-4 멤버 bbox 의
|
|
160
|
+
* 구조적 한계). `groups` = 겹친 두 그룹(id 오름차순).
|
|
161
|
+
*/
|
|
162
|
+
| {
|
|
163
|
+
kind: 'group-overlap-unintended';
|
|
164
|
+
groups: [string, string];
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* 그룹의 테두리가 컨테이너(풀·확장 서브프로세스) 경계선과 **한 선으로 그려진다** — 두 선이 겹쳐
|
|
168
|
+
* 그룹 영역이 풀 테두리와 구분되지 않는다(표본 30 에서 사용자가 지목: "그룹이 레인선에 겹쳐서
|
|
169
|
+
* 출력되는 부분"). 배치 경로에서는 **결정적으로 발생**했다: 풀 상단에서 band 0 노드 중심까지 80,
|
|
170
|
+
* 노드 높이 80 이라 노드 상단 = 풀 상단 + 40 인데 그룹 패딩도 40 이라 정확히 얹힌다(그룹 5/5).
|
|
171
|
+
* 실무 문서에서는 그룹 24개 중 2개(8%)만 이 상태라 사람도 대개 떼어 놓는다. `container` = 그 컨테이너,
|
|
172
|
+
* `side` = 겹친 변.
|
|
173
|
+
*/
|
|
174
|
+
| {
|
|
175
|
+
kind: 'group-on-container-boundary';
|
|
176
|
+
group: string;
|
|
177
|
+
container: string;
|
|
178
|
+
side: 'top' | 'bottom' | 'left' | 'right';
|
|
146
179
|
};
|
|
147
180
|
/** 발견을 전후 비교(배치가 새로 만든 것 가려내기)할 수 있게 하는 안정 키. */
|
|
148
181
|
export declare function geometryFindingKey(finding: GeometryFinding): string;
|
|
@@ -226,7 +259,6 @@ export declare function crossingCost(edge: GeometryEdge, others: readonly Geomet
|
|
|
226
259
|
export declare function sceneCrossingCost(scene: GeometryScene): number;
|
|
227
260
|
/** 장면 전체의 교차 쌍(id 오름차순 정렬, 결정론적). 길이가 곧 교차 수다. */
|
|
228
261
|
export declare function edgeCrossingPairsOf(scene: GeometryScene): Array<[string, string]>;
|
|
229
|
-
/** 컨테이너를 뺀 판정 대상 도형 — 관통·겹침 양쪽의 공통 모집단. */
|
|
230
262
|
export declare const auditTargetsOf: (scene: GeometryScene) => GeometryShape[];
|
|
231
263
|
/** 도형의 외부 이름 라벨을 가로지르는 선 — 간선 구간(id 순) → 컨테이너 경계선(id 순). 첫 것의 id, 없으면 `null`. */
|
|
232
264
|
export declare function lineThroughShapeLabel(shape: GeometryShape, scene: GeometryScene): string | null;
|
|
@@ -30,6 +30,12 @@ export interface ApplyBpmnOpsResult {
|
|
|
30
30
|
edgeCrossings: {
|
|
31
31
|
before: number;
|
|
32
32
|
after: number;
|
|
33
|
+
/**
|
|
34
|
+
* 하강 뒤 남은 진성 교차 쌍(간선 id, 오름차순) — 개수만으로는 "이 정도가 정상인가"를 에이전트가
|
|
35
|
+
* 판단할 수 없다(G12 마찰: 교차 5 를 받고 어느 선끼리인지 몰라 배치 재검토를 못 했다).
|
|
36
|
+
* 쌍을 보면 한 메시지가 여러 시퀀스를 건너는 것인지(풀 횡단 = 정상) 배치가 엉킨 것인지 갈린다.
|
|
37
|
+
*/
|
|
38
|
+
pairs: Array<[string, string]>;
|
|
33
39
|
};
|
|
34
40
|
};
|
|
35
41
|
}
|