@variantic/player 0.0.22 → 0.0.24
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/libs/schemas/engine/src/index.d.ts +1 -0
- package/libs/schemas/engine/src/lib/engine.d.ts +45 -10
- package/libs/schemas/engine/src/lib/publication.d.ts +11 -2
- package/libs/schemas/engine/src/lib/studio.d.ts +81 -0
- package/libs/schemas/file-types/vas/src/lib/vas.d.ts +97 -0
- package/libs/schemas/web-component/api/player/viewer/src/lib/viewer.d.ts +7 -2
- package/package.json +1 -1
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import type { TObjectConfiguration, TInteractionMode, TVasFile } from '@variantic/schemas/file-types/vas';
|
|
2
2
|
import type { TPublication } from './publication';
|
|
3
3
|
import type { TDocumentation } from './documentation';
|
|
4
|
-
type
|
|
4
|
+
import type { TStudioShadowMapType, TVsmShadowQuality } from './studio';
|
|
5
|
+
export type TValue = string | number | boolean;
|
|
5
6
|
export { TInteractionMode };
|
|
6
7
|
export type TSettings = TVasFile['set']['configuration']['settings'] & {
|
|
7
8
|
sceneSettings?: TVasFile['set']['configuration']['sceneSettings'] & {
|
|
8
9
|
backgroundColor?: string | null;
|
|
9
10
|
studioId?: number | null;
|
|
10
11
|
envMap?: string | null;
|
|
12
|
+
toneMapping?: {
|
|
13
|
+
mode?: 'None' | 'Linear' | 'Reinhard' | 'Cineon' | 'ACESFilmic' | 'AgX' | 'Neutral';
|
|
14
|
+
exposure?: number;
|
|
15
|
+
};
|
|
16
|
+
shadowMap?: {
|
|
17
|
+
type?: TStudioShadowMapType;
|
|
18
|
+
vsmQuality?: TVsmShadowQuality;
|
|
19
|
+
};
|
|
11
20
|
};
|
|
12
21
|
cameraSettings?: TVasFile['set']['configuration']['cameraSettings'];
|
|
13
22
|
flowsSettings?: TVasFile['set']['configuration']['flowsSettings'];
|
|
@@ -32,6 +41,24 @@ export type TRootData = Partial<{
|
|
|
32
41
|
documentation: TDocumentation;
|
|
33
42
|
}>;
|
|
34
43
|
export type TRenderDataObjectTag = `subcomponent:${string}`;
|
|
44
|
+
export type TAnimationRenderData = {
|
|
45
|
+
key: string;
|
|
46
|
+
clips: {
|
|
47
|
+
name: string;
|
|
48
|
+
duration: number;
|
|
49
|
+
channels: {
|
|
50
|
+
target: {
|
|
51
|
+
path: 'translation' | 'rotation';
|
|
52
|
+
};
|
|
53
|
+
sampler: {
|
|
54
|
+
start: 'current';
|
|
55
|
+
times: number[];
|
|
56
|
+
easings: string[];
|
|
57
|
+
values: TValue[][];
|
|
58
|
+
};
|
|
59
|
+
}[];
|
|
60
|
+
}[];
|
|
61
|
+
};
|
|
35
62
|
export type TRenderDataObject = Partial<{
|
|
36
63
|
controlledVisibility: boolean;
|
|
37
64
|
inAvailableSpace: boolean;
|
|
@@ -61,6 +88,13 @@ export type TRenderDataObject = Partial<{
|
|
|
61
88
|
collision: boolean;
|
|
62
89
|
interact: boolean;
|
|
63
90
|
occluder: boolean;
|
|
91
|
+
rangefinder: boolean;
|
|
92
|
+
};
|
|
93
|
+
rangefinder: {
|
|
94
|
+
tags: string[];
|
|
95
|
+
axis: Array<'x' | 'y' | 'z'>;
|
|
96
|
+
near: number;
|
|
97
|
+
far: number;
|
|
64
98
|
};
|
|
65
99
|
dynamicConfiguration: Record<string, number>;
|
|
66
100
|
layers: number[];
|
|
@@ -86,9 +120,10 @@ export type TRenderDataObject = Partial<{
|
|
|
86
120
|
shadow: [boolean, boolean];
|
|
87
121
|
order: number;
|
|
88
122
|
};
|
|
123
|
+
animation: TAnimationRenderData;
|
|
89
124
|
tags: TRenderDataObjectTag[];
|
|
90
125
|
}>;
|
|
91
|
-
type TUniqueRenderDataObject = {
|
|
126
|
+
export type TUniqueRenderDataObject = {
|
|
92
127
|
id: string;
|
|
93
128
|
ref: string;
|
|
94
129
|
} & TRenderDataObject;
|
|
@@ -114,17 +149,17 @@ export type TTreeObjectOverrides = Partial<{
|
|
|
114
149
|
interaction: TInteractionMode;
|
|
115
150
|
}>;
|
|
116
151
|
export type TSnapType = 'point' | 'grid';
|
|
117
|
-
type TSnapTypeMaker<T extends TSnapType, U extends Record<string, unknown>> = {
|
|
152
|
+
export type TSnapTypeMaker<T extends TSnapType, U extends Record<string, unknown>> = {
|
|
118
153
|
id: string;
|
|
119
154
|
type: T;
|
|
120
155
|
data: U;
|
|
121
156
|
snappedKeyPointIds: string[];
|
|
122
157
|
};
|
|
123
|
-
type TSnapPoint = TSnapTypeMaker<'point', {
|
|
158
|
+
export type TSnapPoint = TSnapTypeMaker<'point', {
|
|
124
159
|
x: TValue;
|
|
125
160
|
y: TValue;
|
|
126
161
|
}>;
|
|
127
|
-
type TSnapGrid = TSnapTypeMaker<'grid', {
|
|
162
|
+
export type TSnapGrid = TSnapTypeMaker<'grid', {
|
|
128
163
|
cols: TValue;
|
|
129
164
|
rows: TValue;
|
|
130
165
|
}>;
|
|
@@ -140,21 +175,21 @@ export type TSnap = TSnapPoint | TSnapGrid;
|
|
|
140
175
|
* Which means that we are referring to the grid (snaps array index 0) snap point
|
|
141
176
|
* on row 0 and column 1
|
|
142
177
|
*/
|
|
143
|
-
type TSnapIdentifierMaker<T extends TSnapType, U extends Record<string, unknown>> = {
|
|
178
|
+
export type TSnapIdentifierMaker<T extends TSnapType, U extends Record<string, unknown>> = {
|
|
144
179
|
id: string;
|
|
145
180
|
type: T;
|
|
146
181
|
data: U;
|
|
147
182
|
};
|
|
148
|
-
type TSnapPointIdentifier = TSnapIdentifierMaker<'point', {
|
|
183
|
+
export type TSnapPointIdentifier = TSnapIdentifierMaker<'point', {
|
|
149
184
|
x: number;
|
|
150
185
|
y: number;
|
|
151
186
|
}>;
|
|
152
|
-
type TSnapGridIdentifier = TSnapIdentifierMaker<'grid', {
|
|
187
|
+
export type TSnapGridIdentifier = TSnapIdentifierMaker<'grid', {
|
|
153
188
|
col: number;
|
|
154
189
|
row: number;
|
|
155
190
|
}>;
|
|
156
191
|
export type TSnapIdentifier = TSnapPointIdentifier | TSnapGridIdentifier;
|
|
157
|
-
type TCommonMaterialGroupProperties = {
|
|
192
|
+
export type TCommonMaterialGroupProperties = {
|
|
158
193
|
hash: string;
|
|
159
194
|
selected: string;
|
|
160
195
|
alias: string;
|
|
@@ -166,7 +201,7 @@ export type TMaterialGroup = ({
|
|
|
166
201
|
type: 'query';
|
|
167
202
|
query: Record<string, any>;
|
|
168
203
|
}) & TCommonMaterialGroupProperties;
|
|
169
|
-
type TCommonSubcomponentGroupProperties = {
|
|
204
|
+
export type TCommonSubcomponentGroupProperties = {
|
|
170
205
|
hash: string;
|
|
171
206
|
selected: string;
|
|
172
207
|
alias: string;
|
|
@@ -15,7 +15,7 @@ export type TPublicationBlock = {
|
|
|
15
15
|
id: string;
|
|
16
16
|
label: string;
|
|
17
17
|
events: TEvents;
|
|
18
|
-
kind: TBlockNumberRange | TBlockNumberPredefined | TBlockText | TBlockList;
|
|
18
|
+
kind: TBlockNumberRange | TBlockNumberPredefined | TBlockText | TBlockTextInput | TBlockBoolean | TBlockList;
|
|
19
19
|
};
|
|
20
20
|
export type TBlockNumberRange = {
|
|
21
21
|
type: 'number-range';
|
|
@@ -30,12 +30,21 @@ export type TBlockNumberPredefined = {
|
|
|
30
30
|
type: 'number-predefined';
|
|
31
31
|
value: number;
|
|
32
32
|
options: number[];
|
|
33
|
-
preferred: number[];
|
|
34
33
|
};
|
|
35
34
|
export type TBlockText = {
|
|
36
35
|
type: 'text';
|
|
37
36
|
value: string;
|
|
38
37
|
};
|
|
38
|
+
export type TBlockTextInput = {
|
|
39
|
+
type: 'text-input';
|
|
40
|
+
value: string;
|
|
41
|
+
maxLength: number;
|
|
42
|
+
placeholder: string;
|
|
43
|
+
};
|
|
44
|
+
export type TBlockBoolean = {
|
|
45
|
+
type: 'boolean';
|
|
46
|
+
value: boolean;
|
|
47
|
+
};
|
|
39
48
|
export type TBlockList = {
|
|
40
49
|
type: 'list';
|
|
41
50
|
style: TBlockListDropdownStyle | TBlockListButtonsStyle | TBlockListDropdownImageStyle | TBlockListButtonsImageStyle;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export type TStudioId = 0 | 1 | 2;
|
|
2
|
+
export type TStudioToneMappingMode = 'None' | 'Linear' | 'Reinhard' | 'Cineon' | 'ACESFilmic' | 'AgX' | 'Neutral';
|
|
3
|
+
export type TStudioShadowMapType = 'Basic' | 'PCF' | 'VSM';
|
|
4
|
+
export type TVsmShadowQuality = 'Performance' | 'Balanced' | 'Quality';
|
|
5
|
+
export type TStudioShadowMapConfig = {
|
|
6
|
+
type: TStudioShadowMapType;
|
|
7
|
+
vsmQuality: TVsmShadowQuality;
|
|
8
|
+
};
|
|
9
|
+
export type TStudioSceneConfig = {
|
|
10
|
+
backgroundColor: string | null;
|
|
11
|
+
envMap: string | null;
|
|
12
|
+
backgroundMode: 'color' | 'environment';
|
|
13
|
+
backgroundBlurriness: number;
|
|
14
|
+
backgroundIntensity: number;
|
|
15
|
+
environmentIntensity: number;
|
|
16
|
+
environmentRotationY: number;
|
|
17
|
+
shadowMap: TStudioShadowMapConfig;
|
|
18
|
+
toneMapping: {
|
|
19
|
+
mode: TStudioToneMappingMode;
|
|
20
|
+
exposure: number;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type TStudioFloorConfig = {
|
|
24
|
+
activeFloor: boolean;
|
|
25
|
+
activeFloorShadow: boolean;
|
|
26
|
+
useFloorInAR: boolean;
|
|
27
|
+
reflection: {
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
opacity: number;
|
|
30
|
+
fadeDistance: number;
|
|
31
|
+
};
|
|
32
|
+
floorSize: {
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
};
|
|
36
|
+
floorSizeType: 'infinity' | 'likeObject' | 'custom';
|
|
37
|
+
selectedMaterialGroup: number | null;
|
|
38
|
+
selectedDefaultMaterial: number | null;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Settings a studio explicitly owns. Definitions only declare editable
|
|
42
|
+
* paths; the runtime fills in the remaining paths from compatibility defaults.
|
|
43
|
+
*/
|
|
44
|
+
export type TStudioSceneSettings = Partial<Omit<TStudioSceneConfig, 'toneMapping' | 'shadowMap'>> & {
|
|
45
|
+
toneMapping?: Partial<TStudioSceneConfig['toneMapping']>;
|
|
46
|
+
shadowMap?: Partial<TStudioSceneConfig['shadowMap']>;
|
|
47
|
+
};
|
|
48
|
+
export type TStudioFloorSettings = Partial<Omit<TStudioFloorConfig, 'reflection' | 'floorSize'>> & {
|
|
49
|
+
reflection?: Partial<TStudioFloorConfig['reflection']>;
|
|
50
|
+
floorSize?: Partial<TStudioFloorConfig['floorSize']>;
|
|
51
|
+
};
|
|
52
|
+
export type TStudioSettings = {
|
|
53
|
+
scene?: TStudioSceneSettings;
|
|
54
|
+
floor?: TStudioFloorSettings;
|
|
55
|
+
};
|
|
56
|
+
/** Complete scene/floor settings after defaults and persisted overrides. */
|
|
57
|
+
export type TStudioResolvedSettings = {
|
|
58
|
+
scene: TStudioSceneConfig;
|
|
59
|
+
floor: TStudioFloorConfig;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Generic definition type keeps the schema package independent of Three.js.
|
|
63
|
+
* Viewer code supplies its builder context and light-group result types.
|
|
64
|
+
*/
|
|
65
|
+
export type TStudioDefinition<TBuilderContext = unknown, TLightGroup = unknown> = {
|
|
66
|
+
id: TStudioId;
|
|
67
|
+
name: string;
|
|
68
|
+
settings: TStudioSettings;
|
|
69
|
+
configuration: {
|
|
70
|
+
createLights: (context: TBuilderContext) => TLightGroup;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
/** Legacy persisted light override data is retained but never edited. */
|
|
74
|
+
export type TStudioLightsSettings = {
|
|
75
|
+
preset: 'directional' | 'area' | 'environment';
|
|
76
|
+
};
|
|
77
|
+
export type TStudioOverrides = {
|
|
78
|
+
scene?: TStudioSceneSettings;
|
|
79
|
+
lights?: Partial<TStudioLightsSettings>;
|
|
80
|
+
floor?: TStudioFloorSettings;
|
|
81
|
+
};
|
|
@@ -134,6 +134,7 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
|
|
|
134
134
|
settings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
135
135
|
general: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
136
136
|
assemblyMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"multi-object">, import("@sinclair/typebox").TLiteral<"single-object">]>>;
|
|
137
|
+
editorMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"default">, import("@sinclair/typebox").TLiteral<"assembly">, import("@sinclair/typebox").TNull]>>;
|
|
137
138
|
}>>;
|
|
138
139
|
assetsPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
139
140
|
nodes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
@@ -171,6 +172,32 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
|
|
|
171
172
|
}>>;
|
|
172
173
|
outline: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
173
174
|
enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
175
|
+
selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
176
|
+
enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
177
|
+
thicknessPx: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
178
|
+
visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
179
|
+
color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
180
|
+
alpha: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
181
|
+
}>>;
|
|
182
|
+
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
183
|
+
color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
184
|
+
alpha: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
185
|
+
}>>;
|
|
186
|
+
}>>;
|
|
187
|
+
hover: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
188
|
+
enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
189
|
+
thicknessPx: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
190
|
+
visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
191
|
+
color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
192
|
+
alpha: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
193
|
+
fillAlpha: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
194
|
+
}>>;
|
|
195
|
+
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
196
|
+
color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
197
|
+
alpha: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
198
|
+
fillAlpha: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
199
|
+
}>>;
|
|
200
|
+
}>>;
|
|
174
201
|
edgeStrength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
175
202
|
edgeGlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
176
203
|
edgeThickness: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
@@ -192,6 +219,11 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
|
|
|
192
219
|
offsetX: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
193
220
|
offsetY: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
194
221
|
offsetZ: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
222
|
+
rangefinder: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
223
|
+
lineColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
224
|
+
textColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
225
|
+
textBackgroundColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
226
|
+
}>>;
|
|
195
227
|
}>>;
|
|
196
228
|
autoSnap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
197
229
|
enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
@@ -256,6 +288,7 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
|
|
|
256
288
|
}>>;
|
|
257
289
|
behavior: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
258
290
|
onInsert: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"default">, import("@sinclair/typebox").TLiteral<"last">]>>;
|
|
291
|
+
applicationStrategy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"selected">, import("@sinclair/typebox").TLiteral<"all">]>>;
|
|
259
292
|
}>>;
|
|
260
293
|
}>>;
|
|
261
294
|
subcomponents: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
@@ -285,16 +318,75 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
|
|
|
285
318
|
}>>;
|
|
286
319
|
behavior: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
287
320
|
onInsert: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"default">, import("@sinclair/typebox").TLiteral<"last">]>>;
|
|
321
|
+
applicationStrategy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"selected">, import("@sinclair/typebox").TLiteral<"all">]>>;
|
|
288
322
|
}>>;
|
|
289
323
|
}>>;
|
|
290
324
|
}>>;
|
|
291
325
|
sceneSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
326
|
+
studioId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
|
|
327
|
+
studios: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
|
|
328
|
+
scene: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
329
|
+
backgroundColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
330
|
+
envMap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
331
|
+
backgroundMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"color">, import("@sinclair/typebox").TLiteral<"environment">]>>;
|
|
332
|
+
backgroundBlurriness: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
333
|
+
backgroundIntensity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
334
|
+
environmentIntensity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
335
|
+
environmentRotationY: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
336
|
+
shadowMap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
337
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"Basic">, import("@sinclair/typebox").TLiteral<"PCF">, import("@sinclair/typebox").TLiteral<"VSM">]>>;
|
|
338
|
+
vsmQuality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"Performance">, import("@sinclair/typebox").TLiteral<"Balanced">, import("@sinclair/typebox").TLiteral<"Quality">]>>;
|
|
339
|
+
}>>;
|
|
340
|
+
toneMapping: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
341
|
+
mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"None">, import("@sinclair/typebox").TLiteral<"Linear">, import("@sinclair/typebox").TLiteral<"Reinhard">, import("@sinclair/typebox").TLiteral<"Cineon">, import("@sinclair/typebox").TLiteral<"ACESFilmic">, import("@sinclair/typebox").TLiteral<"AgX">, import("@sinclair/typebox").TLiteral<"Neutral">]>>;
|
|
342
|
+
exposure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
343
|
+
}>>;
|
|
344
|
+
}>>;
|
|
345
|
+
lights: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
346
|
+
preset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"directional">, import("@sinclair/typebox").TLiteral<"area">, import("@sinclair/typebox").TLiteral<"environment">]>>;
|
|
347
|
+
}>>;
|
|
348
|
+
floor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
349
|
+
activeFloor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
350
|
+
activeFloorShadow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
351
|
+
useFloorInAR: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
352
|
+
reflection: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
353
|
+
enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
354
|
+
opacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
355
|
+
fadeDistance: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
356
|
+
}>>;
|
|
357
|
+
floorSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
358
|
+
x: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
359
|
+
y: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
360
|
+
}>>;
|
|
361
|
+
floorSizeType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"infinity">, import("@sinclair/typebox").TLiteral<"likeObject">, import("@sinclair/typebox").TLiteral<"custom">]>>;
|
|
362
|
+
selectedMaterialGroup: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
|
|
363
|
+
selectedDefaultMaterial: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
|
|
364
|
+
}>>;
|
|
365
|
+
}>>>;
|
|
292
366
|
backgroundColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
293
367
|
envMap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
368
|
+
backgroundMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"color">, import("@sinclair/typebox").TLiteral<"environment">]>>;
|
|
369
|
+
backgroundBlurriness: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
370
|
+
backgroundIntensity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
371
|
+
environmentIntensity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
372
|
+
environmentRotationY: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
373
|
+
shadowMap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
374
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"Basic">, import("@sinclair/typebox").TLiteral<"PCF">, import("@sinclair/typebox").TLiteral<"VSM">]>>;
|
|
375
|
+
vsmQuality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"Performance">, import("@sinclair/typebox").TLiteral<"Balanced">, import("@sinclair/typebox").TLiteral<"Quality">]>>;
|
|
376
|
+
}>>;
|
|
377
|
+
toneMapping: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
378
|
+
mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"None">, import("@sinclair/typebox").TLiteral<"Linear">, import("@sinclair/typebox").TLiteral<"Reinhard">, import("@sinclair/typebox").TLiteral<"Cineon">, import("@sinclair/typebox").TLiteral<"ACESFilmic">, import("@sinclair/typebox").TLiteral<"AgX">, import("@sinclair/typebox").TLiteral<"Neutral">]>>;
|
|
379
|
+
exposure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
380
|
+
}>>;
|
|
294
381
|
floor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
295
382
|
activeFloor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
296
383
|
activeFloorShadow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
297
384
|
useFloorInAR: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
385
|
+
reflection: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
386
|
+
enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
387
|
+
opacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
388
|
+
fadeDistance: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
389
|
+
}>>;
|
|
298
390
|
floorSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
299
391
|
x: import("@sinclair/typebox").TNumber;
|
|
300
392
|
y: import("@sinclair/typebox").TNumber;
|
|
@@ -309,6 +401,11 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
|
|
|
309
401
|
secondaryColor: import("@sinclair/typebox").TString;
|
|
310
402
|
}>>;
|
|
311
403
|
defaultLayoutMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"configuration">, import("@sinclair/typebox").TLiteral<"materials">]>>;
|
|
404
|
+
layersButtons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
405
|
+
label: import("@sinclair/typebox").TString;
|
|
406
|
+
layers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TInteger>;
|
|
407
|
+
defaultState: import("@sinclair/typebox").TBoolean;
|
|
408
|
+
}>>>;
|
|
312
409
|
}>>;
|
|
313
410
|
}>>;
|
|
314
411
|
pricingSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
@@ -352,7 +352,7 @@ export type TUnit = {
|
|
|
352
352
|
unit: string;
|
|
353
353
|
label: string;
|
|
354
354
|
};
|
|
355
|
-
export type TParameterTypes = 'number-range' | 'number-predefined' | 'number-constant' | 'text-constant' | 'list-options' | 'list-buttons' | 'list-image-options' | 'list-image-buttons' | 'list-images' | 'button';
|
|
355
|
+
export type TParameterTypes = 'number-range' | 'number-predefined' | 'number-constant' | 'text-constant' | 'text-input' | 'boolean' | 'list-options' | 'list-buttons' | 'list-image-options' | 'list-image-buttons' | 'list-images' | 'button';
|
|
356
356
|
export type TParameterEvents = {
|
|
357
357
|
[K in keyof GlobalEventHandlersEventMap]?: (event: GlobalEventHandlersEventMap[K]) => void;
|
|
358
358
|
};
|
|
@@ -436,8 +436,13 @@ export type TParameterListImages = TParameterBase<'list-images', {
|
|
|
436
436
|
}>;
|
|
437
437
|
}>;
|
|
438
438
|
export type TParameterText = TParameterBase<'text-constant'>;
|
|
439
|
+
export type TParameterTextInput = TParameterBase<'text-input', {
|
|
440
|
+
maxLength: number;
|
|
441
|
+
placeholder: string;
|
|
442
|
+
}>;
|
|
443
|
+
export type TParameterBoolean = TParameterBase<'boolean'>;
|
|
439
444
|
export type TParameterButton = TParameterBase<'button'>;
|
|
440
|
-
export type TParameter = TParameterNumberRange | TParameterNumberPredefined | TParameterNumberConstant | TParameterListOptions | TParameterListButtons | TParameterListImageOptions | TParameterListImageButtons | TParameterListImages | TParameterText | TParameterButton;
|
|
445
|
+
export type TParameter = TParameterNumberRange | TParameterNumberPredefined | TParameterNumberConstant | TParameterListOptions | TParameterListButtons | TParameterListImageOptions | TParameterListImageButtons | TParameterListImages | TParameterText | TParameterTextInput | TParameterBoolean | TParameterButton;
|
|
441
446
|
export type TCategory = {
|
|
442
447
|
id: number;
|
|
443
448
|
name: string;
|