@dcl/playground-assets 7.6.8-12260048919.commit-4123b99 → 7.6.8-12415739875.commit-c9a0fe7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/beta.d.ts CHANGED
@@ -178,6 +178,18 @@ export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBA
178
178
  /** @public */
179
179
  export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAvatarBase>;
180
180
 
181
+ /**
182
+ * @public
183
+ */
184
+ export declare const enum AvatarControlType {
185
+ /** CCT_NONE - avatar cannot move */
186
+ CCT_NONE = 0,
187
+ /** CCT_RELATIVE - avatar moves relative to the camera origin */
188
+ CCT_RELATIVE = 1,
189
+ /** CCT_TANK - avatar moves like a tank: left/right rotate the player, forward/backward advance/retreat the player */
190
+ CCT_TANK = 2
191
+ }
192
+
181
193
  /** @public */
182
194
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
183
195
 
@@ -198,6 +210,37 @@ export declare const enum AvatarModifierType {
198
210
  AMT_DISABLE_PASSPORTS = 1
199
211
  }
200
212
 
213
+ /**
214
+ * @public
215
+ */
216
+ export declare interface AvatarMovementSettings {
217
+ controlMode?: AvatarControlType | undefined;
218
+ /** if not explicitly set, the following properties default to user's preference settings */
219
+ runSpeed?: number | undefined;
220
+ /** how fast the player gets up to speed or comes to rest. higher = more responsive */
221
+ friction?: number | undefined;
222
+ /** how fast the player accelerates vertically when not on a solid surface, in m/s. should normally be negative */
223
+ gravity?: number | undefined;
224
+ /** how high the player can jump, in meters. should normally be positive. gravity must have the same sign for jumping to be possible */
225
+ jumpHeight?: number | undefined;
226
+ /** max fall speed in m/s. should normally be negative */
227
+ maxFallSpeed?: number | undefined;
228
+ /** speed the player turns in tank mode, in radians/s */
229
+ turnSpeed?: number | undefined;
230
+ /** speed the player walks at, in m/s */
231
+ walkSpeed?: number | undefined;
232
+ /** whether to allow player to move at a slower speed (e.g. with a walk-key or when using a gamepad/joystick). defaults to true */
233
+ allowWeightedMovement?: boolean | undefined;
234
+ }
235
+
236
+ /**
237
+ * @public
238
+ */
239
+ export declare namespace AvatarMovementSettings {
240
+ export function encode(message: AvatarMovementSettings, writer?: _m0.Writer): _m0.Writer;
241
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): AvatarMovementSettings;
242
+ }
243
+
201
244
  /** @public */
202
245
  export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
203
246
 
@@ -519,6 +562,39 @@ export declare const enum CameraType {
519
562
 
520
563
  export declare type Children = ReactEcs.JSX.ReactNode;
521
564
 
565
+ /**
566
+ * @public
567
+ */
568
+ export declare interface CinematicSettings {
569
+ /** Entity that defines the cinematic camera transform. */
570
+ cameraEntity: number;
571
+ /**
572
+ * Position -> camera's position
573
+ * Rotation -> camera's direction
574
+ * scale.z -> zoom level
575
+ * scale.x and scale.y -> unused
576
+ */
577
+ allowManualRotation?: boolean | undefined;
578
+ /** how far the camera can rotate around the y-axis / look left/right, in radians. default unrestricted */
579
+ yawRange?: number | undefined;
580
+ /** how far the camera can rotate around the x-axis / look up-down, in radians. default unrestricted */
581
+ pitchRange?: number | undefined;
582
+ /** note: cameras can never look up/down further than Vec3::Y */
583
+ rollRange?: number | undefined;
584
+ /** minimum zoom level. must be greater than 0. defaults to the input zoom level */
585
+ zoomMin?: number | undefined;
586
+ /** maximum zoom level. must be greater than 0. defaults to the input zoom level */
587
+ zoomMax?: number | undefined;
588
+ }
589
+
590
+ /**
591
+ * @public
592
+ */
593
+ export declare namespace CinematicSettings {
594
+ export function encode(message: CinematicSettings, writer?: _m0.Writer): _m0.Writer;
595
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): CinematicSettings;
596
+ }
597
+
522
598
  /** ColliderLayer determines the kind of collision to detect, in OR-able bit flag form. */
