@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/beta.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
  */
@@ -3277,6 +3380,12 @@ export declare type Listeners = {
3277
3380
  onMouseEnter?: Callback;
3278
3381
  /** triggered on mouse leave event */
3279
3382
  onMouseLeave?: Callback;
3383
+ /** triggered while the pointer is dragged after pressing on the element */
3384
+ onMouseDrag?: Callback;
3385
+ /** triggered while the pointer is dragged with the cursor locked in place */
3386
+ onMouseDragLocked?: Callback;
3387
+ /** triggered when a drag that started on the element ends */
3388
+ onMouseDragEnd?: Callback;
3280
3389
  };
3281
3390
 
3282
3391
  /**
@@ -4181,6 +4290,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4181
4290
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4182
4291
  */
4183
4292
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4293
+ /**
4294
+ * @public
4295
+ * Set a mesh from inside a gltf in the MeshCollider component
4296
+ * @param entity - entity to create or replace the MeshCollider component
4297
+ * @param source - the path to the gltf
4298
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4299
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4300
+ */
4301
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4184
4302
  }
4185
4303
 
4186
4304
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4217,6 +4335,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4217
4335
  * @param entity - entity to create or replace the MeshRenderer component
4218
4336
  */
4219
4337
  setSphere(entity: Entity): void;
4338
+ /**
4339
+ * @public
4340
+ * Set a mesh from inside a gltf in the MeshRenderer component
4341
+ * @param entity - entity to create or replace the MeshRenderer component
4342
+ * @param source - the path to the gltf
4343
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4344
+ */
4345
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4220
4346
  }
4221
4347
 
4222
4348
  /* Excluded from this release type: MessageBus */
@@ -4254,6 +4380,39 @@ export declare namespace MoveContinuous {
4254
4380
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4255
4381
  }
4256
4382
 
4383
+ /**
4384
+ * Describes the animation the movement scene wants the avatar to play.
4385
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4386
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4387
+ */
4388
+ /**
4389
+ * @public
4390
+ */
4391
+ export declare interface MovementAnimation {
4392
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4393
+ src: string;
4394
+ /** whether the clip repeats once it reaches the end */
4395
+ loop: boolean;
4396
+ /** playback speed multiplier (1.0 = clip's native rate) */
4397
+ speed: number;
4398
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4399
+ idle: boolean;
4400
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4401
+ transitionSeconds?: number | undefined;
4402
+ /** 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. */
4403
+ playbackTime?: number | undefined;
4404
+ /** 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). */
4405
+ sounds: string[];
4406
+ }
4407
+
4408
+ /**
4409
+ * @public
4410
+ */
4411
+ export declare namespace MovementAnimation {
4412
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4413
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4414
+ }
4415
+
4257
4416
  /**
4258
4417
  * @public
4259
4418
  */
@@ -4669,6 +4828,25 @@ export declare const onVideoEvent: Observable<{
4669
4828
  totalVideoLength: number;
4670
4829
  }>;
4671
4830
 
4831
+ /**
4832
+ * @public
4833
+ */
4834
+ export declare interface Orthographic {
4835
+ /**
4836
+ * vertical extent of the visible range in meters
4837
+ * defaults to 4m
4838
+ */
4839
+ verticalRange?: number | undefined;
4840
+ }
4841
+
4842
+ /**
4843
+ * @public
4844
+ */
4845
+ export declare namespace Orthographic {
4846
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4847
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4848
+ }
4849
+
4672
4850
  /**
4673
4851
  * @public
4674
4852
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -5018,6 +5196,8 @@ export declare namespace PBAvatarEmoteCommand {
5018
5196
  export declare interface PBAvatarEquippedData {
5019
5197
  wearableUrns: string[];
5020
5198
  emoteUrns: string[];
5199
+ /** slots that will render even if hidden */
5200
+ forceRender: string[];
5021
5201
  }
5022
5202
 
5023
5203
  /**
@@ -5088,6 +5268,8 @@ export declare interface PBAvatarModifierArea {
5088
5268
  excludeIds: string[];
5089
5269
  /** list of modifiers to apply */
5090
5270
  modifiers: AvatarModifierType[];
