@dcl/sdk 7.0.0-2933918430.commit-d511778 → 7.0.0-2957285950.commit-2a77ef6

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,55 @@ 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>>;
252
+ const UiText: ComponentDefinition<ISchema<PBUiText>, PBUiText>;
270
253
  /** @public */
271
- const UiText: ComponentDefinition<ISchema<PBUiText>>;
254
+ const VisibilityComponent: ComponentDefinition<ISchema<PBVisibilityComponent>, PBVisibilityComponent>;
272
255
  }
273
256
 
274
257
  /**
@@ -422,7 +405,7 @@ declare interface CreateByteBufferOptions {
422
405
  }
423
406
 
424
407
  /** @public */
425
- export declare const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>>;
408
+ export declare const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>, PBCylinderShape>;
426
409
 
427
410
  /**
428
411
  * Make each field readonly deeply
@@ -432,49 +415,32 @@ export declare type DeepReadonly<T> = {
432
415
  readonly [P in keyof T]: DeepReadonly<T[P]>;
433
416
  };
434
417
 
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>>;
418
+ declare function defineSdkComponents(engine: PreEngine): {
419
+ Transform: ComponentDefinition<ISchema<TransformType>, Partial<TransformType>>;
420
+ MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>, Partial<PBMeshRenderer>>;
421
+ Animator: ComponentDefinition<ISchema<PBAnimator>, PBAnimator>;
422
+ AudioSource: ComponentDefinition<ISchema<PBAudioSource>, PBAudioSource>;
423
+ AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>, PBAvatarAttach>;
424
+ AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>, PBAvatarModifierArea>;
425
+ AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>, PBAvatarShape>;
426
+ Billboard: ComponentDefinition<ISchema<PBBillboard>, PBBillboard>;
427
+ BoxShape: ComponentDefinition<ISchema<PBBoxShape>, PBBoxShape>;
428
+ CameraMode: ComponentDefinition<ISchema<PBCameraMode>, PBCameraMode>;
429
+ CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>, PBCameraModeArea>;
430
+ CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>, PBCylinderShape>;
431
+ GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>, PBGLTFShape>;
432
+ Material: ComponentDefinition<ISchema<PBMaterial>, PBMaterial>;
433
+ NFTShape: ComponentDefinition<ISchema<PBNFTShape>, PBNFTShape>;
434
+ OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>, PBOnPointerDown>;
435
+ OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>, PBOnPointerDownResult>;
436
+ OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>, PBOnPointerUp>;
437
+ OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>, PBOnPointerUpResult>;
438
+ PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>, PBPlaneShape>;
439
+ PointerLock: ComponentDefinition<ISchema<PBPointerLock>, PBPointerLock>;
440
+ SphereShape: ComponentDefinition<ISchema<PBSphereShape>, PBSphereShape>;
441
+ TextShape: ComponentDefinition<ISchema<PBTextShape>, PBTextShape>;
442
+ UiText: ComponentDefinition<ISchema<PBUiText>, PBUiText>;
443
+ VisibilityComponent: ComponentDefinition<ISchema<PBVisibilityComponent>, PBVisibilityComponent>;
478
444
  };
479
445
 
480
446
  /**
@@ -496,10 +462,6 @@ declare type EcsResult<T extends ISchema> = T extends ISchema ? ReturnType<T['de
496
462
  */
497
463
  export declare function Engine({ transports }?: IEngineParams): IEngine;
498
464
 
499
- /**
500
- * @alpha * This file initialization is an alpha one. This is based on the old-ecs
501
- * init and it'll be changing.
502
- */
503
465
  export declare const engine: IEngine;
504
466
 
505
467
  /**
@@ -538,7 +500,7 @@ export declare type float = number;
538
500
  export declare type FloatArray = number[];
539
501
 
540
502
  /** @public */
541
- export declare const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>>;
503
+ export declare const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>, PBGLTFShape>;
542
504
 
543
505
  /**
544
506
  * @public
@@ -592,6 +554,7 @@ export declare type IEngine = {
592
554
  * Define a component and add it to the engine.
593
555
  * @param spec An object with schema fields
594
556
  * @param componentId unique id to identify the component, if the component id already exist, it will fail.
557
+ * @param constructorDefault the initial value prefilled when a component is created without a value
595
558
  * @return The component definition
596
559
  *
597
560
  * ```ts
@@ -603,7 +566,7 @@ export declare type IEngine = {
603
566
  *
604
567
  * ```
605
568
  */