523
599
  /**
524
600
  * @public
@@ -1295,9 +1371,13 @@ export declare const componentDefinitionByName: {
1295
1371
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1296
1372
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1297
1373
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1374
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1298
1375
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1299
1376
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1377
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1378
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1300
1379
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1380
+ "core::Light": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLight>>;
1301
1381
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
1302
1382
  "core::Material": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
1303
1383
  "core::MeshCollider": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
@@ -1310,16 +1390,19 @@ export declare const componentDefinitionByName: {
1310
1390
  "core::Raycast": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRaycast>>;
1311
1391
  "core::RaycastResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRaycastResult>>;
1312
1392
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1393
+ "core::Spotlight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSpotlight>>;
1313
1394
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1314
1395
  "core::Tween": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTween>>;
1315
1396
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1316
1397
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1317
1398
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1399
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1318
1400
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1319
1401
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1320
1402
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1321
1403
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1322
1404
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1405
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1323
1406
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1324
1407
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1325
1408
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1883,6 +1966,8 @@ export declare type EntityComponents = {
1883
1966
  uiDropdown: PBUiDropdown;
1884
1967
  onMouseDown: Callback;
1885
1968
  onMouseUp: Callback;
1969
+ onMouseEnter: Callback;
1970
+ onMouseLeave: Callback;
1886
1971
  };
1887
1972
 
1888
1973
  /** @public */
@@ -2034,6 +2119,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2034
2119
  direction?: PBVector3;
2035
2120
  };
2036
2121
 
2122
+ /** @public */
2123
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2124
+
2037
2125
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2038
2126
 
2039
2127
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2046,6 +2134,21 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2046
2134
  /** @public */
2047
2135
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2048
2136
 
2137
+ /** @public */
2138
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2139
+
2140
+ /** @public */
2141
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2142
+
2143
+ /**
2144
+ * @public
2145
+ */
2146
+ export declare const enum GltfNodeStateValue {
2147
+ GNSV_PENDING = 0,
2148
+ GNSV_FAILED = 1,
2149
+ GNSV_READY = 2
2150
+ }
2151
+
2049
2152
  /**
2050
2153
  * @public
2051
2154
  */
@@ -2640,6 +2743,9 @@ export declare interface LastWriteWinElementSetComponentDefinition<T> extends Ba
2640
2743
  getOrCreateMutable(entity: Entity, initialValue?: T): T;
2641
2744
  }
2642
2745
 
2746
+ /** @public */
2747
+ export declare const Light: LastWriteWinElementSetComponentDefinition<PBLight>;
2748
+
2643
2749
  /**
2644
2750
  * User key event Listeners
2645
2751
  * @public
@@ -2649,6 +2755,10 @@ export declare type Listeners = {
2649
2755
  onMouseDown?: Callback;
2650
2756
  /** triggered on mouse up event */
2651
2757
  onMouseUp?: Callback;
2758
+ /** triggered on mouse hover event */
2759
+ onMouseEnter?: Callback;
2760
+ /** triggered on mouse leave event */
2761
+ onMouseLeave?: Callback;
2652
2762
  };
2653
2763
 
2654
2764
  /**
@@ -3517,6 +3627,14 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
3517
3627
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
3518
3628
  */
3519
3629
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
3630
+ /**
3631
+ * @public
3632
+ * Set a gltf internal mesh in the MeshCollider component
3633
+ * @param entity - entity to create or replace the MeshRenderer component
3634
+ * @param source - the path to the gltf
3635
+ * @param meshName - the name of the mesh in the gltf
3636
+ */
3637
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
3520
3638
  }
3521
3639
 
3522
3640
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -3553,6 +3671,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
3553
3671
  * @param entity - entity to create or replace the MeshRenderer component
3554
3672
  */
3555
3673
  setSphere(entity: Entity): void;
3674
+ /**
3675
+ * @public
3676
+ * Set a gltf internal mesh in the MeshRenderer component
3677
+ * @param entity - entity to create or replace the MeshRenderer component
3678
+ * @param source - the path to the gltf
3679
+ * @param meshName - the name of the mesh in the gltf
3680
+ */
3681
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
3556
3682
  }
3557
3683
 
3558
3684
  /* Excluded from this release type: MessageBus */
@@ -4206,6 +4332,9 @@ export declare interface PBAvatarModifierArea {
4206
4332
  excludeIds: string[];
4207
4333
  /** list of modifiers to apply */
4208
4334
  modifiers: AvatarModifierType[];
4335
+ movementSettings?: AvatarMovementSettings | undefined;
4336
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
4337
+ useColliderRange?: boolean | undefined;
4209
4338
  }
4210
4339
 