5271
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5272
+ useColliderRange?: boolean | undefined;
5091
5273
  }
5092
5274
 
5093
5275
  /**
@@ -5098,6 +5280,64 @@ export declare namespace PBAvatarModifierArea {
5098
5280
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5099
5281
  }
5100
5282
 
5283
+ /**
5284
+ * @public
5285
+ */
5286
+ export declare interface PBAvatarMovement {
5287
+ velocity: PBVector3 | undefined;
5288
+ /** 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. */
5289
+ orientation: number;
5290
+ groundDirection?: PBVector3 | undefined;
5291
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5292
+ walkSuccess?: boolean | undefined;
5293
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5294
+ animation?: MovementAnimation | undefined;
5295
+ /** 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. */
5296
+ tiltPitch?: number | undefined;
5297
+ /** 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. */
5298
+ tiltRoll?: number | undefined;
5299
+ }
5300
+
5301
+ /**
5302
+ * @public
5303
+ */
5304
+ export declare namespace PBAvatarMovement {
5305
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5306
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5307
+ }
5308
+
5309
+ /**
5310
+ * @public
5311
+ */
5312
+ export declare interface PBAvatarMovementInfo {
5313
+ /** the length of time the current step velocity will apply for */
5314
+ stepTime: number;
5315
+ /** the length of time the previous step velocity applied for */
5316
+ previousStepTime: number;
5317
+ /** the velocity requested for the previous frame */
5318
+ requestedVelocity: PBVector3 | undefined;
5319
+ /** the resulting velocity taking collisions into account */
5320
+ actualVelocity: PBVector3 | undefined;
5321
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5322
+ externalVelocity: PBVector3 | undefined;
5323
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5324
+ activeInputModifier: PBInputModifier | undefined;
5325
+ /** if set, the movement scene should walk the player to this scene-relative position */
5326
+ walkTarget?: PBVector3 | undefined;
5327
+ /** stop distance for walk_target; considered reached when within this distance */
5328
+ walkThreshold?: number | undefined;
5329
+ /** 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. */
5330
+ activeAnimationState?: AvatarAnimationState | undefined;
5331
+ }
5332
+
5333
+ /**
5334
+ * @public
5335
+ */
5336
+ export declare namespace PBAvatarMovementInfo {
5337
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5338
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5339
+ }
5340
+
5101
5341
  /**
5102
5342
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5103
5343
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5188,6 +5428,8 @@ export declare interface PBAvatarShape {
5188
5428
  emotes: string[];
5189
5429
  /** hides the skin + hair + facial features (default: false) */
5190
5430
  showOnlyWearables?: boolean | undefined;
5431
+ /** slots that will render even if hidden */
5432
+ forceRender: string[];
5191
5433
  }
5192
5434
 
5193
5435
  /**
@@ -5229,6 +5471,51 @@ export declare namespace PBBillboard {
5229
5471
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5230
5472
  }
5231
5473
 
5474
+ /**
5475
+ * @public
5476
+ */
5477
+ export declare interface PBCameraLayer {
5478
+ /**
5479
+ * layer to which these settings apply. must be > 0
5480
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5481
+ */
5482
+ layer: number;
5483
+ /** should the sun light affect this layer? default false */
5484
+ directionalLight?: boolean | undefined;
5485
+ /** should this layer show player avatars? default false */
5486
+ showAvatars?: boolean | undefined;
5487
+ /** should this layer show the sky? default false */
5488
+ showSkybox?: boolean | undefined;
5489
+ /** should this layer show distance fog? default false */
5490
+ showFog?: boolean | undefined;
5491
+ /** ambient light overrides for this layer. default -> use same as main camera */
5492
+ ambientColorOverride?: PBColor3 | undefined;
5493
+ ambientBrightnessOverride?: number | undefined;
5494
+ }
5495
+
5496
+ /**
5497
+ * @public
5498
+ */
5499
+ export declare namespace PBCameraLayer {
5500
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5501
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5502
+ }
5503
+
5504
+ /**
5505
+ * @public
5506
+ */
5507
+ export declare interface PBCameraLayers {
5508
+ layers: number[];
5509
+ }
5510
+
5511
+ /**
5512
+ * @public
5513
+ */
5514
+ export declare namespace PBCameraLayers {
5515
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5516
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5517
+ }
5518
+
5232
5519
  /**
5233
5520
  * The CameraMode component can be used to determine whether the player is using a first-person o
5234
5521
  * third-person view.
@@ -5270,6 +5557,8 @@ export declare interface PBCameraModeArea {
5270
5557
  area: PBVector3 | undefined;
5271
5558
  /** the camera mode to enforce */