606
- defineComponent<T extends Spec>(spec: Spec, componentId: number): ComponentDefinition<ISchema<Result<T>>>;
569
+ defineComponent<T extends Spec, ConstructorType = Partial<Result<T>>>(spec: Spec, componentId: number, constructorDefault?: Partial<Result<T>>): ComponentDefinition<ISchema<Result<T>>, ConstructorType>;
607
570
  /**
608
571
  * Define a component and add it to the engine.
609
572
  * @param spec An object with schema fields
@@ -615,7 +578,7 @@ export declare type IEngine = {
615
578
  * const StateComponent = engine.defineComponent(Schemas.Bool, VisibleComponentId)
616
579
  * ```
617
580
  */
618
- defineComponentFromSchema<T extends ISchema>(spec: T, componentId: number): ComponentDefinition<T>;
581
+ defineComponentFromSchema<T extends ISchema<Record<string, any>>, ConstructorType = ComponentType<T>>(spec: T, componentId: number, constructorDefault?: ConstructorType): ComponentDefinition<T, ConstructorType>;
619
582
  /**
620
583
  * Get the component definition from the component id.
621
584
  * @param componentId
@@ -634,7 +597,7 @@ export declare type IEngine = {
634
597
  * Example:
635
598
  * ```ts
636
599
  * for (const [entity, boxShape, transform] of engine.getEntitiesWith(BoxShape, Transform)) {
637
- * // the properties of boxShape and transform are read only
600
+ * // the properties of boxShape and transform are read only
638
601
  * }
639
602
  * ```
640
603
  */
@@ -672,7 +635,7 @@ declare function IOptional<T>(spec: ISchema<T>): ISchema<T | undefined>;
672
635
  /**
673
636
  * @public
674
637
  */
