@variantic/player 0.0.21 → 0.0.23

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.
@@ -17,6 +17,7 @@ export type TRootObjectData = {
17
17
  fileId: string;
18
18
  transform: number[];
19
19
  showInProductsList?: boolean;
20
+ singleObjectSelected?: boolean;
20
21
  };
21
22
  export type TRootObjectConfiguration = {
22
23
  id: string;
@@ -31,7 +32,26 @@ export type TRootData = Partial<{
31
32
  documentation: TDocumentation;
32
33
  }>;
33
34
  export type TRenderDataObjectTag = `subcomponent:${string}`;
35
+ export type TAnimationRenderData = {
36
+ key: string;
37
+ clips: {
38
+ name: string;
39
+ duration: number;
40
+ channels: {
41
+ target: {
42
+ path: 'translation' | 'rotation';
43
+ };
44
+ sampler: {
45
+ start: 'current';
46
+ times: number[];
47
+ easings: string[];
48
+ values: TValue[][];
49
+ };
50
+ }[];
51
+ }[];
52
+ };
34
53
  export type TRenderDataObject = Partial<{
54
+ controlledVisibility: boolean;
35
55
  inAvailableSpace: boolean;
36
56
  count: number;
37
57
  positioning: number[];
@@ -44,8 +64,12 @@ export type TRenderDataObject = Partial<{
44
64
  isImport: boolean;
45
65
  interaction: TInteractionMode;
46
66
  movementPlane: number[];
47
- keyPoint: string[];
67
+ keyPoint: {
68
+ tags: string[];
69
+ snappedGridPlaneId?: string;
70
+ };
48
71
  gridPlane: {
72
+ mode: 'static' | 'sticky';
49
73
  priority: TValue;
50
74
  tags: string[];
51
75
  snaps: TSnap[];
@@ -55,6 +79,13 @@ export type TRenderDataObject = Partial<{
55
79
  collision: boolean;
56
80
  interact: boolean;
57
81
  occluder: boolean;
82
+ rangefinder: boolean;
83
+ };
84
+ rangefinder: {
85
+ tags: string[];
86
+ axis: Array<'x' | 'y' | 'z'>;
87
+ near: number;
88
+ far: number;
58
89
  };
59
90
  dynamicConfiguration: Record<string, number>;
60
91
  layers: number[];
@@ -80,6 +111,7 @@ export type TRenderDataObject = Partial<{
80
111
  shadow: [boolean, boolean];
81
112
  order: number;
82
113
  };
114
+ animation: TAnimationRenderData;
83
115
  tags: TRenderDataObjectTag[];
84
116
  }>;
85
117
  type TUniqueRenderDataObject = {
@@ -109,8 +141,10 @@ export type TTreeObjectOverrides = Partial<{
109
141
  }>;
110
142
  export type TSnapType = 'point' | 'grid';
111
143
  type TSnapTypeMaker<T extends TSnapType, U extends Record<string, unknown>> = {
144
+ id: string;
112
145
  type: T;
113
146
  data: U;
147
+ snappedKeyPointIds: string[];
114
148
  };
115
149
  type TSnapPoint = TSnapTypeMaker<'point', {
116
150
  x: TValue;
@@ -133,8 +167,8 @@ export type TSnap = TSnapPoint | TSnapGrid;
133
167
  * on row 0 and column 1
134
168
  */
135
169
  type TSnapIdentifierMaker<T extends TSnapType, U extends Record<string, unknown>> = {
170
+ id: string;
136
171
  type: T;
137
- snapId: number;
138
172
  data: U;
139
173
  };
140
174
  type TSnapPointIdentifier = TSnapIdentifierMaker<'point', {
@@ -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';
@@ -36,6 +36,16 @@ export type TBlockText = {
36
36
  type: 'text';
37
37
  value: string;
38
38
  };
39
+ export type TBlockTextInput = {
40
+ type: 'text-input';
41
+ value: string;
42
+ maxLength: number;
43
+ placeholder: string;
44
+ };
45
+ export type TBlockBoolean = {
46
+ type: 'boolean';
47
+ value: boolean;
48
+ };
39
49
  export type TBlockList = {
40
50
  type: 'list';
41
51
  style: TBlockListDropdownStyle | TBlockListButtonsStyle | TBlockListDropdownImageStyle | TBlockListButtonsImageStyle;
@@ -65,9 +75,9 @@ export type TBlockListButtonsImageStyle = {
65
75
  export type TEvents = {
66
76
  hover?: Array<{
67
77
  type: 'layer';
68
- targetIds: unknown[];
78
+ layers: number[];
69
79
  } | {
70
80
  type: 'dimension';
71
- targetIds: unknown[];
81
+ ids: string[];
72
82
  }>;
73
83
  } | undefined;
@@ -13,5 +13,13 @@ export declare const objectConfigurationSchema: import("@sinclair/typebox").TObj
13
13
  interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
14
14
  draggable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
15
15
  movementPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
16
+ gridPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
17
+ snaps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
18
+ snappedObjects: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
19
+ }>>;
20
+ }>>;
21
+ keyPoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
22
+ snappedObject: import("@sinclair/typebox").TString;
23
+ }>>;
16
24
  }>;
17
25
  export type TObjectConfiguration = Static<typeof objectConfigurationSchema>;
@@ -1,9 +1,141 @@
1
1
  import { type Static } from '@sinclair/typebox';
2
+ declare const presetSchema: import("@sinclair/typebox").TObject<{
3
+ id: import("@sinclair/typebox").TString;
4
+ name: import("@sinclair/typebox").TString;
5
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ configuration: import("@sinclair/typebox").TAny;
7
+ ignore: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
8
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
9
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
10
+ }>;
11
+ declare const assemblyPresetRootSchema: import("@sinclair/typebox").TObject<{
12
+ id: import("@sinclair/typebox").TString;
13
+ fileId: import("@sinclair/typebox").TString;
14
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
15
+ transform: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>;
16
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
17
+ configuration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
18
+ transform: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
19
+ publication: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
20
+ blocks: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>;
21
+ }>>;
22
+ materials: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
23
+ selected: import("@sinclair/typebox").TString;
24
+ }>>>;
25
+ subcomponent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
26
+ selected: import("@sinclair/typebox").TString;
27
+ }>>>;
28
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
29
+ draggable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
30
+ movementPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
31
+ gridPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
32
+ snaps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
33
+ snappedObjects: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
34
+ }>>;
35
+ }>>;
36
+ keyPoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
37
+ snappedObject: import("@sinclair/typebox").TString;
38
+ }>>;
39
+ }>>>;
40
+ structureConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
41
+ cameraAutoFitOn: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
42
+ showInProductsList: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
43
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
44
+ }>>;
45
+ }>;
46
+ declare const assemblyPresetConfigurationSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNull, import("@sinclair/typebox").TObject<{
47
+ roots: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
48
+ id: import("@sinclair/typebox").TString;
49
+ fileId: import("@sinclair/typebox").TString;
50
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
51
+ transform: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>;
52
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
53
+ configuration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
54
+ transform: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
55
+ publication: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
56
+ blocks: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>;
57
+ }>>;
58
+ materials: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
59
+ selected: import("@sinclair/typebox").TString;
60
+ }>>>;
61
+ subcomponent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
62
+ selected: import("@sinclair/typebox").TString;
63
+ }>>>;
64
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
65
+ draggable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
66
+ movementPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
67
+ gridPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
68
+ snaps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
69
+ snappedObjects: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
70
+ }>>;
71
+ }>>;
72
+ keyPoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
73
+ snappedObject: import("@sinclair/typebox").TString;
74
+ }>>;
75
+ }>>>;
76
+ structureConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
77
+ cameraAutoFitOn: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
78
+ showInProductsList: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
79
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
80
+ }>>;
81
+ }>>;
82
+ singleObjectRootId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
83
+ }>]>;
84
+ declare const assemblyPresetSchema: import("@sinclair/typebox").TObject<{
85
+ id: import("@sinclair/typebox").TString;
86
+ name: import("@sinclair/typebox").TString;
87
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
88
+ configuration: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNull, import("@sinclair/typebox").TObject<{
89
+ roots: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
90
+ id: import("@sinclair/typebox").TString;
91
+ fileId: import("@sinclair/typebox").TString;
92
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
93
+ transform: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>;
94
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
95
+ configuration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
96
+ transform: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
97
+ publication: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
98
+ blocks: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>;
99
+ }>>;
100
+ materials: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
101
+ selected: import("@sinclair/typebox").TString;
102
+ }>>>;
103
+ subcomponent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
104
+ selected: import("@sinclair/typebox").TString;
105
+ }>>>;
106
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
107
+ draggable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
108
+ movementPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
109
+ gridPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
110
+ snaps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
111
+ snappedObjects: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
112
+ }>>;
113
+ }>>;
114
+ keyPoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
115
+ snappedObject: import("@sinclair/typebox").TString;
116
+ }>>;
117
+ }>>>;
118
+ structureConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
119
+ cameraAutoFitOn: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
120
+ showInProductsList: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
121
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
122
+ }>>;
123
+ }>>;
124
+ singleObjectRootId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
125
+ }>]>;
126
+ ignore: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
127
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
128
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
129
+ }>;
2
130
  export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