5272
5559
  mode: CameraType;
5560
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5561
+ useColliderRange?: boolean | undefined;
5273
5562
  }
5274
5563
 
5275
5564
  /**
@@ -5483,6 +5772,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5483
5772
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5484
5773
  }
5485
5774
 
5775
+ /**
5776
+ * defines the global scene light settings. must be added to the scene root.
5777
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5778
+ */
5779
+ /**
5780
+ * @public
5781
+ */
5782
+ export declare interface PBGlobalLight {
5783
+ /**
5784
+ * the direction the directional light shines in.
5785
+ * default depends on time of day and explorer implementation
5786
+ */
5787
+ direction?: PBVector3 | undefined;
5788
+ /**
5789
+ * ambient light color
5790
+ * default: White
5791
+ */
5792
+ ambientColor?: PBColor3 | undefined;
5793
+ /**
5794
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5795
+ * default 1
5796
+ */
5797
+ ambientBrightness?: number | undefined;
5798
+ }
5799
+
5800
+ /**
5801
+ * @public
5802
+ */
5803
+ export declare namespace PBGlobalLight {
5804
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5805
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5806
+ }
5807
+
5486
5808
  /**
5487
5809
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5488
5810
  *
@@ -5518,6 +5840,25 @@ export declare namespace PBGltfContainer {
5518
5840
  */
5519
5841
  export declare interface PBGltfContainerLoadingState {
5520
5842
  currentState: LoadingState;
5843
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5844
+ nodePaths: string[];
5845
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5846
+ meshNames: string[];
5847
+ /**
5848
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5849
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5850
+ */
5851
+ materialNames: string[];
5852
+ /**
5853
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5854
+ * sure all your materials are explicitly named.
5855
+ */
5856
+ skinNames: string[];
5857
+ /**
5858
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5859
+ * your skins are explicitly named.
5860
+ */
5861
+ animationNames: string[];
5521
5862
  }
5522
5863
 
5523
5864
  /**
@@ -5528,6 +5869,57 @@ export declare namespace PBGltfContainerLoadingState {
5528
5869
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5529
5870
  }
5530
5871
 
5872
+ /**
5873
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5874
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5875
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5876
+ * in the parent.
5877
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5878
+ *
5879
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5880
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5881
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5882
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5883
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5884
+ *
5885
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5886
+ *
5887
+ * From the scene, you can modify various components to alter the gltf node:
5888
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5889
+ * regardless of any intermediate gltf node hierarchy.
5890
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5891
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5892
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5893
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5894
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5895
+ * 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
5896
+ * PBMaterial will be maintained.
5897
+ *
5898
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5899
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5900
+ * change the state to `GNS_FAILED`.
5901
+ * - deleting the scene entity will not delete the gltf node.
5902
+ *
5903
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5904
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5905
+ * the gltf node will also be displayed.
5906
+ */
5907
+ /**
5908
+ * @public
5909
+ */
5910
+ export declare interface PBGltfNode {
5911
+ /** the path of the target node in the Gltf. */
5912
+ path: string;
5913
+ }
5914
+
5915
+ /**
5916
+ * @public
5917
+ */
5918
+ export declare namespace PBGltfNode {
5919
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5920
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5921
+ }
5922
+
5531
5923
  /**
5532
5924
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5533
5925
  *
@@ -5573,6 +5965,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5573
5965
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5574
5966
  }
5575
5967
 
5968
+ /**
5969
+ * The state of a linked gltf node.
5970
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5971
+ */
5972
+ /**
5973
+ * @public
5974
+ */
5975
+ export declare interface PBGltfNodeState {
5976
+ state: GltfNodeStateValue;
5977
+ error?: string | undefined;
5978
+ }
5979
+
5980
+ /**
5981
+ * @public
5982
+ */
5983
+ export declare namespace PBGltfNodeState {
5984
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5985
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5986
+ }
5987
+
5576
5988
  /**
5577
5989
  * @public
5578
5990
  */
