@dcl/playground-assets 7.31.1-40536151736.commit-a09f320 → 7.31.1-40606969412.commit-24c05c3

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/alpha.d.ts CHANGED
@@ -315,6 +315,39 @@ export declare const enum AvatarAnchorPointType {
315
315
  AAPT_RIGHT_TOE_BASE = 25
316
316
  }
317
317
 
318
+ /**
319
+ * Mirror of the scene-driven movement animation currently playing, reported by the engine.
320
+ * Readable by any scene (not just the controller) so niche effects (e.g. dust cloud on landing) can react.
321
+ * Active emotes are not represented here — scenes already have their own way to read them.
322
+ */
323
+ /**
324
+ * @public
325
+ */
326
+ export declare interface AvatarAnimationState {
327
+ /** same scene-relative path the controlling scene supplied */
328
+ src: string;
329
+ /** mirrors the request */
330
+ loop: boolean;
331
+ /** mirrors the request */
332
+ speed: number;
333
+ /** mirrors the request */
334
+ idle: boolean;
335
+ /** seconds into the clip; wraps on loop; frozen while an emote override is playing */
336
+ playbackTime: number;
337
+ /** total clip length in seconds */
338
+ duration: number;
339
+ /** how many times the clip has completed since it started */
340
+ loopCount: number;
341
+ }
342
+
343
+ /**
344
+ * @public
345
+ */
346
+ export declare namespace AvatarAnimationState {
347
+ export function encode(message: AvatarAnimationState, writer?: _m0.Writer): _m0.Writer;
348
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): AvatarAnimationState;
349
+ }
350
+
318
351
  /** @public */
319
352
  export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBAvatarAttach>;
320
353
 
@@ -324,8 +357,21 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
324
357
  /** @public */
325
358
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
326
359
 
327
- /** @public */
328
- export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
360
+ export declare const AvatarEquippedData: AvatarEquippedDataComponentDefinitionExtended;
361
+
362
+ /**
363
+ * @public
364
+ */
365
+ export declare type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
366
+
367
+ /**
368
+ * @public
369
+ * AvatarEquippedData with `forceRender` optional: the wire type is a repeated field (always present, so the
370
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
371
+ */
372
+ export declare type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
373
+ forceRender?: string[] | undefined;
374
+ };
329
375
 
330
376
  /** @public */
331
377
  export declare const AvatarLocomotionSettings: LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>;
@@ -355,10 +401,29 @@ export declare const enum AvatarModifierType {
355
401
  }
356
402
 
357
403
  /** @public */
358
- export declare const AvatarNametag: LastWriteWinElementSetComponentDefinition<PBAvatarNametag>;
404
+ export declare const AvatarMovement: LastWriteWinElementSetComponentDefinition<PBAvatarMovement>;
359
405
 
360
406
  /** @public */
361
- export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
407
+ export declare const AvatarMovementInfo: LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>;
408
+
409
+ /** @public */
410
+ export declare const AvatarNametag: LastWriteWinElementSetComponentDefinition<PBAvatarNametag>;
411
+
412
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
413
+
414
+ /**
415
+ * @public
416
+ */
417
+ export declare type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
418
+
419
+ /**
420
+ * @public
421
+ * AvatarShape with `forceRender` optional: the wire type is a repeated field (always present, so the
422
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
423
+ */
424
+ export declare type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
425
+ forceRender?: string[] | undefined;
426
+ };
362
427
 
363
428
  /**
364
429
  * @public
@@ -643,10 +708,17 @@ export declare interface ByteBuffer {
643
708
  }
644
709
 
645
710
  /**
646
- * Callback function to be triggered on a specified event
711
+ * Callback function to be triggered on a specified event. Receives the pointer event that
712
+ * fired it (button, hit, and for drags the pointer delta), which handlers may ignore.
647
713
  * @public
648
714
  */
649
- export declare type Callback = () => void;
715
+ export declare type Callback = (event: PBPointerEventsResult) => void;
716
+
717
+ /** @public */
718
+ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
719
+
720
+ /** @public */
721
+ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
650
722
 
651
723
  /** @public */