4211
4340
  /**
@@ -4318,7 +4447,7 @@ export declare namespace PBCameraMode {
4318
4447
 
4319
4448
  /**
4320
4449
  * The CameraModeArea component can be attached to an Entity to define a region of space where
4321
- * the player's camera mode (1st-person or 3rd-person) is overridden.
4450
+ * the player's camera mode (1st-person, 3rd-person or cinematic) is overridden.
4322
4451
  *
4323
4452
  * The Entity's Transform position determines the center-point of the region, while its size is
4324
4453
  * given as a vector in the `area` property below. The Transform rotation is applied, but the scale
@@ -4328,6 +4457,8 @@ export declare namespace PBCameraMode {
4328
4457
  *
4329
4458
  * Note that, while commonly used to delineate a 2D area in a scene (hence the name), the region
4330
4459
  * is actually a 3D volume.
4460
+ *
4461
+ * When mode is set to CtCinematic, the cinematic_settings field must also be provided.
4331
4462
  */
4332
4463
  /**
4333
4464
  * @public
@@ -4337,6 +4468,9 @@ export declare interface PBCameraModeArea {
4337
4468
  area: PBVector3 | undefined;
4338
4469
  /** the camera mode to enforce */
4339
4470
  mode: CameraType;
4471
+ cinematicSettings?: CinematicSettings | undefined;
4472
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
4473
+ useColliderRange?: boolean | undefined;
4340
4474
  }
4341
4475
 
4342
4476
  /**
@@ -4408,6 +4542,39 @@ export declare namespace PBEngineInfo {
4408
4542
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBEngineInfo;
4409
4543
  }
4410
4544
 
4545
+ /**
4546
+ * defines the global scene light settings. must be added to the scene root.
4547
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
4548
+ */
4549
+ /**
4550
+ * @public
4551
+ */
4552
+ export declare interface PBGlobalLight {
4553
+ /**
4554
+ * the direction the directional light shines in.
4555
+ * default depends on time of day and explorer implementation
4556
+ */
4557
+ direction?: PBVector3 | undefined;
4558
+ /**
4559
+ * ambient light color
4560
+ * default: White
4561
+ */
4562
+ ambientColor?: PBColor3 | undefined;
4563
+ /**
4564
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
4565
+ * default 1
4566
+ */
4567
+ ambientBrightness?: number | undefined;
4568
+ }
4569
+
4570
+ /**
4571
+ * @public
4572
+ */
4573
+ export declare namespace PBGlobalLight {
4574
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
4575
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
4576
+ }
4577
+
4411
4578
  /**
4412
4579
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
4413
4580
  *
@@ -4443,6 +4610,25 @@ export declare namespace PBGltfContainer {
4443
4610
  */
4444
4611
  export declare interface PBGltfContainerLoadingState {
4445
4612
  currentState: LoadingState;
4613
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
4614
+ nodePaths: string[];
4615
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
4616
+ meshNames: string[];
4617
+ /**
4618
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
4619
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
4620
+ */
4621
+ materialNames: string[];
4622
+ /**
4623
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
4624
+ * sure all your materials are explicitly named.
4625
+ */
4626
+ skinNames: string[];
4627
+ /**
4628
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
4629
+ * your skins are explicitly named.
4630
+ */
4631
+ animationNames: string[];
4446
4632
  }
4447
4633
 
4448
4634
  /**
@@ -4453,6 +4639,77 @@ export declare namespace PBGltfContainerLoadingState {
4453
4639
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
4454
4640
  }
4455
4641
 
4642
+ /**
4643
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
4644
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
4645
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
4646
+ * in the parent.
4647
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
4648
+ *
4649
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
4650
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
4651
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
4652
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
4653
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
4654
+ *
4655
+ * After creation, if an animation moves the node, the `Transform` will be updated.
4656
+ *
4657
+ * From the scene, you can modify various components to alter the gltf node:
4658
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
4659
+ * regardless of any intermediate gltf node hierarchy.
4660
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
4661
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
4662
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
4663
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
4664
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
4665
+ * used as a base, and any gltf features (e.g. occlusion maps) from the gtlf spec that the renderer supports but that are not exposed in the
4666
+ * PBMaterial will be maintained.
4667
+ *
4668
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
4669
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
4670
+ * change the state to `GNS_FAILED`.
4671
+ * - deleting the scene entity will not delete the gltf node.
4672
+ *
4673
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
4674
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
4675
+ * the gltf node will also be displayed.
4676
+ */
4677
+ /**
4678
+ * @public
4679
+ */
4680
+ export declare interface PBGltfNode {
4681
+ /** the path of the target node in the Gltf. */
4682
+ path: string;
4683
+ }
4684
+
4685
+ /**
4686
+ * @public
4687
+ */
4688
+ export declare namespace PBGltfNode {
4689
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
4690
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
4691
+ }
4692
+
4693
+ /**
4694
+ * The state of a linked gltf node.
4695
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
4696
+ */
4697
+ /**
4698
+ * @public
4699
+ */
4700
+ export declare interface PBGltfNodeState {
4701
+ state: GltfNodeStateValue;
4702
+ error?: string | undefined;
4703
+ }
4704
+
4705
+ /**
4706
+ * @public
4707
+ */
4708
+ export declare namespace PBGltfNodeState {
4709
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
4710
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
4711
+ }
4712
+
4456
4713
  /**
4457
4714
  * @public
4458
4715
  */