@@ -5710,6 +6122,14 @@ export declare interface PBMaterial {
5710
6122
  $case: "pbr";
5711
6123
  pbr: PBMaterial_PbrMaterial;
5712
6124
  } | undefined;
6125
+ /**
6126
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
6127
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
6128
+ * supported by the PbMaterial.
6129
+ * If this is provided and the `material` field is not provided, the renderer will update the material
6130
+ * field with data that reflects the gltf material once it is loaded.
6131
+ */
6132
+ gltf?: PBMaterial_GltfMaterial | undefined;
5713
6133
  }
5714
6134
 
5715
6135
  /**
@@ -5720,6 +6140,22 @@ export declare namespace PBMaterial {
5720
6140
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5721
6141
  }
5722
6142
 
6143
+ /**
6144
+ * @public
6145
+ */
6146
+ export declare interface PBMaterial_GltfMaterial {
6147
+ gltfSrc: string;
6148
+ name: string;
6149
+ }
6150
+
6151
+ /**
6152
+ * @public
6153
+ */
6154
+ export declare namespace PBMaterial_GltfMaterial {
6155
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
6156
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
6157
+ }
6158
+
5723
6159
  /**
5724
6160
  * @public
5725
6161
  */
@@ -5816,6 +6252,9 @@ export declare interface PBMeshCollider {
5816
6252
  } | {
5817
6253
  $case: "plane";
5818
6254
  plane: PBMeshCollider_PlaneMesh;
6255
+ } | {
6256
+ $case: "gltf";
6257
+ gltf: PBMeshCollider_GltfMesh;
5819
6258
  } | undefined;
5820
6259
  }
5821
6260
 
@@ -5861,6 +6300,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5861
6300
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5862
6301
  }
5863
6302
 
6303
+ /** A collider constructed from a Gltf Mesh. */
6304
+ /**
6305
+ * @public
6306
+ */
6307
+ export declare interface PBMeshCollider_GltfMesh {
6308
+ /** the GLTF file path as listed in the scene's manifest. */
6309
+ gltfSrc: string;
6310
+ /** the name of the mesh asset */
6311
+ name: string;
6312
+ }
6313
+
6314
+ /**
6315
+ * @public
6316
+ */
6317
+ export declare namespace PBMeshCollider_GltfMesh {
6318
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6319
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6320
+ }
6321
+
5864
6322
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5865
6323
  /**
5866
6324
  * @public
@@ -5893,13 +6351,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5893
6351
 
5894
6352
  /**
5895
6353
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5896
- * plane, a sphere or a cylinder.
6354
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5897
6355
  *
5898
6356
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5899
6357
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5900
6358
  * `float` coordinates, one for each corner of each side of each face.
5901
- *
5902
- * More complex shapes require the use of a `GltfContainer` component.
5903
6359
  */
5904
6360
  /**
5905
6361
  * @public
@@ -5917,6 +6373,9 @@ export declare interface PBMeshRenderer {
5917
6373
  } | {
5918
6374
  $case: "plane";
5919
6375
  plane: PBMeshRenderer_PlaneMesh;
6376
+ } | {
6377
+ $case: "gltf";
6378
+ gltf: PBMeshRenderer_GltfMesh;
5920
6379
  } | undefined;
5921
6380
  }
5922
6381
 
@@ -5964,6 +6423,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5964
6423
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5965
6424
  }
5966
6425
 
6426
+ /** A mesh from a Gltf. */
6427
+ /**
6428
+ * @public
6429
+ */
6430
+ export declare interface PBMeshRenderer_GltfMesh {
6431
+ /** the GLTF file path as listed in the scene's manifest. */
6432
+ gltfSrc: string;
6433
+ /** the name of the mesh asset */
6434
+ name: string;
6435
+ }
6436
+
6437
+ /**
6438
+ * @public
6439
+ */
6440
+ export declare namespace PBMeshRenderer_GltfMesh {
6441
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6442
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6443
+ }
6444
+
5967
6445
  /** PlaneMesh renders a 2D rectangular shape. */
