@dcl/sdk 7.0.0-2922539882.commit-9deab4c → 7.0.0-2956503917.commit-061e376

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.
@@ -0,0 +1,8 @@
1
+ syntax = "proto3";
2
+
3
+ import "common/id.proto";
4
+ option (ecs_component_id) = 1081;
5
+
6
+ message PBVisibilityComponent {
7
+ optional bool visible = 1; // default=true
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/sdk",
3
- "version": "7.0.0-2922539882.commit-9deab4c",
3
+ "version": "7.0.0-2956503917.commit-061e376",
4
4
  "description": "",
5
5
  "main": "dist/src/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -27,8 +27,8 @@
27
27
  "src/cli/**/*.js"
28
28
  ],
29
29
  "dependencies": {
30
- "@dcl/amd": "6.11.5-2922539882.commit-9deab4c",
31
- "@dcl/build-ecs": "6.11.5-2922539882.commit-9deab4c",
30
+ "@dcl/amd": "6.11.5-2956503917.commit-061e376",
31
+ "@dcl/build-ecs": "6.11.5-2956503917.commit-061e376",
32
32
  "@dcl/kernel": "1.0.0-2638443584.commit-696a74b",
33
33
  "@dcl/posix": "^1.0.4",
34
34
  "@dcl/schemas": "4.8.0",
@@ -38,5 +38,5 @@
38
38
  "ignore": "^5.1.8"
39
39
  },
40
40
  "minCliVersion": "3.10.2",
41
- "commit": "9deab4cb0136ed3d6074a7f0b7af8f6efafad714"
41
+ "commit": "061e376a76165b398a714ab71202cafdd9adc673"
42
42
  }
@@ -17,10 +17,10 @@ declare const enum ActionButton {
17
17
  }
18
18
 
19
19
  /** @public */
20
- declare const Animator: ComponentDefinition<ISchema<PBAnimator>>;
20
+ declare const Animator: ComponentDefinition<ISchema<PBAnimator>, PBAnimator>;
21
21
 
22
22
  /** @public */
23
- declare const AudioSource: ComponentDefinition<ISchema<PBAudioSource>>;
23
+ 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
- declare const AvatarAttach: ComponentDefinition<ISchema<PBAvatarAttach>>;
34
+ 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
- declare const AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>>;
43
+ declare const AvatarModifierArea: ComponentDefinition<ISchema<PBAvatarModifierArea>, PBAvatarModifierArea>;
44
44
 
45
45
  /** @public */
46
- declare const AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>>;
46
+ declare const AvatarShape: ComponentDefinition<ISchema<PBAvatarShape>, PBAvatarShape>;
47
47
 
48
48
  /** @public */
49
- declare const Billboard: ComponentDefinition<ISchema<PBBillboard>>;
49
+ declare const Billboard: ComponentDefinition<ISchema<PBBillboard>, PBBillboard>;
50
50
 
51
51
  /** @public */
52
- declare const BoxShape: ComponentDefinition<ISchema<PBBoxShape>>;
52
+ declare const BoxShape: ComponentDefinition<ISchema<PBBoxShape>, PBBoxShape>;
53
53
 
54
54
  /**
55
55
  * @public
@@ -57,10 +57,10 @@ declare const BoxShape: ComponentDefinition<ISchema<PBBoxShape>>;
57
57
  declare type ByteBuffer = ReturnType<typeof createByteBuffer>;
58
58
 
59
59
  /** @public */
60
- declare const CameraMode: ComponentDefinition<ISchema<PBCameraMode>>;
60
+ declare const CameraMode: ComponentDefinition<ISchema<PBCameraMode>, PBCameraMode>;
61
61
 
62
62
  /** @public */