@@ -4492,6 +4749,62 @@ export declare namespace PBInputModifier_StandardInput {
4492
4749
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBInputModifier_StandardInput;
4493
4750
  }
4494
4751
 
4752
+ /**
4753
+ * defines a light source.
4754
+ * the world has a default directional light (like sunlight) which can be overridden by adding the light component to the scene root.
4755
+ * a PBGlobalLight component can also be added to the root to control the directional light direction.
4756
+ * point lights (lightbulbs) or spotlights can be created by attaching the light component to non-root entities.
4757
+ */
4758
+ /**
4759
+ * @public
4760
+ */
4761
+ export declare interface PBLight {
4762
+ /**
4763
+ * whether the light is on
4764
+ * default true
4765
+ */
4766
+ enabled?: boolean | undefined;
4767
+ /**
4768
+ * light brightness in lux (lumens/m^2).
4769
+ *
4770
+ * for global directional light, this applies as a constant value at all surfaces and distances (though the effect on the surface still depends on incidence angle).
4771
+ * the default global light illuminance varies from 400 (sunrise/sunset) to 10,000 (midday).
4772
+ * for typical values, see https://en.wikipedia.org/wiki/Lux#Illuminance
4773
+ *
4774
+ * for point and spot lights, this is the lumens/m^2 at 1m distance from the light. to transform from raw lumens,
4775
+ * divide lumens by ~12 (4*pi).
4776
+ * e.g. a 100w household bulb with 1200 lumens would have an illuminance of ~100.
4777
+ * a lighthouse bulb with 200,000 lumens would have an illuminance of ~15,000 (ignoring beam reflections)
4778
+ *
4779
+ * default
4780
+ * for point/spotlights: 10,000
4781
+ * for global directional light: depends on explorer implementation. may vary on light direction, time of day, etc
4782
+ */
4783
+ illuminance?: number | undefined;
4784
+ /**
4785
+ * whether the light should cast shadows.
4786
+ * note: even when set to true the engine may not display shadows, or may only show shadows for a limited number
4787
+ * of lights depending on the implementation, platform, and user settings.
4788
+ * default
4789
+ * for point/spotlights: false / off
4790
+ * for global directional light: true / on
4791
+ */
4792
+ shadows?: boolean | undefined;
4793
+ /**
4794
+ * light color
4795
+ * default White
4796
+ */
4797
+ color?: PBColor3 | undefined;
4798
+ }
4799
+
4800
+ /**
4801
+ * @public
4802
+ */
4803
+ export declare namespace PBLight {
4804
+ export function encode(message: PBLight, writer?: _m0.Writer): _m0.Writer;
4805
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBLight;
4806
+ }
4807
+
4495
4808
  /**
4496
4809
  * PBMainCamera.virtualCameraEntity defines which VirtualCamera entity is active at the moment.
4497
4810
  * This component may hold 'repeated common.CameraTransition' transitionOverrides in the future
@@ -4523,6 +4836,14 @@ export declare interface PBMaterial {
4523
4836
  $case: "pbr";
4524
4837
  pbr: PBMaterial_PbrMaterial;
4525
4838
  } | undefined;
4839
+ /**
4840
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
4841
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
4842
+ * supported by the PbMaterial.
4843
+ * If this is provided and the `material` field is not provided, the renderer will update the material
4844
+ * field with data that reflects the gltf material once it is loaded.
4845
+ */
4846
+ gltf?: PBMaterial_GltfMaterial | undefined;
4526
4847
  }
4527
4848
 
4528
4849
  /**
@@ -4533,6 +4854,22 @@ export declare namespace PBMaterial {
4533
4854
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
4534
4855
  }
4535
4856
 
4857
+ /**
4858
+ * @public
4859
+ */
4860
+ export declare interface PBMaterial_GltfMaterial {
4861
+ gltfSrc: string;
4862
+ name: string;
4863
+ }
4864
+
4865
+ /**
4866
+ * @public
4867
+ */
4868
+ export declare namespace PBMaterial_GltfMaterial {
4869
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
4870
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
4871
+ }
4872
+
4536
4873
  /**
4537
4874
  * @public
4538
4875
  */