652
724
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
@@ -1499,17 +1571,24 @@ export declare const componentDefinitionByName: {
1499
1571
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1500
1572
  "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1501
1573
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1574
+ "core::AvatarMovement": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovement>>;
1575
+ "core::AvatarMovementInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>>;
1502
1576
  "core::AvatarNametag": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarNametag>>;
1503
1577
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1504
1578
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1579
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1580
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1505
1581
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1506
1582
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1507
1583
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1508
1584
  "core::ExplorerItemPurchaseResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerItemPurchaseResult>>;
1509
1585
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1586
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1510
1587
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1511
1588
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1589
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1512
1590
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1591
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1513
1592
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1514
1593
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1515
1594
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1530,6 +1609,7 @@ export declare const componentDefinitionByName: {
1530
1609
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1531
1610
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1532
1611
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1612
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1533
1613
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1534
1614
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1535
1615
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1537,12 +1617,14 @@ export declare const componentDefinitionByName: {
1537
1617
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1538
1618
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1539
1619
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1620
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1540
1621
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1541
1622
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1542
1623
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1543
1624
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1544
1625
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1545
1626
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1627
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1546
1628
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1547
1629
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1548
1630
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -2165,6 +2247,9 @@ export declare type EntityComponents = {
2165
2247
  onMouseUp: Callback;
2166
2248
  onMouseEnter: Callback;
2167
2249
  onMouseLeave: Callback;
2250
+ onMouseDrag: Callback;
2251
+ onMouseDragLocked: Callback;
2252
+ onMouseDragEnd: Callback;
2168
2253
  };
2169
2254
 
2170
2255
  /** @public */
@@ -2524,6 +2609,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2524
2609
  direction?: PBVector3;
2525
2610
  };
2526
2611
 
2612
+ /** @public */
2613
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2614
+
2527
2615
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2528
2616
 
2529
2617
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2536,9 +2624,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2536
2624
  /** @public */
2537
2625
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2538
2626
 
2627
+ /** @public */
2628
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2629
+
2539
2630
  /** @public */
2540
2631
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2541
2632
 
2633
+ /** @public */
2634
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2635
+
2636
+ /**
2637
+ * @public
2638
+ */
2639
+ export declare const enum GltfNodeStateValue {
2640
+ GNSV_PENDING = 0,
2641
+ GNSV_FAILED = 1,
2642
+ GNSV_READY = 2
2643
+ }
2644
+
2542
2645
  /**
2543
2646
  * @public
2544
2647
  */
@@ -3286,6 +3389,12 @@ export declare type Listeners = {
3286
3389
  onMouseEnter?: Callback;
3287
3390
  /** triggered on mouse leave event */
3288
3391
  onMouseLeave?: Callback;
3392
+ /** triggered while the pointer is dragged after pressing on the element */
3393
+ onMouseDrag?: Callback;
3394
+ /** triggered while the pointer is dragged with the cursor locked in place */
3395
+ onMouseDragLocked?: Callback;
3396
+ /** triggered when a drag that started on the element ends */
3397
+ onMouseDragEnd?: Callback;
3289
3398
  };
3290
3399
 
3291
3400
  /**
@@ -4190,6 +4299,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4190
4299
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4191
4300
  */
4192
4301
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4302
+ /**
4303
+ * @public
4304
+ * Set a mesh from inside a gltf in the MeshCollider component
4305
+ * @param entity - entity to create or replace the MeshCollider component
4306
+ * @param source - the path to the gltf
4307
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4308
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4309
+ */
4310
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4193
4311
  }
4194
4312
 
4195
4313
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4226,6 +4344,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4226
4344
  * @param entity - entity to create or replace the MeshRenderer component
4227
4345
  */
4228
4346
  setSphere(entity: Entity): void;
4347
+ /**
4348
+ * @public
4349
+ * Set a mesh from inside a gltf in the MeshRenderer component
4350
+ * @param entity - entity to create or replace the MeshRenderer component
4351
+ * @param source - the path to the gltf
4352
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4353
+ */
4354
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4229
4355
  }
4230
4356
 
4231
4357
  /**
@@ -4274,6 +4400,39 @@ export declare namespace MoveContinuous {
4274
4400
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4275
4401
  }
4276
4402
 
4403
+ /**
4404
+ * Describes the animation the movement scene wants the avatar to play.
4405
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4406
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4407
+ */
4408
+ /**
4409
+ * @public
4410
+ */
4411
+ export declare interface MovementAnimation {
4412
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4413
+ src: string;
4414
+ /** whether the clip repeats once it reaches the end */
4415
+ loop: boolean;
4416
+ /** playback speed multiplier (1.0 = clip's native rate) */
4417
+ speed: number;
4418
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4419
+ idle: boolean;
4420
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4421
+ transitionSeconds?: number | undefined;
4422
+ /** if set, the engine seeks to this position (in seconds) this frame. Clear on subsequent frames to allow normal playback. The scene can read `AvatarAnimationState.playback_time` first to decide. */
4423
+ playbackTime?: number | undefined;
4424
+ /** scene-relative paths to audio clips (.mp3/.ogg) to play this frame on the avatar audio bus. Fire-and-forget: each listed clip plays once per frame it appears; leaving a clip set for multiple frames re-triggers it. No stop mechanism. Use `AvatarAnimationState.playback_time` to trigger sounds at the right point in the clip (e.g. foot plants). */
4425
+ sounds: string[];
4426
+ }
4427
+
4428
+ /**
4429
+ * @public
4430
+ */
4431
+ export declare namespace MovementAnimation {
4432
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4433
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4434
+ }
4435
+
4277
4436
  /**
4278
4437
  * @public
4279
4438
  */
@@ -4697,6 +4856,25 @@ export declare const onVideoEvent: Observable<{
4697
4856
  totalVideoLength: number;
4698
4857
  }>;
4699
4858
 