5968
6446
  /**
5969
6447
  * @public
@@ -6560,7 +7038,10 @@ export declare interface PBPrimaryPointerInfo {
6560
7038
  screenCoordinates?: PBVector2 | undefined;
6561
7039
  /** Movement since last frame (pixels) */
6562
7040
  screenDelta?: PBVector2 | undefined;
6563
- /** Direction vector for 3D ray casting */
7041
+ /**
7042
+ * ray direction that can be used with the primary camera origin for
7043
+ * raycasting from the cursor into the world
7044
+ */
6564
7045
  worldRayDirection?: PBVector3 | undefined;
6565
7046
  }
6566
7047
 
@@ -6631,6 +7112,10 @@ export declare interface PBRaycast {
6631
7112
  continuous?: boolean | undefined;
6632
7113
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6633
7114
  collisionMask?: number | undefined;
7115
+ /** shape to cast, default ray */
7116
+ shape?: RaycastShape | undefined;
7117
+ /** include hits with entities from other scenes */
7118
+ includeWorld?: boolean | undefined;
6634
7119
  }
6635
7120
 
6636
7121
  /**
@@ -6788,6 +7273,46 @@ export declare namespace PBTextShape {
6788
7273
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6789
7274
  }
6790
7275
 
7276
+ /**
7277
+ * @public
7278
+ */
7279
+ export declare interface PBTextureCamera {
7280
+ /** rendered texture width */
7281
+ width?: number | undefined;
7282
+ /** rendered texture height */
7283
+ height?: number | undefined;
7284
+ /**
7285
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7286
+ * defaults to 0
7287
+ */
7288
+ layer?: number | undefined;
7289
+ /** default black */
7290
+ clearColor?: PBColor4 | undefined;
7291
+ /** default infinity */
7292
+ farPlane?: number | undefined;
7293
+ mode?: {
7294
+ $case: "perspective";
7295
+ perspective: Perspective;
7296
+ } | {
7297
+ $case: "orthographic";
7298
+ orthographic: Orthographic;
7299
+ } | undefined;
7300
+ /**
7301
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7302
+ * range: 0 (off) - 1 (full volume)
7303
+ * default: 0
7304
+ */
7305
+ volume?: number | undefined;
7306
+ }
7307
+
7308
+ /**
7309
+ * @public
7310
+ */
7311
+ export declare namespace PBTextureCamera {
7312
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7313
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7314
+ }
7315
+
6791
7316
  /**
6792
7317
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6793
7318
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -7033,6 +7558,25 @@ export declare namespace PBUiBackground {
7033
7558
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
7034
7559
  }
7035
7560
 
7561
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7562
+ /**
7563
+ * @public
7564
+ */
7565
+ export declare interface PBUiCanvas {
7566
+ width: number;
7567
+ height: number;
7568
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7569
+ color?: PBColor4 | undefined;
7570
+ }
7571
+
7572
+ /**
7573
+ * @public
7574
+ */
7575
+ export declare namespace PBUiCanvas {
7576
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7577
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7578
+ }
7579
+
7036
7580
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
7037
7581
  /**
7038
7582
  * @public
@@ -7132,6 +7676,10 @@ export declare interface PBUiInput {
7132
7676
  /** default=10 */
7133
7677
  fontSize?: number | undefined;
7134
7678
  value?: string | undefined;
7679
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7680
+ multiLine?: boolean | undefined;
7681
+ /** default=true; when false, the input value is preserved after pressing Enter */
7682
+ clearOnSubmit?: boolean | undefined;
7135
7683
  /** a ttf font file in the scene content or a Google Fonts family name; `font` is the fallback (default: unset) */
7136
7684
  fontSrc?: string | undefined;
7137
7685
  }
@@ -7197,6 +7745,21 @@ export declare namespace PBUiInputResult {
7197
7745
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7198
7746
  }
7199
7747
 
