@hatiolab/things-scene 10.1.2 → 10.1.4
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 +2 -1
- package/dist-types/figure/figure-blueprint.d.ts.map +1 -1
- package/dist-types/figure/figure-instance.d.ts.map +1 -1
- package/dist-types/figure/figure-part-component.d.ts +111 -1
- package/dist-types/figure/figure-part-component.d.ts.map +1 -1
- package/dist-types/figure/figure-real-object.d.ts.map +1 -1
- package/dist-types/figure/figure-sizing.d.ts +20 -8
- package/dist-types/figure/figure-sizing.d.ts.map +1 -1
- package/dist-types/figure/index.d.ts +1 -0
- package/dist-types/figure/index.d.ts.map +1 -1
- package/dist-types/layer/model-layer.d.ts +17 -0
- package/dist-types/layer/model-layer.d.ts.map +1 -1
- package/package.json +1 -1
- package/things-scene-min.js +7 -7
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +2 -2
- package/things-scene.mjs.map +1 -1
|
@@ -60,9 +60,10 @@ export interface FigureBlueprintMember {
|
|
|
60
60
|
geometryKey: string;
|
|
61
61
|
transform: FigurePartTransform;
|
|
62
62
|
sizing: FigureSizingRule;
|
|
63
|
+
/** `pitch` 는 **중심에서 다음 중심까지**다. 부품 크기와 무관하다. */
|
|
63
64
|
repeat?: {
|
|
64
65
|
axis: 'x' | 'y' | 'z';
|
|
65
|
-
|
|
66
|
+
pitch: number;
|
|
66
67
|
};
|
|
67
68
|
shape?: FigurePartShape;
|
|
68
69
|
triangles: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-blueprint.d.ts","sourceRoot":"","sources":["../../src/figure/figure-blueprint.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;AAE9F,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAA;AAE/C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEvE,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,WAAW,GACX,QAAQ,GACR,SAAS,GACT,UAAU,GACV,WAAW,GACX,UAAU,CAAA;AAEd,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB;IACjB,QAAQ,EAAE,UAAU,CAAA;IACpB,aAAa;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;IAClF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACjC,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,mBAAmB,CAAA;IAC9B,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,mBAAmB,CAAA;IAC9B,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAAC,
|
|
1
|
+
{"version":3,"file":"figure-blueprint.d.ts","sourceRoot":"","sources":["../../src/figure/figure-blueprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-instance.d.ts","sourceRoot":"","sources":["../../src/figure/figure-instance.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiF7D,qBAAa,cAAe,SAAQ,mBAAe;IACjD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,OAAO,IAAI,OAAO;IAIlB,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,0CAA0C;IAC1C,IAAI,MAAM,yDAET;IAED,MAAM,CAAC,GAAG,EAAE,kBAAkB;IAoC9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"figure-instance.d.ts","sourceRoot":"","sources":["../../src/figure/figure-instance.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiF7D,qBAAa,cAAe,SAAQ,mBAAe;IACjD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,OAAO,IAAI,OAAO;IAIlB,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,0CAA0C;IAC1C,IAAI,MAAM,yDAET;IAED,MAAM,CAAC,GAAG,EAAE,kBAAkB;IAoC9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,SAAS;IAiDjB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IA2ChB,0DAA0D;IAC1D,OAAO,CAAC,UAAU;IAmDlB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiBrB;;;;;OAKG;IACM,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;CAGvD;AAMD,eAAe,cAAc,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
1
2
|
import Component from '../components/component.js';
|
|
2
3
|
import Shape from '../components/shape.js';
|
|
3
4
|
import type { SceneRenderContext } from '../interfaces/rendering.js';
|
|
4
5
|
import type { IRealObject } from '../interfaces/real-object.js';
|
|
5
|
-
import type { ComponentNature } from '../interfaces/types.js';
|
|
6
|
+
import type { ComponentNature, Properties } from '../interfaces/types.js';
|
|
6
7
|
import { RealObject } from '../threed/real-object.js';
|
|
7
8
|
import { MATERIAL_PRESETS } from '../threed/material-3d.js';
|
|
9
|
+
import { type FigureAxis } from './figure-sizing.js';
|
|
10
|
+
import type { FigureSizingRule } from './figure-blueprint.js';
|
|
8
11
|
/** 이 컴포넌트가 3D 로 세울 수 있는 도형. `PRIMITIVE_KINDS` 와 같은 집합이다. */
|
|
9
12
|
export type FigurePartPrimitive = 'cube' | 'wall' | 'cylinder' | 'sphere' | 'rect' | 'polygon';
|
|
10
13
|
/** 부품 컴포넌트가 갖는, 씬 공통 상태 밖의 값들. */
|
|
@@ -22,6 +25,17 @@ export interface FigurePartState {
|
|
|
22
25
|
preset?: keyof typeof MATERIAL_PRESETS;
|
|
23
26
|
flatShading?: boolean;
|
|
24
27
|
transparent?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 크기 반응. 저작 화면에서는 `repeat` 만 눈에 보인다.
|
|
30
|
+
*
|
|
31
|
+
* 나머지 셋은 인스턴스 배율이 1 일 때 하는 일이 없다. 저작 화면은 판이 곧 기준 상자라
|
|
32
|
+
* 늘 1 배다.
|
|
33
|
+
*/
|
|
34
|
+
sizing?: FigureSizingRule;
|
|
35
|
+
repeat?: {
|
|
36
|
+
axis: FigureAxis;
|
|
37
|
+
pitch: number;
|
|
38
|
+
};
|
|
25
39
|
}
|
|
26
40
|
/**
|
|
27
41
|
* 부품의 3D 표현.
|
|
@@ -31,7 +45,103 @@ export interface FigurePartState {
|
|
|
31
45
|
* `polygon`)만 예외인데, 단위로 정규화하면 모서리 굴림 비율이 망가지기 때문이다.
|
|
32
46
|
*/
|
|
33
47
|
export declare class FigurePartRealObject extends RealObject {
|
|
48
|
+
/** `repeat` 로 펼친 복제본들. 첫째가 저작한 것이다. */
|
|
49
|
+
private _copies;
|
|
34
50
|
build(): void;
|
|
51
|
+
clear(): THREE.Object3D<THREE.Object3DEventMap>;
|
|
52
|
+
/**
|
|
53
|
+
* `repeat` 를 **저작 화면에서도 펼친다.**
|
|
54
|
+
*
|
|
55
|
+
* 저작자는 단위 하나를 그리고 런타임이 기준 상자를 채운다. 그런데 저작 화면이 하나만
|
|
56
|
+
* 보여 주면, 그린 것과 보드에 놓인 것이 다른 물건이 된다. 롤러 하나를 그렸는데 보드에서
|
|
57
|
+
* 여섯이 나오면 무엇을 그린 것인지 알 수 없다.
|
|
58
|
+
*
|
|
59
|
+
* 셈은 런타임과 **같은 함수**를 쓴다(`repeatPlan`). 여기서 따로 세면 저작 화면과 보드가
|
|
60
|
+
* 갈린다.
|
|
61
|
+
*
|
|
62
|
+
* 판이 곧 기준 상자다. 인스턴스 배율은 1 이다 — 저작 화면에는 인스턴스가 없다.
|
|
63
|
+
*/
|
|
64
|
+
private applyRepeat;
|
|
65
|
+
/**
|
|
66
|
+
* 회전이 바뀌어도 줄을 다시 편다.
|
|
67
|
+
*
|
|
68
|
+
* 자리를 부모 회전으로 되돌려 적어 두었으므로, 회전이 바뀌면 그 값도 다시 잡아야 한다.
|
|
69
|
+
* 안 하면 돌린 각도만큼 줄이 어긋난 채로 남는다.
|
|
70
|
+
*/
|
|
71
|
+
updateRotate(): void;
|
|
72
|
+
/**
|
|
73
|
+
* **이 컴포넌트가 새로 들인 값이 바뀌면 무엇을 고치나.**
|
|
74
|
+
*
|
|
75
|
+
* 밑바탕은 씬 공통 낱말만 안다 — 자리 · 치수 · 회전 · 배율 · 숨김 · 분할 수. 그런데
|
|
76
|
+
* 이 컴포넌트는 제 값을 일곱 더 들였고(`primitive` · `round` · `path` · `token` ·
|
|
77
|
+
* `preset` · `sizing` · `repeat`), 그것들이 바뀔 때 무엇을 고쳐야 하는지 아무 데도
|
|
78
|
+
* 적히지 않았다. 그래서 속성 편집기에서 도형을 바꾸거나 색을 바꾸거나 한 칸을 고쳐도
|
|
79
|
+
* 화면이 그대로였다. 값은 제대로 들어갔고 고칠 사람이 없었을 뿐이다.
|
|
80
|
+
*
|
|
81
|
+
* 고칠 거리가 셋이다.
|
|
82
|
+
*
|
|
83
|
+
* 형상이 달라진다 다시 세운다 — 배율로는 안 된다
|
|
84
|
+
* 재질만 달라진다 사본들의 재질만 바꿔 끼운다
|
|
85
|
+
* 줄만 달라진다 다시 편다
|
|
86
|
+
*/
|
|
87
|
+
onchange(after: Properties, before: Properties): void;
|
|
88
|
+
/** 단면을 밀어 만든 것인가 — 평면 치수가 형상에 구워져 있다. */
|
|
89
|
+
private get isExtruded();
|
|
90
|
+
/** 재질만 갈아 끼운다. 형상은 그대로 두고, 사본들이 함께 쓴다. */
|
|
91
|
+
private applyMaterial;
|
|
92
|
+
/** 이 부품의 반복 계획. 판을 기준 상자로 삼고 배율은 1 로 본다. */
|
|
93
|
+
private repeatPlanNow;
|
|
94
|
+
/**
|
|
95
|
+
* 이 컴포넌트를 청사진 부품처럼 보이게 한 것.
|
|
96
|
+
*
|
|
97
|
+
* 한 칸이 중심에서 중심까지라서 개수는 회전과 무관하다. 그래도 회전을 채워 넘기는
|
|
98
|
+
* 것은, 이 모양이 청사진 부품과 같아야 `figure-sizing` 의 다른 셈에도 그대로 넘길 수
|
|
99
|
+
* 있기 때문이다. 씬은 라디안을 쓰고 이름이 뒤섞여 있다 — `rotationY` 가 형식의 z 로 간다.
|
|
100
|
+
*/
|
|
101
|
+
private asMember;
|
|
102
|
+
/**
|
|
103
|
+
* 부모에 걸린 회전과 배율을 되돌리는 값.
|
|
104
|
+
*
|
|
105
|
+
* **`object3d` 에서 읽는다 — 그것이 부모의 실제 변환이다.**
|
|
106
|
+
*
|
|
107
|
+
* 한동안 여기서 상태를 다시 셈했다. 기즈모로 끄는 동안 `object3d` 에는 끌고 있는
|
|
108
|
+
* 중간값이 들어 있어서, 그것으로 나누면 사본이 튈 것이라고 보았다. 반대였다. 끄는
|
|
109
|
+
* 동안 부모를 실제로 움직이는 것이 그 중간값이므로, 되돌릴 것도 그 값이다. 상태로
|
|
110
|
+
* 셈하면 부모는 이미 돌아갔는데 사본은 옛 값으로 되돌려 **줄이 통째로 끌려간다.**
|
|
111
|
+
*
|
|
112
|
+
* 두 벌로 셈하던 규칙도 하나 사라졌다. 단면을 민 것(`rect`·`polygon`)은 평면 치수가
|
|
113
|
+
* 형상에 구워져 있어 평면 배율이 1 인데, `object3d.scale` 이 이미 1 이므로 여기서
|
|
114
|
+
* 따로 가릴 것이 없다. `state.scale` 이 걸려 있어도 마찬가지로 저절로 들어온다.
|
|
115
|
+
*
|
|
116
|
+
* 대신 **부모를 건드린 자리마다 다시 펴야 한다** — 그 자리가 다섯이고, 아래에서
|
|
117
|
+
* 전부 가로챈다.
|
|
118
|
+
*/
|
|
119
|
+
private repeatUndo;
|
|
120
|
+
/**
|
|
121
|
+
* 배율이 바뀌어도 줄을 다시 편다.
|
|
122
|
+
*
|
|
123
|
+
* `setDimensionScale` 과 `state.scale` 이 둘 다 여기로 모인다.
|
|
124
|
+
*/
|
|
125
|
+
updateScale(): void;
|
|
126
|
+
/**
|
|
127
|
+
* 기즈모가 상태를 되쓸 때도 줄을 다시 편다 — **옮기기 · 돌리기.**
|
|
128
|
+
*
|
|
129
|
+
* 기즈모는 `_suppressOnchange` 를 켠 채 상태를 되쓴다. `object3d` 를 이미 움직여
|
|
130
|
+
* 놓았으니 상태에서 또 반영하면 같은 일을 두 번 한다는 판단이고, 여느 컴포넌트에는
|
|
131
|
+
* 맞다. 그런데 사본의 자리는 부모 변환을 되돌린 값이라, 부모만 바뀌고 다시 펴지
|
|
132
|
+
* 않으면 사본이 옛 자리를 그대로 타고 간다 — 대표 롤러가 제자리에서 도는 대신
|
|
133
|
+
* **줄 전체가 컴포넌트 중심을 축으로 돈다.** 속성으로 고칠 때와 기즈모로 끌 때가
|
|
134
|
+
* 다르게 도는 것이 이것이었다.
|
|
135
|
+
*/
|
|
136
|
+
syncFromObject3D(): void;
|
|
137
|
+
/**
|
|
138
|
+
* 기즈모가 상태를 되쓸 때도 줄을 다시 편다 — **크기.**
|
|
139
|
+
*
|
|
140
|
+
* 크기 기즈모는 `object3d.scale` 을 직접 끌고, 그 결과를 치수로 역산해 상태에만
|
|
141
|
+
* 적는다. 다시 펴지 않으면 사본이 옛 자리에 있는 채로 커진 배율을 받아 **개수가
|
|
142
|
+
* 아니라 간격이 늘어난다.**
|
|
143
|
+
*/
|
|
144
|
+
applyDimensionFromGizmo(props: Record<string, number>): void;
|
|
35
145
|
/** 단위 형상. 치수는 배율로 준다. */
|
|
36
146
|
private unitGeometry;
|
|
37
147
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-part-component.d.ts","sourceRoot":"","sources":["../../src/figure/figure-part-component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"figure-part-component.d.ts","sourceRoot":"","sources":["../../src/figure/figure-part-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-real-object.d.ts","sourceRoot":"","sources":["../../src/figure/figure-real-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAKrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AASlE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAuBzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAY/F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAiCjG;AAmFD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CA0CnG;AA8DD,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,2CAA2C;IAC3C,OAAO,CAAC,WAAW,CAAgC;IACnD,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAkB;IAEhC,IAAI,MAAM,IAAI,cAAc,GAAG,IAAI,CAElC;IAED,KAAK;IA8BL;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAsBlB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"figure-real-object.d.ts","sourceRoot":"","sources":["../../src/figure/figure-real-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAKrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AASlE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAuBzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAY/F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAiCjG;AAmFD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CA0CnG;AA8DD,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,2CAA2C;IAC3C,OAAO,CAAC,WAAW,CAAgC;IACnD,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAkB;IAEhC,IAAI,MAAM,IAAI,cAAc,GAAG,IAAI,CAElC;IAED,KAAK;IA8BL;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAsBlB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAsCnB;;;;;;;;;OASG;IACH,IAAa,cAAc,IAAI,MAAM,CAepC;IAED;;;;;;;;;;;OAWG;IACH,eAAe,IAAI,IAAI;IAoBvB;;;;OAIG;IACM,UAAU,IAAI,UAAU,GAAG,IAAI;IAIxC,KAAK;CAMN"}
|
|
@@ -72,17 +72,29 @@ export declare function sizingScale(member: FigureBlueprintMember, scale: Instan
|
|
|
72
72
|
/**
|
|
73
73
|
* `repeat` 를 몇 개로 펼치나.
|
|
74
74
|
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
75
|
+
* **기준 상자를 한 칸씩 채운다.** 저작자는 **단위 하나**를 그리고, 런타임이 그 축의
|
|
76
|
+
* 길이를 채운다. 3D 도구의 배열 변형이 "길이에 맞추기" 로 하는 일과 같다.
|
|
77
77
|
*
|
|
78
|
-
*
|
|
79
|
-
* 채울 길이 = 부품 크기 × 인스턴스 배율
|
|
80
|
-
* 개수 = round((채울 길이 + 간격) ÷ 한 칸)
|
|
78
|
+
* 개수 = floor(기준 상자의 그 축 길이 × 인스턴스 배율 ÷ 한 칸)
|
|
81
79
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
80
|
+
* ## 한 칸은 **중심에서 다음 중심까지**다
|
|
81
|
+
*
|
|
82
|
+
* 부품 크기와 무관하다. 전에는 `부품 크기 + 틈` 으로 셌는데, 그러면 부품을 굵게 하거나
|
|
83
|
+
* 돌릴 때마다 줄 전체가 다시 깔린다. 롤러를 30° 기울였더니 축 방향 경계상자가 96 에서
|
|
84
|
+
* 343 으로 늘어 개수가 16 에서 6 으로 무너졌다. 기울어진 롤러 둘은 빗살처럼 나란히
|
|
85
|
+
* 놓이므로 그렇게 벌릴 이유가 없는데도 그랬다.
|
|
86
|
+
*
|
|
87
|
+
* 이제 기울여도 개수가 그대로다. **기울인 채로 바짝 붙여 까는 것**이 표현된다.
|
|
88
|
+
*
|
|
89
|
+
* ## 왜 부품 크기가 아니라 기준 상자를 채우나
|
|
90
|
+
*
|
|
91
|
+
* 전에는 "그 부품이 `scale` 이었다면 차지했을 만큼" 을 채웠다. 지름 96 짜리 롤러는
|
|
92
|
+
* 컨베이어를 3 배로 늘려도 288 밖에 안 되어 롤러가 한두 개 나온다. 2400 짜리 컨베이어에
|
|
93
|
+
* 롤러 하나는 컨베이어가 아니다.
|
|
94
|
+
*
|
|
95
|
+
* 롤러는 일정한 간격으로 전 구간에 깔린다. 길이가 두 배면 롤러도 두 배다.
|
|
84
96
|
*/
|
|
85
|
-
export declare function repeatPlan(member: FigureBlueprintMember, scale: InstanceScale): {
|
|
97
|
+
export declare function repeatPlan(member: FigureBlueprintMember, scale: InstanceScale, base: FigureVec3): {
|
|
86
98
|
axis: FigureAxis;
|
|
87
99
|
count: number;
|
|
88
100
|
pitch: number;
|
|
@@ -1 +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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,UAAU,GACf;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa3D;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"}
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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;AAKvC,cAAc,oBAAoB,CAAA"}
|
|
@@ -65,6 +65,21 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
65
65
|
get hasEnvironment(): boolean;
|
|
66
66
|
get gizmoMode(): 'translate' | 'rotate' | 'scale' | undefined;
|
|
67
67
|
setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
|
|
68
|
+
/**
|
|
69
|
+
* 3D 카메라를 모델 전체가 보이게 맞춘다.
|
|
70
|
+
*
|
|
71
|
+
* 처음 3D 로 설 때 카메라는 모델 크기를 보지 않는다. 저장된 시점이 있으면 그것을,
|
|
72
|
+
* 없으면 기본값을 쓴다. 보드는 사람이 열고 나서 돌려 보므로 그것으로 충분하다.
|
|
73
|
+
*
|
|
74
|
+
* 컴포넌트를 저작하는 화면은 다르다. 모델을 열자마자 **전체가 보여야** 한다. 가로로
|
|
75
|
+
* 긴 모델(컨베이어가 그렇다)을 열면 화면 밖으로 나가 한 조각만 보인다.
|
|
76
|
+
*
|
|
77
|
+
* 2D 쪽 `fit()` 은 3D 카메라를 움직이지 못한다. 카메라가 2D 뷰포트에서 만들어지는
|
|
78
|
+
* 것은 2D → 3D 로 전환할 때뿐이고, 처음 3D 로 서는 경우는 그 길을 타지 않는다.
|
|
79
|
+
*
|
|
80
|
+
* @param margin 모델 둘레에 두는 여백 비율. 1.15 면 15% 더 넓게 잡는다.
|
|
81
|
+
*/
|
|
82
|
+
fitCameraToModel(margin?: number): void;
|
|
68
83
|
/** 도움말 패널 열기/닫기 — 단축키 `H` 와 같은 동작. */
|
|
69
84
|
toggleHelp(): void;
|
|
70
85
|
/** 북마크 내비게이터 열기/닫기 — 단축키 `B`. 3D 에서만 뜻이 있다. */
|
|
@@ -119,6 +134,8 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
119
134
|
* - 뷰어 + zoom-handler 없음: 독립 (각자 뷰, 연동 불필요)
|
|
120
135
|
*/
|
|
121
136
|
private get _needsViewportSync();
|
|
137
|
+
/** 3D 가 서기 전에 들어온 카메라 맞춤 요청. 서는 순간 적용한다. */
|
|
138
|
+
private _pendingFitMargin?;
|
|
122
139
|
private _2dScaleBeforeThreeD?;
|
|
123
140
|
private _initialVisibleHeight?;
|
|
124
141
|
private _activateThreeD;
|
|
@@ -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;;;;;OAKG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,SAAS,IAAI,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAE5D;IAED,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.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.4",
|
|
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",
|