@hatiolab/things-scene 10.0.5 → 10.1.0
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-types/diagnostics/inspector.d.ts +47 -0
- package/dist-types/diagnostics/inspector.d.ts.map +1 -1
- package/dist-types/figure/figure-blueprint.d.ts +118 -0
- package/dist-types/figure/figure-blueprint.d.ts.map +1 -0
- package/dist-types/figure/figure-instance.d.ts +283 -0
- package/dist-types/figure/figure-instance.d.ts.map +1 -0
- package/dist-types/figure/figure-palette.d.ts +37 -0
- package/dist-types/figure/figure-palette.d.ts.map +1 -0
- package/dist-types/figure/figure-real-object.d.ts +73 -0
- package/dist-types/figure/figure-real-object.d.ts.map +1 -0
- package/dist-types/figure/figure-registry.d.ts +71 -0
- package/dist-types/figure/figure-registry.d.ts.map +1 -0
- package/dist-types/figure/index.d.ts +12 -0
- package/dist-types/figure/index.d.ts.map +1 -0
- package/dist-types/interfaces/real-object.d.ts +34 -0
- package/dist-types/interfaces/real-object.d.ts.map +1 -1
- package/dist-types/layer/model-layer.d.ts +9 -2
- package/dist-types/layer/model-layer.d.ts.map +1 -1
- package/dist-types/model/arrange.d.ts +61 -0
- package/dist-types/model/arrange.d.ts.map +1 -0
- package/dist-types/model/index.d.ts +1 -0
- package/dist-types/model/index.d.ts.map +1 -1
- package/dist-types/things-scene/index.d.ts +1 -0
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/threed/common.d.ts +8 -0
- package/dist-types/threed/common.d.ts.map +1 -1
- package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
- package/dist-types/threed/factories/camera.d.ts +1 -1
- package/dist-types/threed/factories/cube.d.ts +8 -0
- package/dist-types/threed/factories/cube.d.ts.map +1 -1
- package/dist-types/threed/factories/cylinder.d.ts +17 -0
- package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
- package/dist-types/threed/factories/sphere.d.ts +11 -0
- package/dist-types/threed/factories/sphere.d.ts.map +1 -1
- package/dist-types/threed/factories/wall.d.ts +8 -0
- package/dist-types/threed/factories/wall.d.ts.map +1 -1
- package/dist-types/threed/geometry-bank.d.ts +64 -0
- package/dist-types/threed/geometry-bank.d.ts.map +1 -0
- package/dist-types/threed/index.d.ts +4 -0
- package/dist-types/threed/index.d.ts.map +1 -1
- package/dist-types/threed/instanced-set.d.ts +211 -0
- package/dist-types/threed/instanced-set.d.ts.map +1 -0
- package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
- package/dist-types/threed/managers/renderer-manager.d.ts +3 -3
- package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/scene-manager.d.ts +33 -9
- package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
- package/dist-types/threed/material-3d.d.ts +9 -0
- package/dist-types/threed/material-3d.d.ts.map +1 -1
- package/dist-types/threed/real-object-camera-meshed.d.ts +1 -1
- package/dist-types/threed/real-object-dom-texture.d.ts +2 -2
- package/dist-types/threed/real-object-extrude.d.ts +14 -0
- package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
- package/dist-types/threed/real-object-mesh.d.ts +79 -2
- package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
- package/dist-types/threed/real-object-plane-2d.d.ts +2 -2
- package/dist-types/threed/real-object-scene.d.ts +2 -2
- package/dist-types/threed/real-object-service.d.ts +2 -2
- package/dist-types/threed/real-object.d.ts +46 -2
- package/dist-types/threed/real-object.d.ts.map +1 -1
- package/dist-types/threed/segments.d.ts +49 -0
- package/dist-types/threed/segments.d.ts.map +1 -0
- package/dist-types/threed/three-capability.d.ts +7 -0
- package/dist-types/threed/three-capability.d.ts.map +1 -1
- package/dist-types/threed/three-container.d.ts +8 -3
- package/dist-types/threed/three-container.d.ts.map +1 -1
- package/dist-types/threed/top-outline.d.ts +37 -0
- package/dist-types/threed/top-outline.d.ts.map +1 -0
- package/dist-types/threed/utils/dispose.d.ts.map +1 -1
- package/dist-types/transition/transition-effect.d.ts.map +1 -1
- package/package.json +3 -3
- package/things-scene-min.js +11 -11
- package/things-scene-min.js.map +1 -1
- package/things-scene-transfer.mjs +3 -3
- package/things-scene.mjs +3 -3
- package/things-scene.mjs.map +1 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { FigureBlueprint, FigureBlueprintGroup, FigureBlueprintMember, FigureBlueprintPoint } from './figure-blueprint.js';
|
|
2
|
+
/**
|
|
3
|
+
* 저작한 Figure 를 컴포넌트 타입에 매어 두는 곳.
|
|
4
|
+
*
|
|
5
|
+
* `Component.register(type, clazz)` 는 「이 타입은 이 클래스가 그린다」를 말한다. 여기는
|
|
6
|
+
* 그 옆에서 「이 타입은 이 청사진을 그린다」를 말한다. 둘이 짝이므로 `registerFigure()`
|
|
7
|
+
* 하나가 양쪽을 같이 한다 — 보드 모델은 `{ type: 'EQ_MIXER', left, top, width, height }`
|
|
8
|
+
* 만 적으면 되고, 청사진도 정본도 보드에 들어가지 않는다.
|
|
9
|
+
*
|
|
10
|
+
* 청사진은 보드와 **수명이 다르다.** 보드는 사람이 고치니 자주 바뀌고, Figure 는
|
|
11
|
+
* 타입 이름으로 불변하게 주소가 잡히니 오래 캐시된다. 한 문서에 섞으면 둘 다 짧은
|
|
12
|
+
* 쪽을 따라간다.
|
|
13
|
+
*/
|
|
14
|
+
/** 그리기 전에 한 번 풀어 둔 부품. 인스턴스마다 다시 풀지 않는다. */
|
|
15
|
+
export interface PreparedPart {
|
|
16
|
+
member: FigureBlueprintMember;
|
|
17
|
+
group: FigureBlueprintGroup;
|
|
18
|
+
/** 팔레트에서 해석한 색. */
|
|
19
|
+
color: string;
|
|
20
|
+
/** 이 부품에 걸린 애니메이션 포인트. 없으면 undefined. */
|
|
21
|
+
point?: FigureBlueprintPoint;
|
|
22
|
+
}
|
|
23
|
+
export interface PreparedGroup {
|
|
24
|
+
group: FigureBlueprintGroup;
|
|
25
|
+
color: string;
|
|
26
|
+
/** 이 묶음의 부품에 걸린 애니메이션 포인트. 묶음이 animated 면 하나 있다. */
|
|
27
|
+
point?: FigureBlueprintPoint;
|
|
28
|
+
}
|
|
29
|
+
export interface PreparedFigure {
|
|
30
|
+
blueprint: FigureBlueprint;
|
|
31
|
+
/**
|
|
32
|
+
* 2D 로 그리는 순서 — **z 오름차순이며 묶음 순서가 아니다.**
|
|
33
|
+
*
|
|
34
|
+
* 묶음은 3D 의 것이다. 3D 는 깊이 버퍼가 앞뒤를 가려 주므로 재질별로 합쳐도 되지만,
|
|
35
|
+
* 2D 캔버스는 나중에 칠한 것이 위로 온다. 묶음 순서로 칠하면 아래에 있어야 할
|
|
36
|
+
* 부품이 위를 덮는다. 그래서 2D 는 z 순서를 따로 갖는다.
|
|
37
|
+
*
|
|
38
|
+
* 이 순서는 타입마다 한 번만 만든다 — 인스턴스가 몇이든 다시 정렬하지 않는다.
|
|
39
|
+
*/
|
|
40
|
+
paintOrder: PreparedPart[];
|
|
41
|
+
/** 3D 로 세울 묶음 — 재질별. */
|
|
42
|
+
groups: PreparedGroup[];
|
|
43
|
+
/** 이 값이 팔레트와 어긋나면 색을 다시 푼다. */
|
|
44
|
+
paletteVersion: number;
|
|
45
|
+
}
|
|
46
|
+
/** `figure-instance.ts` 가 부른다. 응용이 다른 클래스를 쓰고 싶으면 갈아 끼울 수 있다. */
|
|
47
|
+
export declare function useFigureComponent(clazz: unknown): void;
|
|
48
|
+
/**
|
|
49
|
+
* Figure 를 등록한다 — 청사진을 매어 두고 컴포넌트 타입도 함께 등록한다.
|
|
50
|
+
*
|
|
51
|
+
* 읽을 수 없는 청사진이면 **던진다.** 프레임마다 조용히 실패하는 대신 등록에서 한 번
|
|
52
|
+
* 크게 실패하는 편이, 무엇이 잘못됐는지 알기에 낫다.
|
|
53
|
+
*/
|
|
54
|
+
export declare function registerFigure(blueprint: FigureBlueprint): PreparedFigure;
|
|
55
|
+
/**
|
|
56
|
+
* 등록된 Figure 를 찾는다. 없으면 `null` — 빈 청사진으로 갈음하지 않는다.
|
|
57
|
+
*
|
|
58
|
+
* 팔레트가 바뀌었으면 색을 다시 푼 것을 돌려준다.
|
|
59
|
+
*/
|
|
60
|
+
export declare function getFigure(type: string): PreparedFigure | null;
|
|
61
|
+
/** 등록된 Figure 타입 이름들. */
|
|
62
|
+
export declare function figureTypes(): string[];
|
|
63
|
+
export declare function hasFigure(type: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* 등록을 지운다. 컴포넌트 타입 등록은 건드리지 않는다 — 지우면 보드에 이미 놓인
|
|
66
|
+
* 인스턴스가 세워지지 못한다. 청사진이 없으면 인스턴스가 자리 표시를 그린다.
|
|
67
|
+
*/
|
|
68
|
+
export declare function unregisterFigure(type: string): boolean;
|
|
69
|
+
/** 시험을 위해 전부 지운다. */
|
|
70
|
+
export declare function resetFigures(): void;
|
|
71
|
+
//# sourceMappingURL=figure-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figure-registry.d.ts","sourceRoot":"","sources":["../../src/figure/figure-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAI9B;;;;;;;;;;;GAWG;AAEH,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,KAAK,CAAC,EAAE,oBAAoB,CAAA;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,KAAK,CAAC,EAAE,oBAAoB,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,eAAe,CAAA;IAC1B;;;;;;;;OAQG;IACH,UAAU,EAAE,YAAY,EAAE,CAAA;IAC1B,wBAAwB;IACxB,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAA;CACvB;AAUD,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEvD;AAkCD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,cAAc,CAiBzE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAW7D;AAED,yBAAyB;AACzB,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,qBAAqB;AACrB,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 저작한 Figure 를 things-scene 에서 다루는 부분.
|
|
3
|
+
*
|
|
4
|
+
* 이 묶음을 읽으면 `registerFigure()` 가 쓸 수 있게 이어진다 — `figure-instance.ts` 가
|
|
5
|
+
* 적재되며 컴포넌트 클래스를 registry 에 넣기 때문이다. 그래서 instance 를 먼저 읽는다.
|
|
6
|
+
*/
|
|
7
|
+
export * from './figure-instance.js';
|
|
8
|
+
export * from './figure-blueprint.js';
|
|
9
|
+
export * from './figure-palette.js';
|
|
10
|
+
export * from './figure-registry.js';
|
|
11
|
+
export * from './figure-real-object.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/figure/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
|
|
@@ -8,6 +8,32 @@ import type { Properties } from './types.js';
|
|
|
8
8
|
* object3d 를 갖기 때문에 인터페이스에도 노출. 타입은 any — 명시 타입이 필요한
|
|
9
9
|
* 곳은 IThreeRealObject(src/threed/interfaces.ts) 또는 구체 구현 클래스로 좁혀 사용.
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* 톱뷰 윤곽 — 3D 형상을 위에서 내려다본 폐다각형.
|
|
13
|
+
*
|
|
14
|
+
* 3D 로만 저작한 형상의 2D 표현을 **계산**하기 위한 것이다. 2D 를 따로 그리지 않으니,
|
|
15
|
+
* 2D 와 3D 가 다른 물건으로 보이는 일이 생기지 않는다.
|
|
16
|
+
*
|
|
17
|
+
* 좌표 규약 — 원점은 컴포넌트 중심, x 는 오른쪽, y 는 아래. 2D 캔버스와 같은 방향이라
|
|
18
|
+
* 변환 없이 쓸 수 있다. 컴포넌트 자신의 회전은 **적용되지 않은** 상태다(회전은 2D 쪽이
|
|
19
|
+
* 얹는다).
|
|
20
|
+
*/
|
|
21
|
+
export interface TopOutline {
|
|
22
|
+
/**
|
|
23
|
+
* 폐다각형의 점들. 첫 점과 끝 점을 이어 닫힌 것으로 읽는다 — 마지막에 첫 점을
|
|
24
|
+
* 되풀어 넣지 않는다.
|
|
25
|
+
*/
|
|
26
|
+
points: {
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
}[];
|
|
30
|
+
/**
|
|
31
|
+
* 곡선을 그 수로 근사했다는 뜻. 없으면 **직선 형상이거나 알 수 없다** — 둘을
|
|
32
|
+
* 구별하지 않는다. 압출 계열은 경로가 이미 점으로 바뀐 뒤에 오므로 원래 분할 수를
|
|
33
|
+
* 알 수 없어 비워 둔다.
|
|
34
|
+
*/
|
|
35
|
+
segments?: number;
|
|
36
|
+
}
|
|
11
37
|
export interface IRealObject {
|
|
12
38
|
/**
|
|
13
39
|
* THREE.Object3D 인스턴스. THREE 의존성 회피를 위해 any 로 노출.
|
|
@@ -36,6 +62,14 @@ export interface IRealObject {
|
|
|
36
62
|
updateText(): void;
|
|
37
63
|
/** Component 속성 변경 시 호출 */
|
|
38
64
|
onchange(after: Properties, before: Properties): void;
|
|
65
|
+
/**
|
|
66
|
+
* 톱뷰 윤곽을 계산해 돌려준다. **계산할 수 없으면 `null`** — 빈 배열이나 경계상자로
|
|
67
|
+
* 갈음하지 않는다. 부르는 쪽이 「윤곽이 없다」와 「윤곽이 비었다」를 구별해야 한다.
|
|
68
|
+
*
|
|
69
|
+
* 계산할 수 없는 예 — 외부 모델(glTF)처럼 형상이 파일에서 오는 것, 텍스트·DOM
|
|
70
|
+
* 오버레이처럼 두께가 없는 것.
|
|
71
|
+
*/
|
|
72
|
+
topOutline(): TopOutline | null;
|
|
39
73
|
/** 포커스 여부 (getter/setter) */
|
|
40
74
|
focused: boolean;
|
|
41
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAA;IAGd,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAA;IACd,aAAa;IACb,OAAO,IAAI,IAAI,CAAA;IAGf,0CAA0C;IAC1C,eAAe,IAAI,IAAI,CAAA;IACvB,oDAAoD;IACpD,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,cAAc,IAAI,IAAI,CAAA;IAGtB,gBAAgB;IAChB,WAAW,IAAI,IAAI,CAAA;IACnB,eAAe;IACf,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,iBAAiB,IAAI,IAAI,CAAA;IACzB,gBAAgB;IAChB,UAAU,IAAI,IAAI,CAAA;IAGlB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAGrD,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB"}
|
|
1
|
+
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;;GAQG;AACH;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAA;IAGd,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAA;IACd,aAAa;IACb,OAAO,IAAI,IAAI,CAAA;IAGf,0CAA0C;IAC1C,eAAe,IAAI,IAAI,CAAA;IACvB,oDAAoD;IACpD,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,cAAc,IAAI,IAAI,CAAA;IAGtB,gBAAgB;IAChB,WAAW,IAAI,IAAI,CAAA;IACnB,eAAe;IACf,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,iBAAiB,IAAI,IAAI,CAAA;IACzB,gBAAgB;IAChB,UAAU,IAAI,IAAI,CAAA;IAGlB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAGrD;;;;;;OAMG;IACH,UAAU,IAAI,UAAU,GAAG,IAAI,CAAA;IAG/B,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB"}
|
|
@@ -56,6 +56,13 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
56
56
|
*/
|
|
57
57
|
private get _threedEnabled();
|
|
58
58
|
is3dContainer(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* 반사할 환경(IBL)이 걸려 있나. 진단이 묻는 공개 질문이다.
|
|
61
|
+
*
|
|
62
|
+
* `metalness` 가 높은 재질은 이것이 없으면 고른 색과 무관하게 어둡게 나온다 —
|
|
63
|
+
* PBR 에서 완전한 금속은 확산 성분이 없어 보이는 것이 전부 반사이기 때문이다.
|
|
64
|
+
*/
|
|
65
|
+
get hasEnvironment(): boolean;
|
|
59
66
|
get gizmoMode(): 'translate' | 'rotate' | 'scale' | undefined;
|
|
60
67
|
setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
|
|
61
68
|
/** 도움말 패널 열기/닫기 — 단축키 `H` 와 같은 동작. */
|
|
@@ -73,10 +80,10 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
73
80
|
* 단축키가 하는 일과 공개 API 가 하는 일은 같아야 한다.
|
|
74
81
|
*/
|
|
75
82
|
setCameraView(view: CameraViewName): void;
|
|
76
|
-
get scene3d(): THREE.Scene | undefined;
|
|
83
|
+
get scene3d(): THREE.Scene<THREE.Object3DEventMap> | undefined;
|
|
77
84
|
get renderer3d(): THREE.WebGLRenderer | undefined;
|
|
78
85
|
get activeCamera3d(): THREE.Camera | undefined;
|
|
79
|
-
get mixer(): THREE.AnimationMixer | undefined;
|
|
86
|
+
get mixer(): THREE.AnimationMixer<THREE.AnimationMixerEventMap> | undefined;
|
|
80
87
|
addArrow3D(id: string, from: Component, to: Component, style?: ArrowStyle3D): void;
|
|
81
88
|
removeArrow3D(id: string): void;
|
|
82
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAMlD,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAE7G,OAAO,UAAU,MAAM,mBAAmB,CAAA;AAE1C,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAGpD,OAAO,EAAE,eAAe,EAA2B,MAAM,+BAA+B,CAAA;AAExF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,2BAA2B,CAAA;AAGlC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AA0BjE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAgB,YAAW,yBAAyB;IAC1F,MAAM,CAAC,KAAK,EAAE,OAAO,UAAU,CAAA;IAE/B,QAAQ,EAAE,GAAG,CAAA;IACb,iBAAiB,EAAE,GAAG,CAAA;IACtB,oBAAoB,EAAE,GAAG,CAAA;IAEzB,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAC,CAA0E;IACnG,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,0BAA0B,CAAC,CAAyB;IAE5D,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAE5B;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ,aAEX;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;IAID,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,OAAO,KAAK,cAAc,GAEzB;IAED,aAAa,IAAI,OAAO;IAIxB,IAAI,SAAS,IAAI,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAE5D;IAED,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI;IAY1D,sCAAsC;IACtC,UAAU,IAAI,IAAI;IAIlB,+CAA+C;IAC/C,uBAAuB,IAAI,IAAI;IAI/B,mDAAmD;IACnD,oBAAoB,IAAI,IAAI;IAI5B,iEAAiE;IACjE;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAWzC,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type Component from '../components/component.js';
|
|
2
|
+
/** 정렬·분포의 대상 축. */
|
|
3
|
+
export type ArrangeAxis = 'x' | 'y' | 'z';
|
|
4
|
+
/** 축 위에서 어디에 맞출 것인가. */
|
|
5
|
+
export type AlignMode = 'min' | 'center' | 'max';
|
|
6
|
+
/** 축 위의 한 구간 — 시작 좌표와 크기. */
|
|
7
|
+
export interface Extent {
|
|
8
|
+
start: number;
|
|
9
|
+
size: number;
|
|
10
|
+
}
|
|
11
|
+
/** `CommandChange({ changes })` 에 넘길 변경 한 건. */
|
|
12
|
+
export interface ArrangeChange {
|
|
13
|
+
component: Component;
|
|
14
|
+
before: Record<string, number>;
|
|
15
|
+
after: Record<string, number>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 어댑터의 반환값.
|
|
19
|
+
*
|
|
20
|
+
* `skipped` 는 그 축의 구간을 읽을 수 없어 제외된 컴포넌트다. 조용히 빼지 않고
|
|
21
|
+
* 돌려주므로 호출자가 사용자에게 알릴 수 있다 — 예: z 축 정렬인데 `depth` 가
|
|
22
|
+
* 명시되지 않은 컴포넌트.
|
|
23
|
+
*/
|
|
24
|
+
export interface ArrangeResult {
|
|
25
|
+
changes: ArrangeChange[];
|
|
26
|
+
skipped: Component[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 구간들을 축 위에서 정렬한 새 시작 좌표.
|
|
30
|
+
*
|
|
31
|
+
* 기준은 현재 구간들이 차지한 전체 범위다 — `min` 은 가장 앞선 시작에, `max` 는
|
|
32
|
+
* 가장 뒤인 끝에, `center` 는 전체 범위의 가운데에 맞춘다. 캔버스나 부모가 아니라
|
|
33
|
+
* **선택 집합 자신**이 기준이므로 선택만으로 결과가 정해진다.
|
|
34
|
+
*
|
|
35
|
+
* 구간이 없으면 빈 배열을 반환한다.
|
|
36
|
+
*/
|
|
37
|
+
export declare function alignStarts(extents: Extent[], mode: AlignMode): number[];
|
|
38
|
+
/**
|
|
39
|
+
* 구간들의 사이 간격을 고르게 한 새 시작 좌표.
|
|
40
|
+
*
|
|
41
|
+
* 축 위에서 가장 앞선 것과 가장 뒤인 것은 제자리에 두고, 사이의 것들을 간격이
|
|
42
|
+
* 같도록 옮긴다. 겹쳐 있어 남는 자리가 음수면 간격도 음수가 되어 균일하게 겹친다 —
|
|
43
|
+
* 그것이 "고르게" 의 뜻이므로 보정하지 않는다.
|
|
44
|
+
*
|
|
45
|
+
* 입력 순서와 무관하게 **축 위의 위치 순서**로 배분하고, 결과는 입력 순서에 맞춰
|
|
46
|
+
* 돌려준다. 구간이 셋 미만이면 옮길 것이 없으므로 현재 시작 좌표를 그대로 반환한다.
|
|
47
|
+
*/
|
|
48
|
+
export declare function distributeStarts(extents: Extent[]): number[];
|
|
49
|
+
/**
|
|
50
|
+
* 컴포넌트에서 축 구간을 읽는다.
|
|
51
|
+
*
|
|
52
|
+
* 그 축의 크기가 상태에 명시되지 않으면 `null` 을 반환한다. 0 으로 갈음하지
|
|
53
|
+
* 않는다 — 두께를 모르는 것과 두께가 0 인 것은 다르고, 0 으로 두면 정렬 결과가
|
|
54
|
+
* 조용히 어긋난다.
|
|
55
|
+
*/
|
|
56
|
+
export declare function extentOf(component: Component, axis: ArrangeAxis): Extent | null;
|
|
57
|
+
/** 선택 집합을 축 위에서 정렬한다. 움직일 필요가 없는 컴포넌트는 변경에서 빠진다. */
|
|
58
|
+
export declare function alignChanges(components: Component[], axis: ArrangeAxis, mode: AlignMode): ArrangeResult;
|
|
59
|
+
/** 선택 집합의 사이 간격을 축 위에서 고르게 한다. */
|
|
60
|
+
export declare function distributeChanges(components: Component[], axis: ArrangeAxis): ArrangeResult;
|
|
61
|
+
//# sourceMappingURL=arrange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrange.d.ts","sourceRoot":"","sources":["../../src/model/arrange.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD,mBAAmB;AACnB,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEzC,wBAAwB;AACxB,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEhD,6BAA6B;AAC7B,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB;AAQD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAoB5D;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAkB/E;AAiCD,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,GAAG,aAAa,CAEvG;AAED,kCAAkC;AAClC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,aAAa,CAE3F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as compile } from './compile.js';
|
|
2
2
|
export { default as duplicate } from './duplicate.js';
|
|
3
3
|
export { select, match } from './selector.js';
|
|
4
|
+
export { alignStarts, distributeStarts, extentOf, alignChanges, distributeChanges, type ArrangeAxis, type AlignMode, type Extent, type ArrangeChange, type ArrangeResult } from './arrange.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA"}
|
|
@@ -66,6 +66,7 @@ export { default as TransitionEffect } from '../transition/transition-effect.js'
|
|
|
66
66
|
export * from '../placement/index.js';
|
|
67
67
|
export * from '../search/index.js';
|
|
68
68
|
export * from '../threed/index.js';
|
|
69
|
+
export * from '../figure/index.js';
|
|
69
70
|
export * from '../types/polygon-path.js';
|
|
70
71
|
export * from '../types/polygon-path-arc.js';
|
|
71
72
|
export { type BulkCreateResult } from './api/add-start.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"AAIA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,yBAAiB,KAAK,CAAC;IACd,MAAM,OAAO,iBAAW,CAAA;IACxB,MAAM,SAAS,mBAAa,CAAA;IAC5B,MAAM,MAAM,gBAAU,CAAA;IACtB,MAAM,KAAK,eAAS,CAAA;CAC5B;AAED,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAI1D,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAEnF,cAAc,aAAa,CAAA;AAE3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAGtE,YAAY,EACV,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EACxE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EACzE,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,YAAY,EACV,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EACxF,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtE,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACxE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG/D,YAAY,EACV,IAAI,EACJ,KAAK,EACL,OAAO,EACP,eAAe,EACf,SAAS,EACT,OAAO,EACP,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EAEf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EAET,QAAQ,EACR,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAEjB,oBAAoB,EACpB,cAAc,EAEd,QAAQ,EACR,WAAW,EACX,aAAa,EAEb,cAAc,EAEd,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACzF,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAIhD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,eAAe,EACf,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,OAAO,EACP,OAAO,EACP,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AACvG,YAAY,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAG5H,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAElE,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnF,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAC9F,OAAO,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AACjG,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAExH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAIhE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC1E,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAGhF,cAAc,uBAAuB,CAAA;AAGrC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAK5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,14 @@ export declare const SCALE_MIN = 0.001;
|
|
|
4
4
|
* 'none'/'transparent' 는 0. **content alpha(state.alpha)는 여기서 곱하지 않는다** — 코어의 opacity
|
|
5
5
|
* 오버레이(RealObject.applyMaterialOpacity)가 faint 와 함께 일괄로 곱한다(이중적용 방지).
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* fillStyle 이 뜻하는 불투명도.
|
|
9
|
+
*
|
|
10
|
+
* 색 문자열의 alpha 채널을 읽는다. `none`·`transparent`·없음은 0 이다.
|
|
11
|
+
* `applyAlpha` 가 재질에 굽던 값이며, **재질을 나눠 쓸 때는 굽지 않고 창고 키(spec)에
|
|
12
|
+
* 넣는다** — 같은 값끼리 한 재질을 쓰고 다른 값은 갈린다.
|
|
13
|
+
*/
|
|
14
|
+
export declare function fillStyleOpacity(fillStyle: any): number;
|
|
7
15
|
export declare function applyAlpha(material: any, _alpha: number, fillStyle: any): void;
|
|
8
16
|
/**
|
|
9
17
|
* rgba/hsla 등 alpha 포함 색상 문자열에서 alpha 없는 hex 색상을 반환한다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/threed/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAQ,CAAA;AAE9B;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/threed/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAQ,CAAA;AAE9B;;;;GAIG;AACH;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAGvD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAIvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,eAAO,MAAM,cAAc;;;;CAAoC,CAAA;AAC/D,eAAO,MAAM,UAAU;;;;CAAuB,CAAA;AAC9C,eAAO,MAAM,cAAc;;;;CAAuB,CAAA;AAClD,eAAO,MAAM,WAAW;;;;CAAuB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backdrop.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/backdrop.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAK7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AA8GzD,qBAAa,UAAW,SAAQ,eAAe;IAC7C,yDAAyD;IACzD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;;;;;;OAYG;IACH,IAAa,QAAQ;;;;MAMpB;IAQD,KAAK;
|
|
1
|
+
{"version":3,"file":"backdrop.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/backdrop.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAK7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AA8GzD,qBAAa,UAAW,SAAQ,eAAe;IAC7C,yDAAyD;IACzD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;;;;;;OAYG;IACH,IAAa,QAAQ;;;;MAMpB;IAQD,KAAK;IA0FL,OAAO,CAAC,YAAY;IAqBpB,eAAe;IAEf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASxE,WAAW;CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBD,qBACa,QAAS,SAAQ,aAA2B;IACvD;2EACuE;IACvE,OAAO,CAAC,aAAa,CAAC,CAAsC;IAE5D,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,KAAK,CAAC,MAAM,EAAE,GAAG;IAgBX,KAAK;IAOX,OAAO,CAAC,MAAM,EAAE,GAAG;IAKnB,OAAO;IAKP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAYxE;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,mBAAmB;CAM5B"}
|
|
@@ -6,7 +6,7 @@ import { RealObject } from '../real-object.js';
|
|
|
6
6
|
export declare class Camera3D extends RealObject<THREE.Mesh> {
|
|
7
7
|
camera?: THREE.PerspectiveCamera;
|
|
8
8
|
helper?: THREE.CameraHelper;
|
|
9
|
-
protected getObject3dInstance(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>;
|
|
9
|
+
protected getObject3dInstance(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>;
|
|
10
10
|
updateCamera(): void;
|
|
11
11
|
build(): void;
|
|
12
12
|
updateMaterial3d(): void;
|
|
@@ -2,8 +2,16 @@ import type { ComponentNature } from '../../interfaces/types.js';
|
|
|
2
2
|
import type { IRealObject } from '../../interfaces/real-object.js';
|
|
3
3
|
import Shape from '../../components/shape.js';
|
|
4
4
|
import { RealObjectMesh } from '../real-object-mesh.js';
|
|
5
|
+
import type { TopOutline } from '../../interfaces/real-object.js';
|
|
5
6
|
export declare class Cube3D extends RealObjectMesh {
|
|
7
|
+
/**
|
|
8
|
+
* 단위 상자를 창고에서 꺼내 **공유한다.** 치수를 굽지 않으므로 크기가 다른
|
|
9
|
+
* 인스턴스끼리도 같은 정점 버퍼를 쓴다 — 치수는 `RealObjectMesh.updateDimension()`
|
|
10
|
+
* 이 배율로 준다.
|
|
11
|
+
*/
|
|
6
12
|
buildGeometry(): void;
|
|
13
|
+
/** 상자의 톱뷰는 width×height 사각형이다. depth 는 높이라 윤곽에 들지 않는다. */
|
|
14
|
+
topOutline(): TopOutline | null;
|
|
7
15
|
}
|
|
8
16
|
declare const Cube_base: {
|
|
9
17
|
new (...args: any[]): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cube.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cube.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAUjE,qBAAa,MAAO,SAAQ,cAAc;IACxC;;;;OAIG;IACH,aAAa;IAIb,0DAA0D;IACjD,UAAU,IAAI,UAAU,GAAG,IAAI;CAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
|
|
@@ -2,9 +2,26 @@ import type { ComponentNature } from '../../interfaces/types.js';
|
|
|
2
2
|
import type { IRealObject } from '../../interfaces/real-object.js';
|
|
3
3
|
import Ellipse from '../../components/ellipse.js';
|
|
4
4
|
import { RealObjectMesh } from '../real-object-mesh.js';
|
|
5
|
+
import type { TopOutline } from '../../interfaces/real-object.js';
|
|
5
6
|
export declare class Cylinder3D extends RealObjectMesh {
|
|
7
|
+
/**
|
|
8
|
+
* 단위 원기둥(지름 1 · 높이 1)을 창고에서 꺼내 **공유한다.** 분할 수가 같으면
|
|
9
|
+
* 인스턴스가 몇이든 정점 버퍼는 하나다.
|
|
10
|
+
*/
|
|
6
11
|
buildGeometry(): void;
|
|
12
|
+
/**
|
|
13
|
+
* 치수를 배율로 준다 — geometry 를 다시 만들지 않는다.
|
|
14
|
+
*
|
|
15
|
+
* 창고의 단위 원기둥은 **지름이 1** 이므로 반지름 rx 를 얻으려면 2rx 를 곱한다.
|
|
16
|
+
* Cylinder 는 bounds 가 아니라 rx·ry·depth 가 치수라서 기본 구현(경계상자 정규화)
|
|
17
|
+
* 대신 여기서 직접 준다.
|
|
18
|
+
*/
|
|
7
19
|
updateDimension(): void;
|
|
20
|
+
/**
|
|
21
|
+
* 원기둥의 톱뷰는 rx·ry 타원이고, **3D 와 같은 분할 수로 근사한다.** 8분할 원기둥의
|
|
22
|
+
* 톱뷰는 팔각형이다 — 여기서 매끄러운 원을 돌려주면 2D 와 3D 가 다른 물건이 된다.
|
|
23
|
+
*/
|
|
24
|
+
topOutline(): TopOutline | null;
|
|
8
25
|
}
|
|
9
26
|
export declare class Cylinder extends Ellipse {
|
|
10
27
|
get hasTextProperty(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cylinder.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cylinder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cylinder.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cylinder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAIvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAiBjE,qBAAa,UAAW,SAAQ,cAAc;IAC5C;;;OAGG;IACH,aAAa;IAKb;;;;;;OAMG;IACH,eAAe,IAAI,IAAI;IAKvB;;;OAGG;IACM,UAAU,IAAI,UAAU,GAAG,IAAI;CAMzC;AAED,qBACa,QAAS,SAAQ,OAAO;IACnC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
|
|
@@ -2,14 +2,25 @@ import type { ComponentNature } from '../../interfaces/types.js';
|
|
|
2
2
|
import type { IRealObject } from '../../interfaces/real-object.js';
|
|
3
3
|
import Ellipse from '../../components/ellipse.js';
|
|
4
4
|
import { RealObjectMesh } from '../real-object-mesh.js';
|
|
5
|
+
import type { TopOutline } from '../../interfaces/real-object.js';
|
|
5
6
|
export declare class Sphere3D extends RealObjectMesh {
|
|
7
|
+
/** 단위 구(지름 1)를 창고에서 꺼내 **공유한다.** */
|
|
6
8
|
buildGeometry(): void;
|
|
9
|
+
/**
|
|
10
|
+
* 치수를 배율로 준다. 단위 구는 **지름이 1** 이므로 반지름마다 2를 곱한다.
|
|
11
|
+
* rz 가 없으면 rx 를 써서 정구가 된다.
|
|
12
|
+
*/
|
|
7
13
|
updateDimension(): void;
|
|
8
14
|
/**
|
|
9
15
|
* Sphere는 state.depth가 아닌 rz(또는 rx)로 Y 크기가 결정된다.
|
|
10
16
|
* 기본 state.depth 폴백을 쓰면 origin 보정이 어긋나 볼륨이 zPos 양쪽으로 반씩 걸친다.
|
|
11
17
|
*/
|
|
12
18
|
get effectiveDepth(): number;
|
|
19
|
+
/**
|
|
20
|
+
* 구의 톱뷰는 적도의 rx·ry 타원이다. 구는 위에서 볼 때 가장 넓은 자리가 적도이므로
|
|
21
|
+
* 실루엣이 그것과 같다. 분할 수는 3D 의 둘레 분할을 그대로 쓴다.
|
|
22
|
+
*/
|
|
23
|
+
topOutline(): TopOutline | null;
|
|
13
24
|
}
|
|
14
25
|
export declare class Sphere extends Ellipse {
|
|
15
26
|
get hasTextProperty(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sphere.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sphere.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sphere.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sphere.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAIvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAuBjE,qBAAa,QAAS,SAAQ,cAAc;IAC1C,oCAAoC;IACpC,aAAa;IAQb;;;OAGG;IACH,eAAe,IAAI,IAAI;IAMvB;;;OAGG;IACH,IAAa,cAAc,IAAI,MAAM,CAIpC;IAED;;;OAGG;IACM,UAAU,IAAI,UAAU,GAAG,IAAI;CAMzC;AAED,qBACa,MAAO,SAAQ,OAAO;IACjC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
|
|
@@ -2,8 +2,16 @@ import type { ComponentNature } from '../../interfaces/types.js';
|
|
|
2
2
|
import type { IRealObject } from '../../interfaces/real-object.js';
|
|
3
3
|
import Shape from '../../components/shape.js';
|
|
4
4
|
import { RealObjectMesh } from '../real-object-mesh.js';
|
|
5
|
+
import type { TopOutline } from '../../interfaces/real-object.js';
|
|
5
6
|
export declare class Wall3D extends RealObjectMesh {
|
|
7
|
+
/**
|
|
8
|
+
* 단위 상자를 창고에서 꺼내 **공유한다.** 치수를 굽지 않으므로 크기가 다른
|
|
9
|
+
* 인스턴스끼리도 같은 정점 버퍼를 쓴다 — 치수는 `RealObjectMesh.updateDimension()`
|
|
10
|
+
* 이 배율로 준다.
|
|
11
|
+
*/
|
|
6
12
|
buildGeometry(): void;
|
|
13
|
+
/** 상자의 톱뷰는 width×height 사각형이다. depth 는 높이라 윤곽에 들지 않는다. */
|
|
14
|
+
topOutline(): TopOutline | null;
|
|
7
15
|
}
|
|
8
16
|
declare const Wall_base: {
|
|
9
17
|
new (...args: any[]): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/wall.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/wall.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAiBjE,qBAAa,MAAO,SAAQ,cAAc;IACxC;;;;OAIG;IACH,aAAa;IAIb,0DAA0D;IACjD,UAAU,IAAI,UAAU,GAAG,IAAI;CAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
/**
|
|
3
|
+
* 코어 공통 **Geometry Bank** — geometry 를 키로 등록·공유한다. `MaterialBank` 의 짝이다.
|
|
4
|
+
*
|
|
5
|
+
* 저작한 Figure 하나가 부품 수십 개를 갖고, 보드에 그 Figure 가 수백 개 놓인다. 부품마다
|
|
6
|
+
* geometry 를 만들면 수만 개가 되지만, 실제로 다른 형상은 부품 **종류** 수만큼이다. 이
|
|
7
|
+
* 창고가 그 차이를 흡수한다.
|
|
8
|
+
*
|
|
9
|
+
* ## 공유 방식이 둘이다 — 섞으면 조용한 결함이 된다
|
|
10
|
+
*
|
|
11
|
+
* **`primitive(spec)` — 단위 크기를 공유하고 치수는 mesh scale 로 준다.**
|
|
12
|
+
* box·cylinder·sphere 처럼 스펙 몇 개로 형상이 정해지는 것. 반환값은 **항상 단위
|
|
13
|
+
* 크기**이므로 크기가 다른 부품끼리도 같은 geometry 를 쓴다. 치수는 호출자가
|
|
14
|
+
* `mesh.scale` 에 실는다.
|
|
15
|
+
*
|
|
16
|
+
* **`shaped(key, create)` — 치수가 구워진 것을 키로 공유한다.**
|
|
17
|
+
* 경로(path)에서 오는 형상 — 둥근 사각형, 다각형, 압출. 이런 형상은 단위로
|
|
18
|
+
* 정규화하면 모서리 반경 비율이 망가지므로 치수를 구워야 한다. 대신 **키에 치수가
|
|
19
|
+
* 들어간다** — 같은 치수·같은 경로인 부품끼리 공유된다. figure-model 의
|
|
20
|
+
* `geometryKeyOf()` 가 그 키를 만든다.
|
|
21
|
+
*
|
|
22
|
+
* 두 방식을 섞으면 안 된다. `primitive` 로 치수가 구워진 것을 넣으면 크기가 다른
|
|
23
|
+
* 부품이 한 geometry 를 쓰게 되어 **오류 없이 잘못 그려진다.** `primitive` 는
|
|
24
|
+
* 그래서 스펙만 받고 geometry 를 직접 받지 않는다.
|
|
25
|
+
*
|
|
26
|
+
* ## 수명
|
|
27
|
+
*
|
|
28
|
+
* lazy 생성, 앱 수명 공유. 개별 오브젝트 teardown 에서 dispose 하지 않는다 —
|
|
29
|
+
* `userData.__bankOwned` 표식을 `disposeObject3D` 가 보고 건너뛴다. 해제는
|
|
30
|
+
* `GeometryBank.dispose()` 로만.
|
|
31
|
+
*/
|
|
32
|
+
/** 스펙으로 형상이 정해지는 프리미티브. 반환은 항상 단위 크기다. */
|
|
33
|
+
export type GeometryKind = 'box' | 'cylinder' | 'sphere' | 'plane';
|
|
34
|
+
export interface GeometrySpec {
|
|
35
|
+
kind: GeometryKind;
|
|
36
|
+
/** cylinder 의 둘레 분할, sphere 의 둘레 분할. box·plane 은 쓰지 않는다. */
|
|
37
|
+
segments?: number;
|
|
38
|
+
/** sphere 의 높이 분할. 없으면 `segments` 의 절반. */
|
|
39
|
+
heightSegments?: number;
|
|
40
|
+
}
|
|
41
|
+
export declare const GeometryBank: {
|
|
42
|
+
/**
|
|
43
|
+
* 단위 크기 프리미티브를 얻는다. 같은 스펙이면 같은 geometry 를 돌려준다.
|
|
44
|
+
* 치수는 호출자가 `mesh.scale` 에 실는다 — 반환값에 치수를 구우면 안 된다.
|
|
45
|
+
*/
|
|
46
|
+
primitive(spec: GeometrySpec): THREE.BufferGeometry;
|
|
47
|
+
/**
|
|
48
|
+
* 경로에서 온 형상을 키로 공유한다. 처음 보는 키일 때만 `create` 를 부른다.
|
|
49
|
+
*
|
|
50
|
+
* **키에 치수가 들어 있어야 한다.** 치수를 뺀 키를 쓰면 크기가 다른 부품이 한
|
|
51
|
+
* geometry 를 쓰게 되어 오류 없이 잘못 그려진다. figure-model 의
|
|
52
|
+
* `geometryKeyOf()` 는 `primitive|WxHxD|분할|반경|경로길이` 로 그것을 지킨다.
|
|
53
|
+
*/
|
|
54
|
+
shaped(key: string, create: () => THREE.BufferGeometry): THREE.BufferGeometry;
|
|
55
|
+
/** 이 geometry 가 창고 소유인가 — dispose 판단과 진단에 쓴다. */
|
|
56
|
+
owns(geometry: THREE.BufferGeometry): boolean;
|
|
57
|
+
/** 등록된 geometry 개수(테스트·진단용). */
|
|
58
|
+
readonly size: number;
|
|
59
|
+
/** 키로 등록 여부. `primitive`/`shaped` 접두어 없이 순수 키를 넘긴다. */
|
|
60
|
+
has(key: string): boolean;
|
|
61
|
+
/** 전체 해제 — 앱/씬 종료 시. */
|
|
62
|
+
dispose(): void;
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=geometry-bank.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry-bank.d.ts","sourceRoot":"","sources":["../../src/threed/geometry-bank.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,0CAA0C;AAC1C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;AAElE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAgDD,eAAO,MAAM,YAAY;IACvB;;;OAGG;oBACa,YAAY,GAAG,KAAK,CAAC,cAAc;IAOnD;;;;;;OAMG;gBACS,MAAM,UAAU,MAAM,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc;IAO7E,iDAAiD;mBAClC,KAAK,CAAC,cAAc,GAAG,OAAO;IAI7C,gCAAgC;mBACpB,MAAM;IAIlB,uDAAuD;aAC9C,MAAM,GAAG,OAAO;IAIzB,wBAAwB;eACb,IAAI;CAIhB,CAAA"}
|
|
@@ -26,6 +26,10 @@ export * from './common.js';
|
|
|
26
26
|
export * from './interfaces.js';
|
|
27
27
|
export * from './material-3d.js';
|
|
28
28
|
export * from './material-bank.js';
|
|
29
|
+
export * from './geometry-bank.js';
|
|
30
|
+
export * from './instanced-set.js';
|
|
31
|
+
export * from './segments.js';
|
|
32
|
+
export * from './top-outline.js';
|
|
29
33
|
export { resolveVariant } from './material-variant.js';
|
|
30
34
|
export type { MaterialVariantSpec } from './material-variant.js';
|
|
31
35
|
export * from './three-dimensional-container.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"AASA,OAAO,qBAAqB,CAAA;AAC5B,OAAO,6BAA6B,CAAA;AACpC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,wBAAwB,CAAA;AAC/B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,yBAAyB,CAAA;AAChC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,yBAAyB,CAAA;AAChC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,4BAA4B,CAAA;AACnC,OAAO,sBAAsB,CAAA;AAC7B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,4BAA4B,CAAA;AACnC,OAAO,sBAAsB,CAAA;AAC7B,OAAO,yBAAyB,CAAA;AAChC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,yBAAyB,CAAA;AAChC,OAAO,0BAA0B,CAAA;AACjC,OAAO,sBAAsB,CAAA;AAG7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,cAAc,kCAAkC,CAAA;AAChD,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAG5H,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,cAAc,uBAAuB,CAAA;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,cAAc,qBAAqB,CAAA;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACzF,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|