63
- declare const CameraModeArea: ComponentDefinition<ISchema<PBCameraModeArea>>;
63
+ 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
- declare type ComponentDefinition<T extends ISchema = ISchema<any>> = {
80
+ 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 @@ 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 @@ declare type ComponentDefinition<T extends ISchema = ISchema<any>> = {
203
203
  /** @public */
204
204
  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
- declare const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>>;
408
+ declare const CylinderShape: ComponentDefinition<ISchema<PBCylinderShape>, PBCylinderShape>;
426
409
 
427
410
  /**
428
411
  * Make each field readonly deeply
@@ -432,49 +415,32 @@ 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
  /**
@@ -538,7 +504,7 @@ declare type float = number;
538
504
  declare type FloatArray = number[];
539
505
 
540
506
  /** @public */
541
- declare const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>>;
507
+ declare const GLTFShape: ComponentDefinition<ISchema<PBGLTFShape>, PBGLTFShape>;
542
508
 
543
509
  /**
544
510
  * @public
@@ -592,6 +558,7 @@ declare type IEngine = {
592
558
  * Define a component and add it to the engine.
593
559
  * @param spec An object with schema fields
594
560
  * @param componentId unique id to identify the component, if the component id already exist, it will fail.
561
+ * @param constructorDefault the initial value prefilled when a component is created without a value
595
562
  * @return The component definition
596
563
  *
597
564
  * ```ts
@@ -603,7 +570,7 @@ declare type IEngine = {
603
570
  *
604
571
  * ```
605
572
  */
606
- defineComponent<T extends Spec>(spec: Spec, componentId: number): ComponentDefinition<ISchema<Result<T>>>;
573
+ defineComponent<T extends Spec, ConstructorType = Partial<Result<T>>>(spec: Spec, componentId: number, constructorDefault?: Partial<Result<T>>): ComponentDefinition<ISchema<Result<T>>, ConstructorType>;
607
574
  /**
608
575
  * Define a component and add it to the engine.
609
576
  * @param spec An object with schema fields
@@ -615,7 +582,7 @@ declare type IEngine = {
615
582
  * const StateComponent = engine.defineComponent(Schemas.Bool, VisibleComponentId)
616
583
  * ```
617
584
  */
618
- defineComponentFromSchema<T extends ISchema>(spec: T, componentId: number): ComponentDefinition<T>;
585
+ defineComponentFromSchema<T extends ISchema<Record<string, any>>, ConstructorType = ComponentType<T>>(spec: T, componentId: number, constructorDefault?: ConstructorType): ComponentDefinition<T, ConstructorType>;
619
586
  /**
620
587
  * Get the component definition from the component id.
621
588
  * @param componentId
@@ -696,7 +663,7 @@ declare interface ISize {
696
663
  declare const log: (...a: any[]) => void;
697
664
 
698
665
  /** @public */
699
- declare const Material: ComponentDefinition<ISchema<PBMaterial>>;
666
+ declare const Material: ComponentDefinition<ISchema<PBMaterial>, PBMaterial>;
700
667
 
701
668
  /**
702
669
  * Class used to store matrix data (4x4)
@@ -1418,10 +1385,10 @@ declare namespace Matrix {
1418
1385
  }
1419
1386
 
1420
1387
  /** @public */
1421
- declare const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>>;
1388
+ declare const MeshRenderer: ComponentDefinition<ISchema<PBMeshRenderer>, Partial<PBMeshRenderer>>;
1422
1389
 
1423
1390
  /** @public */
1424
- declare const NFTShape: ComponentDefinition<ISchema<PBNFTShape>>;
1391
+ declare const NFTShape: ComponentDefinition<ISchema<PBNFTShape>, PBNFTShape>;
1425
1392
 
1426
1393
  /** @public */
1427
1394
  declare type Nullable<T> = T | null;
@@ -1435,16 +1402,16 @@ declare type OnlyOptionalUndefinedTypes<T> = {
1435
1402
  };
1436
1403
 
1437
1404
  /** @public */
1438
- declare const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>>;
1405
+ declare const OnPointerDown: ComponentDefinition<ISchema<PBOnPointerDown>, PBOnPointerDown>;
1439
1406
 
1440
1407
  /** @public */
1441
- declare const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>>;
1408
+ declare const OnPointerDownResult: ComponentDefinition<ISchema<PBOnPointerDownResult>, PBOnPointerDownResult>;
1442
1409
 
1443
1410
  /** @public */
1444
- declare const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>>;
1411
+ declare const OnPointerUp: ComponentDefinition<ISchema<PBOnPointerUp>, PBOnPointerUp>;
1445
1412
 
1446
1413
  /** @public */
1447
- declare const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>>;
1414
+ declare const OnPointerUpResult: ComponentDefinition<ISchema<PBOnPointerUpResult>, PBOnPointerUpResult>;
1448
1415
 
1449
1416
  /**
1450
1417
  * Defines potential orientation for back face culling
@@ -1753,6 +1720,11 @@ declare interface PBUiText {
1753
1720
  textColor: Color3 | undefined;
1754
1721
  }
1755
1722
 
1723
+ declare interface PBVisibilityComponent {
1724
+ /** default=true */
1725
+ visible?: boolean | undefined;
1726
+ }
1727
+
1756
1728
  /**
1757
1729
  * Represens a plane by the equation ax + by + cz + d = 0
1758
1730
  * @public
@@ -1863,10 +1835,35 @@ declare namespace Plane {
1863
1835
  }
1864
1836
 
1865
1837
  /** @public */
1866
- declare const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>>;
1838
+ declare const PlaneShape: ComponentDefinition<ISchema<PBPlaneShape>, PBPlaneShape>;
1867
1839
 
1868
1840
  /** @public */
1869
- declare const PointerLock: ComponentDefinition<ISchema<PBPointerLock>>;
1841
+ declare const PointerLock: ComponentDefinition<ISchema<PBPointerLock>, PBPointerLock>;
1842
+
1843
+ /**
1844
+ * @public
1845
+ */
1846
+ declare type PreEngine = ReturnType<typeof preEngine>;
1847
+
1848
+ declare function preEngine(): {
1849
+ entitiesComponent: Map<number, Set<number>>;
1850
+ componentsDefinition: Map<number, ComponentDefinition<any, any>>;
1851
+ addEntity: (dynamic?: boolean) => Entity;
1852
+ addDynamicEntity: () => Entity;
1853
+ removeEntity: (entity: Entity) => boolean;
1854
+ addSystem: (fn: Update, priority?: number, name?: string | undefined) => void;
1855
+ getSystems: () => {
1856
+ fn: Update;
1857
+ priority: number;
1858
+ name?: string | undefined;
1859
+ }[];
1860
+ removeSystem: (selector: string | Update) => boolean;
1861
+ defineComponent: <T extends Spec, ConstructorType = Partial<Result<T>>>(spec: T, componentId: number, constructorDefault?: ConstructorType | undefined) => ComponentDefinition<ISchema<Result<T>>, ConstructorType>;
1862
+ 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>;
1863
+ getEntitiesWith: <T_2 extends [ComponentDefinition<ISchema<any>, any>, ...ComponentDefinition<ISchema<any>, any>[]]>(...components: T_2) => Iterable<[Entity, ...DeepReadonly<ComponentSchema<T_2>>]>;
1864
+ getComponent: <T_3 extends ISchema<any>>(componentId: number) => ComponentDefinition<T_3, EcsResult<T_3>>;
1865
+ removeComponentDefinition: (componentId: number) => void;
1866
+ };
1870
1867
 
1871
1868
  /**
1872
1869
  * @public
@@ -2078,7 +2075,7 @@ declare namespace Schemas {
2078
2075
  /**
2079
2076
  * @public
2080
2077
  */
2081
- declare type SdkComponents = ReturnType<typeof defineLibraryComponents>;
2078
+ declare type SdkComponents = ReturnType<typeof defineSdkComponents>;
2082
2079
 
2083
2080
  /**
2084
2081
  * Defines supported spaces
@@ -2101,10 +2098,10 @@ declare interface Spec {
2101
2098
  }
2102
2099
 
2103
2100
  /** @public */
2104
- declare const SphereShape: ComponentDefinition<ISchema<PBSphereShape>>;
2101
+ declare const SphereShape: ComponentDefinition<ISchema<PBSphereShape>, PBSphereShape>;
2105
2102
 
2106
2103
  /** @public */
2107
- declare const TextShape: ComponentDefinition<ISchema<PBTextShape>>;
2104
+ declare const TextShape: ComponentDefinition<ISchema<PBTextShape>, PBTextShape>;
2108
2105
 
2109
2106
  declare const enum TextureWrapMode {
2110
2107
  Repeat = 0,
@@ -2129,25 +2126,30 @@ declare const ToLinearSpace = 2.2;
2129
2126
  declare type ToOptional<T> = OnlyOptionalUndefinedTypes<T> & OnlyNonUndefinedTypes<T>;
2130
2127
 
2131
2128
  /** @public */
2132
- 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;
2129
+ declare const Transform: ComponentDefinition<ISchema<TransformType>, Partial<TransformType>>;
2130
+
2131
+ /**
2132
+ * @public
2133
+ */
2134
+ declare type TransformType = {
2135
+ position: {
2136
+ x: number;
2137
+ y: number;
2138
+ z: number;
2139
+ };
2140
+ rotation: {
2141
+ x: number;
2142
+ y: number;
2143
+ z: number;
2144
+ w: number;
2145
+ };
2146
+ scale: {
2147
+ x: number;
2148
+ y: number;
2149
+ z: number;
2150
+ };
2151
+ parent?: Entity;
2148
2152
  };
2149
- parent?: Entity | undefined;
2150
- }>>;
2151
2153
 
2152
2154
  declare const enum TransparencyMode {
2153
2155
  Opaque = 0,
@@ -2170,7 +2172,7 @@ declare type TransportMessage = Omit<ReceiveMessage, 'data'>;
2170
2172
  declare type Uint32 = number;
2171
2173
 
2172
2174
  /** @public */
2173
- declare const UiText: ComponentDefinition<ISchema<PBUiText>>;
2175
+ declare const UiText: ComponentDefinition<ISchema<PBUiText>, PBUiText>;
2174
2176
 
2175
2177
  /**
2176
2178
  * @public
@@ -2391,6 +2393,9 @@ declare interface Vector3_2 {
2391
2393
  z: number;
2392
2394
  }
2393
2395
 
2396
+ /** @public */
2397
+ declare const VisibilityComponent: ComponentDefinition<ISchema<PBVisibilityComponent>, PBVisibilityComponent>;
2398
+
2394
2399
  declare namespace WireMessage {
2395
2400
  enum Enum {
2396
2401
  RESERVED = 0,