@hatiolab/things-scene 10.1.0 → 10.1.2
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/figure/figure-blueprint.d.ts +19 -14
- package/dist-types/figure/figure-blueprint.d.ts.map +1 -1
- package/dist-types/figure/figure-instance.d.ts +30 -1
- package/dist-types/figure/figure-instance.d.ts.map +1 -1
- package/dist-types/figure/figure-part-component.d.ts +324 -0
- package/dist-types/figure/figure-part-component.d.ts.map +1 -0
- package/dist-types/figure/figure-real-object.d.ts +58 -9
- package/dist-types/figure/figure-real-object.d.ts.map +1 -1
- package/dist-types/figure/figure-sizing.d.ts +105 -0
- package/dist-types/figure/figure-sizing.d.ts.map +1 -0
- package/dist-types/figure/index.d.ts +1 -0
- package/dist-types/figure/index.d.ts.map +1 -1
- package/dist-types/threed/coordinate-ground.d.ts +51 -0
- package/dist-types/threed/coordinate-ground.d.ts.map +1 -0
- package/dist-types/threed/floor/floor.d.ts +22 -0
- package/dist-types/threed/floor/floor.d.ts.map +1 -1
- package/dist-types/threed/index.d.ts +4 -0
- package/dist-types/threed/index.d.ts.map +1 -1
- package/dist-types/threed/managers/event-manager3d.d.ts +7 -0
- package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts +8 -0
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/types.d.ts +10 -0
- package/dist-types/threed/managers/types.d.ts.map +1 -1
- package/dist-types/threed/parted-real-object.d.ts +79 -0
- package/dist-types/threed/parted-real-object.d.ts.map +1 -0
- package/dist-types/threed/real-object-gltf.d.ts +11 -0
- package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
- package/dist-types/threed/three-capability.d.ts +11 -0
- package/dist-types/threed/three-capability.d.ts.map +1 -1
- package/package.json +1 -1
- 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,105 @@
|
|
|
1
|
+
import type { FigureBlueprintMember, FigureVec3 } from './figure-blueprint.js';
|
|
2
|
+
/**
|
|
3
|
+
* 인스턴스 크기가 바뀔 때 부품이 어떻게 반응하나.
|
|
4
|
+
*
|
|
5
|
+
* ## 왜 따로 떼어 두나
|
|
6
|
+
*
|
|
7
|
+
* 같은 답을 세 곳이 낸다 — 3D(`figure-real-object`), 2D 톱뷰(`figure-instance`),
|
|
8
|
+
* 그리고 속성 편집기. 저마다 계산하면 화면마다 다른 모양이 나오고, 그때는 어느 쪽이
|
|
9
|
+
* 맞는지 알 방법이 없다.
|
|
10
|
+
*
|
|
11
|
+
* ## 규칙 넷
|
|
12
|
+
*
|
|
13
|
+
* scale 비례 확대. 인스턴스 배율을 그대로 받는다 — 아무것도 하지 않아도 된다
|
|
14
|
+
* fixed 크기는 그대로, 자리만 따라간다
|
|
15
|
+
* stretch 가장 길게 뻗은 축만 늘어난다
|
|
16
|
+
* repeat 크기는 그대로 두고 **개수**가 늘어난다
|
|
17
|
+
*
|
|
18
|
+
* ## 어떻게 되돌리나
|
|
19
|
+
*
|
|
20
|
+
* 부모(`object3d`)가 인스턴스 배율 `S` 를 이미 걸고 있다. 그래서 크기를 그대로 두려면
|
|
21
|
+
* 자식이 `1/S` 로 되돌리면 된다. 자리는 부모의 배율을 그대로 받으므로 따라간다.
|
|
22
|
+
*
|
|
23
|
+
* 월드 = S · (자리 + (1/S) ⊙ 형상) = S·자리 + 형상
|
|
24
|
+
*
|
|
25
|
+
* 회전은 **형상에 미리 구워** 둔다. 그래야 위 식이 정확히 성립한다 — 회전을 mesh 에
|
|
26
|
+
* 걸면 비균등 배율이 회전 뒤에 곱해져 형상이 기울어진다.
|
|
27
|
+
*
|
|
28
|
+
* 이 방식의 값은 **geometry 를 그대로 나눠 쓴다**는 것이다. 인스턴스가 몇이든 정점
|
|
29
|
+
* 버퍼는 늘지 않는다. 대신 합칠 수 없어 draw call 이 부품 수만큼 는다 — 그 비용은
|
|
30
|
+
* 청사진의 묶음 수에 그대로 잡히고 성숙도가 잰다.
|
|
31
|
+
*/
|
|
32
|
+
/** 인스턴스 배율. `bounds ÷ base` 다. */
|
|
33
|
+
export interface InstanceScale {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
z: number;
|
|
37
|
+
}
|
|
38
|
+
export type FigureAxis = 'x' | 'y' | 'z';
|
|
39
|
+
/**
|
|
40
|
+
* 되돌릴 것이 있는 부품인가.
|
|
41
|
+
*
|
|
42
|
+
* `scale` 은 부모 배율을 그대로 받으면 되므로 합쳐 둔 채로 그린다. 나머지 셋만
|
|
43
|
+
* 따로 세운다.
|
|
44
|
+
*/
|
|
45
|
+
export declare function needsOwnMesh(member: FigureBlueprintMember): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* 회전까지 반영한 부품의 축별 크기.
|
|
48
|
+
*
|
|
49
|
+
* 회전한 상자의 여덟 꼭짓점을 각 축에 내린 것 — 축에 맞춘 경계다. 회전 행렬은
|
|
50
|
+
* `Rx·Ry·Rz` 이고 three 의 기본 Euler 순서('XYZ')와 같다. `memberGeometry` 가 같은
|
|
51
|
+
* 순서로 돌리므로 여기만 다르면 답이 갈린다.
|
|
52
|
+
*
|
|
53
|
+
* figure-model 의 `rotatedExtentOf` 와 같은 식이다. 그쪽이 정본이고 여기는 읽는 쪽의
|
|
54
|
+
* 사본이다 — 이 패키지는 figure-model 에 의존하지 않는다(`figure-blueprint.ts` 참고).
|
|
55
|
+
*/
|
|
56
|
+
export declare function rotatedExtent(member: FigureBlueprintMember): FigureVec3;
|
|
57
|
+
/**
|
|
58
|
+
* `stretch` 일 때 늘어나는 축 — **가장 길게 뻗은 축**이다.
|
|
59
|
+
*
|
|
60
|
+
* 형식에 축을 적는 자리가 없어서 크기에서 읽는다. 프레임 · 벨트 · 레일이 전부 "길어서
|
|
61
|
+
* 그 물건인 것"이라 이 규칙과 맞는다. 같으면 x → z → y 순으로 정한다.
|
|
62
|
+
*/
|
|
63
|
+
export declare function stretchAxis(member: FigureBlueprintMember): FigureAxis;
|
|
64
|
+
/**
|
|
65
|
+
* 부품 mesh 에 걸 배율 — 부모가 건 인스턴스 배율을 **어디까지 되돌릴까**.
|
|
66
|
+
*
|
|
67
|
+
* `1` 은 인스턴스를 그대로 따라간다는 뜻이고, `1/S` 는 저작한 크기를 지킨다는 뜻이다.
|
|
68
|
+
*
|
|
69
|
+
* `repeat` 는 부품 자체의 크기를 지킨다 — 늘어나는 것은 개수다.
|
|
70
|
+
*/
|
|
71
|
+
export declare function sizingScale(member: FigureBlueprintMember, scale: InstanceScale): FigureVec3;
|
|
72
|
+
/**
|
|
73
|
+
* `repeat` 를 몇 개로 펼치나.
|
|
74
|
+
*
|
|
75
|
+
* **`scale` 이었다면 차지했을 만큼을 개수로 채운다.** 늘리는 대신 늘어놓는 것이므로
|
|
76
|
+
* 차지하는 공간은 같아야 한다.
|
|
77
|
+
*
|
|
78
|
+
* 한 칸 = 부품의 그 축 크기 + 간격
|
|
79
|
+
* 채울 길이 = 부품 크기 × 인스턴스 배율
|
|
80
|
+
* 개수 = round((채울 길이 + 간격) ÷ 한 칸)
|
|
81
|
+
*
|
|
82
|
+
* 저작한 크기(배율 1)에서 반드시 **1개**가 되는 것이 이 식의 요점이다. 저작자가 하나를
|
|
83
|
+
* 그렸는데 열어 보니 여럿이면 무엇을 그린 것인지 알 수 없다.
|
|
84
|
+
*/
|
|
85
|
+
export declare function repeatPlan(member: FigureBlueprintMember, scale: InstanceScale): {
|
|
86
|
+
axis: FigureAxis;
|
|
87
|
+
count: number;
|
|
88
|
+
pitch: number;
|
|
89
|
+
} | null;
|
|
90
|
+
/**
|
|
91
|
+
* 한 부품이 펼쳐질 수 있는 최대 개수.
|
|
92
|
+
*
|
|
93
|
+
* 복제본 하나가 draw call 하나다. 인스턴스를 아주 크게 늘리면 개수가 끝없이 늘어 한
|
|
94
|
+
* 자산이 프레임을 다 먹는다. 그 지점에서는 이미 낱개를 셀 수 없으므로 더 늘려도 보이는
|
|
95
|
+
* 것이 달라지지 않는다.
|
|
96
|
+
*/
|
|
97
|
+
export declare const REPEAT_LIMIT = 100;
|
|
98
|
+
/**
|
|
99
|
+
* 복제본 하나의 자리 — 저작한 자리를 가운데 두고 양쪽으로 벌린다.
|
|
100
|
+
*
|
|
101
|
+
* 한쪽으로만 늘어놓으면 부품이 커질 때마다 한 방향으로 밀려서, 저작할 때 맞춰 둔 자리가
|
|
102
|
+
* 어긋난다. 가운데를 지키면 대칭으로 놓은 것들이 계속 대칭이다.
|
|
103
|
+
*/
|
|
104
|
+
export declare function repeatOffset(index: number, count: number, pitch: number): number;
|
|
105
|
+
//# sourceMappingURL=figure-sizing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figure-sizing.d.ts","sourceRoot":"","sources":["../../src/figure/figure-sizing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAExC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,UAAU,CAsBvE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,UAAU,CAKrE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,GAAG,UAAU,CAkB3F;AAOD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,aAAa,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe3D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhF"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* 적재되며 컴포넌트 클래스를 registry 에 넣기 때문이다. 그래서 instance 를 먼저 읽는다.
|
|
6
6
|
*/
|
|
7
7
|
export * from './figure-instance.js';
|
|
8
|
+
export * from './figure-part-component.js';
|
|
8
9
|
export * from './figure-blueprint.js';
|
|
9
10
|
export * from './figure-palette.js';
|
|
10
11
|
export * from './figure-registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/figure/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,cAAc,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/figure/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,cAAc,sBAAsB,CAAA;AAKpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
/**
|
|
3
|
+
* 좌표 바탕 — 바닥 모눈과 축.
|
|
4
|
+
*
|
|
5
|
+
* 3D 저작면에서 이것이 없으면 **어디가 원점이고 어느 쪽이 위인지 알 수 없다.** 형상만
|
|
6
|
+
* 떠 있으면 크기도 방향도 짐작이 안 된다.
|
|
7
|
+
*
|
|
8
|
+
* ## 왜 씬이 갖나
|
|
9
|
+
*
|
|
10
|
+
* 한동안 저작 화면이 만들어 `scene3d` 에 얹었다. 그랬더니 2D 로 갔다 오면 사라졌다 —
|
|
11
|
+
* 그때 씬이 통째로 다시 서면서 새 `THREE.Scene` 을 만드는데, 얹어 둔 것은 옛 씬에
|
|
12
|
+
* 남기 때문이다. 씬이 소유하면 다시 설 때 같이 산다.
|
|
13
|
+
*
|
|
14
|
+
* 3D 저작면이면 다 필요한 것이라, 자리도 여기가 맞다.
|
|
15
|
+
*
|
|
16
|
+
* ## 두 단계로 그린다
|
|
17
|
+
*
|
|
18
|
+
* 잔 눈금만 있으면 「지금 몇 칸인가」를 셀 수 없다. 다섯 칸마다 굵은 눈금을 둔다 —
|
|
19
|
+
* 자와 모눈종이가 하는 것과 같다.
|
|
20
|
+
*
|
|
21
|
+
* ## 멀어질수록 사라지게
|
|
22
|
+
*
|
|
23
|
+
* 끝까지 같은 세기로 그으면 원경에서 선이 뒤엉켜 **어두운 띠**가 된다. 정점 색을
|
|
24
|
+
* 배경색 쪽으로 섞어 반지름에 따라 지운다 — 투명도가 아니라 색으로 지우므로 깊이
|
|
25
|
+
* 정렬과 싸우지 않는다.
|
|
26
|
+
*/
|
|
27
|
+
export interface CoordinateGroundOptions {
|
|
28
|
+
/** 잔 눈금 한 칸. */
|
|
29
|
+
step: number;
|
|
30
|
+
/** 원점에서 몇 칸까지 뻗나. */
|
|
31
|
+
cells?: number;
|
|
32
|
+
/** 배경색. 선이 이 색으로 스러진다. */
|
|
33
|
+
background?: string;
|
|
34
|
+
/** 축 이름표를 보이나. */
|
|
35
|
+
labels?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export declare const COORDINATE_GROUND_NAME = "coordinate-ground";
|
|
38
|
+
/**
|
|
39
|
+
* 가로 길이에 어울리는 **둥근** 눈금 한 칸. 대여섯 칸이 되게 잡는다.
|
|
40
|
+
*
|
|
41
|
+
* 그냥 나누면 27 · 33 같은 값이 나온다. 그 눈금에 맞추면 좌표가 54 · 81 이 되어 사람이
|
|
42
|
+
* 읽을 수 없다. 1 · 2 · 5 사다리로 올려 붙인다 — 자와 차트 눈금이 쓰는 방식이다.
|
|
43
|
+
*
|
|
44
|
+
* 칸이 성기어야 형상이 주인공이 된다. 열 칸으로 잡았더니 모눈이 촘촘해 바탕이 먼저
|
|
45
|
+
* 보였다.
|
|
46
|
+
*/
|
|
47
|
+
export declare function niceGridStep(span: number): number;
|
|
48
|
+
export declare function buildCoordinateGround(options: CoordinateGroundOptions): THREE.Group;
|
|
49
|
+
/** 좌표 바탕이 쥐고 있는 것을 놓는다. 창고에 든 것이 아니라 우리가 만든 것들이다. */
|
|
50
|
+
export declare function disposeCoordinateGround(ground: THREE.Object3D): void;
|
|
51
|
+
//# sourceMappingURL=coordinate-ground.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinate-ground.d.ts","sourceRoot":"","sources":["../../src/threed/coordinate-ground.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,uBAAuB;IACtC,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAYD,eAAO,MAAM,sBAAsB,sBAAsB,CAAA;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD;AAYD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,KAAK,CAAC,KAAK,CAsCnF;AA+GD,qDAAqD;AACrD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAYpE"}
|
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import type Component from '../../components/component.js';
|
|
3
|
+
/**
|
|
4
|
+
* 판의 바닥판을 만든다. 필요 없으면 만들지 않는다.
|
|
5
|
+
*
|
|
6
|
+
* ## `floor: false` 를 따로 두는 까닭
|
|
7
|
+
*
|
|
8
|
+
* **판의 면은 한 개념이다** — 2D 에서는 종이이고 3D 에서는 바닥판이다. 그래서 `fillStyle`
|
|
9
|
+
* 하나가 둘을 정하는 것은 원래 일관적이다.
|
|
10
|
+
*
|
|
11
|
+
* 그런데 **그 둘을 따로 원하는 화면이 있다.** 3D 저작면이 그렇다:
|
|
12
|
+
*
|
|
13
|
+
* - 2D 종이는 **밝아야 한다.** 편집 손잡이와 안내선이 어두운 색이라 어두운 바탕에서는
|
|
14
|
+
* 안 보인다.
|
|
15
|
+
* - 3D 바닥판은 **없어야 한다.** 좌표 모눈과 겹쳐 싸우고, 원점 아래쪽을 가린다.
|
|
16
|
+
*
|
|
17
|
+
* 이 조합을 말할 방법이 없었다. 유일한 길이 `fillStyle: 'none'` 인데 그러면 2D 종이까지
|
|
18
|
+
* 비어 버려 편집 도구가 안 보인다.
|
|
19
|
+
*
|
|
20
|
+
* 바닥이 별개로 없어질 수 있다는 것은 코드가 이미 인정하고 있었다 — `placement === 'space'`
|
|
21
|
+
* 는 `fillStyle` 과 무관하게 바닥을 안 만든다. 그 자리를 명시적으로 연 것뿐이다.
|
|
22
|
+
*
|
|
23
|
+
* **안 주면 종전 그대로다.** 이미 세워져 있는 보드는 아무것도 달라지지 않는다.
|
|
24
|
+
*/
|
|
3
25
|
export declare function createFloor(component: Component): THREE.Mesh | undefined;
|
|
4
26
|
//# sourceMappingURL=floor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../../src/threed/floor/floor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAqB1D,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../../src/threed/floor/floor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAqB1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CA2ExE"}
|
|
@@ -94,4 +94,8 @@ export { createCanvasTexture, renderCanvasTexture } from './texture/canvas-textu
|
|
|
94
94
|
export { textTexture, textBounds, drawTextTexture, fontStyle } from './texture/text-texture.js';
|
|
95
95
|
export { createCanvas, PIXEL_RATIO } from './html/elements.js';
|
|
96
96
|
export { createFloor } from './floor/floor.js';
|
|
97
|
+
export { isParted, partAtByIndex } from './parted-real-object.js';
|
|
98
|
+
export type { PartedRealObject } from './parted-real-object.js';
|
|
99
|
+
export { buildCoordinateGround, disposeCoordinateGround, niceGridStep } from './coordinate-ground.js';
|
|
100
|
+
export type { CoordinateGroundOptions } from './coordinate-ground.js';
|
|
97
101
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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":"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"}
|
|
@@ -12,6 +12,13 @@ export declare class EventManager3D {
|
|
|
12
12
|
get lastHovered(): IThreeRealObject | undefined;
|
|
13
13
|
set lastHovered(value: IThreeRealObject | undefined);
|
|
14
14
|
updateMouseNDC(px: number, py: number, left: number, top: number, width: number, height: number): void;
|
|
15
|
+
/**
|
|
16
|
+
* 마지막 집기에서 **실제로 맞은** Object3D.
|
|
17
|
+
*
|
|
18
|
+
* `getObjectByRaycast` 는 맞은 것에서 위로 걸어 올라가 컴포넌트를 찾아 돌려주므로,
|
|
19
|
+
* 맞은 자리 자체는 버려진다. 안쪽이 조각으로 나뉘는 컴포넌트가 그것을 알아야 한다.
|
|
20
|
+
*/
|
|
21
|
+
private _lastHit?;
|
|
15
22
|
getObjectByRaycast(camera: THREE.Camera, scene: THREE.Scene): THREE.Object3D | undefined;
|
|
16
23
|
/**
|
|
17
24
|
* Object3D의 전체 조상 체인이 visible인지 확인한다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-manager3d.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/event-manager3d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"event-manager3d.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/event-manager3d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAC,CAAkB;;IAIvC,IAAI,KAAK,kBAER;IAED,IAAI,WAAW,IAIQ,gBAAgB,GAAG,SAAS,CAFlD;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAElD;IAED,IAAI,WAAW,IAIQ,gBAAgB,GAAG,SAAS,CAFlD;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAElD;IAED,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK/F;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,CAAgB;IAEjC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,GAAG,SAAS;IAoCxF;;;OAGG;IACH,OAAO,CAAC,eAAe;IASvB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE;IAMnF,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAc;IAEjC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;IAK/C,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS;IAmCtG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU;IAyBvE;;;;OAIG;IACH,sBAAsB,IAAI,IAAI;IAQ9B,OAAO;CAMR"}
|
|
@@ -67,6 +67,14 @@ export declare class GizmoOperationManager {
|
|
|
67
67
|
/**
|
|
68
68
|
* 기즈모 드래그 결과를 컴포넌트 속성에 역변환하여 반영한다.
|
|
69
69
|
*/
|
|
70
|
+
/**
|
|
71
|
+
* 조각을 끌었을 때 그 결과를 컴포넌트에 되쓴다.
|
|
72
|
+
*
|
|
73
|
+
* 씬은 조각을 옮겨 놓기만 하고, 무엇으로 옮겨 적을지는 컴포넌트가 안다.
|
|
74
|
+
* 되쓰는 자리가 없는 컴포넌트라면 아무 일도 하지 않는다 — 그런 컴포넌트는
|
|
75
|
+
* 애초에 `partObject` 가 `undefined` 를 내어 기즈모가 붙지 않는다.
|
|
76
|
+
*/
|
|
77
|
+
private _syncPartFromGizmo;
|
|
70
78
|
private _syncFromGizmo;
|
|
71
79
|
/**
|
|
72
80
|
* 오브젝트 바닥면이 Y=0(바닥)에 가까우면 스냅한다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gizmo-operation-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-operation-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gizmo-operation-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-operation-manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,UAAU,IAAI,IAAI,CAAA;CACnB;AAcD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,OAAO,CAAC,aAAa,CAAC,CAAqC;IAE3D,OAAO,CAAC,sBAAsB,CAAC,CAAQ;IAGvC,OAAO,CAAC,gBAAgB,CAAC,CAAqC;IAE9D,OAAO,CAAC,wBAAwB,CAAC,CAAe;IAGhD,OAAO,CAAC,kBAAkB,CAAC,CAAoD;IAC/E,OAAO,CAAC,gBAAgB,CAAQ;IAGhC,OAAO,CAAC,mBAAmB,CAAC,CAAgC;IAC5D,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,4BAA4B,CAAC,CAA8B;IACnE,OAAO,CAAC,6BAA6B,CAAC,CAAqC;IAE3E,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAC,CAAe;IAE1C;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIpC;;;;OAIG;IACH,cAAc,CACZ,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE;QAAE,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,EACvD,OAAO,EAAE,MAAM,kBAAkB,GAAG,SAAS,EAC7C,SAAS,CAAC,EAAE;QACV,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;QAC/C,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;KAClD,GACA,IAAI;IAuCP,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,oBAAoB;IAiB5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,UAAU;IA4ElB;;OAEG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,cAAc;IA6DtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IA0BtC,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,kBAAkB;IA2C1B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,gBAAgB;CAMzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/renderer-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAA;AAKpF,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,eAAe,CAAQ;IAG/B,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAC,CAA0B;IAE7C,OAAO,CAAC,iBAAiB,CAAC,CAAe;IACzC,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,eAAe,CAAC,CAA0B;IAElD,IAAI,QAAQ,oCAEX;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC,IAAI,aAAa,kBAKhB;IAED,IAAI,UAAU,wCAKb;IAED,IAAI,QAAQ,+BAEX;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,UAAU,kCAEb;IAED,IAAI,QAAQ,wCAKX;IAED,IAAI,aAAa,wCAKhB;IAED,IAAI,SAAS,yCAEZ;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA4CtC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"renderer-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/renderer-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAA;AAKpF,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,eAAe,CAAQ;IAG/B,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAC,CAA0B;IAE7C,OAAO,CAAC,iBAAiB,CAAC,CAAe;IACzC,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,eAAe,CAAC,CAA0B;IAElD,IAAI,QAAQ,oCAEX;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC,IAAI,aAAa,kBAKhB;IAED,IAAI,UAAU,wCAKb;IAED,IAAI,QAAQ,+BAEX;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,UAAU,kCAEb;IAED,IAAI,QAAQ,wCAKX;IAED,IAAI,aAAa,wCAKhB;IAED,IAAI,SAAS,yCAEZ;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA4CtC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO;IA6D1E,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;IAmBlD,OAAO,CAAC,mBAAmB;IAI3B,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,QAAQ;IA4CnH,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAsB1F,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAa3C;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE;IAM3C;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM;IAO7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAkBpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAc;IAE9B;;OAEG;IACH,qBAAqB;IAQrB;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;IAK/D,MAAM;IAsBN,OAAO,CAAC,SAAS;IAcjB,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAchC,IAAI,gBAAgB,8BAEnB;IAED,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAM5C,OAAO;IAYP,UAAU;IAkCV,iBAAiB;CAMlB"}
|
|
@@ -13,6 +13,16 @@ export interface RendererConfig {
|
|
|
13
13
|
postprocessing?: boolean;
|
|
14
14
|
shadowMap?: boolean;
|
|
15
15
|
logarithmicDepthBuffer?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* 화면 한 점을 몇 점으로 그리나. 없으면 화면의 값(`devicePixelRatio`)을 쓴다.
|
|
18
|
+
*
|
|
19
|
+
* MSAA 만으로는 부족한 자리가 있다 — 저작면처럼 **작은 화면에 자산 하나**를 크게
|
|
20
|
+
* 띄우면 실루엣의 계단이 그대로 보인다. 그런 화면은 그릴 것이 적으므로 표본을 더
|
|
21
|
+
* 써도 된다. 보드처럼 수백 개를 세우는 화면에서는 올리지 않는다.
|
|
22
|
+
*
|
|
23
|
+
* 화면 값보다 낮게도 줄 수 있다 — 큰 보드를 가볍게 굴릴 때 쓴다.
|
|
24
|
+
*/
|
|
25
|
+
pixelRatio?: number;
|
|
16
26
|
}
|
|
17
27
|
export interface LightingConfig {
|
|
18
28
|
hemisphere: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACxE,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,OAAO,CAAA;QACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
/**
|
|
3
|
+
* **안쪽이 조각으로 나뉘는 컴포넌트.**
|
|
4
|
+
*
|
|
5
|
+
* 씬에게 선택이란 컴포넌트다. 그런데 어떤 컴포넌트는 안쪽에 **이름이 붙은 조각**을
|
|
6
|
+
* 갖는다 — 반입한 glTF 의 노드가 그렇다. 그런 컴포넌트에서 「컴포넌트가 골라졌다」는
|
|
7
|
+
* 말은 정보를 거의 주지 못한다. 문짝 하나를 눌렀는데 설비 전체에 테가 둘리고,
|
|
8
|
+
* 기즈모도 전체를 끈다.
|
|
9
|
+
*
|
|
10
|
+
* 이 계약이 그 사이를 메운다. 씬은 **조각을 이름으로 가리키는 법**만 알면 되고, 조각을
|
|
11
|
+
* 어떻게 만들고 무엇이라 부르는지는 컴포넌트가 정한다.
|
|
12
|
+
*
|
|
13
|
+
* ## 지금 누가 쓰나
|
|
14
|
+
*
|
|
15
|
+
* 반입한 glTF 컴포넌트가 쓴다(`real-object-gltf.ts`). 그 컴포넌트는 노드마다 상태를
|
|
16
|
+
* 걸 수 있는데(`state.nodes`), 3D 에서 노드를 집을 수 없어 편집기가 이름 목록에서
|
|
17
|
+
* 고르게 해야 했다.
|
|
18
|
+
*
|
|
19
|
+
* **보드에 놓인 Figure 도 언젠가 쓸 수 있다.** 다만 그때는 재질 묶음당 메시 하나로
|
|
20
|
+
* 합쳐져 있어 한 메시가 여러 부품이다. 부품별 정점 구간을 따로 적어 두지 않으면 맞은
|
|
21
|
+
* 삼각형이 어느 부품인지 답할 방법이 없다.
|
|
22
|
+
*
|
|
23
|
+
* 지금은 그 수요가 없다고 보고 **적어만 둔다.** 필요해지면 그때 정점 구간을 기록할지
|
|
24
|
+
* 정한다.
|
|
25
|
+
*
|
|
26
|
+
* (저작면은 이 계약을 쓰지 않는다. 거기서는 부품 하나가 **컴포넌트 하나**라 씬의 기본
|
|
27
|
+
* 선택으로 충분하다.)
|
|
28
|
+
*
|
|
29
|
+
* ## 가릴 수 없으면 가릴 수 없다고 말한다
|
|
30
|
+
*
|
|
31
|
+
* `partAt` 과 `partObject` 는 `undefined` 를 낼 수 있다. 위의 병합된 Figure 가 그런
|
|
32
|
+
* 경우다. 그 자리에서 「첫 부품이겠거니」로 채우면 화면이 엉뚱한 것을 골라 준다.
|
|
33
|
+
* 씬은 `undefined` 를 받으면 종전대로 컴포넌트 전체를 다룬다.
|
|
34
|
+
*
|
|
35
|
+
* ## 왜 조각을 만드는 방법은 계약에 없나
|
|
36
|
+
*
|
|
37
|
+
* 조각이 따로 선 객체인지(glTF), 저작 중에만 갈라지는지(Figure)는 컴포넌트의 사정이다.
|
|
38
|
+
* 계약에 넣으면 씬이 그 사정을 알아야 하고, 그러면 컴포넌트마다 예외가 하나씩 는다.
|
|
39
|
+
*/
|
|
40
|
+
export interface PartedRealObject {
|
|
41
|
+
/** 조각의 이름들. 순서는 컴포넌트가 정한다. */
|
|
42
|
+
partNames(): string[];
|
|
43
|
+
/** 이름으로 조각을 찾는다. 지금 가릴 수 없으면 `undefined`. */
|
|
44
|
+
partObject(name: string): THREE.Object3D | undefined;
|
|
45
|
+
/** 이 Object3D 가 어느 조각인가. 가릴 수 없으면 `undefined`. */
|
|
46
|
+
partAt(hit: THREE.Object3D): string | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* 지금 골라 둔 조각. 씬이 집을 때 채우고, 화면이 목록에서 고를 때도 채운다.
|
|
49
|
+
*
|
|
50
|
+
* 컴포넌트를 골랐지만 조각을 못 가렸으면 `undefined` 다.
|
|
51
|
+
*/
|
|
52
|
+
pickedPart: string | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* 조각을 기즈모로 끌었다. 그 결과를 컴포넌트가 되쓴다.
|
|
55
|
+
*
|
|
56
|
+
* 씬은 조각을 **옮겨만 놓는다** — `Object3D` 의 자리·회전·배율이 이미 바뀐 채로
|
|
57
|
+
* 넘어온다. 그것을 무엇으로 옮겨 적을지는 컴포넌트가 안다. 씬이 형식을 알면
|
|
58
|
+
* 컴포넌트마다 예외가 하나씩 는다.
|
|
59
|
+
*
|
|
60
|
+
* 없으면 조각은 끌리지 않는다 — **조용히 되지 않는 것보다** 낫다. 기즈모가 붙지
|
|
61
|
+
* 않게 하려면 `partObject` 가 `undefined` 를 내면 된다.
|
|
62
|
+
*/
|
|
63
|
+
partMoved?(name: string, object: THREE.Object3D): void;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 이 객체가 조각 계약을 지키나.
|
|
67
|
+
*
|
|
68
|
+
* 함수 넷과 값 하나가 다 있어야 한다. 하나라도 빠진 것을 통과시키면 씬이 뒤에서
|
|
69
|
+
* 던진다 — 그때는 어느 컴포넌트가 원인인지 알기 어렵다.
|
|
70
|
+
*/
|
|
71
|
+
export declare function isParted(target: unknown): target is PartedRealObject;
|
|
72
|
+
/**
|
|
73
|
+
* 맞은 자리에서 위로 걸어 올라가며 조각을 찾는다.
|
|
74
|
+
*
|
|
75
|
+
* 조각 하나가 mesh 여럿으로 되어 있을 수 있다 — glTF 노드가 그렇다. 맞은 것은 그
|
|
76
|
+
* 안쪽 mesh 이므로, 조각으로 등록된 조상을 만날 때까지 올라가야 한다.
|
|
77
|
+
*/
|
|
78
|
+
export declare function partAtByIndex(hit: THREE.Object3D, index: Map<string, THREE.Object3D>): string | undefined;
|
|
79
|
+
//# sourceMappingURL=parted-real-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parted-real-object.d.ts","sourceRoot":"","sources":["../../src/threed/parted-real-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,SAAS,IAAI,MAAM,EAAE,CAAA;IAErB,6CAA6C;IAC7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;IAEpD,kDAAkD;IAClD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;IAE/C;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9B;;;;;;;;;OASG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;CACvD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,gBAAgB,CAKpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,KAAK,CAAC,QAAQ,EACnB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GACjC,MAAM,GAAG,SAAS,CAMpB"}
|
|
@@ -73,6 +73,17 @@ export declare class RealObjectGLTF extends RealObjectExternalModel<GLTF> {
|
|
|
73
73
|
private _buildNodeIndex;
|
|
74
74
|
getNode(name: string): THREE.Object3D | undefined;
|
|
75
75
|
get nodeNames(): string[];
|
|
76
|
+
/** 지금 골라 둔 노드. 편집기가 이 값으로 어느 노드의 상태를 고칠지 정할 수 있다. */
|
|
77
|
+
pickedPart: string | undefined;
|
|
78
|
+
partNames(): string[];
|
|
79
|
+
partObject(name: string): THREE.Object3D | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* 맞은 것이 어느 노드인가.
|
|
82
|
+
*
|
|
83
|
+
* 노드 하나가 mesh 여럿으로 되어 있을 수 있으므로, 색인에 등록된 조상을 만날 때까지
|
|
84
|
+
* 위로 걸어 올라간다.
|
|
85
|
+
*/
|
|
86
|
+
partAt(hit: THREE.Object3D): string | undefined;
|
|
76
87
|
private _applyNodeStates;
|
|
77
88
|
/**
|
|
78
89
|
* 단일 노드를 원본 상태로 복원한다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object-gltf.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-gltf.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"real-object-gltf.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-gltf.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,11 +75,15 @@ export declare class ThreeCapability {
|
|
|
75
75
|
private _onItemRemove?;
|
|
76
76
|
private _onComponentRemove?;
|
|
77
77
|
private _onSelectionChanged?;
|
|
78
|
+
/** 조각이 갈리는 컴포넌트가 고른 조각을 바꿨을 때. 선택 자체는 안 바뀐다. */
|
|
79
|
+
private _onPartChanged?;
|
|
78
80
|
private _onAddStart?;
|
|
79
81
|
private _onAddStop?;
|
|
80
82
|
private _initialized;
|
|
81
83
|
private _decoratorOutlines;
|
|
82
84
|
private _selectionOutlineObjects;
|
|
85
|
+
/** 좌표 바탕. 씬이 다시 설 때마다 새로 만든다. */
|
|
86
|
+
private _coordinateGround?;
|
|
83
87
|
private _highlightedMarkerIndex;
|
|
84
88
|
private _arrows;
|
|
85
89
|
private _resizeDebouncer?;
|
|
@@ -202,6 +206,13 @@ export declare class ThreeCapability {
|
|
|
202
206
|
/**
|
|
203
207
|
* 모든 리소스를 정리한다.
|
|
204
208
|
*/
|
|
209
|
+
/**
|
|
210
|
+
* 좌표 바탕을 세운다. `state.grid` 가 참일 때만.
|
|
211
|
+
*
|
|
212
|
+
* 눈금 한 칸을 안 주면 판 크기에서 뽑는다 — 고정 간격이면 작은 판에서는 안 보이고
|
|
213
|
+
* 큰 판에서는 뭉갠다.
|
|
214
|
+
*/
|
|
215
|
+
private _setupCoordinateGround;
|
|
205
216
|
destroy(): void;
|
|
206
217
|
/**
|
|
207
218
|
* 드래그 상태를 강제 정리한다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAOlD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/things-scene",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.2",
|
|
4
4
|
"description": "A high-performance 2D/3D scene graph library for building interactive visual editors, combining HTML5 Canvas and Three.js to enable facility visualization, data-driven animations, and real-time monitoring dashboards",
|
|
5
5
|
"main": "things-scene-min.js",
|
|
6
6
|
"module": "things-scene.mjs",
|