@g1cloud/bpmn-modeler-next 5.0.0-beta.68 → 5.0.0-beta.69

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.
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 주석 resize 의 정확한 크기 (B-209) — **resolver 가 표시한** `shape.resize` 만 bpmn-js 높이 스냅 뒤에 요청 크기로 되돌린다.
3
+ *
4
+ * bpmn-js 18.23 `TextAnnotationBehavior` 는 주석 하나의 프로그램 resize 마다 높이를 **그 환경의 측정 × 설계 언어 문구**로
5
+ * 다시 맞추고 최소 40(`MIN_TEXT_ANNOTATION_HEIGHT`)으로 둔다 — 우회 힌트(`autoResize`)도 강제로 끈다. 그래서 resolver 의
6
+ * 주석 상자(`agent/resolver/annotationSize` — 문서 언어 전부 · diagram-js 줄바꿈 · 한자 1em)를 `annotation.update` 에서
7
+ * 그대로 쓸 길이 공개 API 에 없었다(폭만 쓰고 높이를 스냅에 맡기면 로컬 말뭉치에서 ja 38 · ko 19 가 넘쳤다 —
8
+ * `ledger/backlog.md` §부록 B-209). 이 모듈이 스냅 **뒤**(우선순위 500)에 요청 크기를 다시 놓는다.
9
+ *
10
+ * 🔴 **힌트(`ANNOTATION_EXACT_BOUNDS_HINT`)가 있는 resize 만** 손댄다 — 사람의 GUI 크기 조절 · 문구 편집과 다른 경로는
11
+ * bpmn-js 그대로다. 힌트 값 = 요청 바운즈(스냅이 `context.newBounds` 를 새 객체로 바꾸므로 원래 값을 힌트에 싣는다).
12
+ * redo 는 preExecute 를 다시 타지 않고 저장된 `newBounds` 로 실행하므로 정확한 크기가 그대로 돌아온다.
13
+ *
14
+ * ⚠ **bpmn-js 내부 동작에 기댄다**(스냅이 `shape.resize` preExecute · 기본 우선순위 1000) — pin 상향 게이트 =
15
+ * `annotationExactResize.test.ts`(스냅이 다른 단계로 옮겨지면 그 테스트가 깨진다). 헤드리스 기본 셋 · `BpmnModelerView`
16
+ * 양쪽에 등록한다 — 턴 끝 재실행(G4 B′)이 서버와 같은 크기를 내야 한다.
17
+ */
18
+ type Any = any;
19
+ /** `modeling.resizeShape(shape, bounds, undefined, { [ANNOTATION_EXACT_BOUNDS_HINT]: bounds })`. */
20
+ export declare const ANNOTATION_EXACT_BOUNDS_HINT = "bwlExactAnnotationBounds";
21
+ export declare class AnnotationExactResize {
22
+ static $inject: string[];
23
+ constructor(eventBus: Any);
24
+ }
25
+ /** bpmn-js 모듈 — 서비스 이름 = `annotationExactResize`. 헤드리스 기본 셋과 `BpmnModelerView` 가 붙인다. */
26
+ export declare const AnnotationExactResizeModule: {
27
+ __init__: string[];
28
+ annotationExactResize: (string | typeof AnnotationExactResize)[];
29
+ };
30
+ export {};
@@ -40,6 +40,8 @@ export declare const HEADLESS_TEXT_METRICS: {
40
40
  readonly ascentEm: 0.9;
41
41
  readonly descentEm: 0.25;
42
42
  };
43
+ /** 위 전각 판정 — 주석 상자 측정(`agent/resolver/annotationSize`)이 같은 문자 클래스를 쓴다. */
44
+ export declare function isFullWidthChar(ch: string): boolean;
43
45
  /** 폰트 크기(px)에서 텍스트 폭을 근사한다 — 심의 `measureText` 와 대조 테스트가 공유하는 단일 출처. */
44
46
  export declare function approximateTextWidth(text: string, fontSizePx: number): number;
45
47
  /**
@@ -10,6 +10,7 @@ import { HeadlessDomOptions } from './dom';
10
10
  * `TranslationCommandsModule` = 번역 칸 커맨드(B-4 ④ — 다국어 그룹의 에이전트 op 가 쓴다 · 그래픽스 무관).
11
11
  * `TranslationLocaleCopyModule` = 타입 전환이 번역 칸 언어를 잃지 않게(B-156 — `BpmnModelerView` 와 같은 모듈).
12
12
  * `AnnotationImportDockingModule` = 주석 연관선의 가져오기 도킹 원점이 주석 밖이면 중심으로(B-139 — `BpmnModelerView` 와 같은 모듈).
13
+ * `AnnotationExactResizeModule` = resolver 가 표시한 주석 resize 를 bpmn-js 높이 스냅 뒤 요청 크기로(B-209 — `BpmnModelerView` 와 같은 모듈).
13
14
  * `AutoResizeModule` = 내용이 풀 · 레인 경계를 넘으면 컨테이너를 키운다(B-176 — `Modeler` 에 있는 bpmn-js 모듈 · 위 헤더).
14
15
  */
15
16
  export declare const HEADLESS_BPMN_MODULES: readonly [typeof CoreModule, {
@@ -23,6 +24,9 @@ export declare const HEADLESS_BPMN_MODULES: readonly [typeof CoreModule, {
23
24
  }, {
24
25
  __init__: string[];
25
26
  annotationImportDocking: (string | typeof import('../adapter/annotationImportDocking').AnnotationImportDocking)[];
27
+ }, {
28
+ __init__: string[];
29
+ annotationExactResize: (string | typeof import('../command/annotationExactResize').AnnotationExactResize)[];
26
30
  }];
27
31
  export interface HeadlessBpmnModelerOptions {
28
32
  /** 추가 모듈(호스트 확장). 기본 셋을 대체하지 않고 덧붙인다. */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@g1cloud/bpmn-modeler-next",
3
3
  "private": false,
4
- "version": "5.0.0-beta.68",
4
+ "version": "5.0.0-beta.69",
5
5
  "description": "Vue 3 BPMN document authoring editor (bpmn-js based) with AI agent authoring",
6
6
  "type": "module",
7
7
  "files": [