@@ -4545,9 +4882,9 @@ export declare interface PBMaterial_PbrMaterial {
4545
4882
  castShadows?: boolean | undefined;
4546
4883
  /** @deprecated Alpha textures are no longer supported on PBRMaterial and UnlitMaterial.alphaTexture should be used instead. */
4547
4884
  alphaTexture?: TextureUnion | undefined;
4548
- /** default = null */
4885
+ /** default = null. Note that tilling and offset properties are ignored for this texture. */
4549
4886
  emissiveTexture?: TextureUnion | undefined;
4550
- /** default = null */
4887
+ /** default = null. Note that tilling and offset properties are ignored for this texture. */
4551
4888
  bumpTexture?: TextureUnion | undefined;
4552
4889
  /** default = white; */
4553
4890
  albedoColor?: PBColor4 | undefined;
@@ -4589,7 +4926,7 @@ export declare interface PBMaterial_UnlitMaterial {
4589
4926
  castShadows?: boolean | undefined;
4590
4927
  /** default = white; */
4591
4928
  diffuseColor?: PBColor4 | undefined;
4592
- /** default = null */
4929
+ /** default = null. Note that tilling and offset properties are ignored for this texture. */
4593
4930
  alphaTexture?: TextureUnion | undefined;
4594
4931
  }
4595
4932
 
@@ -4629,6 +4966,9 @@ export declare interface PBMeshCollider {
4629
4966
  } | {
4630
4967
  $case: "plane";
4631
4968
  plane: PBMeshCollider_PlaneMesh;
4969
+ } | {
4970
+ $case: "gltf";
4971
+ gltf: PBMeshCollider_GltfMesh;
4632
4972
  } | undefined;
4633
4973
  }
4634
4974
 
@@ -4674,6 +5014,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
4674
5014
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
4675
5015
  }
4676
5016
 
5017
+ /** A collider constructed from a Gltf Mesh. */
5018
+ /**
5019
+ * @public
5020
+ */
5021
+ export declare interface PBMeshCollider_GltfMesh {
5022
+ /** the GLTF file path as listed in the scene's manifest. */
5023
+ gltfSrc: string;
5024
+ /** the name of the mesh asset */
5025
+ name: string;
5026
+ }
5027
+
5028
+ /**
5029
+ * @public
5030
+ */
5031
+ export declare namespace PBMeshCollider_GltfMesh {
5032
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
5033
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
5034
+ }
5035
+
4677
5036
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
4678
5037
  /**
4679
5038
  * @public
@@ -4706,13 +5065,11 @@ export declare namespace PBMeshCollider_SphereMesh {
4706
5065
 
4707
5066
  /**
4708
5067
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
4709
- * plane, a sphere or a cylinder.
5068
+ * plane, a sphere, a cylinder, or a Gltf mesh.
4710
5069
  *
4711
5070
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
4712
5071
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
4713
5072
  * `float` coordinates, one for each corner of each side of each face.
4714
- *
4715
- * More complex shapes require the use of a `GltfContainer` component.
4716
5073
  */
4717
5074
  /**
4718
5075
  * @public
@@ -4730,6 +5087,9 @@ export declare interface PBMeshRenderer {
4730
5087
  } | {
4731
5088
  $case: "plane";
4732
5089
  plane: PBMeshRenderer_PlaneMesh;
5090
+ } | {
5091
+ $case: "gltf";
5092
+ gltf: PBMeshRenderer_GltfMesh;
4733
5093
  } | undefined;
4734
5094
  }
4735
5095
 
@@ -4777,6 +5137,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
4777
5137
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
4778
5138
  }
4779
5139
 
5140
+ /** A mesh from a Gltf. */
5141
+ /**
5142
+ * @public
5143
+ */
5144
+ export declare interface PBMeshRenderer_GltfMesh {
5145
+ /** the GLTF file path as listed in the scene's manifest. */
5146
+ gltfSrc: string;
5147
+ /** the name of the mesh asset */
5148
+ name: string;
5149
+ }
5150
+
5151
+ /**
5152
+ * @public
5153
+ */
5154
+ export declare namespace PBMeshRenderer_GltfMesh {
5155
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
5156
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
5157
+ }
5158
+
4780
5159
  /** PlaneMesh renders a 2D rectangular shape. */
