@g1cloud/bpmn-modeler-next 5.0.0-alpha.41 → 5.0.0-alpha.43

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.
@@ -191,6 +191,39 @@ export type GeometryFinding =
191
191
  groups: [string, string];
192
192
  shapes: string[];
193
193
  }
194
+ /**
195
+ * **세 그룹 이상이 한 영역을 동시에 덮는다**(B-59) — 그 영역 안의 도형은 세 단계에 한꺼번에 속한
196
+ * 것처럼 보여 어느 단계인지 읽을 수 없다. 표본 46 에서 사용자가 지목했다("그룹 중첩이 많아서
197
+ * 인지하기가 어려워서야 출고/검수/배송이 중첩이라서 … 내가 의도를 에이전트한테 물어봐야하는
198
+ * 상황일것 같아") 그리고 표본 49 에서 다시 포기했다("완전히 겹치던지 안겹치던지 하는게 맞을것
199
+ * 같은데 의도 파악이 안되는 상황이야").
200
+ *
201
+ * 🔴 **`group-overlap-unreadable`(B-60)이 이 형상을 못 잡는다 — 상보적이다.** 근인은 B-32 ⓑ 의
202
+ * "멤버 교집합 ≥1 = 의도" 술어가 **인접 단계 그룹에 대해 항상 참**이라는 것이다. 연속한 단계가
203
+ * 경계 노드를 공유하는 것은 정상이므로(출고의 끝 = 배송의 시작) 세 쌍 중 둘이 공유 멤버 한 개로
204
+ * 침묵하고, 그 침묵한 쌍들이 **한 영역에서 만난다**. B-60 은 영역 안에 **무소속** 노드를 요구하는데
205
+ * 3중 영역의 도형은 대개 어느 한 그룹의 멤버다(표본 46 = 안 5 · 무소속 0 · 표본 49 = 안 2 · 무소속 0).
206
+ *
207
+ * ⚠ **대응이 B-60 과 정반대다** — B-60 은 무소속 노드를 멤버에 넣으면 풀리지만(대가 0), 3중은
208
+ * 멤버를 넓히면 상자가 커져 **더 겹친다**. 표본 49 가 그 예다: 에이전트가 `group.update` 로 멤버
209
+ * 하나를 선제 공유해 판정을 껐고 3중이 남았다. 수단은 단계 경계를 다시 잡는 것(그룹을 줄이거나 합치기)이다.
210
+ *
211
+ * 🔴 **비율로 가르지 말 것** — B-52 에서 두 번 기각됐다(표본 32 **72% 수용** · 표본 47 **70% 포기**).
212
+ * 「상자 겹침도 − 멤버 겹침도」 괴리도 **N20 에서 기각**됐다(수용한 표본 32 가 59.3%p 로 포기한
213
+ * 표본 49 의 59.1%p 보다 **높다**). 판별자는 비율이 아니라 **중복도**다.
214
+ *
215
+ * 근거(오탐): 실무 16문서 **0**(그룹 15) · 저장본 56종 **2**(`g16-base`·`g19-base`) · fixture 53종
216
+ * **3**(전부 `g16-edit*`). **해당 5건이 전부 사용자가 포기한 회차(표본 46·49)의 산출물이고 수용된
217
+ * 회차는 전량 0** 이다. B-60 과 합치면 포기 4회차(표본 44·46·47·49)를 전량 잡고 수용 2회차를
218
+ * 전량 통과시킨다.
219
+ *
220
+ * `groups` = 그 영역을 덮은 세 그룹(id 오름차순) · `shapes` = 영역 안의 흐름 노드(멤버 여부 무관).
221
+ */
222
+ | {
223
+ kind: 'group-stack-unreadable';
224
+ groups: [string, string, string];
225
+ shapes: string[];
226
+ }
194
227
  /**
195
228
  * 그룹의 테두리가 컨테이너(풀·확장 서브프로세스) 경계선과 **한 선으로 그려진다** — 두 선이 겹쳐
196
229
  * 그룹 영역이 풀 테두리와 구분되지 않는다(표본 30 에서 사용자가 지목: "그룹이 레인선에 겹쳐서
@@ -330,16 +363,26 @@ export declare function edgeCrossingPairsOf(scene: GeometryScene): Array<[string
330
363
  * 가릴 수 없고, 지금까지 세 회차에서 같은 마찰이 났다(표본 34·36 은 재료 없이도 결론이 맞았으나
331
364
  * 표본 47 에서는 에이전트가 **판정을 보류**했다). 산출 비용은 0 이다 — 종류는 이미 `type` 에 있다.
332
365
  *
333
- * - `sameKind` / `mixedKind` — 실선끼리(시퀀스×시퀀스 등) vs 실선×점선. 뒤엣것은 풀을 건너는 메시지가
334
- * 시퀀스를 지나는 정상 형상이 대부분이라 **같은 총량이라도 뜻이 다르다**.
366
+ * - `solidPairs` / `dashedPairs` / `mixedPairs` — 교차 쌍을 **선 스타일 조합**으로 가른다.
367
+ * `solidPairs`(실선×실선 = 시퀀스끼리)가 **배치를 다시 볼 신호**다 — 풀 횡단으로 설명되지 않는다.
368
+ * `mixedPairs`(실선×점선)는 풀을 건너는 메시지가 시퀀스를 지나는 정상 형상이 대부분이다.
369
+ * `dashedPairs`(점선×점선 = 메시지·데이터 연관끼리)는 **둘과 또 다르다** — 대개 장거리 데이터 연관이
370
+ * 여러 메시지를 지나는 형상이라 노드 배치가 아니라 저장소·연관의 열이 원인이다.
371
+ *
372
+ * 🔴 **축이 둘이었을 때 뜻이 어긋났다**(표본 48 실측) — `sameKind` 는 "같은 스타일끼리" 를 셌는데
373
+ * 주석·playbook 은 "실선끼리" 라고 불렀다. G18 의 `sameKind 2` 는 전부 `DA_chg × M_*`(점선×점선)였고
374
+ * 실선끼리는 **0** 이었는데, 에이전트가 이름을 믿고 "재볼 신호인 실선끼리 교차 2건" 으로 보고했다.
375
+ * 이름이 재료를 왜곡하면 판단이 그 위에 선다 ⇒ 축을 셋으로 갈라 이름과 뜻을 일치시킨다.
376
+ *
335
377
  * - `crossPoolMessages` — 두 끝점 사이에 **다른 풀이 끼어 있는** 메시지플로우 수. 인접 풀끼리 주고받는
336
378
  * 메시지는 아무것도 건너지 않지만 이것들은 지나가는 풀의 시퀀스와 **구조적으로** 만난다.
337
- * playbook §6 의 "풀 횡단 메시지 1개당 교차 1" 감을 실제로 계산할 수 있게 하는 분모다.
379
+ * playbook §6 의 "풀 횡단 메시지 1개당 교차 1" 감을 실제로 계산할 수 있게 하는 분모다(= `mixedPairs` 의).
338
380
  */