4859
+ /**
4860
+ * @public
4861
+ */
4862
+ export declare interface Orthographic {
4863
+ /**
4864
+ * vertical extent of the visible range in meters
4865
+ * defaults to 4m
4866
+ */
4867
+ verticalRange?: number | undefined;
4868
+ }
4869
+
4870
+ /**
4871
+ * @public
4872
+ */
4873
+ export declare namespace Orthographic {
4874
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4875
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4876
+ }
4877
+
4700
4878
  /**
4701
4879
  * @public
4702
4880
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -5046,6 +5224,8 @@ export declare namespace PBAvatarEmoteCommand {
5046
5224
  export declare interface PBAvatarEquippedData {
5047
5225
  wearableUrns: string[];
5048
5226
  emoteUrns: string[];
5227
+ /** slots that will render even if hidden */
5228
+ forceRender: string[];
5049
5229
  }
5050
5230
 
5051
5231
  /**
@@ -5116,6 +5296,8 @@ export declare interface PBAvatarModifierArea {
5116
5296
  excludeIds: string[];
5117
5297
  /** list of modifiers to apply */
5118
5298
  modifiers: AvatarModifierType[];
5299
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5300
+ useColliderRange?: boolean | undefined;
5119
5301
  }
5120
5302
 
5121
5303
  /**
@@ -5126,6 +5308,64 @@ export declare namespace PBAvatarModifierArea {
5126
5308
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5127
5309
  }
5128
5310
 
5311
+ /**
5312
+ * @public
5313
+ */
5314
+ export declare interface PBAvatarMovement {
5315
+ velocity: PBVector3 | undefined;
5316
+ /** 0-360, yaw only; this is the authoritative facing (other clients read it, and physics treats the avatar as upright). Lean is expressed separately via tilt_pitch/tilt_roll. */
5317
+ orientation: number;
5318
+ groundDirection?: PBVector3 | undefined;
5319
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5320
+ walkSuccess?: boolean | undefined;
5321
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5322
+ animation?: MovementAnimation | undefined;
5323
+ /** render-only forward/back lean in degrees, applied on top of `orientation` (rotation about the avatar's local X axis). Does not affect the physics capsule (stays upright) or the facing other clients read. Defaults to 0. */
5324
+ tiltPitch?: number | undefined;
5325
+ /** render-only sideways lean in degrees, applied on top of `orientation` (rotation about the avatar's local Z axis). Same constraints as tilt_pitch. Useful e.g. for glider banking. Defaults to 0. */
5326
+ tiltRoll?: number | undefined;
5327
+ }
5328
+
5329
+ /**
5330
+ * @public
5331
+ */
5332
+ export declare namespace PBAvatarMovement {
5333
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5334
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5335
+ }
5336
+
5337
+ /**
5338
+ * @public
5339
+ */
5340
+ export declare interface PBAvatarMovementInfo {
5341
+ /** the length of time the current step velocity will apply for */
5342
+ stepTime: number;
5343
+ /** the length of time the previous step velocity applied for */
5344
+ previousStepTime: number;
5345
+ /** the velocity requested for the previous frame */
5346
+ requestedVelocity: PBVector3 | undefined;
5347
+ /** the resulting velocity taking collisions into account */
5348
+ actualVelocity: PBVector3 | undefined;
5349
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5350
+ externalVelocity: PBVector3 | undefined;
5351
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5352
+ activeInputModifier: PBInputModifier | undefined;
5353
+ /** if set, the movement scene should walk the player to this scene-relative position */
5354
+ walkTarget?: PBVector3 | undefined;
5355
+ /** stop distance for walk_target; considered reached when within this distance */
5356
+ walkThreshold?: number | undefined;
5357
+ /** current state of a scene-driven movement animation. Absent when the engine is using its velocity-based fallback. `playback_time` freezes while a triggerSceneEmote is overriding the animation. */
5358
+ activeAnimationState?: AvatarAnimationState | undefined;
5359
+ }
5360
+
5361
+ /**
5362
+ * @public
5363
+ */
5364
+ export declare namespace PBAvatarMovementInfo {
5365
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5366
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5367
+ }
5368
+
5129
5369
  /**
5130
5370
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5131
5371
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5216,6 +5456,8 @@ export declare interface PBAvatarShape {
5216
5456
  emotes: string[];
5217
5457
  /** hides the skin + hair + facial features (default: false) */
5218
5458
  showOnlyWearables?: boolean | undefined;
5459
+ /** slots that will render even if hidden */
5460
+ forceRender: string[];
5219
5461
  }
5220
5462
 