4781
5160
  /**
4782
5161
  * @public
@@ -5116,6 +5495,39 @@ export declare namespace PBRealmInfo {
5116
5495
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBRealmInfo;
5117
5496
  }
5118
5497
 
5498
+ /**
5499
+ * defines a spotlight.
5500
+ * spotlights are point lights that emit light only in a cone around the transform's forward direction.
5501
+ * add this component together with the PBLight component to transform a point light into a spotlight.
5502
+ * note that spotlights do not model any internal reflections / focus, they only restrict the area of effect.
5503
+ * so for e.g. a torch beam, the bulb illuminance should be multiplied by the solid angle.
5504
+ * a typical torch with a beam width of 15 degrees would use outer angle of 0.15 (7.5 degrees in radians),
5505
+ * and an illuminance approximately equal to the bulb's lumens, e.g. 1200.
5506
+ */
5507
+ /**
5508
+ * @public
5509
+ */
5510
+ export declare interface PBSpotlight {
5511
+ /**
5512
+ * the cone radius in radians. distance away from forward in which the light is visible.
5513
+ * for a torch a value around 0.15 is appropriate.
5514
+ */
5515
+ angle: number;
5516
+ /**
5517
+ * optional angle at which the light is brightest. should be <= outer angle.
5518
+ * if specified, the light will fall off smoothly between `inner_angle` and `angle`.
5519
+ */
5520
+ innerAngle?: number | undefined;
5521
+ }
5522
+
5523
+ /**
5524
+ * @public
5525
+ */
5526
+ export declare namespace PBSpotlight {
5527
+ export function encode(message: PBSpotlight, writer?: _m0.Writer): _m0.Writer;
5528
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBSpotlight;
5529
+ }
5530
+
5119
5531
  /**
5120
5532
  * The TextShape component renders customizable floating text.
5121
5533
  *
@@ -5196,6 +5608,9 @@ export declare interface PBTween {
5196
5608
  } | {
5197
5609
  $case: "scale";
5198
5610
  scale: Scale;
5611
+ } | {
5612
+ $case: "textureMove";
5613
+ textureMove: TextureMove;
5199
5614
  } | undefined;
5200
5615
  /** default true (pause or running) */
5201
5616
  playing?: boolean | undefined;
@@ -5266,6 +5681,25 @@ export declare namespace PBUiBackground {
5266
5681
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
5267
5682
  }
5268
5683
 
5684
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
5685
+ /**
5686
+ * @public
5687
+ */
5688
+ export declare interface PBUiCanvas {
5689
+ width: number;
5690
+ height: number;
5691
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
5692
+ color?: PBColor4 | undefined;
5693
+ }
5694
+
5695
+ /**
5696
+ * @public
5697
+ */
5698
+ export declare namespace PBUiCanvas {
5699
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
5700
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
5701
+ }
5702
+
5269
5703
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
5270
5704
  /**
5271
5705
  * @public
@@ -5382,6 +5816,21 @@ export declare namespace PBUiInputResult {
5382
5816
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
5383
5817
  }
5384
5818
 
5819
+ /**
5820
+ * @public
5821
+ */
5822
+ export declare interface PBUiScrollResult {
5823
+ value: PBVector2 | undefined;
5824
+ }
5825
+
5826
+ /**
5827
+ * @public
5828
+ */
5829
+ export declare namespace PBUiScrollResult {
5830
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
5831
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
5832
+ }
5833
+
5385
5834
  /**
5386
5835
  * @public
5387
5836
  */
@@ -5398,6 +5847,10 @@ export declare interface PBUiText {
5398
5847
  fontSize?: number | undefined;
5399
5848
  /** wrap text when the border is reached (default: TW_WRAP) */
5400
5849
  textWrap?: TextWrap | undefined;
5850
+ /** width of the outline (default: 0) */
5851
+ outlineWidth?: number | undefined;
5852
+ /** RGBA color of the outline (default: opaque black) */
5853
+ outlineColor?: PBColor4 | undefined;
5401
5854
  }
5402
5855
 
5403
5856
  /**
@@ -5494,6 +5947,16 @@ export declare interface PBUiTransform {
5494
5947
  paddingBottom: number;
5495
5948
  /** default: PointerFilterMode.PFM_NONE */
5496
5949
  pointerFilter?: PointerFilterMode | undefined;
5950
+ /** default: 1 */
5951
+ opacity?: number | undefined;
5952
+ /** default empty */
5953
+ elementId?: string | undefined;
5954
+ /** default position=(0,0) */
5955
+ scrollPosition?: ScrollPositionValue | undefined;
5956
+ /** default ShowScrollBar.SSB_BOTH */
5957
+ scrollVisible?: ShowScrollBar | undefined;
5958
+ /** default 0 */
5959
+ zIndex?: number | undefined;
5497
5960
  }
5498
5961
 
5499
5962
  /**
@@ -5766,6 +6229,18 @@ export declare interface PointerEventsSystem {
5766
6229
  * @param entity - Entity where the callback was attached
5767
6230
  */
5768
6231
  removeOnPointerUp(entity: Entity): void;
