@g1cloud/bpmn-modeler-next 5.0.0-alpha.81 → 5.0.0-alpha.82
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/elementDiff.d.ts +53 -0
- package/dist/bpmn-modeler-next.css +1 -1
- package/dist/bpmn-modeler.js +6649 -6515
- package/dist/bpmn-modeler.umd.cjs +62 -62
- package/dist/editor/controller.d.ts +17 -0
- package/dist/index.d.ts +1 -0
- package/dist/view/validationDisplay.d.ts +9 -0
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ModdleElement, ParseWarning } from '../adapter/xml';
|
|
2
|
+
type El = ModdleElement;
|
|
3
|
+
/**
|
|
4
|
+
* 이 쓰기가 만진 요소 id 집합 — 호스트 `BpmnChangedElements` 와 같은 형태.
|
|
5
|
+
*
|
|
6
|
+
* `modified` 는 **의미론 변화와 기하 변화의 합집합**이다. 둘을 가르지 않는 이유 = 소비처 둘이
|
|
7
|
+
* 모두 합집합을 쓴다(충돌 판정 = 「만졌는가」 · 패널 범위 = 「이번 것인가」). 가를 필요가 생기면
|
|
8
|
+
* 그때 `modifiedGeometry` 를 additive 로 더한다 — 지금 나누면 어느 소비처도 안 쓰는 축이 계약에 남는다.
|
|
9
|
+
*/
|
|
10
|
+
export interface BpmnChangedElements {
|
|
11
|
+
added: string[];
|
|
12
|
+
removed: string[];
|
|
13
|
+
modified: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface DiffBpmnElementsOptions {
|
|
16
|
+
/**
|
|
17
|
+
* 「움직였다」로 볼 최소 좌표 변화(px). 기본 **0.5** = 직렬화 잡음만 거른다.
|
|
18
|
+
*
|
|
19
|
+
* ⚠ **의도적으로 작다** — 이 판정기의 1차 소비처가 충돌 판정이라 *사람이 일부러 옮긴 것*을
|
|
20
|
+
* 놓치는 쪽이 비싸다. 범위 축(B-109)의 N20 은 5px 로 쟀는데 두 값 사이에서 결과가 갈리지
|
|
21
|
+
* 않았다(그 회차들의 이동은 전부 수십~수백 px).
|
|
22
|
+
*/
|
|
23
|
+
moveTolerance?: number;
|
|
24
|
+
/**
|
|
25
|
+
* 라벨 **위치**의 허용 오차(px). 기본 **8**.
|
|
26
|
+
*
|
|
27
|
+
* 🔴 **라벨 박스는 사람 손과 폰트 근사가 함께 움직인다** — 실측(2026-09-26 · 82쌍 · 본체가 안
|
|
28
|
+
* 움직인 라벨 **280**): 라벨만 달라진 것이 **2건**이고 위치 Δ 3·5px · 크기 Δ 6·9px 였다. 우리
|
|
29
|
+
* 헤드리스 하강이 폰트 폭을 **근사**하므로(`headless/dom`) 재직렬화만으로 그만큼 표류한다.
|
|
30
|
+
* ⇒ 표류폭 위에 임계를 둔다. ⚠ **크기는 아예 안 본다** — bpmn-js 에 라벨 리사이즈가 없어
|
|
31
|
+
* 사람이 만들 수 없는 변화이고, 텍스트·폰트가 정하는 파생값이다.
|
|
32
|
+
*/
|
|
33
|
+
labelTolerance?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 두 문서가 만진 요소를 가른다. **순수 함수** — 좌표·의미 어느 쪽 변화든 `modified` 에 든다.
|
|
37
|
+
*
|
|
38
|
+
* ⚠ **id 가 진실이다** — bpmn-js 가 요소를 재생성하는 조작(morph)은 id 를 바꾸므로 `removed` +
|
|
39
|
+
* `added` 한 쌍으로 잡힌다. 그것이 정직한 판정이다(같은 요소라고 우기면 충돌 판정이 거짓 음성이 된다).
|
|
40
|
+
*/
|
|
41
|
+
export declare function diffBpmnElements(oldDefinitions: El, newDefinitions: El, options?: DiffBpmnElementsOptions): BpmnChangedElements;
|
|
42
|
+
export interface DiffBpmnElementsXmlResult extends BpmnChangedElements {
|
|
43
|
+
warnings: ParseWarning[];
|
|
44
|
+
}
|
|
45
|
+
/** XML 진입점 — 호스트(서버)가 두 버전 본문을 그대로 넘기는 경로. C-3 이 적은 그 시그니처다. */
|
|
46
|
+
export declare function diffBpmnElementsXml(oldXml: string, newXml: string, options?: DiffBpmnElementsOptions): Promise<DiffBpmnElementsXmlResult>;
|
|
47
|
+
/**
|
|
48
|
+
* 「이번에 만들거나 만진 것」 — 패널 범위 축(B-109 ⓑ)이 쓰는 형태.
|
|
49
|
+
*
|
|
50
|
+
* ⚠ `removed` 는 넣지 않는다 — 사라진 요소는 패널이 가리킬 대상이 없다(판정도 안 난다).
|
|
51
|
+
*/
|
|
52
|
+
export declare function touchedElements(changed: BpmnChangedElements): Set<string>;
|
|
53
|
+
export {};
|