@hatiolab/things-scene 10.1.28 → 10.1.30
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/index.d.ts +1 -0
- package/dist-types/figure/index.d.ts.map +1 -1
- package/dist-types/figure/v3/figure-v3-part-component.d.ts +305 -0
- package/dist-types/figure/v3/figure-v3-part-component.d.ts.map +1 -0
- package/dist-types/figure/v3/figure-v3-real-object.d.ts +7 -0
- package/dist-types/figure/v3/figure-v3-real-object.d.ts.map +1 -1
- package/package.json +1 -1
- package/things-scene-min.js +1 -1
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +1 -1
- package/things-scene.mjs.map +1 -1
|
@@ -12,6 +12,7 @@ export * from './figure-palette.js';
|
|
|
12
12
|
export * from './figure-registry.js';
|
|
13
13
|
export * from './v3/figure-v3-registry.js';
|
|
14
14
|
export { acquireV3Geometry, releaseV3Geometry, buildV3Geometry } from './v3/figure-v3-geometry.js';
|
|
15
|
+
export * from './v3/figure-v3-part-component.js';
|
|
15
16
|
export * from './figure-real-object.js';
|
|
16
17
|
export * from './figure-shape.js';
|
|
17
18
|
export * from './figure-sizing.js';
|
|
@@ -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;AAMrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AAMpC,cAAc,4BAA4B,CAAA;AAK1C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAClG,cAAc,yBAAyB,CAAA;AASvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,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;AAMrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AAMpC,cAAc,4BAA4B,CAAA;AAK1C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAClG,cAAc,kCAAkC,CAAA;AAChD,cAAc,yBAAyB,CAAA;AASvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import Component from '../../components/component.js';
|
|
3
|
+
import Shape from '../../components/shape.js';
|
|
4
|
+
import type { SceneRenderContext } from '../../interfaces/rendering.js';
|
|
5
|
+
import type { IRealObject } from '../../interfaces/real-object.js';
|
|
6
|
+
import type { ComponentNature, Properties } from '../../interfaces/types.js';
|
|
7
|
+
import { RealObject } from '../../threed/real-object.js';
|
|
8
|
+
/** The shape figure-model evaluated for this body. */
|
|
9
|
+
export interface FigureV3PartShape {
|
|
10
|
+
provider: string;
|
|
11
|
+
dimensions: Record<string, number>;
|
|
12
|
+
profile?: Array<{
|
|
13
|
+
id?: string;
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
export interface FigureV3PartState {
|
|
19
|
+
shape?: FigureV3PartShape;
|
|
20
|
+
segments?: number;
|
|
21
|
+
/** The body's colour, resolved by the modeller. */
|
|
22
|
+
color?: string;
|
|
23
|
+
preset?: string;
|
|
24
|
+
transparent?: boolean;
|
|
25
|
+
/** Glow: its colour and intensity (0 to 5). */
|
|
26
|
+
glow?: {
|
|
27
|
+
color: string;
|
|
28
|
+
intensity: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The body's geometry, centred on its bounding box and brought to a unit box, with the box's extents. Geometry with
|
|
33
|
+
* no extent on an axis (a flat face) keeps 1 there so nothing divides by zero.
|
|
34
|
+
*/
|
|
35
|
+
export declare function unitV3PartGeometry(shape: FigureV3PartShape, segments?: number): {
|
|
36
|
+
geometry: THREE.BufferGeometry;
|
|
37
|
+
extent: THREE.Vector3;
|
|
38
|
+
centre: THREE.Vector3;
|
|
39
|
+
} | null;
|
|
40
|
+
export declare class FigureV3PartRealObject extends RealObject {
|
|
41
|
+
private mesh?;
|
|
42
|
+
build(): void;
|
|
43
|
+
clear(): THREE.Object3D<THREE.Object3DEventMap>;
|
|
44
|
+
onchange(after: Properties, before: Properties): void;
|
|
45
|
+
/** The unit geometry is scaled to the component's size: width along X, depth along Y (up), height along Z. */
|
|
46
|
+
updateDimension(): void;
|
|
47
|
+
private material;
|
|
48
|
+
}
|
|
49
|
+
declare const FigureV3Part_base: {
|
|
50
|
+
new (...args: any[]): {
|
|
51
|
+
contains(x: number, y: number): boolean;
|
|
52
|
+
get path(): {
|
|
53
|
+
x: any;
|
|
54
|
+
y: any;
|
|
55
|
+
}[];
|
|
56
|
+
set path(path: {
|
|
57
|
+
x: any;
|
|
58
|
+
y: any;
|
|
59
|
+
}[]);
|
|
60
|
+
get anchors(): {
|
|
61
|
+
name: string;
|
|
62
|
+
position: {
|
|
63
|
+
x: any;
|
|
64
|
+
y: any;
|
|
65
|
+
};
|
|
66
|
+
}[];
|
|
67
|
+
get bounds(): any;
|
|
68
|
+
set bounds(bounds: any);
|
|
69
|
+
render(ctx: CanvasRenderingContext2D): void;
|
|
70
|
+
_app: any;
|
|
71
|
+
_model: any;
|
|
72
|
+
_state: any;
|
|
73
|
+
_delta: any;
|
|
74
|
+
_animation: any;
|
|
75
|
+
_animate: any;
|
|
76
|
+
_parent: any;
|
|
77
|
+
_disposed: any;
|
|
78
|
+
_textHidden: any;
|
|
79
|
+
_text_substitutor: any;
|
|
80
|
+
_value_substitutor: any;
|
|
81
|
+
_mappings: any;
|
|
82
|
+
_realObject: IRealObject | undefined;
|
|
83
|
+
_cachedState: any;
|
|
84
|
+
updatedAt: any;
|
|
85
|
+
fontSize: any;
|
|
86
|
+
__cache__: any;
|
|
87
|
+
created(): void;
|
|
88
|
+
added(parent: import("../../types/component.js").Container): void;
|
|
89
|
+
removed(parent: import("../../types/component.js").Container): void;
|
|
90
|
+
ready(): Promise<void>;
|
|
91
|
+
_readyInvoked: boolean;
|
|
92
|
+
invokeReady(): void | Promise<void>;
|
|
93
|
+
touch(): void;
|
|
94
|
+
clearCache(...attrs: string[]): void;
|
|
95
|
+
removeSelf(completely?: boolean): void;
|
|
96
|
+
resetAnimation(): void;
|
|
97
|
+
dispose(): void;
|
|
98
|
+
get nature(): ComponentNature;
|
|
99
|
+
get disposed(): boolean;
|
|
100
|
+
isLayer(): boolean;
|
|
101
|
+
isGroup(): boolean;
|
|
102
|
+
isContainer(): this is import("../../types/component.js").Container;
|
|
103
|
+
isLine(): boolean;
|
|
104
|
+
isRoot(): boolean;
|
|
105
|
+
isRootModel(): boolean;
|
|
106
|
+
is3dish(): boolean;
|
|
107
|
+
get is3dMode(): boolean;
|
|
108
|
+
isIn3DSpace(): boolean;
|
|
109
|
+
isTemplate(): boolean;
|
|
110
|
+
isHTMLElement(): boolean;
|
|
111
|
+
isConnectable(): boolean;
|
|
112
|
+
isIdentifiable(): boolean;
|
|
113
|
+
isPositionable(): boolean;
|
|
114
|
+
replaceRefids(replaceMap: Record<string, string>): void;
|
|
115
|
+
get(property: string): any;
|
|
116
|
+
set(props: any, propval?: any): any;
|
|
117
|
+
getState(property: string): any;
|
|
118
|
+
setState(props: Partial<import("../../index.js").State> | string, propval?: any): any;
|
|
119
|
+
get model(): any;
|
|
120
|
+
get state(): import("../../index.js").State;
|
|
121
|
+
get refid(): any;
|
|
122
|
+
get hierarchy(): any;
|
|
123
|
+
get volatile(): string[];
|
|
124
|
+
_applyProps(target: Record<string, any>, props: Record<string, any>, options: import("../../components/component.js").ApplyPropsOptions): /*elided*/ any;
|
|
125
|
+
move(offset: {
|
|
126
|
+
x: number;
|
|
127
|
+
y: number;
|
|
128
|
+
}, ...args: boolean[]): void;
|
|
129
|
+
symmetryX(x?: number): void;
|
|
130
|
+
symmetryY(y: number): void;
|
|
131
|
+
adjustResize(bounds: import("../../index.js").BOUNDS, origin_bounds: import("../../index.js").BOUNDS, diagonal: boolean): {
|
|
132
|
+
left: any;
|
|
133
|
+
top: any;
|
|
134
|
+
width: any;
|
|
135
|
+
height: any;
|
|
136
|
+
};
|
|
137
|
+
adjustRotation(rotation: number, step: boolean): number;
|
|
138
|
+
outline(progress: number): any;
|
|
139
|
+
get center(): import("../../index.js").POINT;
|
|
140
|
+
set center(p: import("../../index.js").POINT);
|
|
141
|
+
get location(): import("../../index.js").POINT;
|
|
142
|
+
set location(l: import("../../index.js").POINT);
|
|
143
|
+
get rotate(): import("../../index.js").POINT;
|
|
144
|
+
set rotate(r: import("../../index.js").POINT);
|
|
145
|
+
get dimension(): import("../../index.js").DIMENSION;
|
|
146
|
+
set dimension(d: import("../../index.js").DIMENSION);
|
|
147
|
+
get drawPath(): import("../../index.js").POINT[];
|
|
148
|
+
get rotatePoint(): import("../../index.js").POINT;
|
|
149
|
+
get mutable(): boolean;
|
|
150
|
+
get resizable(): boolean;
|
|
151
|
+
get rotatable(): boolean;
|
|
152
|
+
buildRealObject(): IRealObject | undefined;
|
|
153
|
+
get realObject(): IRealObject | undefined;
|
|
154
|
+
draw(context?: SceneRenderContext): void;
|
|
155
|
+
prerender(context: SceneRenderContext): void;
|
|
156
|
+
postrender(context: SceneRenderContext): void;
|
|
157
|
+
prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
|
|
158
|
+
prepareIf(condition: boolean): void;
|
|
159
|
+
drawText(context: SceneRenderContext): void;
|
|
160
|
+
drawStroke(context: SceneRenderContext, override?: Record<string, unknown>): void;
|
|
161
|
+
drawFill(context: SceneRenderContext, override?: Record<string, unknown>): void;
|
|
162
|
+
get strokeStyle(): any;
|
|
163
|
+
set strokeStyle(v: any);
|
|
164
|
+
get fillStyle(): any;
|
|
165
|
+
set fillStyle(v: any);
|
|
166
|
+
get fontColor(): string;
|
|
167
|
+
set fontColor(v: string);
|
|
168
|
+
get rotation(): number;
|
|
169
|
+
set rotation(v: number);
|
|
170
|
+
get decorators(): string[];
|
|
171
|
+
get decotag(): string;
|
|
172
|
+
get hidden(): boolean;
|
|
173
|
+
set hidden(v: boolean);
|
|
174
|
+
get tag(): string;
|
|
175
|
+
set tag(v: string);
|
|
176
|
+
get appendum(): any;
|
|
177
|
+
set appendum(v: any);
|
|
178
|
+
defaultTextSubstitutor(): string;
|
|
179
|
+
textLines(context?: SceneRenderContext): any[][];
|
|
180
|
+
get font(): string;
|
|
181
|
+
get lineHeight(): number;
|
|
182
|
+
get textSubstitutor(): () => string;
|
|
183
|
+
get text(): string;
|
|
184
|
+
set text(v: string);
|
|
185
|
+
get textBounds(): import("../../index.js").BOUNDS;
|
|
186
|
+
get textRotation(): number;
|
|
187
|
+
get textHidden(): boolean;
|
|
188
|
+
set textHidden(v: boolean);
|
|
189
|
+
get hasTextProperty(): boolean;
|
|
190
|
+
animate(opts: import("../../index.js").AnimationConfig): any;
|
|
191
|
+
effect(context: SceneRenderContext, model: any): void;
|
|
192
|
+
serialize(...others: any[]): string;
|
|
193
|
+
trim(): void;
|
|
194
|
+
closeScene(data: any): void;
|
|
195
|
+
delta(attr?: string | object, value?: any): any;
|
|
196
|
+
invalidate(): void;
|
|
197
|
+
get value(): any;
|
|
198
|
+
set value(v: any);
|
|
199
|
+
get data(): any;
|
|
200
|
+
set data(v: any);
|
|
201
|
+
set tap(v: any);
|
|
202
|
+
get mappings(): any[];
|
|
203
|
+
get retention(): number;
|
|
204
|
+
get animation(): import("../../index.js").AnimationController | undefined;
|
|
205
|
+
get started(): boolean;
|
|
206
|
+
set started(v: boolean);
|
|
207
|
+
get controls(): import("../../index.js").Control[] | undefined;
|
|
208
|
+
findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
|
|
209
|
+
findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
|
|
210
|
+
capture(x: number, y: number, except?: (c: Component) => boolean): any;
|
|
211
|
+
findAnchor(name: string): any;
|
|
212
|
+
isDescendible(container: Component | any): boolean;
|
|
213
|
+
getContext(component?: unknown): any;
|
|
214
|
+
get root(): Component;
|
|
215
|
+
get rootModel(): Component;
|
|
216
|
+
get parent(): Component;
|
|
217
|
+
set parent(v: Component);
|
|
218
|
+
get scalable(): boolean;
|
|
219
|
+
get stuck(): boolean;
|
|
220
|
+
get capturable(): boolean;
|
|
221
|
+
get position(): string;
|
|
222
|
+
get origin(): string;
|
|
223
|
+
get offset(): import("../../index.js").POINT;
|
|
224
|
+
get app(): import("../../index.js").ApplicationContext;
|
|
225
|
+
drawEffect(context: SceneRenderContext): void;
|
|
226
|
+
prepareFill(resolve: Function, reject: Function): void;
|
|
227
|
+
prepareFillIf(condition: boolean): void;
|
|
228
|
+
onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
|
|
229
|
+
drawImage(context: SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
|
|
230
|
+
mutateBounds(logic: ((bounds: import("../../index.js").BOUNDS) => import("../../index.js").BOUNDS | void) | null, context?: any): void;
|
|
231
|
+
mutatePath(beforeLogic: ((path: import("../../index.js").POINT[]) => import("../../index.js").POINT[] | void) | null, afterLogic: ((path: import("../../index.js").POINT[]) => import("../../index.js").POINT[] | void) | null, context?: any): void;
|
|
232
|
+
access(accessor: string): any;
|
|
233
|
+
substitute(template: string, data: any): string | undefined;
|
|
234
|
+
onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
|
|
235
|
+
onchangeData(after: Record<string, any>, before: Record<string, any>): void;
|
|
236
|
+
buildMappings(): void;
|
|
237
|
+
executeMappings(force?: boolean): void;
|
|
238
|
+
disposeMappings(): void;
|
|
239
|
+
ondropfile(transfered: FileList, files: string[]): void;
|
|
240
|
+
transcoordS2P(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
|
|
241
|
+
transcoordP2S(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
|
|
242
|
+
transcoordS2T(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
243
|
+
transcoordT2P(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
244
|
+
transcoordT2S(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
245
|
+
transcoordS2TR(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
246
|
+
transcoordS2O(x: number, y: number, target: Component): import("../../index.js").POINT;
|
|
247
|
+
transcoordC2S(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
248
|
+
transcoordS2C(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
249
|
+
toParent(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
|
|
250
|
+
fromParent(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
|
|
251
|
+
toScene(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
252
|
+
fromScene(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
253
|
+
toLocal(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
254
|
+
toGlobal(x: number, y: number, top?: Component): import("../../index.js").POINT;
|
|
255
|
+
toOther(x: number, y: number, target: Component): import("../../index.js").POINT;
|
|
256
|
+
on<K extends keyof import("../../index.js").ComponentEventMap>(name: K, callback: (...args: import("../../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
|
|
257
|
+
on(name: string | object, callback: Function, context?: any): /*elided*/ any;
|
|
258
|
+
off<K extends keyof import("../../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
|
|
259
|
+
off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
|
|
260
|
+
once<K extends keyof import("../../index.js").ComponentEventMap>(name: K, callback: (...args: import("../../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
|
|
261
|
+
once(name: string | object, callback: Function, context?: any): /*elided*/ any;
|
|
262
|
+
trigger<K extends keyof import("../../index.js").ComponentEventMap>(name: K, ...args: import("../../index.js").ComponentEventMap[K]): /*elided*/ any;
|
|
263
|
+
trigger(name: string, ...args: any[]): /*elided*/ any;
|
|
264
|
+
delegate_on(delegator: any): /*elided*/ any;
|
|
265
|
+
delegate_off(delegator: any): /*elided*/ any;
|
|
266
|
+
onchange(after: Record<string, any>, before: Record<string, any>): void;
|
|
267
|
+
calculateBounds?(): void;
|
|
268
|
+
oncreate_element?(element: HTMLElement): void;
|
|
269
|
+
removeComponent(component: Component, ghost?: boolean): void;
|
|
270
|
+
addComponent(component: Component, ghost?: boolean): void;
|
|
271
|
+
insertComponentAt(component: Component, index: number, ghost?: boolean): void;
|
|
272
|
+
getOverlay(component: Component): HTMLElement | undefined;
|
|
273
|
+
findById(id: string): Component | undefined;
|
|
274
|
+
findByRefid(ref: string | number): Component | undefined;
|
|
275
|
+
findAllById(id: string): Component[];
|
|
276
|
+
resize(): void;
|
|
277
|
+
fit(type?: string): void;
|
|
278
|
+
get components(): Component[] | undefined;
|
|
279
|
+
get layout(): any;
|
|
280
|
+
get auxOverlay(): HTMLElement | undefined;
|
|
281
|
+
get isReady(): boolean;
|
|
282
|
+
get unitScale(): number;
|
|
283
|
+
get selected(): Component[];
|
|
284
|
+
set selected(_v: Component[]);
|
|
285
|
+
get focused(): Component | null;
|
|
286
|
+
set focused(_v: Component | null);
|
|
287
|
+
get hasSameParentForAllSelected(): boolean;
|
|
288
|
+
set hasSameParentForAllSelected(_v: boolean);
|
|
289
|
+
get fitMode(): string | undefined;
|
|
290
|
+
set fitMode(_v: string | undefined);
|
|
291
|
+
get element(): HTMLElement | null;
|
|
292
|
+
set element(_v: HTMLElement | null);
|
|
293
|
+
};
|
|
294
|
+
} & typeof Shape;
|
|
295
|
+
export declare class FigureV3Part extends FigureV3Part_base {
|
|
296
|
+
static registerType(): void;
|
|
297
|
+
get hasTextProperty(): boolean;
|
|
298
|
+
is3dish(): boolean;
|
|
299
|
+
get nature(): ComponentNature;
|
|
300
|
+
buildRealObject(): IRealObject | undefined;
|
|
301
|
+
/** From above: the body's footprint as its box, in its colour. */
|
|
302
|
+
render(ctx: SceneRenderContext): void;
|
|
303
|
+
}
|
|
304
|
+
export {};
|
|
305
|
+
//# sourceMappingURL=figure-v3-part-component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figure-v3-part-component.d.ts","sourceRoot":"","sources":["../../../src/figure/v3/figure-v3-part-component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,SAAS,MAAM,+BAA+B,CAAA;AACrD,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAE7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAmCxD,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAOD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAA;CAAE,GAAG,IAAI,CAoBzF;AAED,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,OAAO,CAAC,IAAI,CAAC,CAAY;IAEzB,KAAK;IAaL,KAAK;IAOI,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAU9D,8GAA8G;IAC9G,eAAe,IAAI,IAAI;IAKvB,OAAO,CAAC,QAAQ;CAqBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,YAAa,SAAQ,iBAAe;IAC/C,MAAM,CAAC,YAAY,IAAI,IAAI;IAI3B,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,OAAO,IAAI,OAAO;IAIlB,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,kBAAkB;CAO/B"}
|
|
@@ -23,6 +23,13 @@ export declare class FigureV3RealObject extends RealObject<THREE.Group> {
|
|
|
23
23
|
} | null;
|
|
24
24
|
get effectiveDepth(): number;
|
|
25
25
|
updateDimension(): void;
|
|
26
|
+
/**
|
|
27
|
+
* The asset frame rises from the floor -- its y = 0 is the bottom of the instance (ADR-0065) -- while the object3d
|
|
28
|
+
* stands at the centre of the instance's box, as every real object does. The rig is lowered by half the instance's
|
|
29
|
+
* height so the figure stands on the box's bottom. Without it every V3 figure stood half its height in the air, on a
|
|
30
|
+
* board and in the modeller's preview (user, 2026-09-24: 「왜 공중에 떠있는거지? 바닥기반인데」).
|
|
31
|
+
*/
|
|
32
|
+
private seat;
|
|
26
33
|
/** Re-reads the external state values. Clip times are untouched: a value written or withdrawn does not restart a clip. */
|
|
27
34
|
updateParameters(): void;
|
|
28
35
|
/** Re-reads the speeds. They are read every frame, so this only asks for a redraw once something may move again. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-v3-real-object.d.ts","sourceRoot":"","sources":["../../../src/figure/v3/figure-v3-real-object.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG3D,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG9E,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7D,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,WAAW,CAAC,CAAa;IAEjC,IAAI,MAAM,IAAI,kBAAkB,GAAG,IAAI,CAEtC;cAEkB,mBAAmB,IAAI,KAAK,CAAC,KAAK;IAI5C,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"figure-v3-real-object.d.ts","sourceRoot":"","sources":["../../../src/figure/v3/figure-v3-real-object.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG3D,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG9E,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7D,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,WAAW,CAAC,CAAa;IAEjC,IAAI,MAAM,IAAI,kBAAkB,GAAG,IAAI,CAEtC;cAEkB,mBAAmB,IAAI,KAAK,CAAC,KAAK;IAI5C,KAAK,IAAI,IAAI;IAatB,kGAAkG;IAClG,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGvC;IAED,oGAAoG;IACpG,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGvC;IAED,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAM9D,oHAAoH;IACpH,YAAY,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO1D,IAAa,cAAc,IAAI,MAAM,CASpC;IAEQ,eAAe,IAAI,IAAI;IAOhC;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAIZ,0HAA0H;IAC1H,gBAAgB,IAAI,IAAI;IAMxB,oHAAoH;IACpH,WAAW,IAAI,IAAI;IAMnB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAgBtB,OAAO,CAAC,OAAO;IAIf;;;;;OAKG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QAAC,aAAa,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,SAAS;IAa7J,KAAK,IAAI,KAAK,CAAC,KAAK;CAO9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/things-scene",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.30",
|
|
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",
|