6232
+ /**
6233
+ * @public
6234
+ * Remove the callback for onPointerHoverEnter event
6235
+ * @param entity - Entity where the callback was attached
6236
+ */
6237
+ removeOnPointerHoverEnter(entity: Entity): void;
6238
+ /**
6239
+ * @public
6240
+ * Remove the callback for onPointerHoverLeave event
6241
+ * @param entity - Entity where the callback was attached
6242
+ */
6243
+ removeOnPointerHoverLeave(entity: Entity): void;
5769
6244
  /**
5770
6245
  * @public
5771
6246
  * Execute callback when the user press the InputButton pointing at the entity
@@ -5800,6 +6275,26 @@ export declare interface PointerEventsSystem {
5800
6275
  * @param opts - Opts to trigger Feedback and Button
5801
6276
  */
5802
6277
  onPointerUp(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void;
6278
+ /**
6279
+ * @public
6280
+ * Execute callback when the user place the pointer over the entity
6281
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6282
+ * @param cb - Function to execute when click fires
6283
+ */
6284
+ onPointerHoverEnter(pointerData: {
6285
+ entity: Entity;
6286
+ opts?: Partial<EventSystemOptions>;
6287
+ }, cb: EventSystemCallback): void;
6288
+ /**
6289
+ * @public
6290
+ * Execute callback when the user take the pointer out of the entity
6291
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6292
+ * @param cb - Function to execute when click fires
6293
+ */
6294
+ onPointerHoverLeave(pointerData: {
6295
+ entity: Entity;
6296
+ opts?: Partial<EventSystemOptions>;
6297
+ }, cb: EventSystemCallback): void;
5803
6298
  }
5804
6299
 
5805
6300
  /**
@@ -6427,6 +6922,7 @@ export declare type RaycastSystemOptions = {
6427
6922
  export declare interface ReactBasedUiSystem {
6428
6923
  destroy(): void;
6429
6924
  setUiRenderer(ui: UiComponent): void;
6925
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
6430
6926
  }
6431
6927
 
6432
6928
  /**
@@ -6880,6 +7376,43 @@ export declare namespace Schemas {
6880
7376
  }) => void;
6881
7377
  }
6882
7378
 
7379
+ /**
7380
+ * @public
7381
+ */
7382
+ export declare interface ScrollPositionValue {
7383
+ value?: {
7384
+ $case: "position";
7385
+ position: PBVector2;
7386
+ } | {
7387
+ $case: "reference";
7388
+ reference: string;
7389
+ } | undefined;
7390
+ }
7391
+
7392
+ /**
7393
+ * @public
7394
+ */
7395
+ export declare namespace ScrollPositionValue {
7396
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
7397
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
7398
+ }
7399
+
7400
+ /**
7401
+ * @public
7402
+ * The scroll-visible determines if the scrollbars are shown when the scroll overflow is enabled
7403
+ */
7404
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
7405
+
7406
+ /**
7407
+ * @public
7408
+ */
7409
+ export declare const enum ShowScrollBar {
7410
+ SSB_BOTH = 0,
7411
+ SSB_ONLY_VERTICAL = 1,
7412
+ SSB_ONLY_HORIZONTAL = 2,
7413
+ SSB_HIDDEN = 3
7414
+ }
7415
+
6883
7416
  /**
6884
7417
  * @public
6885
7418
  */
@@ -6887,6 +7420,9 @@ export declare interface Spec {
6887
7420
  [key: string]: ISchema;
6888
7421
  }
6889
7422
 
7423
+ /** @public */
7424
+ export declare const Spotlight: LastWriteWinElementSetComponentDefinition<PBSpotlight>;
7425
+
6890
7426
  /* Excluded from this release type: SyncComponents */
6891
7427
 
6892
7428
  /**
@@ -6942,12 +7478,9 @@ export declare interface Texture {
6942
7478
  wrapMode?: TextureWrapMode | undefined;
6943
7479
  /** default = FilterMode.Bilinear */
6944
7480
  filterMode?: TextureFilterMode | undefined;
6945
- /**
6946
- * Final uv = offset + (input_uv * tiling)
6947
- * Offset for texture positioning.
6948
- */
7481
+ /** Final uv = offset + (input_uv * tiling) */
6949
7482
  offset?: PBVector2 | undefined;
6950
- /** Tiling multiplier for texture repetition. */
7483
+ /** default = Vector2.One; Tiling multiplier for texture repetition, only works for the texture property in PbrMaterial or UnlitMaterial. */
6951
7484
  tiling?: PBVector2 | undefined;
6952
7485
  }
6953
7486
 