5221
5463
  /**
@@ -5257,6 +5499,51 @@ export declare namespace PBBillboard {
5257
5499
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5258
5500
  }
5259
5501
 
5502
+ /**
5503
+ * @public
5504
+ */
5505
+ export declare interface PBCameraLayer {
5506
+ /**
5507
+ * layer to which these settings apply. must be > 0
5508
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5509
+ */
5510
+ layer: number;
5511
+ /** should the sun light affect this layer? default false */
5512
+ directionalLight?: boolean | undefined;
5513
+ /** should this layer show player avatars? default false */
5514
+ showAvatars?: boolean | undefined;
5515
+ /** should this layer show the sky? default false */
5516
+ showSkybox?: boolean | undefined;
5517
+ /** should this layer show distance fog? default false */
5518
+ showFog?: boolean | undefined;
5519
+ /** ambient light overrides for this layer. default -> use same as main camera */
5520
+ ambientColorOverride?: PBColor3 | undefined;
5521
+ ambientBrightnessOverride?: number | undefined;
5522
+ }
5523
+
5524
+ /**
5525
+ * @public
5526
+ */
5527
+ export declare namespace PBCameraLayer {
5528
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5529
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5530
+ }
5531
+
5532
+ /**
5533
+ * @public
5534
+ */
5535
+ export declare interface PBCameraLayers {
5536
+ layers: number[];
5537
+ }
5538
+
5539
+ /**
5540
+ * @public
5541
+ */
5542
+ export declare namespace PBCameraLayers {
5543
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5544
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5545
+ }
5546
+
5260
5547
  /**
5261
5548
  * The CameraMode component can be used to determine whether the player is using a first-person o
5262
5549
  * third-person view.
@@ -5298,6 +5585,8 @@ export declare interface PBCameraModeArea {
5298
5585
  area: PBVector3 | undefined;
5299
5586
  /** the camera mode to enforce */
5300
5587
  mode: CameraType;
5588
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5589
+ useColliderRange?: boolean | undefined;
5301
5590
  }
5302
5591
 
5303
5592
  /**
@@ -5511,6 +5800,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5511
5800
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5512
5801
  }
5513
5802
 
5803
+ /**
5804
+ * defines the global scene light settings. must be added to the scene root.
5805
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5806
+ */
5807
+ /**
5808
+ * @public
5809
+ */
5810
+ export declare interface PBGlobalLight {
5811
+ /**
5812
+ * the direction the directional light shines in.
5813
+ * default depends on time of day and explorer implementation
5814
+ */
5815
+ direction?: PBVector3 | undefined;
5816
+ /**
5817
+ * ambient light color
5818
+ * default: White
5819
+ */
5820
+ ambientColor?: PBColor3 | undefined;
5821
+ /**
5822
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5823
+ * default 1
5824
+ */
5825
+ ambientBrightness?: number | undefined;
5826
+ }
5827
+
5828
+ /**
5829
+ * @public
5830
+ */
5831
+ export declare namespace PBGlobalLight {
5832
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5833
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5834
+ }
5835
+
5514
5836
  /**
5515
5837
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5516
5838
  *
@@ -5546,6 +5868,25 @@ export declare namespace PBGltfContainer {
5546
5868
  */
5547
5869
  export declare interface PBGltfContainerLoadingState {
5548
5870
  currentState: LoadingState;
5871
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5872
+ nodePaths: string[];
5873
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5874
+ meshNames: string[];
5875
+ /**
5876
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5877
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5878
+ */
5879
+ materialNames: string[];
5880
+ /**
5881
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5882
+ * sure all your materials are explicitly named.
5883
+ */
5884
+ skinNames: string[];
5885
+ /**
5886
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5887
+ * your skins are explicitly named.
5888
+ */
5889
+ animationNames: string[];
5549
5890
  }
5550
5891
 
5551
5892
  /**
@@ -5556,6 +5897,57 @@ export declare namespace PBGltfContainerLoadingState {
5556
5897
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5557
5898
  }
5558
5899
 
5900
+ /**
5901
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5902
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5903
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5904
+ * in the parent.
5905
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5906
+ *
5907
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5908
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5909
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5910
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5911
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5912
+ *
5913
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5914
+ *
5915
+ * From the scene, you can modify various components to alter the gltf node:
5916
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5917
+ * regardless of any intermediate gltf node hierarchy.
5918
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5919
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5920
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5921
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5922
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5923
+ * 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
5924
+ * PBMaterial will be maintained.
5925
+ *
5926
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5927
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5928
+ * change the state to `GNS_FAILED`.
5929
+ * - deleting the scene entity will not delete the gltf node.
5930
+ *
5931
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5932
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5933
+ * the gltf node will also be displayed.
5934
+ */
5935
+ /**
5936
+ * @public
5937
+ */
5938
+ export declare interface PBGltfNode {
5939
+ /** the path of the target node in the Gltf. */
5940
+ path: string;
5941
+ }
5942
+
5943
+ /**
5944
+ * @public
5945
+ */
5946
+ export declare namespace PBGltfNode {
5947
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5948
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5949
+ }
5950
+
5559
5951
  /**
5560
5952
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5561
5953
  *
@@ -5601,6 +5993,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5601
5993
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5602
5994
  }
5603
5995
 
5996
+ /**
5997
+ * The state of a linked gltf node.
5998
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5999
+ */
6000
+ /**
6001
+ * @public
6002
+ */
6003
+ export declare interface PBGltfNodeState {
6004
+ state: GltfNodeStateValue;
6005
+ error?: string | undefined;
6006
+ }
6007
+
6008
+ /**
6009
+ * @public
6010
+ */
6011
+ export declare namespace PBGltfNodeState {
6012
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
6013
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
6014
+ }
6015
+
5604
6016
  /**
5605
6017
  * @public
5606
6018
  */
