@g1cloud/entity-modeler-next 5.2.46 → 5.2.48
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/core/autolayout.d.ts +21 -0
- package/dist/editor/controller.d.ts +23 -0
- package/dist/entity-modeler-next.css +1 -1
- package/dist/entity-modeler.js +9966 -9954
- package/dist/entity-modeler.umd.cjs +34 -34
- package/package.json +1 -1
|
@@ -55,3 +55,24 @@ export interface PackBoxesOptions {
|
|
|
55
55
|
/** 속성 수 → 박스 추정 높이 (넉넉히 over-reserve). */
|
|
56
56
|
export declare function estimateEntityHeight(attributeCount: number, opts?: Partial<PackBoxesOptions>): number;
|
|
57
57
|
export declare function packEntityBoxes(boxes: EntityBoxSpec[], options?: Partial<PackBoxesOptions>): PackedEntityBox[];
|
|
58
|
+
/**
|
|
59
|
+
* 생성 지점 카스케이드 — **이미 점유된 자리에 새 요소를 포개 놓지 않는다.**
|
|
60
|
+
*
|
|
61
|
+
* ⚠️★팔레트의 「엔티티 추가」·「메모 추가」는 커서 맥락이 없어 **뷰포트 중앙 고정**인데, 그 자리가
|
|
62
|
+
* 비어 있다는 보장이 없다. 회피가 없으면 버튼을 두 번 누른 것만으로 두 노드가 **완전히 포개져**
|
|
63
|
+
* 화면엔 하나로 보이고, 위 노드를 끌어내야 아래 것이 드러난다(실측 — 2연타 시 두 노드가 같은
|
|
64
|
+
* `translate(590px, 410.5px)`). 겹친 두 노드를 잇는 연결선은 양 끝점이 같은 점이 되어 **길이 0**
|
|
65
|
+
* 으로 붕괴하므로, 「선이 안 그려진다」는 다른 얼굴로도 나타난다.
|
|
66
|
+
*
|
|
67
|
+
* ★**커서로 지목한 생성 경로(우클릭 메뉴)에는 걸지 않는다** — 그쪽은 사용자가 자리를 골랐고, 도구가
|
|
68
|
+
* 그 지목을 밀면 「누른 자리에 안 생긴다」가 된다. 자리를 «도구가» 고르는 경로만 도구가 책임진다.
|
|
69
|
+
*
|
|
70
|
+
* ★**보폭·판정 반경이 같은 값(`headerHeight`)을 쓰는 것이 자기 일관성**이다 — 한 칸 민 자리는 두 축
|
|
71
|
+
* 모두 정확히 `step` 만큼 떨어져 판정을 벗어나므로 다음 칸이 항상 비어 있다고 판정된다. 값의 근거는
|
|
72
|
+
* 이 파일이 이미 가진 격자 상수이고(새로 발명하지 않는다), 의미는 *「아래 노드의 헤더가 드러나는
|
|
73
|
+
* 최소 세로 간격」* 이다.
|
|
74
|
+
*/
|
|
75
|
+
export declare function cascadeFreeLocation(desired: Point, occupied: readonly Point[], options?: {
|
|
76
|
+
step?: number;
|
|
77
|
+
maxSteps?: number;
|
|
78
|
+
}): Point;
|
|
@@ -355,6 +355,24 @@ export interface EditorController {
|
|
|
355
355
|
* languages[0]로 폴백. 미주입 시 'ko'. 라벨 우선 표시 등 확장 여지의 기준점.
|
|
356
356
|
*/
|
|
357
357
|
userLanguage: Ref<LangCode>;
|
|
358
|
+
/**
|
|
359
|
+
* 프로젝트 «기본» 언어(호스트 주입) — **산출물에 굳는** 언어를 고르는 축. 현재 소비처는 DDL
|
|
360
|
+
* 내보내기의 `COMMENT ON` 로케일(`ddl.ts` `commentLocale`)이다.
|
|
361
|
+
*
|
|
362
|
+
* ★★**언어 축 셋과 «넷째»인 이유 — 딸린 대상이 다르다.** `languages`(입력셋)·`userLanguage`
|
|
363
|
+
* (접속 유저)·`uiLocale`(툴 크롬) 셋은 전부 **보는 사람**에 딸린 값이라 산출물에 굳히면 *누가
|
|
364
|
+
* 뽑았느냐*에 따라 결과가 달라진다. DDL 주석처럼 **DB 에 남는** 값은 프로젝트에 딸린 이 축을
|
|
365
|
+
* 써야 한다 — 레거시 `AbstractSrcGen.getDefaultLanguage()`(= `systemSetting.language`)와 같은
|
|
366
|
+
* 자리이고, 호스트는 `server/utils/projectLocale.ts` 가 소유한다.
|
|
367
|
+
*
|
|
368
|
+
* ⚠️**`userLanguage` 를 여기 넘기지 말 것**(`ddl.ts` 의 같은 경고와 한 쌍이다).
|
|
369
|
+
*
|
|
370
|
+
* ★**미주입 = `undefined` 이고 폴백하지 않는다** — 형제 축들과 달리 기본값을 두지 않는 것은
|
|
371
|
+
* 「모르는 값 규약」이다. 프로젝트가 언어를 선언한 적이 없는데 `'ko'` 로 채우면 **한국어 주석이
|
|
372
|
+
* 달린 DDL 이 DB 에 굳는다**(호스트 `resolveProjectLocale` 가 레거시의 `"en"` 하드 폴백을
|
|
373
|
+
* 걷어낸 것과 같은 근거). 소비처는 미주입이면 그 축을 **끈다**(주석 미방출).
|
|
374
|
+
*/
|
|
375
|
+
projectLanguage: Ref<LangCode | undefined>;
|
|
358
376
|
/**
|
|
359
377
|
* 툴 크롬(버튼·라벨·툴팁·검증 메시지) 언어(호스트 주입) — 콘텐츠 축 `userLanguage`와 **별개**.
|
|
360
378
|
* 미주입 시 'ko'(무회귀). reactive하므로 .value 갱신 시 UI 문자열이 즉시 재렌더.
|
|
@@ -528,6 +546,11 @@ export declare function createEditorController(initial?: EditorState, options?:
|
|
|
528
546
|
superClassCatalog?: SuperClassCatalog;
|
|
529
547
|
languages?: LangCode[];
|
|
530
548
|
userLanguage?: LangCode;
|
|
549
|
+
/**
|
|
550
|
+
* 프로젝트 기본 언어 — 산출물에 «굳는» 언어(DDL `COMMENT ON` 로케일). 보는 사람에 딸린
|
|
551
|
+
* `userLanguage` 를 넘기지 말 것. **미주입 시 폴백하지 않는다**(= 주석 미방출).
|
|
552
|
+
*/
|
|
553
|
+
projectLanguage?: LangCode;
|
|
531
554
|
/** 툴 크롬 언어(콘텐츠 축 `userLanguage`와 별개). 미주입 시 'ko'(무회귀). */
|
|
532
555
|
uiLocale?: UiLocale;
|
|
533
556
|
/** `fromPersisted` 산출 meta(트랙 B 마커 + revSeed). schemaVersion·opWriteEnabled로 opMode·read-only 판정. */
|