3
131
  id: import("@sinclair/typebox").TString;
4
132
  set: import("@sinclair/typebox").TObject<{
5
133
  configuration: import("@sinclair/typebox").TObject<{
6
134
  settings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
135
+ general: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
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]>>;
138
+ }>>;
7
139
  assetsPalette: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
8
140
  nodes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
9
141
  id: import("@sinclair/typebox").TNumber;
@@ -26,6 +158,9 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
26
158
  name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
27
159
  visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
28
160
  }>>;
161
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
162
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
163
+ }>>;
29
164
  }>>;
30
165
  defaultNodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
31
166
  patternType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"hierarchical">, import("@sinclair/typebox").TLiteral<"breadcrumbs">]>>;
@@ -58,6 +193,11 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
58
193
  offsetX: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
59
194
  offsetY: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
60
195
  offsetZ: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
196
+ rangefinder: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
197
+ lineColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
198
+ textColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
199
+ textBackgroundColor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
200
+ }>>;
61
201
  }>>;
62
202
  autoSnap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
63
203
  enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -108,6 +248,9 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
108
248
  name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
109
249
  visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
110
250
  }>>;
251
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
252
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
253
+ }>>;
111
254
  }>>;
112
255
  materialsSortingSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
113
256
  field: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"name">, import("@sinclair/typebox").TLiteral<"property">]>;