7748
+ /**
7749
+ * @public
7750
+ */
7751
+ export declare interface PBUiScrollResult {
7752
+ value: PBVector2 | undefined;
7753
+ }
7754
+
7755
+ /**
7756
+ * @public
7757
+ */
7758
+ export declare namespace PBUiScrollResult {
7759
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7760
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7761
+ }
7762
+
7200
7763
  /**
7201
7764
  * @public
7202
7765
  */
@@ -7342,6 +7905,12 @@ export declare interface PBUiTransform {
7342
7905
  borderRightColor?: PBColor4 | undefined;
7343
7906
  /** default: 1 */
7344
7907
  opacity?: number | undefined;
7908
+ /** reference for scroll_position. default empty */
7909
+ elementId?: string | undefined;
7910
+ /** default position=(0,0) */
7911
+ scrollPosition?: ScrollPositionValue | undefined;
7912
+ /** default ShowScrollBar.SSB_BOTH */
7913
+ scrollVisible?: ShowScrollBar | undefined;
7345
7914
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7346
7915
  zIndex?: number | undefined;
7347
7916
  }
@@ -7494,6 +8063,25 @@ export declare namespace PBVisibilityComponent {
7494
8063
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7495
8064
  }
7496
8065
 
8066
+ /**
8067
+ * @public
8068
+ */
8069
+ export declare interface Perspective {
8070
+ /**
8071
+ * vertical field of view in radians
8072
+ * defaults to pi/4 = 45 degrees
8073
+ */
8074
+ fieldOfView?: number | undefined;
8075
+ }
8076
+
8077
+ /**
8078
+ * @public
8079
+ */
8080
+ export declare namespace Perspective {
8081
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
8082
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
8083
+ }
8084
+
7497
8085
  /**
7498
8086
  * @public
7499
8087
  * Physics helpers for applying impulses and forces to the player.
@@ -7735,6 +8323,24 @@ export declare interface PointerEventsSystem {
7735
8323
  * @param entity - Entity where the callback was attached
7736
8324
  */
7737
8325
  removeOnPointerHoverLeave(entity: Entity): void;
8326
+ /**
8327
+ * @public
8328
+ * Remove the callback for onPointerDrag event
8329
+ * @param entity - Entity where the callback was attached
8330
+ */
8331
+ removeOnPointerDrag(entity: Entity): void;
8332
+ /**
8333
+ * @public
8334
+ * Remove the callback for onPointerDragLocked event
8335
+ * @param entity - Entity where the callback was attached
8336
+ */
8337
+ removeOnPointerDragLocked(entity: Entity): void;
8338
+ /**
8339
+ * @public
8340
+ * Remove the callback for onPointerDragEnd event
8341
+ * @param entity - Entity where the callback was attached
8342
+ */
8343
+ removeOnPointerDragEnd(entity: Entity): void;
7738
8344
  /**
7739
8345
  * @public
7740
8346
  * Remove the callback for onProximityDown event
@@ -7813,6 +8419,36 @@ export declare interface PointerEventsSystem {
7813
8419
  entity: Entity;
7814
8420
  opts?: Partial<EventSystemOptions>;
7815
8421
  }, cb: EventSystemCallback): void;
8422
+ /**
8423
+ * @public
8424
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8425
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8426
+ * @param cb - Function to execute on every drag update
8427
+ */
8428
+ onPointerDrag(pointerData: {
8429
+ entity: Entity;
8430
+ opts?: Partial<EventSystemOptions>;
8431
+ }, cb: EventSystemCallback): void;
8432
+ /**
8433
+ * @public
8434
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8435
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8436
+ * @param cb - Function to execute on every drag update
8437
+ */
8438
+ onPointerDragLocked(pointerData: {
8439
+ entity: Entity;
8440
+ opts?: Partial<EventSystemOptions>;
8441
+ }, cb: EventSystemCallback): void;
8442
+ /**
8443
+ * @public
8444
+ * Execute callback when the user releases the button after a drag that started on the entity
8445
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8446
+ * @param cb - Function to execute when the drag ends
8447
+ */
8448
+ onPointerDragEnd(pointerData: {
8449
+ entity: Entity;
8450
+ opts?: Partial<EventSystemOptions>;
8451
+ }, cb: EventSystemCallback): void;
7816
8452
  /**
7817
8453
  * @public
7818
8454
  * Execute callback when the user presses the proximity button on the entity
@@ -7871,7 +8507,10 @@ export declare const enum PointerEventType {
7871
8507
  PET_HOVER_ENTER = 2,
7872
8508
  PET_HOVER_LEAVE = 3,
7873
8509
  PET_PROXIMITY_ENTER = 4,
7874
- PET_PROXIMITY_LEAVE = 5
8510
+ PET_PROXIMITY_LEAVE = 5,
8511
+ PET_DRAG_LOCKED = 6,
8512
+ PET_DRAG = 7,
8513
+ PET_DRAG_END = 8
7875
8514
  }
7876
8515
 
7877
8516
  /**
@@ -7902,7 +8541,10 @@ export declare const enum PointerType {
7902
8541
  /** POT_NONE - No pointer input */