@@ -7007,6 +7540,37 @@ export declare interface TextureHelper {
7007
7540
  */
7008
7541
  export declare type TextureMode = 'nine-slices' | 'center' | 'stretch';
7009
7542
 
7543
+ /**
7544
+ * This tween mode allows to move the texture of a PbrMaterial or UnlitMaterial.
7545
+ * You can also specify the movement type (offset or tiling)
7546
+ */
7547
+ /**
7548
+ * @public
7549
+ */
7550
+ export declare interface TextureMove {
7551
+ start: PBVector2 | undefined;
7552
+ end: PBVector2 | undefined;
7553
+ /** default = TextureMovementType.TMT_OFFSET */
7554
+ movementType?: TextureMovementType | undefined;
7555
+ }
7556
+
7557
+ /**
7558
+ * @public
7559
+ */
7560
+ export declare namespace TextureMove {
7561
+ export function encode(message: TextureMove, writer?: _m0.Writer): _m0.Writer;
7562
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): TextureMove;
7563
+ }
7564
+
7565
+ /**
7566
+ * @public
7567
+ */
7568
+ export declare const enum TextureMovementType {
7569
+ /** TMT_OFFSET - default = TextureMovementType.TMT_OFFSET */
7570
+ TMT_OFFSET = 0,
7571
+ TMT_TILING = 1
7572
+ }
7573
+
7010
7574
  /**
7011
7575
  * @public
7012
7576
  */
@@ -7020,6 +7584,9 @@ export declare interface TextureUnion {
7020
7584
  } | {
7021
7585
  $case: "videoTexture";
7022
7586
  videoTexture: VideoTexture;
7587
+ } | {
7588
+ $case: "uiTexture";
7589
+ uiTexture: UiCanvasTexture;
7023
7590
  } | undefined;
7024
7591
  }
7025
7592
 
@@ -7238,9 +7805,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
7238
7805
  disabled?: boolean;
7239
7806
  }
7240
7807
 
7808
+ /** @public */
7809
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
7810
+
7241
7811
  /** @public */
7242
7812
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
7243
7813
 
7814
+ /**
7815
+ * @public
7816
+ */
7817
+ export declare interface UiCanvasTexture {
7818
+ uiCanvasEntity: number;
7819
+ /** default = TextureWrapMode.Clamp */
7820
+ wrapMode?: TextureWrapMode | undefined;
7821
+ /** default = FilterMode.Bilinear */
7822
+ filterMode?: TextureFilterMode | undefined;
7823
+ }
7824
+
7825
+ /**
7826
+ * @public
7827
+ */
7828
+ export declare namespace UiCanvasTexture {
7829
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
7830
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
7831
+ }
7832
+
7244
7833
  /**
7245
7834
  * @public
7246
7835
  */
@@ -7310,6 +7899,10 @@ export declare interface UiLabelProps {
7310
7899
  textAlign?: TextAlignType | undefined;
7311
7900
  /** Label font type. @defaultValue 'sans-serif' */
7312
7901
  font?: UiFontType | undefined;
7902
+ /** Outline width of the text. @defaultValue 0 */
7903
+ outlineWidth?: number | undefined;
7904
+ /** Outline color of the text. @defaultValue `{ r: 0, g: 0, b: 0, a: 1 }` */
7905
+ outlineColor?: PBColor4 | undefined;
7313
7906
  /** Behaviour when text reached. @defaultValue 'wrap' */
7314
7907
  textWrap?: UiTextWrapType | undefined;
7315
7908
  }
@@ -7319,6 +7912,9 @@ export declare interface UiLabelProps {
7319
7912
  */
7320
7913
  export declare type uint32 = number;
7321
7914
 
7915
+ /** @public */
7916
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
7917
+
7322
7918
  /** @public */
7323
7919
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
7324
7920
 
@@ -7391,6 +7987,16 @@ export declare interface UiTransformProps {
7391
7987
  overflow?: OverflowType;
7392
7988
  /** The pointer filter property determines if the ui element blocks the pointer or not (elements with pointer events always block the pointer regardless of this property) **/
7393
7989
  pointerFilter?: PointerFilterType;
7990
+ /** The opacity property sets the opacity level for an element, it's accumulated across children @defaultValue 1 */
7991
+ opacity?: number;
7992
+ /** A reference value to identify the element, default empty */
7993
+ elementId?: string;
7994
+ /** default position=(0,0) if it aplies, a vector or a reference-id */
7995
+ scrollPosition?: PBVector2 | string;
7996
+ /** default ShowScrollBar.SSB_BOTH */
7997
+ scrollVisible?: ScrollVisibleType;
7998
+ /** default 0 */
7999
+ zIndex?: number;
7394
8000
  }
7395
8001
 
7396
8002
  /**