@@ -134,6 +277,9 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
134
277
  name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
135
278
  visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
136
279
  }>>;
280
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
281
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
282
+ }>>;
137
283
  }>>;
138
284
  subcomponentsSortingSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
139
285
  field: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"name">, import("@sinclair/typebox").TLiteral<"property">]>;
@@ -169,6 +315,11 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
169
315
  secondaryColor: import("@sinclair/typebox").TString;
170
316
  }>>;
171
317
  defaultLayoutMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"configuration">, import("@sinclair/typebox").TLiteral<"materials">]>>;
318
+ layersButtons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
319
+ label: import("@sinclair/typebox").TString;
320
+ layers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TInteger>;
321
+ defaultState: import("@sinclair/typebox").TBoolean;
322
+ }>>>;
172
323
  }>>;
173
324
  }>>;
174
325
  pricingSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
@@ -193,28 +344,96 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
193
344
  }>>;
194
345
  presetsSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
195
346
  presets: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
347
+ enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
196
348
  items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
197
349
  id: import("@sinclair/typebox").TString;
198
350
  name: import("@sinclair/typebox").TString;
199
351
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
200
352
  configuration: import("@sinclair/typebox").TAny;
201
353
  ignore: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
354
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
355
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
202
356
  }>>>;
203
357
  selectedId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