7903
8542
  POT_NONE = 0,
7904
8543
  /** POT_MOUSE - Traditional mouse input */
7905
- POT_MOUSE = 1
8544
+ POT_MOUSE = 1,
8545
+ POT_PAD = 2,
8546
+ POT_TOUCH = 3,
8547
+ POT_WAND = 4
7906
8548
  }
7907
8549
 
7908
8550
  /**
@@ -8359,6 +9001,16 @@ export declare const enum RaycastQueryType {
8359
9001
  /** @public */
8360
9002
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8361
9003
 
9004
+ /**
9005
+ * @public
9006
+ */
9007
+ export declare const enum RaycastShape {
9008
+ /** RS_RAY - cast a point, get collisions along a ray */
9009
+ RS_RAY = 0,
9010
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
9011
+ RS_AVATAR = 1
9012
+ }
9013
+
8362
9014
  /**
8363
9015
  * @public
8364
9016
  */
@@ -8491,6 +9143,10 @@ export declare type RaycastSystemOptions = {
8491
9143
  queryType: RaycastQueryType;
8492
9144
  continuous?: boolean | undefined;
8493
9145
  collisionMask?: number | undefined;
9146
+ /** shape to sweep along the ray, default RS_RAY (a point) */
9147
+ shape?: RaycastShape | undefined;
9148
+ /** include colliders from other scenes, default false */
9149
+ includeWorld?: boolean | undefined;
8494
9150
  };
8495
9151
 
8496
9152
  /**
@@ -8539,6 +9195,20 @@ export declare interface ReactBasedUiSystem {
8539
9195
  * @param entity - The entity whose UI renderer should be removed
8540
9196
  */
8541
9197
  removeUiRenderer(entity: Entity): void;
9198
+ /**
9199
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9200
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9201
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9202
+ *
9203
+ * @param entity - The UiCanvas entity the UI tree hangs from
9204
+ * @param ui - The UI component to render
9205
+ */
9206
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9207
+ /**
9208
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9209
+ * @param entity - The UiCanvas entity the renderer was set on
9210
+ */
9211
+ removeTextureRenderer(entity: Entity): void;
8542
9212
  }
8543
9213
 
8544
9214
  /**
@@ -9129,6 +9799,33 @@ export declare namespace Schemas {
9129
9799
  */
9130
9800
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9131
9801
 
9802
+ /**
9803
+ * @public
9804
+ */
9805
+ export declare interface ScrollPositionValue {
9806
+ value?: {
9807
+ $case: "position";
9808
+ position: PBVector2;
9809
+ } | {
9810
+ $case: "reference";
9811
+ reference: string;
9812
+ } | undefined;
9813
+ }
9814
+
9815
+ /**
9816
+ * @public
9817
+ */
9818
+ export declare namespace ScrollPositionValue {
9819
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9820
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9821
+ }
9822
+
9823
+ /**
9824
+ * Which scrollbars are shown when the overflow is scrollable
9825
+ * @public
9826
+ */
9827
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9828
+
9132
9829
  /**
9133
9830
  * Register the composite provider used to resolve composite files. Also registers
9134
9831
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9154,6 +9851,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9154
9851
  easingFunction?: EasingFunction;
9155
9852
  }
9156
9853
 
9854
+ /**
9855
+ * @public
9856
+ */
9857
+ export declare const enum ShowScrollBar {
9858
+ SSB_BOTH = 0,
9859
+ SSB_ONLY_VERTICAL = 1,
9860
+ SSB_ONLY_HORIZONTAL = 2,
9861
+ SSB_HIDDEN = 3
9862
+ }
9863
+
9157
9864
  /** @public */