339
381
  export declare function edgeCrossingStatsOf(scene: GeometryScene): {
340
382
  pairs: Array<[string, string]>;
341
- sameKind: number;
342
- mixedKind: number;
383
+ solidPairs: number;
384
+ dashedPairs: number;
385
+ mixedPairs: number;
343
386
  crossPoolMessages: number;
344
387
  };
345
388
  export declare const auditTargetsOf: (scene: GeometryScene) => GeometryShape[];
@@ -37,14 +37,20 @@ export interface ApplyBpmnOpsResult {
37
37
  */
38
38
  pairs: Array<[string, string]>;
39
39
  /**
40
- * 실선끼리 교차한 쌍 수(B-43) — 시퀀스×시퀀스가 전형이라 **대개 배치가 엉킨 것**이다.
40
+ * **실선×실선**(시퀀스끼리) 교차 쌍 수(B-43) — 풀 횡단으로 설명되지 않으므로 **배치를 다시 볼 신호**다.
41
41
  */
42
- sameKind: number;
42
+ solidPairs: number;
43
43
  /**
44
- * 실선×점선 교차 쌍 수(B-43) — 풀을 건너는 메시지가 시퀀스를 지나는 정상 형상이 대부분이다.
45
- * `sameKind` 와 나눠 주지 않으면 같은 총량이 전혀 다른 두 상태를 뜻하게 된다.
44
+ * **점선×점선**(메시지·데이터 연관끼리) 교차 쌍 수(B-43). 실선끼리와도 실선×점선과도 뜻이 다르다 —
45
+ * 대개 장거리 데이터 연관이 여러 메시지를 지나는 형상이라 원인이 노드 배치가 아니라 저장소·연관의 열이다.
46
+ * 🔴 종전 `sameKind` 는 이것과 `solidPairs` 를 **한 칸에 묶어** 이름이 뜻을 왜곡했다(표본 48).
46
47
  */
47
- mixedKind: number;
48
+ dashedPairs: number;
49
+ /**
50
+ * **실선×점선** 교차 쌍 수(B-43) — 풀을 건너는 메시지가 시퀀스를 지나는 정상 형상이 대부분이다.
51
+ * 분모는 `crossPoolMessages` 이고, 그 몇 배인지를 본다.
52
+ */
53
+ mixedPairs: number;
48
54
  /**
49
55
  * 두 끝점 사이에 **다른 풀이 끼어 있는** 메시지플로우 수(B-43) — 그런 메시지는 지나가는 풀의
50
56
  * 시퀀스와 구조적으로 만난다. playbook §6 의 "풀 횡단 메시지 1개당 교차 1" 감의 **분모**다.