@@ -5738,6 +6150,14 @@ export declare interface PBMaterial {
5738
6150
  $case: "pbr";
5739
6151
  pbr: PBMaterial_PbrMaterial;
5740
6152
  } | undefined;
6153
+ /**
6154
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
6155
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
6156
+ * supported by the PbMaterial.
6157
+ * If this is provided and the `material` field is not provided, the renderer will update the material
6158
+ * field with data that reflects the gltf material once it is loaded.
6159
+ */
6160
+ gltf?: PBMaterial_GltfMaterial | undefined;
5741
6161
  }
5742
6162
 
5743
6163
  /**
@@ -5748,6 +6168,22 @@ export declare namespace PBMaterial {
5748
6168
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5749
6169
  }
5750
6170
 
6171
+ /**
6172
+ * @public
6173
+ */
6174
+ export declare interface PBMaterial_GltfMaterial {
6175
+ gltfSrc: string;
6176
+ name: string;
6177
+ }
6178
+
6179
+ /**
6180
+ * @public
6181
+ */
6182
+ export declare namespace PBMaterial_GltfMaterial {
6183
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
6184
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
6185
+ }
6186
+
5751
6187
  /**
5752
6188
  * @public
5753
6189
  */
@@ -5844,6 +6280,9 @@ export declare interface PBMeshCollider {
5844
6280
  } | {
5845
6281
  $case: "plane";
5846
6282
  plane: PBMeshCollider_PlaneMesh;
6283
+ } | {
6284
+ $case: "gltf";
6285
+ gltf: PBMeshCollider_GltfMesh;
5847
6286
  } | undefined;
5848
6287
  }
5849
6288
 
@@ -5889,6 +6328,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5889
6328
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5890
6329
  }
5891
6330
 
6331
+ /** A collider constructed from a Gltf Mesh. */
6332
+ /**
6333
+ * @public
6334
+ */
6335
+ export declare interface PBMeshCollider_GltfMesh {
6336
+ /** the GLTF file path as listed in the scene's manifest. */
6337
+ gltfSrc: string;
6338
+ /** the name of the mesh asset */
6339
+ name: string;
6340
+ }
6341
+
6342
+ /**
6343
+ * @public
6344
+ */
6345
+ export declare namespace PBMeshCollider_GltfMesh {
6346
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6347
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6348
+ }
6349
+
5892
6350
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5893
6351
  /**
5894
6352
  * @public
@@ -5921,13 +6379,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5921
6379
 
5922
6380
  /**
5923
6381
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5924
- * plane, a sphere or a cylinder.
6382
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5925
6383
  *
5926
6384
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5927
6385
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5928
6386
  * `float` coordinates, one for each corner of each side of each face.
5929
- *
5930
- * More complex shapes require the use of a `GltfContainer` component.
5931
6387
  */
5932
6388
  /**
5933
6389
  * @public
@@ -5945,6 +6401,9 @@ export declare interface PBMeshRenderer {
5945
6401
  } | {
5946
6402
  $case: "plane";
5947
6403
  plane: PBMeshRenderer_PlaneMesh;
6404
+ } | {
6405
+ $case: "gltf";
6406
+ gltf: PBMeshRenderer_GltfMesh;
5948
6407
  } | undefined;
5949
6408
  }
5950
6409
 
@@ -5992,6 +6451,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5992
6451
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5993
6452
  }
5994
6453
 
6454
+ /** A mesh from a Gltf. */
6455
+ /**
6456
+ * @public
6457
+ */
6458
+ export declare interface PBMeshRenderer_GltfMesh {
6459
+ /** the GLTF file path as listed in the scene's manifest. */
6460
+ gltfSrc: string;
6461
+ /** the name of the mesh asset */
6462
+ name: string;
6463
+ }
6464
+
6465
+ /**
6466
+ * @public
6467
+ */
6468
+ export declare namespace PBMeshRenderer_GltfMesh {
6469
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6470
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6471
+ }
6472
+
5995
6473
  /** PlaneMesh renders a 2D rectangular shape. */
5996
6474
  /**
5997
6475
  * @public
@@ -6588,7 +7066,10 @@ export declare interface PBPrimaryPointerInfo {
6588
7066
  screenCoordinates?: PBVector2 | undefined;
6589
7067
  /** Movement since last frame (pixels) */
6590
7068
  screenDelta?: PBVector2 | undefined;
6591
- /** Direction vector for 3D ray casting */
7069
+ /**
7070
+ * ray direction that can be used with the primary camera origin for
7071
+ * raycasting from the cursor into the world
7072
+ */
6592
7073
  worldRayDirection?: PBVector3 | undefined;
6593
7074
  }
6594
7075
 
@@ -6659,6 +7140,10 @@ export declare interface PBRaycast {
6659
7140
  continuous?: boolean | undefined;
6660
7141
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6661
7142
  collisionMask?: number | undefined;
7143
+ /** shape to cast, default ray */
7144
+ shape?: RaycastShape | undefined;
7145
+ /** include hits with entities from other scenes */
7146
+ includeWorld?: boolean | undefined;
6662
7147
  }