358
+ styleSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
359
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
360
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"sm">, import("@sinclair/typebox").TLiteral<"md">, import("@sinclair/typebox").TLiteral<"lg">]>;
361
+ orientation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"square">, import("@sinclair/typebox").TLiteral<"portrait">, import("@sinclair/typebox").TLiteral<"landscape">]>;
362
+ }>>;
363
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
364
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
365
+ }>>;
366
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
367
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
368
+ }>>;
369
+ }>>;
204
370
  }>>;
205
371
  assemblyPresets: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
372
+ enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
206
373
  items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
207
374
  id: import("@sinclair/typebox").TString;
208
375
  name: import("@sinclair/typebox").TString;
209
376
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
210
- configuration: import("@sinclair/typebox").TAny;
377
+ configuration: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNull, import("@sinclair/typebox").TObject<{
378
+ roots: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
379
+ id: import("@sinclair/typebox").TString;
380
+ fileId: import("@sinclair/typebox").TString;
381
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
382
+ transform: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>;
383
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
384
+ configuration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
385
+ transform: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
386
+ publication: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
387
+ blocks: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>;
388
+ }>>;
389
+ materials: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
390
+ selected: import("@sinclair/typebox").TString;
391
+ }>>>;
392
+ subcomponent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
393
+ selected: import("@sinclair/typebox").TString;
394
+ }>>>;
395
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
396
+ draggable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
397
+ movementPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
398
+ gridPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
399
+ snaps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
400
+ snappedObjects: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
401
+ }>>;
402
+ }>>;
403
+ keyPoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
404
+ snappedObject: import("@sinclair/typebox").TString;
405
+ }>>;
406
+ }>>>;
407
+ structureConfiguration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
408
+ cameraAutoFitOn: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
409
+ showInProductsList: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
410
+ interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
411
+ }>>;
412
+ }>>;
413
+ singleObjectRootId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
414
+ }>]>;
211
415
  ignore: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
416
+ icon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
417
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
212
418
  }>>>;
213
419
  selectedId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
420
+ styleSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
421
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
422
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"sm">, import("@sinclair/typebox").TLiteral<"md">, import("@sinclair/typebox").TLiteral<"lg">]>;
423
+ orientation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"square">, import("@sinclair/typebox").TLiteral<"portrait">, import("@sinclair/typebox").TLiteral<"landscape">]>;
424
+ }>>;
425
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
426
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
427
+ }>>;
428
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
429
+ visible: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
430
+ }>>;
431
+ }>>;
214
432
  }>>;
215
433
  }>>;
216
434
  cameraSettings: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
217
435
  cameraType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"perspective">, import("@sinclair/typebox").TLiteral<"orthographic">]>>;
436
+ enabledLayers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TInteger>>;
218
437
  enablePan: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
219
438
  enableRotate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
220
439
  blockRotationAxes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
@@ -281,6 +500,14 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
281
500
  interaction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"none">, import("@sinclair/typebox").TLiteral<"select-only">, import("@sinclair/typebox").TLiteral<"select-and-drag">]>>;
282
501
  draggable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
283
502
  movementPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
503
+ gridPlane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
504
+ snaps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
505
+ snappedObjects: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
506
+ }>>;
507
+ }>>;
508
+ keyPoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
509
+ snappedObject: import("@sinclair/typebox").TString;
510
+ }>>;
284
511
  }>>>;
285
512
  }>, import("@sinclair/typebox").TObject<{
286
513
  type: import("@sinclair/typebox").TLiteral<"scene">;
@@ -292,3 +519,8 @@ export declare const vasFileSchema: import("@sinclair/typebox").TObject<{
292
519
  }>;
293
520
  }>;
294
521
  export type TVasFile = Static<typeof vasFileSchema>;
522
+ export type TPreset = Static<typeof presetSchema>;
523
+ export type TAssemblyPreset = Static<typeof assemblyPresetSchema>;
524
+ export type TAssemblyPresetRoot = Static<typeof assemblyPresetRootSchema>;
525
+ export type TAssemblyPresetConfiguration = Static<typeof assemblyPresetConfigurationSchema>;
526
+ export {};
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@variantic/player",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"