@g1cloud/bpmn-modeler-next 5.0.0-alpha.66 → 5.0.0-alpha.68
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 +41 -1
- package/dist/bpmn-modeler.js +8014 -7894
- package/dist/bpmn-modeler.umd.cjs +68 -68
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ import { default as BpmnReplace } from 'bpmn-js/lib/features/replace/BpmnReplace
|
|
|
9
9
|
import { Shape } from 'bpmn-js/lib/model/Types';
|
|
10
10
|
import { SymbolicOp } from '../symbolicOp';
|
|
11
11
|
import { BwlSide } from '../../core/hints';
|
|
12
|
-
import { GeometryFinding } from '../geometryAudit';
|
|
12
|
+
import { GeometryFinding, GeometryScene } from '../geometryAudit';
|
|
13
13
|
/** resolver 가 대면하는 bpmn-js 서비스 표면 — 하강은 이 묶음만 사용한다. */
|
|
14
14
|
export interface ResolverServices {
|
|
15
15
|
modeling: Modeling;
|
|
@@ -63,3 +63,43 @@ export declare function lowerOps(ops: readonly SymbolicOp[], services: ResolverS
|
|
|
63
63
|
/** 주석 도형이 소유자로 등장할 수 있는 finding 의 소유 도형 id. */
|
|
64
64
|
export declare function annotationOwnersOf(finding: GeometryFinding): readonly string[];
|
|
65
65
|
export declare function repairIntroducedAnnotationOverlaps(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeKeys: ReadonlySet<string>, beforeShapeIds: ReadonlySet<string>): void;
|
|
66
|
+
/**
|
|
67
|
+
* **B-91 예방** — 이 배치가 만든 **풀 × 풀 겹침**을, 오른쪽 이웃을 밀어 해소한다.
|
|
68
|
+
*
|
|
69
|
+
* B-91 은 탐지만 했다(`pool-overlap` finding). 겹침 자체는 계속 생겼고 사람이 매번 손으로 뺐다 —
|
|
70
|
+
* 🔴 **표본 68 에서 재발이 3점 검정으로 확정돼**(base 0 / 산출 2 / 사람 최종 0) 예방 축 트리거가 발동했다.
|
|
71
|
+
*
|
|
72
|
+
* ⚠ **사람과 방향이 늘 같지는 않다** — 표본 67 은 겹친 풀을 **위로** 뺐고 표본 68 은 **옆 카드를 오른쪽으로**
|
|
73
|
+
* 옮겼다. 이 패스는 후자만 한다. 겹침은 막되 **사람과 다른 그림이 될 수 있다**는 것이 등록된 대가다.
|
|
74
|
+
*
|
|
75
|
+
* 🔴 **동반 범위는 「배치 전」 기하 포함으로 정한다 — 「배치 후」로 정하면 오염된다.** 표본 68 실측:
|
|
76
|
+
* 왼쪽 카드에서 **밀려 나간 노드 3개**(B-83 ⓑ 의 그 이탈)가 배치 후에는 **오른쪽 카드 상자 안**에 들어가
|
|
77
|
+
* 있어, 후 기준으로 카드를 모으면 밀 대상이 14 → **17** 로 부풀고 **남의 노드를 함께 밀어 버린다**.
|
|
78
|
+
* (루트 요소만 옮기므로 실제 이동에서는 걸러지지만, **폐포를 잇는 근거**가 오염되면 카드 판정 자체가 틀린다.)
|
|
79
|
+
*
|
|
80
|
+
* 🔁 **「앞 단계의 판단이 뒤 단계가 바꾼 전제 위에 남는다」의 거울상** — 여기서는 *뒤* 단계가 앞 상태를
|
|
81
|
+
* 근거로 삼아야 옳다(B-51·B-58·B-71·B-88 클래스와 반대 방향).
|
|
82
|
+
*
|
|
83
|
+
* **밀 거리 = 배치 전 틈의 복원**이다(고정 상수가 아니다 — 문서마다 카드 간격이 다르다). 표본 68 실측 =
|
|
84
|
+
* 틈 **60px** · 겹침 308·180 ⇒ dx **368**(사람은 +340 으로 틈 32 를 수용했다 — 같은 방향 28px 차).
|
|
85
|
+
*/
|
|
86
|
+
export declare function repairIntroducedPoolOverlaps(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeKeys: ReadonlySet<string>, sceneBefore: GeometryScene): void;
|
|
87
|
+
/**
|
|
88
|
+
* **B-83 ⓐ** — 기존 그룹 상자가 **크기 변화**를 따라가지 못하는 것을 고친다.
|
|
89
|
+
*
|
|
90
|
+
* 표본 67 이 진단을 정밀화했다 — *"안 따라간다"* 가 아니라 **「크기 변화를 못 따라간다」**다(위치 이동은
|
|
91
|
+
* 이미 따라간다). 표본 68 에서 **증언 1순위**로 올라왔고 사람이 상자를 직접 키웠다(Δw+348 Δh+110).
|
|
92
|
+
*
|
|
93
|
+
* 🔴 **수단은 「재산출」이 아니라 「여백 보존」이다.** 5.7 패스(B-51)는 `groupBoundsOf`(멤버 bbox + PAD 40)로
|
|
94
|
+
* 다시 그리는데, 그 수단을 사람 그룹에 걸면 **36/36 이 전부 움직인다**(10px 이내 **0** · 중앙 **30px** ·
|
|
95
|
+
* 최대 **150px**) — 사람이 그린 여백이 상수 40 으로 교체되기 때문이다. 그래서 여기서는 **배치 전 여백을
|
|
96
|
+
* 네 변마다 그대로 유지**한다. 절대식이라 **멱등**이고, 상자가 이미 이동한 경우에도 이중 적용되지 않는다.
|
|
97
|
+
*
|
|
98
|
+
* 🔴 **멤버십은 「배치 전 기하 포함」으로 대신한다** — 사람 문서의 그룹은 **100% 가 `bwl:members` 미선언**
|
|
99
|
+
* 이라(B-83 N20 · 36/36) 5.7 의 `if (!members.length) continue` 게이트에서 통째로 빠진다. ⚠ **`members` 를
|
|
100
|
+
* 선언해 주는 것은 수단이 아니다** — 선언하는 순간 사람이 그린 상자가 멤버 bbox 로 **교체**된다.
|
|
101
|
+
*
|
|
102
|
+
* ⚠ **`repairIntroducedPoolOverlaps` 뒤여야 한다** — 키울 자리를 그 패스가 만든다(표본 68 실측: 자리 없이
|
|
103
|
+
* +368 키우면 이웃 상자 좌단을 **348px 침범**한다). 사람도 **둘 다** 했다(상자 +348 · 이웃 카드 +340).
|
|
104
|
+
*/
|
|
105
|
+
export declare function repairIntroducedGroupGrowth(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeKeys: ReadonlySet<string>, sceneBefore: GeometryScene): void;
|