6663
7148
 
6664
7149
  /**
@@ -6816,6 +7301,46 @@ export declare namespace PBTextShape {
6816
7301
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6817
7302
  }
6818
7303
 
7304
+ /**
7305
+ * @public
7306
+ */
7307
+ export declare interface PBTextureCamera {
7308
+ /** rendered texture width */
7309
+ width?: number | undefined;
7310
+ /** rendered texture height */
7311
+ height?: number | undefined;
7312
+ /**
7313
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7314
+ * defaults to 0
7315
+ */
7316
+ layer?: number | undefined;
7317
+ /** default black */
7318
+ clearColor?: PBColor4 | undefined;
7319
+ /** default infinity */
7320
+ farPlane?: number | undefined;
7321
+ mode?: {
7322
+ $case: "perspective";
7323
+ perspective: Perspective;
7324
+ } | {
7325
+ $case: "orthographic";
7326
+ orthographic: Orthographic;
7327
+ } | undefined;
7328
+ /**
7329
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7330
+ * range: 0 (off) - 1 (full volume)
7331
+ * default: 0
7332
+ */
7333
+ volume?: number | undefined;
7334
+ }
7335
+
7336
+ /**
7337
+ * @public
7338
+ */
7339
+ export declare namespace PBTextureCamera {
7340
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7341
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7342
+ }
7343
+
6819
7344
  /**
6820
7345
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6821
7346
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -7061,6 +7586,25 @@ export declare namespace PBUiBackground {
7061
7586
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
7062
7587
  }
7063
7588
 
7589
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7590
+ /**
7591
+ * @public
7592
+ */
7593
+ export declare interface PBUiCanvas {
7594
+ width: number;
7595
+ height: number;
7596
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7597
+ color?: PBColor4 | undefined;
7598
+ }
7599
+
7600
+ /**
7601
+ * @public
7602
+ */
7603
+ export declare namespace PBUiCanvas {
7604
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7605
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7606
+ }
7607
+
7064
7608
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
7065
7609
  /**
7066
7610
  * @public
@@ -7160,6 +7704,10 @@ export declare interface PBUiInput {
7160
7704
  /** default=10 */
7161
7705
  fontSize?: number | undefined;
7162
7706
  value?: string | undefined;
7707
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7708
+ multiLine?: boolean | undefined;
7709
+ /** default=true; when false, the input value is preserved after pressing Enter */
7710
+ clearOnSubmit?: boolean | undefined;
7163
7711
  /** a ttf font file in the scene content or a Google Fonts family name; `font` is the fallback (default: unset) */
7164
7712
  fontSrc?: string | undefined;
7165
7713
  }
@@ -7225,6 +7773,21 @@ export declare namespace PBUiInputResult {
7225
7773
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7226
7774
  }
7227
7775
 
7776
+ /**
7777
+ * @public
7778
+ */
7779
+ export declare interface PBUiScrollResult {
7780
+ value: PBVector2 | undefined;
7781
+ }
7782
+
7783
+ /**
7784
+ * @public
7785
+ */
7786
+ export declare namespace PBUiScrollResult {
7787
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7788
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7789
+ }
7790
+
7228
7791
  /**
7229
7792
  * @public
7230
7793
  */
@@ -7370,6 +7933,12 @@ export declare interface PBUiTransform {
7370
7933
  borderRightColor?: PBColor4 | undefined;
7371
7934
  /** default: 1 */
7372
7935
  opacity?: number | undefined;
7936
+ /** reference for scroll_position. default empty */
7937
+ elementId?: string | undefined;
7938
+ /** default position=(0,0) */
7939
+ scrollPosition?: ScrollPositionValue | undefined;
7940
+ /** default ShowScrollBar.SSB_BOTH */
7941
+ scrollVisible?: ShowScrollBar | undefined;
7373
7942
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7374
7943
  zIndex?: number | undefined;
7375
7944
  }
@@ -7522,6 +8091,25 @@ export declare namespace PBVisibilityComponent {
7522
8091
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7523
8092
  }
7524
8093
 
8094
+ /**
8095
+ * @public
8096
+ */
8097
+ export declare interface Perspective {
8098
+ /**
8099
+ * vertical field of view in radians
8100
+ * defaults to pi/4 = 45 degrees
8101
+ */
8102
+ fieldOfView?: number | undefined;
8103
+ }
8104
+
8105
+ /**
8106
+ * @public
8107
+ */
8108
+ export declare namespace Perspective {
8109
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
8110
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
8111
+ }
8112
+
7525
8113
  /**
7526
8114
  * @public
7527
8115
  * Physics helpers for applying impulses and forces to the player.
@@ -7763,6 +8351,24 @@ export declare interface PointerEventsSystem {
7763
8351
  * @param entity - Entity where the callback was attached
7764
8352
  */
7765
8353
  removeOnPointerHoverLeave(entity: Entity): void;