675
- declare type ISchema<T = any> = {
638
+ export declare type ISchema<T = any> = {
676
639
  serialize(value: T, builder: ByteBuffer): void;
677
640
  deserialize(reader: ByteBuffer): T;
678
641
  create(): T;
@@ -696,7 +659,7 @@ export declare interface ISize {
696
659
  export declare const log: (...a: any[]) => void;
697
660
 
698
661
  /** @public */
699
- export declare const Material: ComponentDefinition<ISchema<PBMaterial>>;
662
+ export declare const Material: ComponentDefinition<ISchema<PBMaterial>, PBMaterial>;
700
663
 
701
664
  /**
702
665
  * Class used to store matrix data (4x4)
@@ -1418,10 +1381,10 @@ declare namespace Matrix {
1418
1381
  }
1419
1382
 
1420
1383
  /** @public */
1421
- export declare const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>>;
1384
+ export declare const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>, Partial<PBMeshRenderer>>;
1422
1385
 
1423
1386
  /** @public */
1424
- export declare const NFTShape: ComponentDefinition<ISchema<PBNFTShape>>;
1387
+ export declare const NFTShape: ComponentDefinition<ISchema<PBNFTShape>, PBNFTShape>;
1425
1388
 
1426
1389
  /** @public */
1427
1390
  export declare type Nullable<T> = T | null;
@@ -1435,16 +1398,16 @@ declare type OnlyOptionalUndefinedTypes<T> = {
1435
1398
  };
1436
1399
 
1437
1400
  /** @public */
1438
- export declare const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>>;
1401
+ export declare const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>, PBOnPointerDown>;
1439
1402
 
1440
1403
  /** @public */
1441
- export declare const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>>;
1404
+ export declare const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>, PBOnPointerDownResult>;
1442
1405
 
1443
1406
  /** @public */
1444
- export declare const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>>;
1407
+ export declare const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>, PBOnPointerUp>;
1445
1408
 
1446
1409
  /** @public */
1447
- export declare const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>>;
1410
+ export declare const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>, PBOnPointerUpResult>;
1448
1411
 
1449
1412
  /**
1450
1413
  * Defines potential orientation for back face culling
@@ -1753,6 +1716,11 @@ declare interface PBUiText {
1753
1716
  textColor: Color3 | undefined;
1754
1717
  }
1755
1718
 
1719
+ declare interface PBVisibilityComponent {
1720
+ /** default=true */
1721
+ visible?: boolean | undefined;
1722
+ }
1723
+
1756
1724
  /**
1757
1725
  * Represens a plane by the equation ax + by + cz + d = 0
1758
1726
  * @public
@@ -1863,10 +1831,35 @@ declare namespace Plane {
1863
1831
  }
1864
1832
 
1865
1833
  /** @public */
1866
- export declare const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>>;
1834
+ export declare const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>, PBPlaneShape>;
1867
1835
 
1868
1836
  /** @public */
1869
- export declare const PointerLock: ComponentDefinition<ISchema<PBPointerLock>>;
1837
+ export declare const PointerLock: ComponentDefinition<ISchema<PBPointerLock>, PBPointerLock>;
1838
+
1839
+ /**
1840
+ * @public
1841
+ */
1842
+ export declare type PreEngine = ReturnType<typeof preEngine>;
1843
+
1844
+ declare function preEngine(): {
1845
+ entitiesComponent: Map<number, Set<number>>;
1846
+ componentsDefinition: Map<number, ComponentDefinition<any, any>>;
1847
+ addEntity: (dynamic?: boolean) => Entity;
1848
+ addDynamicEntity: () => Entity;
1849
+ removeEntity: (entity: Entity) => boolean;
1850
+ addSystem: (fn: Update, priority?: number, name?: string | undefined) => void;
1851
+ getSystems: () => {
1852
+ fn: Update;
1853
+ priority: number;
1854
+ name?: string | undefined;
1855
+ }[];
1856
+ removeSystem: (selector: string | Update) => boolean;
1857
+ defineComponent: <T extends Spec, ConstructorType = Partial<Result<T>>>(spec: T, componentId: number, constructorDefault?: ConstructorType | undefined) => ComponentDefinition<ISchema<Result<T>>, ConstructorType>;
1858
+ 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>;
1859
+ getEntitiesWith: <T_2 extends [ComponentDefinition<ISchema<any>, any>, ...ComponentDefinition<ISchema<any>, any>[]]>(...components: T_2) => Iterable<[Entity, ...DeepReadonly<ComponentSchema<T_2>>]>;
1860
+ getComponent: <T_3 extends ISchema<any>>(componentId: number) => ComponentDefinition<T_3, EcsResult<T_3>>;
1861
+ removeComponentDefinition: (componentId: number) => void;
1862
+ };
1870
1863
 
1871
1864
  /**
1872
1865
  * @public
@@ -2078,7 +2071,7 @@ export declare namespace Schemas {
2078
2071
  /**
2079
2072
  * @public
2080
2073
  */
2081
- export declare type SdkComponents = ReturnType<typeof defineLibraryComponents>;
2074
+ export declare type SdkComponents = ReturnType<typeof defineSdkComponents>;
2082
2075
 
2083
2076
  /**
2084
2077
  * Defines supported spaces
@@ -2101,10 +2094,10 @@ export declare interface Spec {
2101
2094
  }
2102
2095
 
2103
2096
  /** @public */
2104
- export declare const SphereShape: ComponentDefinition<ISchema<PBSphereShape>>;
2097
+ export declare const SphereShape: ComponentDefinition<ISchema<PBSphereShape>, PBSphereShape>;
2105
2098
 
2106
2099
  /** @public */
2107
- export declare const TextShape: ComponentDefinition<ISchema<PBTextShape>>;
2100
+ export declare const TextShape: ComponentDefinition<ISchema<PBTextShape>, PBTextShape>;
2108
2101
 
2109
2102
  declare const enum TextureWrapMode {
2110
2103
  Repeat = 0,
@@ -2129,25 +2122,30 @@ export declare const ToLinearSpace = 2.2;
2129
2122
  declare type ToOptional<T> = OnlyOptionalUndefinedTypes<T> & OnlyNonUndefinedTypes<T>;
2130
2123
 
2131
2124
  /** @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;
2125
+ export declare const Transform: ComponentDefinition<ISchema<TransformType>, Partial<TransformType>>;
2126
+
2127
+ /**
2128
+ * @public
2129
+ */
2130
+ declare type TransformType = {
2131
+ position: {
2132
+ x: number;
2133
+ y: number;
2134
+ z: number;
2135
+ };
2136
+ rotation: {
2137
+ x: number;
2138
+ y: number;
2139
+ z: number;
2140
+ w: number;
2141
+ };
2142
+ scale: {
2143
+ x: number;
2144
+ y: number;
2145
+ z: number;
2146
+ };
2147
+ parent?: Entity;
2148
2148
  };
2149
- parent?: Entity | undefined;
2150
- }>>;
2151
2149
 
2152
2150
  declare const enum TransparencyMode {
2153
2151
  Opaque = 0,
@@ -2170,7 +2168,7 @@ export declare type TransportMessage = Omit<ReceiveMessage, 'data'>;
2170
2168
  declare type Uint32 = number;
2171
2169
 
2172
2170
  /** @public */
2173
- export declare const UiText: ComponentDefinition<ISchema<PBUiText>>;
2171
+ export declare const UiText: ComponentDefinition<ISchema<PBUiText>, PBUiText>;
2174
2172
 
2175
2173
  /**
2176
2174
  * @public
@@ -2391,6 +2389,9 @@ declare interface Vector3_2 {
2391
2389
  z: number;
2392
2390
  }
2393
2391
 
2392
+ /** @public */
2393
+ export declare const VisibilityComponent: ComponentDefinition<ISchema<PBVisibilityComponent>, PBVisibilityComponent>;
2394
+
2394
2395
  declare namespace WireMessage {
2395
2396
  enum Enum {
2396
2397
  RESERVED = 0,