@g1cloud/bpmn-modeler-next 5.0.0-alpha.74 → 5.0.0-alpha.76

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.
@@ -8,7 +8,7 @@ export type { DocumentIndex, ElementCategory } from './documentIndex';
8
8
  export { buildRegistryIndex } from './documentIndex';
9
9
  export { validateOps } from './validate';
10
10
  export { lowerOps, resolverServicesOf, type ResolverServices } from './lower';
11
- export { forwardThreePointCandidates, planCrossPoolRoute, planEdgeRepair, planLabelLineClearance, planLabelPlacement, planMiddleSegmentShifts, planOppositeOverlapRepair, planSegmentDetours, planBackEdgeBoundaryClearance, repairIntroducedBoundaryHugging, repairIntroducedCrossings, repairIntroducedEdgeCrossings, repairIntroducedFakeMerges, repairIntroducedOppositeOverlaps, repairIntroducedSharedSegmentLabels, repairIntroducedLabelLines, repairIntroducedShapeLabelLines, planShapeLabelClearance, rerouteIntroducedCrossPoolEdges, } from './routeRepair';
11
+ export { forwardThreePointCandidates, planCrossPoolRoute, planEdgeRepair, planLabelLineClearance, planLabelPlacement, planMiddleSegmentShifts, planOppositeOverlapRepair, planSegmentDetours, planBackEdgeBoundaryClearance, repairIntroducedBoundaryHugging, repairIntroducedCrossings, repairIntroducedEdgeCrossings, repairIntroducedFakeMerges, repairIntroducedOppositeOverlaps, repairIntroducedSharedSegmentLabels, followMovedEdgeLabels, repairIntroducedLabelLines, repairIntroducedShapeLabelLines, planShapeLabelClearance, rerouteIntroducedCrossPoolEdges, } from './routeRepair';
12
12
  export interface ApplyBpmnOpsResult {
13
13
  ok: boolean;
14
14
  issues: ResolveIssue[];
@@ -201,6 +201,50 @@ export declare const LABEL_LINE_GAP = 8;
201
201
  * (판정기가 보고한다). 바꿀 것이 없으면 `null`.
202
202
  */
203
203
  export declare function planLabelLineClearance(edge: GeometryEdge, scene: GeometryScene): GeometryLabel | null;
204
+ /**
205
+ * ── B-99. **배치가 옮긴 선을 선재 라벨이 따라간다** ──
206
+ *
207
+ * 🔴 **등록 진단이 뒤집혔다**(🔁 B-38·B-47·B-48·B-62·B-71·B-86). 원장은 *"라벨이 어느 경로에도 안
208
+ * 실린다"* 였는데 **세로 경로에는 실려 있다** — g39 전수에서 라벨 보유 간선 10 건의 **y 는 10/10
209
+ * 추종**이고 **x 만 3/10** 이다. 프로브가 자리를 `modeling.createSpace` 한 곳으로 특정했다(그 한 번의
210
+ * 전후가 `wp0(4555,869) → (4728,869)` 인데 라벨은 `(4572,851)` 로 그대로). 근인은 그 `moving` 이
211
+ * `pool.children` 인데 **간선 라벨의 부모는 루트**라는 것이다.
212
+ *
213
+ * 🔴 **원장의 기각 수단이 왜 안 들었는지도 이것이 설명한다** — `growLaneMakingSpace` 의 **세로** 델타를
214
+ * 라벨에 더한 실험은 **이미 추종 중인 축에 중복 가산**이라 되레 멀어졌다(146.4 → 151.6). 원장 해석
215
+ * (*"세로 52 가 부호도 못 정한다"*)은 증상이고 근인은 중복 가산이다.
216
+ *
217
+ * 🔴 **그런데 `createSpace` 직후에 고치면 안 된다 — 실측이 기각했다.** 거기서 델타를 재어 옮겼더니
218
+ * g37 의 라벨 다섯이 **+615 로 끌려가 되레 545~573px 로 벌어졌다**(그 간선들은 뒤 단계에서 제자리로
219
+ * 돌아왔는데 라벨만 남았다). 🔁 **「앞 단계의 판단이 뒤 단계가 바꾼 전제 위에 남는다」**(B-51·B-58·
220
+ * B-71·B-88 클래스) ⇒ **기준선은 배치 시작, 적용은 경로가 전부 확정된 뒤**다.
221
+ *
222
+ * ⚠ **델타 추종이지 재계산이 아니다** — 사람이 놓은 상대 위치를 **보존**한 채 선만 따라간다(🔁 B-74 와
223
+ * 같은 철학). **균일하게 평행이동한 간선만** 대상이라 델타가 정의된다 — 모양이 바뀐 간선(우회·꺾임
224
+ * 변경)은 「따라간다」가 뜻을 잃으므로 조건에서 저절로 빠진다(마지막 관통 보정이 그래서 안전하다).
225
+ *
226
+ * ⚠ **대가가 있다 — 따라간 자리가 남의 무엇 위일 수 있다**(🔁 「채택 조건에 대가가 없다」). **개별
227
+ * 축을 나열하면 두더지 잡기가 된다** — 처음에 「선 얹힘」만 막았더니 회귀선이 `label-over-line` 을
228
+ * 잡았고(B-94 ⓐ fixture), 그것을 막자 이번엔 **`annotation-over-label`** 이 났다(g14 · `--check`).
229
+ * 🔴 **B-90 ⓑ·B-92 ⓐ 가 이미 일반화해 둔 자리다: 채택 조건은 `auditGeometry` **키 집합**이다.**
230
+ * ⚠ **총량이 아니라 키 집합**이어야 한다 — 사라진 것과 생긴 것이 상쇄되면 총량은 침묵한다(🔁 B-70).
231
+ *
232
+ * ⚠ **판정은 순수 scene 으로 하고 실제 이동은 통과한 것만** 한다 — 옮겼다 되돌리는 방식은 **되돌리기
233
+ * 자체가 1px 어긋난다**(B-74 실측 · 그 이동이 스냅을 탄다). 채택한 라벨은 scene 에 반영해 다음 라벨의
234
+ * 판정 기준으로 쓴다(누적).
235
+ *
236
+ * 라벨 하나씩 재고 새 키가 생기면 **그 라벨만** 두고 간다(부분 해소 허용 — 🔁 B-61).
237
+ */
238
+ export declare function followMovedEdgeLabels(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, before: ReadonlyMap<string, {
239
+ wps: ReadonlyArray<{
240
+ x: number;
241
+ y: number;
242
+ }>;
243
+ label: {
244
+ x: number;
245
+ y: number;
246
+ };
247
+ }>): void;
204
248
  /** 이 배치가 **새로 만든** 간선의 라벨을 선·경계선에서 뗀다(맨 마지막 — 라벨 귀속 보정 뒤). 선재 라벨은 불가침. */
205
249
  export declare function repairIntroducedLabelLines(services: Pick<ResolverServices, 'elementRegistry' | 'modeling'>, beforeEdgeIds: ReadonlySet<string>): void;
206
250
  /**