@g1cloud/bpmn-modeler-next 5.0.0-alpha.42 → 5.0.0-alpha.44

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.
@@ -188,9 +188,75 @@ export type GeometryFinding =
188
188
  */
189
189
  | {
190
190
  kind: 'group-overlap-unreadable';
191
+ reason: 'orphan';
191
192
  groups: [string, string];
192
193
  shapes: string[];
193
194
  }
195
+ /**
196
+ * 한 그룹 상자 안에서 **자기 멤버가 과반이 아니다**(B-62) — 상자 안 흐름 노드의 절반 이상이
197
+ * *남의 그룹 멤버이거나 무소속*이라 사람은 그 상자가 무슨 단계인지 읽을 근거를 잃는다. 표본 50
198
+ * 에서 사용자가 지목하고 포기했다("배송그룹에 에 반품이 포함되어있는게 좀 이상한것 같아서
199
+ * 확인해야 수정할 수 있을것 같아") — 실측 = `Grp_deliver` 안 18 = 자기 8 · **남의 8** · 무소속 2.
200
+ *
201
+ * 🔴 **같은 kind 안의 다른 축이다 — `reason` 으로 가른다.** `'orphan'` 은 *두 상자의 겹침 영역*에
202
+ * 갇힌 **무소속**을 세고(B-60), 이쪽은 *상자 하나 전체*에서 **비자기**를 센다. 표본 50 이 둘을
203
+ * 갈랐다: `'orphan'` 축은 그 상자에서 **무소속 2 만** 보고했는데 사람이 본 것은 **남의 멤버 8**
204
+ * 이었다(§0 ③ — 술어가 짚는 자리는 맞았고 *세는 것*이 틀렸다).
205
+ *
206
+ * 🔴 **비율로 가르지 말 것 — 네 번 기각됐다.** 「남의 멤버 개수 ≥ K」는 표본 32(사용자 **수용**)를
207
+ * 오탐하고(남의 4), 「공유 ≥ 단독」 순수 기하도 같은 케이스를 오탐한다. 판별자는 개수도 겹침
208
+ * 비율도 아니라 **자기 단계가 그 상자에서 과반인가**다 — 50% 는 고른 임계가 아니라 판독의 정의다.
209
+ *
210
+ * 근거(오탐): 실무 16문서 **0**(레거시라 `bwl:members` 가 0건 = 술어의 입력이 없다 → 멤버 미선언
211
+ * 그룹은 제외한다). 사용자 저장본 57종의 그룹 116개 중 **4건**, fixture 56종의 그룹 165개 중
212
+ * **6건**이고 **전부 사용자가 포기한 회차**(표본 44·47·49·50)의 산출물이다. 수용 회차(표본 32·48)는
213
+ * 전량 침묵.
214
+ *
215
+ * ⚠ **`'orphan'` 축의 처방이 이 축을 끈다** — 무소속을 멤버에 넣으면(B-60 의 대가 0 수단) 자기가
216
+ * 늘어 과반이 회복된다. 그러나 **남의 멤버를 자기 것으로 만드는 것은 의미를 훼손한다**(표본 50 에서
217
+ * 에이전트가 *"그림이 거짓말을 하게 된다"* 며 스스로 거부했다). 수단은 단계 경계를 다시 잡는 것이다.
218
+ *
219
+ * `group` = 그 상자 · `shapes` = 상자 안의 비자기 흐름 노드(남의 멤버 + 무소속 · id 오름차순).
220
+ */
221
+ | {
222
+ kind: 'group-overlap-unreadable';
223
+ reason: 'minority';
224
+ group: string;
225
+ shapes: string[];
226
+ }
227
+ /**
228
+ * **세 그룹 이상이 한 영역을 동시에 덮는다**(B-59) — 그 영역 안의 도형은 세 단계에 한꺼번에 속한
229
+ * 것처럼 보여 어느 단계인지 읽을 수 없다. 표본 46 에서 사용자가 지목했다("그룹 중첩이 많아서
230
+ * 인지하기가 어려워서야 출고/검수/배송이 중첩이라서 … 내가 의도를 에이전트한테 물어봐야하는
231
+ * 상황일것 같아") 그리고 표본 49 에서 다시 포기했다("완전히 겹치던지 안겹치던지 하는게 맞을것
232
+ * 같은데 의도 파악이 안되는 상황이야").
233
+ *
234
+ * 🔴 **`group-overlap-unreadable`(B-60)이 이 형상을 못 잡는다 — 상보적이다.** 근인은 B-32 ⓑ 의
235
+ * "멤버 교집합 ≥1 = 의도" 술어가 **인접 단계 그룹에 대해 항상 참**이라는 것이다. 연속한 단계가
236
+ * 경계 노드를 공유하는 것은 정상이므로(출고의 끝 = 배송의 시작) 세 쌍 중 둘이 공유 멤버 한 개로
237
+ * 침묵하고, 그 침묵한 쌍들이 **한 영역에서 만난다**. B-60 은 영역 안에 **무소속** 노드를 요구하는데
238
+ * 3중 영역의 도형은 대개 어느 한 그룹의 멤버다(표본 46 = 안 5 · 무소속 0 · 표본 49 = 안 2 · 무소속 0).
239
+ *
240
+ * ⚠ **대응이 B-60 과 정반대다** — B-60 은 무소속 노드를 멤버에 넣으면 풀리지만(대가 0), 3중은
241
+ * 멤버를 넓히면 상자가 커져 **더 겹친다**. 표본 49 가 그 예다: 에이전트가 `group.update` 로 멤버
242
+ * 하나를 선제 공유해 판정을 껐고 3중이 남았다. 수단은 단계 경계를 다시 잡는 것(그룹을 줄이거나 합치기)이다.
243
+ *
244
+ * 🔴 **비율로 가르지 말 것** — B-52 에서 두 번 기각됐다(표본 32 **72% 수용** · 표본 47 **70% 포기**).
245
+ * 「상자 겹침도 − 멤버 겹침도」 괴리도 **N20 에서 기각**됐다(수용한 표본 32 가 59.3%p 로 포기한
246
+ * 표본 49 의 59.1%p 보다 **높다**). 판별자는 비율이 아니라 **중복도**다.
247
+ *
248
+ * 근거(오탐): 실무 16문서 **0**(그룹 15) · 저장본 56종 **2**(`g16-base`·`g19-base`) · fixture 53종
249
+ * **3**(전부 `g16-edit*`). **해당 5건이 전부 사용자가 포기한 회차(표본 46·49)의 산출물이고 수용된
250
+ * 회차는 전량 0** 이다. B-60 과 합치면 포기 4회차(표본 44·46·47·49)를 전량 잡고 수용 2회차를
251
+ * 전량 통과시킨다.
252
+ *
253
+ * `groups` = 그 영역을 덮은 세 그룹(id 오름차순) · `shapes` = 영역 안의 흐름 노드(멤버 여부 무관).
254
+ */
255
+ | {
256
+ kind: 'group-stack-unreadable';
257
+ groups: [string, string, string];
258
+ shapes: string[];
259
+ }
194
260
  /**
195
261
  * 그룹의 테두리가 컨테이너(풀·확장 서브프로세스) 경계선과 **한 선으로 그려진다** — 두 선이 겹쳐
196
262
  * 그룹 영역이 풀 테두리와 구분되지 않는다(표본 30 에서 사용자가 지목: "그룹이 레인선에 겹쳐서