@dcl/sdk 7.0.0-2933918430.commit-d511778 → 7.0.0-2947735169.commit-65163b3

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,10 +17,10 @@ declare const enum ActionButton {
17
17
  }
18
18
 
19
19
  /** @public */
20
- export declare const Animator: ComponentDefinition<ISchema<PBAnimator>>;
20
+ export declare const Animator: ComponentDefinition<ISchema<PBAnimator>, PBAnimator>;
21
21
 
22
22
  /** @public */
23
- export declare const AudioSource: ComponentDefinition<ISchema<PBAudioSource>>;
23
+ export declare const AudioSource: ComponentDefinition<ISchema<PBAudioSource>, PBAudioSource>;
24
24
 
25
25
  declare const enum AvatarAnchorPoint {
26
26
  POSITION = 0,
@@ -31,7 +31,7 @@ declare const enum AvatarAnchorPoint {
31
31
  }
32
32
 
33
33
  /** @public */
34
- export declare const AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>>;
34
+ export declare const AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>, PBAvatarAttach>;
35
35
 
36
36
  declare const enum AvatarModifier {
37
37
  HIDE_AVATARS = 0,
@@ -40,16 +40,16 @@ declare const enum AvatarModifier {
40
40
  }
41
41
 
42
42
  /** @public */
43
- export declare const AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>>;
43
+ export declare const AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>, PBAvatarModifierArea>;
44
44
 
45
45
  /** @public */
46
- export declare const AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>>;
46
+ export declare const AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>, PBAvatarShape>;
47
47
 
48
48
  /** @public */
49
- export declare const Billboard: ComponentDefinition<ISchema<PBBillboard>>;
49
+ export declare const Billboard: ComponentDefinition<ISchema<PBBillboard>, PBBillboard>;
50
50
 
51
51
  /** @public */
52
- export declare const BoxShape: ComponentDefinition<ISchema<PBBoxShape>>;
52
+ export declare const BoxShape: ComponentDefinition<ISchema<PBBoxShape>, PBBoxShape>;
53
53
 
54
54
  /**
55
55
  * @public
@@ -57,10 +57,10 @@ export declare const BoxShape: ComponentDefinition<ISchema<PBBoxShape>>;
57
57
  export declare type ByteBuffer = ReturnType<typeof createByteBuffer>;
58
58
 
59
59
  /** @public */
60
- export declare const CameraMode: ComponentDefinition<ISchema<PBCameraMode>>;
60
+ export declare const CameraMode: ComponentDefinition<ISchema<PBCameraMode>, PBCameraMode>;
61
61
 
62
62
  /** @public */
63
- export declare const CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>>;
63
+ export declare const CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>, PBCameraModeArea>;
64
64
 
65
65
  declare const enum CameraModeValue {
66
66
  FIRST_PERSON = 0,
@@ -77,7 +77,7 @@ declare interface Color3 {
77
77
  /**
78
78
  * @public
79
79
  */
80
- export declare type ComponentDefinition<T extends ISchema = ISchema<any>> = {
80
+ export declare type ComponentDefinition<T extends ISchema = ISchema<any>, ConstructorType = ComponentType<T>> = {
81
81
  _id: number;
82
82
  /**
83
83
  * Return the default value of the current component
@@ -141,7 +141,7 @@ export declare type ComponentDefinition<T extends ISchema = ISchema<any>> = {
141
141
  * Transform.create(myEntity) // throw an error, the `Transform` component already exists in `myEntity`
142
142
  * ````
143
143
  */
144
- create(entity: Entity, val?: ComponentType<T>): ComponentType<T>;
144
+ create(entity: Entity, val?: ConstructorType): ComponentType<T>;
145
145
  /**
146
146
  * Add the current component to an entity or replace the content if the entity already has the component
147
147
  * - Internal comment: This method adds the <entity,component> to the list to be reviewed next frame
@@ -203,72 +203,53 @@ export declare type ComponentDefinition<T extends ISchema = ISchema<any>> = {
203
203
  /** @public */
204
204
  export declare namespace Components {
205
205
  /** @public */
206
- const Transform: ComponentDefinition<ISchema< {
207
- position: {
208
- x: number;
209
- y: number;
210
- z: number;
211
- };
212
- rotation: {
213
- x: number;
214
- y: number;
215
- z: number;
216
- w: number;
217
- };
218
- scale: {
219
- x: number;
220
- y: number;
206
+ const Transform: ComponentDefinition<ISchema<TransformType>, Partial<TransformType>>;
221
207
  /** @public */
222
- z: number;
223
- };
224
- parent?: Entity | undefined;
225
- }>>;
208
+ const Animator: ComponentDefinition<ISchema<PBAnimator>, PBAnimator>;
226
209
  /** @public */
227
- const Animator: ComponentDefinition<ISchema<PBAnimator>>;
210
+ const AudioSource: ComponentDefinition<ISchema<PBAudioSource>, PBAudioSource>;
228
211
  /** @public */
229
- const AudioSource: ComponentDefinition<ISchema<PBAudioSource>>;
212
+ const AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>, PBAvatarAttach>;
230
213
  /** @public */
231
- const AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>>;
214
+ const AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>, PBAvatarModifierArea>;
232
215
  /** @public */
233
- const AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>>;
216
+ const AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>, PBAvatarShape>;
234
217
  /** @public */
235
- const AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>>;
218
+ const Billboard: ComponentDefinition<ISchema<PBBillboard>, PBBillboard>;
236
219
  /** @public */
237
- const Billboard: ComponentDefinition<ISchema<PBBillboard>>;
220
+ const BoxShape: ComponentDefinition<ISchema<PBBoxShape>, PBBoxShape>;
238
221
  /** @public */
239
- const BoxShape: ComponentDefinition<ISchema<PBBoxShape>>;
222
+ const CameraMode: ComponentDefinition<ISchema<PBCameraMode>, PBCameraMode>;
240
223
  /** @public */
241
- const CameraMode: ComponentDefinition<ISchema<PBCameraMode>>;
224
+ const CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>, PBCameraModeArea>;
242
225
  /** @public */
243
- const CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>>;
226
+ const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>, PBCylinderShape>;
244
227
  /** @public */
245
- const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>>;
228
+ const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>, PBGLTFShape>;
246
229
  /** @public */
247
- const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>>;
230
+ const Material: ComponentDefinition<ISchema<PBMaterial>, PBMaterial>;
248
231
  /** @public */
249
- const Material: ComponentDefinition<ISchema<PBMaterial>>;
232
+ const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>, Partial<PBMeshRenderer>>;
250
233
  /** @public */
251
- const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>>;
234
+ const NFTShape: ComponentDefinition<ISchema<PBNFTShape>, PBNFTShape>;
252
235
  /** @public */
253
- const NFTShape: ComponentDefinition<ISchema<PBNFTShape>>;
236
+ const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>, PBOnPointerDown>;
254
237
  /** @public */
255
- const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>>;
238
+ const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>, PBOnPointerDownResult>;
256
239
  /** @public */
257
- const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>>;
240
+ const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>, PBOnPointerUp>;
258
241
  /** @public */
259
- const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>>;
242
+ const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>, PBOnPointerUpResult>;
260
243
  /** @public */
261
- const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>>;
244
+ const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>, PBPlaneShape>;
262
245
  /** @public */
263
- const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>>;
246
+ const PointerLock: ComponentDefinition<ISchema<PBPointerLock>, PBPointerLock>;
264
247
  /** @public */
265
- const PointerLock: ComponentDefinition<ISchema<PBPointerLock>>;
248
+ const SphereShape: ComponentDefinition<ISchema<PBSphereShape>, PBSphereShape>;
266
249
  /** @public */
267
- const SphereShape: ComponentDefinition<ISchema<PBSphereShape>>;
250
+ const TextShape: ComponentDefinition<ISchema<PBTextShape>, PBTextShape>;
268
251
  /** @public */
269
- const TextShape: ComponentDefinition<ISchema<PBTextShape>>;
270
- /** @public */
271
- const UiText: ComponentDefinition<ISchema<PBUiText>>;
252
+ const UiText: ComponentDefinition<ISchema<PBUiText>, PBUiText>;
272
253
  }
273
254
 
274
255
  /**
@@ -422,7 +403,7 @@ declare interface CreateByteBufferOptions {
422
403
  }
423
404
 
424
405
  /** @public */
425
- export declare const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>>;
406
+ export declare const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>, PBCylinderShape>;
426
407
 
427
408
  /**
428
409
  * Make each field readonly deeply
@@ -432,49 +413,31 @@ export declare type DeepReadonly<T> = {
432
413
  readonly [P in keyof T]: DeepReadonly<T[P]>;
433
414
  };
434
415
 
435
- declare function defineLibraryComponents({ defineComponentFromSchema }: Pick<IEngine, 'defineComponentFromSchema'>): {
436
- Transform: ComponentDefinition<ISchema< {
437
- position: {
438
- x: number;
439
- y: number;
440
- z: number;
441
- };
442
- rotation: {
443
- x: number;
444
- y: number;
445
- z: number;
446
- w: number;
447
- };
448
- scale: {
449
- x: number;
450
- y: number;
451
- z: number;
452
- };
453
- parent?: Entity | undefined;
454
- }>>;
455
- Animator: ComponentDefinition<ISchema<PBAnimator>>;
456
- AudioSource: ComponentDefinition<ISchema<PBAudioSource>>;
457
- AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>>;
458
- AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>>;
459
- AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>>;
460
- Billboard: ComponentDefinition<ISchema<PBBillboard>>;
461
- BoxShape: ComponentDefinition<ISchema<PBBoxShape>>;
462
- CameraMode: ComponentDefinition<ISchema<PBCameraMode>>;
463
- CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>>;
464
- CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>>;
465
- GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>>;
466
- Material: ComponentDefinition<ISchema<PBMaterial>>;
467
- MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>>;
468
- NFTShape: ComponentDefinition<ISchema<PBNFTShape>>;
469
- OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>>;
470
- OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>>;
471
- OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>>;
472
- OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>>;
473
- PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>>;
474
- PointerLock: ComponentDefinition<ISchema<PBPointerLock>>;
475
- SphereShape: ComponentDefinition<ISchema<PBSphereShape>>;
476
- TextShape: ComponentDefinition<ISchema<PBTextShape>>;
477
- UiText: ComponentDefinition<ISchema<PBUiText>>;
416
+ declare function defineSdkComponents(engine: PreEngine): {
417
+ Transform: ComponentDefinition<ISchema<TransformType>, Partial<TransformType>>;
418
+ MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>, Partial<PBMeshRenderer>>;
419
+ Animator: ComponentDefinition<ISchema<PBAnimator>, PBAnimator>;
420
+ AudioSource: ComponentDefinition<ISchema<PBAudioSource>, PBAudioSource>;
421
+ AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>, PBAvatarAttach>;
422
+ AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>, PBAvatarModifierArea>;
423
+ AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>, PBAvatarShape>;
424
+ Billboard: ComponentDefinition<ISchema<PBBillboard>, PBBillboard>;
425
+ BoxShape: ComponentDefinition<ISchema<PBBoxShape>, PBBoxShape>;
426
+ CameraMode: ComponentDefinition<ISchema<PBCameraMode>, PBCameraMode>;
427
+ CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>, PBCameraModeArea>;
428
+ CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>, PBCylinderShape>;
429
+ GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>, PBGLTFShape>;
430
+ Material: ComponentDefinition<ISchema<PBMaterial>, PBMaterial>;
431
+ NFTShape: ComponentDefinition<ISchema<PBNFTShape>, PBNFTShape>;
432
+ OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>, PBOnPointerDown>;
433
+ OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>, PBOnPointerDownResult>;
434
+ OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>, PBOnPointerUp>;
435
+ OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>, PBOnPointerUpResult>;
436
+ PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>, PBPlaneShape>;
437
+ PointerLock: ComponentDefinition<ISchema<PBPointerLock>, PBPointerLock>;
438
+ SphereShape: ComponentDefinition<ISchema<PBSphereShape>, PBSphereShape>;
439
+ TextShape: ComponentDefinition<ISchema<PBTextShape>, PBTextShape>;
440
+ UiText: ComponentDefinition<ISchema<PBUiText>, PBUiText>;
478
441
  };
479
442
 
480
443
  /**
@@ -538,7 +501,7 @@ export declare type float = number;
538
501
  export declare type FloatArray = number[];
539
502
 
540
503
  /** @public */
541
- export declare const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>>;
504
+ export declare const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>, PBGLTFShape>;
542
505
 
543
506
  /**
544
507
  * @public
@@ -592,6 +555,7 @@ export declare type IEngine = {
592
555
  * Define a component and add it to the engine.
593
556
  * @param spec An object with schema fields
594
557
  * @param componentId unique id to identify the component, if the component id already exist, it will fail.
558
+ * @param constructorDefault the initial value prefilled when a component is created without a value
595
559
  * @return The component definition
596
560
  *
597
561
  * ```ts
@@ -603,7 +567,7 @@ export declare type IEngine = {
603
567
  *
604
568
  * ```
605
569
  */
606
- defineComponent<T extends Spec>(spec: Spec, componentId: number): ComponentDefinition<ISchema<Result<T>>>;
570
+ defineComponent<T extends Spec, ConstructorType = Partial<Result<T>>>(spec: Spec, componentId: number, constructorDefault?: Partial<Result<T>>): ComponentDefinition<ISchema<Result<T>>, ConstructorType>;
607
571
  /**
608
572
  * Define a component and add it to the engine.
609
573
  * @param spec An object with schema fields
@@ -615,7 +579,7 @@ export declare type IEngine = {
615
579
  * const StateComponent = engine.defineComponent(Schemas.Bool, VisibleComponentId)
616
580
  * ```
617
581
  */
618
- defineComponentFromSchema<T extends ISchema>(spec: T, componentId: number): ComponentDefinition<T>;
582
+ defineComponentFromSchema<T extends ISchema<Record<string, any>>, ConstructorType = ComponentType<T>>(spec: T, componentId: number, constructorDefault?: ConstructorType): ComponentDefinition<T, ConstructorType>;
619
583
  /**
620
584
  * Get the component definition from the component id.
621
585
  * @param componentId
@@ -696,7 +660,7 @@ export declare interface ISize {
696
660
  export declare const log: (...a: any[]) => void;
697
661
 
698
662
  /** @public */
699
- export declare const Material: ComponentDefinition<ISchema<PBMaterial>>;
663
+ export declare const Material: ComponentDefinition<ISchema<PBMaterial>, PBMaterial>;
700
664
 
701
665
  /**
702
666
  * Class used to store matrix data (4x4)
@@ -1418,10 +1382,10 @@ declare namespace Matrix {
1418
1382
  }
1419
1383
 
1420
1384
  /** @public */
1421
- export declare const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>>;
1385
+ export declare const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>, Partial<PBMeshRenderer>>;
1422
1386
 
1423
1387
  /** @public */
1424
- export declare const NFTShape: ComponentDefinition<ISchema<PBNFTShape>>;
1388
+ export declare const NFTShape: ComponentDefinition<ISchema<PBNFTShape>, PBNFTShape>;
1425
1389
 
1426
1390
  /** @public */
1427
1391
  export declare type Nullable<T> = T | null;
@@ -1435,16 +1399,16 @@ declare type OnlyOptionalUndefinedTypes<T> = {
1435
1399
  };
1436
1400
 
1437
1401
  /** @public */
1438
- export declare const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>>;
1402
+ export declare const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>, PBOnPointerDown>;
1439
1403
 
1440
1404
  /** @public */
1441
- export declare const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>>;
1405
+ export declare const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>, PBOnPointerDownResult>;
1442
1406
 
1443
1407
  /** @public */
1444
- export declare const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>>;
1408
+ export declare const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>, PBOnPointerUp>;
1445
1409
 
1446
1410
  /** @public */
1447
- export declare const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>>;
1411
+ export declare const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>, PBOnPointerUpResult>;
1448
1412
 
1449
1413
  /**
1450
1414
  * Defines potential orientation for back face culling
@@ -1863,10 +1827,35 @@ declare namespace Plane {
1863
1827
  }
1864
1828
 
1865
1829
  /** @public */
1866
- export declare const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>>;
1830
+ export declare const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>, PBPlaneShape>;
1867
1831
 
1868
1832
  /** @public */
1869
- export declare const PointerLock: ComponentDefinition<ISchema<PBPointerLock>>;
1833
+ export declare const PointerLock: ComponentDefinition<ISchema<PBPointerLock>, PBPointerLock>;
1834
+
1835
+ /**
1836
+ * @public
1837
+ */
1838
+ export declare type PreEngine = ReturnType<typeof preEngine>;
1839
+
1840
+ declare function preEngine(): {
1841
+ entitiesComponent: Map<number, Set<number>>;
1842
+ componentsDefinition: Map<number, ComponentDefinition<any, any>>;
1843
+ addEntity: (dynamic?: boolean) => Entity;
1844
+ addDynamicEntity: () => Entity;
1845
+ removeEntity: (entity: Entity) => boolean;
1846
+ addSystem: (fn: Update, priority?: number, name?: string | undefined) => void;
1847
+ getSystems: () => {
1848
+ fn: Update;
1849
+ priority: number;
1850
+ name?: string | undefined;
1851
+ }[];
1852
+ removeSystem: (selector: string | Update) => boolean;
1853
+ defineComponent: <T extends Spec, ConstructorType = Partial<Result<T>>>(spec: T, componentId: number, constructorDefault?: ConstructorType | undefined) => ComponentDefinition<ISchema<Result<T>>, ConstructorType>;
1854
+ defineComponentFromSchema: <T_1 extends ISchema<any>, ConstructorType_1 = EcsResult<T_1>>(spec: T_1, componentId: number, constructorDefault?: ConstructorType_1 | undefined) => ComponentDefinition<T_1, ConstructorType_1>;
1855
+ getEntitiesWith: <T_2 extends [ComponentDefinition<ISchema<any>, any>, ...ComponentDefinition<ISchema<any>, any>[]]>(...components: T_2) => Iterable<[Entity, ...DeepReadonly<ComponentSchema<T_2>>]>;
1856
+ getComponent: <T_3 extends ISchema<any>>(componentId: number) => ComponentDefinition<T_3, EcsResult<T_3>>;
1857
+ removeComponentDefinition: (componentId: number) => void;
1858
+ };
1870
1859
 
1871
1860
  /**
1872
1861
  * @public
@@ -2078,7 +2067,7 @@ export declare namespace Schemas {
2078
2067
  /**
2079
2068
  * @public
2080
2069
  */
2081
- export declare type SdkComponents = ReturnType<typeof defineLibraryComponents>;
2070
+ export declare type SdkComponents = ReturnType<typeof defineSdkComponents>;
2082
2071
 
2083
2072
  /**
2084
2073
  * Defines supported spaces
@@ -2101,10 +2090,10 @@ export declare interface Spec {
2101
2090
  }
2102
2091
 
2103
2092
  /** @public */
2104
- export declare const SphereShape: ComponentDefinition<ISchema<PBSphereShape>>;
2093
+ export declare const SphereShape: ComponentDefinition<ISchema<PBSphereShape>, PBSphereShape>;
2105
2094
 
2106
2095
  /** @public */
2107
- export declare const TextShape: ComponentDefinition<ISchema<PBTextShape>>;
2096
+ export declare const TextShape: ComponentDefinition<ISchema<PBTextShape>, PBTextShape>;
2108
2097
 
2109
2098
  declare const enum TextureWrapMode {
2110
2099
  Repeat = 0,
@@ -2129,25 +2118,30 @@ export declare const ToLinearSpace = 2.2;
2129
2118
  declare type ToOptional<T> = OnlyOptionalUndefinedTypes<T> & OnlyNonUndefinedTypes<T>;
2130
2119
 
2131
2120
  /** @public */
2132
- export declare const Transform: ComponentDefinition<ISchema< {
2133
- position: {
2134
- x: number;
2135
- y: number;
2136
- z: number;
2137
- };
2138
- rotation: {
2139
- x: number;
2140
- y: number;
2141
- z: number;
2142
- w: number;
2143
- };
2144
- scale: {
2145
- x: number;
2146
- y: number;
2147
- z: number;
2121
+ export declare const Transform: ComponentDefinition<ISchema<TransformType>, Partial<TransformType>>;
2122
+
2123
+ /**
2124
+ * @public
2125
+ */
2126
+ declare type TransformType = {
2127
+ position: {
2128
+ x: number;
2129
+ y: number;
2130
+ z: number;
2131
+ };
2132
+ rotation: {
2133
+ x: number;
2134
+ y: number;
2135
+ z: number;
2136
+ w: number;
2137
+ };
2138
+ scale: {
2139
+ x: number;
2140
+ y: number;
2141
+ z: number;
2142
+ };
2143
+ parent?: Entity;
2148
2144
  };
2149
- parent?: Entity | undefined;
2150
- }>>;
2151
2145
 
2152
2146
  declare const enum TransparencyMode {
2153
2147
  Opaque = 0,
@@ -2170,7 +2164,7 @@ export declare type TransportMessage = Omit<ReceiveMessage, 'data'>;
2170
2164
  declare type Uint32 = number;
2171
2165
 
2172
2166
  /** @public */
2173
- export declare const UiText: ComponentDefinition<ISchema<PBUiText>>;
2167
+ export declare const UiText: ComponentDefinition<ISchema<PBUiText>, PBUiText>;
2174
2168
 
2175
2169
  /**
2176
2170
  * @public