9158
9865
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9159
9866
 
@@ -9260,6 +9967,9 @@ export declare namespace Texture {
9260
9967
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9261
9968
  }
9262
9969
 
9970
+ /** @public */
9971
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9972
+
9263
9973
  /**
9264
9974
  * @public
9265
9975
  */
@@ -9370,6 +10080,9 @@ export declare interface TextureUnion {
9370
10080
  } | {
9371
10081
  $case: "videoTexture";
9372
10082
  videoTexture: VideoTexture;
10083
+ } | {
10084
+ $case: "uiTexture";
10085
+ uiTexture: UiCanvasTexture;
9373
10086
  } | undefined;
9374
10087
  }
9375
10088
 
@@ -9918,6 +10631,8 @@ export declare interface UiBackgroundProps {
9918
10631
  uvs?: number[];
9919
10632
  /** AvatarTexture for the background */
9920
10633
  avatarTexture?: UiAvatarTexture;
10634
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10635
+ videoTexture?: UiVideoTexture;
9921
10636
  /** Texture for the background */
9922
10637
  texture?: UiTexture;
9923
10638
  }
@@ -9937,9 +10652,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9937
10652
  disabled?: boolean;
9938
10653
  }
9939
10654
 
10655
+ /** @public */
10656
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10657
+
9940
10658
  /** @public */
9941
10659
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9942
10660
 
10661
+ /**
10662
+ * @public
10663
+ */
10664
+ export declare interface UiCanvasTexture {
10665
+ uiCanvasEntity: number;
10666
+ /** default = TextureWrapMode.Clamp */
10667
+ wrapMode?: TextureWrapMode | undefined;
10668
+ /** default = FilterMode.Bilinear */
10669
+ filterMode?: TextureFilterMode | undefined;
10670
+ }
10671
+
10672
+ /**
10673
+ * @public
10674
+ */
10675
+ export declare namespace UiCanvasTexture {
10676
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10677
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10678
+ }
10679
+
9943
10680
  /**
9944
10681
  * @public
9945
10682
  */
@@ -10035,7 +10772,7 @@ export declare interface UiLabelProps {
10035
10772
  textAlign?: TextAlignType | undefined;
10036
10773
  /** Label font type. @defaultValue 'sans-serif' */
10037
10774
  font?: UiFontType | undefined;
10038
- /** Path to a `.ttf` file in the scene content. `font` is used when it can't be loaded. */
10775
+ /** A `.ttf` file in the scene content, or a Google Fonts family name. `font` is used when it can't be loaded. */
10039
10776
  fontSrc?: string | undefined;
10040
10777
  /** Behaviour when text reached. @defaultValue 'wrap' */
10041
10778
  textWrap?: UiTextWrapType | undefined;
@@ -10105,6 +10842,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
10105
10842
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
10106
10843
  };
10107
10844
 
10845
+ /** @public */
10846
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10847
+
10108
10848
  /** @public */
10109
10849
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
10110
10850
 
@@ -10184,6 +10924,22 @@ export declare interface UiTransformProps {
10184
10924
  opacity?: number;
10185
10925
  /** default 0 */
10186
10926
  zIndex?: number;
10927
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10928
+ elementId?: string;
10929
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10930
+ scrollPosition?: PBVector2 | string;
10931
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10932
+ scrollVisible?: ScrollVisibleType;
10933
+ }
10934
+
10935
+ /**
10936
+ * Video Texture
10937
+ * @public
10938
+ */
10939
+ export declare interface UiVideoTexture {
10940
+ videoPlayerEntity: Entity;
10941
+ wrapMode?: TextureWrapType;
10942
+ filterMode?: TextureFilterType;
10187
10943
  }
10188
10944
 
10189
10945
  /**