8354
+ /**
8355
+ * @public
8356
+ * Remove the callback for onPointerDrag event
8357
+ * @param entity - Entity where the callback was attached
8358
+ */
8359
+ removeOnPointerDrag(entity: Entity): void;
8360
+ /**
8361
+ * @public
8362
+ * Remove the callback for onPointerDragLocked event
8363
+ * @param entity - Entity where the callback was attached
8364
+ */
8365
+ removeOnPointerDragLocked(entity: Entity): void;
8366
+ /**
8367
+ * @public
8368
+ * Remove the callback for onPointerDragEnd event
8369
+ * @param entity - Entity where the callback was attached
8370
+ */
8371
+ removeOnPointerDragEnd(entity: Entity): void;
7766
8372
  /**
7767
8373
  * @public
7768
8374
  * Remove the callback for onProximityDown event
@@ -7841,6 +8447,36 @@ export declare interface PointerEventsSystem {
7841
8447
  entity: Entity;
7842
8448
  opts?: Partial<EventSystemOptions>;
7843
8449
  }, cb: EventSystemCallback): void;
8450
+ /**
8451
+ * @public
8452
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8453
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8454
+ * @param cb - Function to execute on every drag update
8455
+ */
8456
+ onPointerDrag(pointerData: {
8457
+ entity: Entity;
8458
+ opts?: Partial<EventSystemOptions>;
8459
+ }, cb: EventSystemCallback): void;
8460
+ /**
8461
+ * @public
8462
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8463
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8464
+ * @param cb - Function to execute on every drag update
8465
+ */
8466
+ onPointerDragLocked(pointerData: {
8467
+ entity: Entity;
8468
+ opts?: Partial<EventSystemOptions>;
8469
+ }, cb: EventSystemCallback): void;
8470
+ /**
8471
+ * @public
8472
+ * Execute callback when the user releases the button after a drag that started on the entity
8473
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8474
+ * @param cb - Function to execute when the drag ends
8475
+ */
8476
+ onPointerDragEnd(pointerData: {
8477
+ entity: Entity;
8478
+ opts?: Partial<EventSystemOptions>;
8479
+ }, cb: EventSystemCallback): void;
7844
8480
  /**
7845
8481
  * @public
7846
8482
  * Execute callback when the user presses the proximity button on the entity
@@ -7899,7 +8535,10 @@ export declare const enum PointerEventType {
7899
8535
  PET_HOVER_ENTER = 2,
7900
8536
  PET_HOVER_LEAVE = 3,
7901
8537
  PET_PROXIMITY_ENTER = 4,
7902
- PET_PROXIMITY_LEAVE = 5
8538
+ PET_PROXIMITY_LEAVE = 5,
8539
+ PET_DRAG_LOCKED = 6,
8540
+ PET_DRAG = 7,
8541
+ PET_DRAG_END = 8
7903
8542
  }
7904
8543
 
7905
8544
  /**
@@ -7930,7 +8569,10 @@ export declare const enum PointerType {
7930
8569
  /** POT_NONE - No pointer input */
7931
8570
  POT_NONE = 0,
7932
8571
  /** POT_MOUSE - Traditional mouse input */
7933
- POT_MOUSE = 1
8572
+ POT_MOUSE = 1,
8573
+ POT_PAD = 2,
8574
+ POT_TOUCH = 3,
8575
+ POT_WAND = 4
7934
8576
  }
7935
8577
 
7936
8578
  /**
@@ -8387,6 +9029,16 @@ export declare const enum RaycastQueryType {
8387
9029
  /** @public */
8388
9030
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8389
9031
 
9032
+ /**
9033
+ * @public
9034
+ */
9035
+ export declare const enum RaycastShape {
9036
+ /** RS_RAY - cast a point, get collisions along a ray */
9037
+ RS_RAY = 0,
9038
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
9039
+ RS_AVATAR = 1
9040
+ }
9041
+
8390
9042
  /**
8391
9043
  * @public
8392
9044
  */
@@ -8519,6 +9171,10 @@ export declare type RaycastSystemOptions = {
8519
9171
  queryType: RaycastQueryType;
8520
9172
  continuous?: boolean | undefined;
8521
9173
  collisionMask?: number | undefined;
9174
+ /** shape to sweep along the ray, default RS_RAY (a point) */
9175
+ shape?: RaycastShape | undefined;
9176
+ /** include colliders from other scenes, default false */
9177
+ includeWorld?: boolean | undefined;
8522
9178
  };
8523
9179
 
8524
9180
  /**
@@ -8567,6 +9223,20 @@ export declare interface ReactBasedUiSystem {
8567
9223
  * @param entity - The entity whose UI renderer should be removed
8568
9224
  */
8569
9225
  removeUiRenderer(entity: Entity): void;
9226
+ /**
9227
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9228
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9229
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9230
+ *
9231
+ * @param entity - The UiCanvas entity the UI tree hangs from
9232
+ * @param ui - The UI component to render
9233
+ */
9234
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9235
+ /**
9236
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9237
+ * @param entity - The UiCanvas entity the renderer was set on
9238
+ */
9239
+ removeTextureRenderer(entity: Entity): void;
8570
9240
  }
8571
9241
 
8572
9242
  /**
@@ -9157,6 +9827,33 @@ export declare namespace Schemas {
9157
9827
  */
9158
9828
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9159
9829
 
9830
+ /**
9831
+ * @public
9832
+ */
9833
+ export declare interface ScrollPositionValue {
9834
+ value?: {
9835
+ $case: "position";
9836
+ position: PBVector2;
9837
+ } | {
9838
+ $case: "reference";
9839
+ reference: string;
9840
+ } | undefined;
9841
+ }
9842
+
9843
+ /**
9844
+ * @public
9845
+ */
9846
+ export declare namespace ScrollPositionValue {
9847
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9848
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9849
+ }
9850
+
9851
+ /**
9852
+ * Which scrollbars are shown when the overflow is scrollable
9853
+ * @public
9854
+ */
9855
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9856
+
9160
9857
  /**
9161
9858
  * Register the composite provider used to resolve composite files. Also registers
9162
9859
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9182,6 +9879,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9182
9879
  easingFunction?: EasingFunction;
9183
9880
  }
9184
9881
 
9882
+ /**
9883
+ * @public
9884
+ */
9885
+ export declare const enum ShowScrollBar {
9886
+ SSB_BOTH = 0,
9887
+ SSB_ONLY_VERTICAL = 1,
9888
+ SSB_ONLY_HORIZONTAL = 2,
9889
+ SSB_HIDDEN = 3
9890
+ }
9891
+
9185
9892
  /** @public */
9186
9893
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9187
9894
 
@@ -9293,6 +10000,9 @@ export declare namespace Texture {
9293
10000
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9294
10001
  }
9295
10002
 
10003
+ /** @public */
10004
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
10005
+
9296
10006
  /**
9297
10007
  * @public
9298
10008
  */
@@ -9403,6 +10113,9 @@ export declare interface TextureUnion {
9403
10113
  } | {
9404
10114
  $case: "videoTexture";
9405
10115
  videoTexture: VideoTexture;
10116
+ } | {
10117
+ $case: "uiTexture";
10118
+ uiTexture: UiCanvasTexture;
9406
10119
  } | undefined;
9407
10120
  }
9408
10121
 
@@ -9951,6 +10664,8 @@ export declare interface UiBackgroundProps {
9951
10664
  uvs?: number[];
9952
10665
  /** AvatarTexture for the background */
9953
10666
  avatarTexture?: UiAvatarTexture;
10667
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10668
+ videoTexture?: UiVideoTexture;
9954
10669
  /** Texture for the background */
9955
10670
  texture?: UiTexture;
9956
10671
  }
@@ -9970,9 +10685,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9970
10685
  disabled?: boolean;
9971
10686
  }
9972
10687
 
10688
+ /** @public */
10689
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10690
+
9973
10691
  /** @public */
9974
10692
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9975
10693
 
10694
+ /**
10695
+ * @public
10696
+ */
10697
+ export declare interface UiCanvasTexture {
10698
+ uiCanvasEntity: number;
10699
+ /** default = TextureWrapMode.Clamp */
10700
+ wrapMode?: TextureWrapMode | undefined;
10701
+ /** default = FilterMode.Bilinear */
10702
+ filterMode?: TextureFilterMode | undefined;
10703
+ }
10704
+
10705
+ /**
10706
+ * @public
10707
+ */
10708
+ export declare namespace UiCanvasTexture {
10709
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10710
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10711
+ }
10712
+
9976
10713
  /**
9977
10714
  * @public
9978
10715
  */
@@ -10068,7 +10805,7 @@ export declare interface UiLabelProps {
10068
10805
  textAlign?: TextAlignType | undefined;
10069
10806
  /** Label font type. @defaultValue 'sans-serif' */
10070
10807
  font?: UiFontType | undefined;
10071
- /** Path to a `.ttf` file in the scene content. `font` is used when it can't be loaded. */
10808
+ /** A `.ttf` file in the scene content, or a Google Fonts family name. `font` is used when it can't be loaded. */
10072
10809
  fontSrc?: string | undefined;
10073
10810
  /** Behaviour when text reached. @defaultValue 'wrap' */
10074
10811
  textWrap?: UiTextWrapType | undefined;
@@ -10138,6 +10875,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
10138
10875
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
10139
10876
  };
10140
10877
 
10878
+ /** @public */
10879
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10880
+
10141
10881
  /** @public */
10142
10882
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
10143
10883
 
@@ -10217,6 +10957,22 @@ export declare interface UiTransformProps {
10217
10957
  opacity?: number;
10218
10958
  /** default 0 */
10219
10959
  zIndex?: number;
10960
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10961
+ elementId?: string;
10962
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10963
+ scrollPosition?: PBVector2 | string;
10964
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10965
+ scrollVisible?: ScrollVisibleType;
10966
+ }
10967
+
10968
+ /**
10969
+ * Video Texture
10970
+ * @public
10971
+ */
10972
+ export declare interface UiVideoTexture {
10973
+ videoPlayerEntity: Entity;
10974
+ wrapMode?: TextureWrapType;
10975
+ filterMode?: TextureFilterType;
10220
10976
  }
10221
10977
 
10222
10978
  /**