@dcl/playground-assets 7.27.0 → 7.27.1-33247605236.commit-732120a

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
@@ -279,6 +279,39 @@ export declare const enum AvatarAnchorPointType {
279
279
  AAPT_RIGHT_TOE_BASE = 25
280
280
  }
281
281
 
282
+ /**
283
+ * Mirror of the scene-driven movement animation currently playing, reported by the engine.
284
+ * Readable by any scene (not just the controller) so niche effects (e.g. dust cloud on landing) can react.
285
+ * Active emotes are not represented here — scenes already have their own way to read them.
286
+ */
287
+ /**
288
+ * @public
289
+ */
290
+ export declare interface AvatarAnimationState {
291
+ /** same scene-relative path the controlling scene supplied */
292
+ src: string;
293
+ /** mirrors the request */
294
+ loop: boolean;
295
+ /** mirrors the request */
296
+ speed: number;
297
+ /** mirrors the request */
298
+ idle: boolean;
299
+ /** seconds into the clip; wraps on loop; frozen while an emote override is playing */
300
+ playbackTime: number;
301
+ /** total clip length in seconds */
302
+ duration: number;
303
+ /** how many times the clip has completed since it started */
304
+ loopCount: number;
305
+ }
306
+
307
+ /**
308
+ * @public
309
+ */
310
+ export declare namespace AvatarAnimationState {
311
+ export function encode(message: AvatarAnimationState, writer?: _m0.Writer): _m0.Writer;
312
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): AvatarAnimationState;
313
+ }
314
+
282
315
  /** @public */
283
316
  export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBAvatarAttach>;
284
317
 
@@ -288,8 +321,21 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
288
321
  /** @public */
289
322
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
290
323
 
291
- /** @public */
292
- export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
324
+ export declare const AvatarEquippedData: AvatarEquippedDataComponentDefinitionExtended;
325
+
326
+ /**
327
+ * @public
328
+ */
329
+ export declare type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
330
+
331
+ /**
332
+ * @public
333
+ * AvatarEquippedData with `forceRender` optional: the wire type is a repeated field (always present, so the
334
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
335
+ */
336
+ export declare type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
337
+ forceRender?: string[] | undefined;
338
+ };
293
339
 
294
340
  /** @public */
295
341
  export declare const AvatarLocomotionSettings: LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>;
@@ -319,7 +365,26 @@ export declare const enum AvatarModifierType {
319
365
  }
320
366
 
321
367
  /** @public */
322
- export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
368
+ export declare const AvatarMovement: LastWriteWinElementSetComponentDefinition<PBAvatarMovement>;
369
+
370
+ /** @public */
371
+ export declare const AvatarMovementInfo: LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>;
372
+
373
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
374
+
375
+ /**
376
+ * @public
377
+ */
378
+ export declare type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
379
+
380
+ /**
381
+ * @public
382
+ * AvatarShape with `forceRender` optional: the wire type is a repeated field (always present, so the
383
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
384
+ */
385
+ export declare type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
386
+ forceRender?: string[] | undefined;
387
+ };
323
388
 
324
389
  /**
325
390
  * @public
@@ -588,10 +653,17 @@ export declare interface ByteBuffer {
588
653
  }
589
654
 
590
655
  /**
591
- * Callback function to be triggered on a specified event
656
+ * Callback function to be triggered on a specified event. Receives the pointer event that
657
+ * fired it (button, hit, and for drags the pointer delta), which handlers may ignore.
592
658
  * @public
593
659
  */
594
- export declare type Callback = () => void;
660
+ export declare type Callback = (event: PBPointerEventsResult) => void;
661
+
662
+ /** @public */
663
+ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
664
+
665
+ /** @public */
666
+ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
595
667
 
596
668
  /** @public */
597
669
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
@@ -1444,15 +1516,22 @@ export declare const componentDefinitionByName: {
1444
1516
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1445
1517
  "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1446
1518
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1519
+ "core::AvatarMovement": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovement>>;
1520
+ "core::AvatarMovementInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>>;
1447
1521
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1448
1522
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1523
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1524
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1449
1525
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1450
1526
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1451
1527
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1452
1528
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1529
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1453
1530
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1454
1531
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1532
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1455
1533
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1534
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1456
1535
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1457
1536
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1458
1537
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1473,6 +1552,7 @@ export declare const componentDefinitionByName: {
1473
1552
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1474
1553
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1475
1554
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1555
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1476
1556
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1477
1557
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1478
1558
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1480,12 +1560,14 @@ export declare const componentDefinitionByName: {
1480
1560
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1481
1561
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1482
1562
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1563
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1483
1564
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1484
1565
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1485
1566
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1486
1567
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1487
1568
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1488
1569
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1570
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1489
1571
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1490
1572
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1491
1573
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -2105,6 +2187,9 @@ export declare type EntityComponents = {
2105
2187
  onMouseUp: Callback;
2106
2188
  onMouseEnter: Callback;
2107
2189
  onMouseLeave: Callback;
2190
+ onMouseDrag: Callback;
2191
+ onMouseDragLocked: Callback;
2192
+ onMouseDragEnd: Callback;
2108
2193
  };
2109
2194
 
2110
2195
  /** @public */
@@ -2457,6 +2542,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2457
2542
  direction?: PBVector3;
2458
2543
  };
2459
2544
 
2545
+ /** @public */
2546
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2547
+
2460
2548
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2461
2549
 
2462
2550
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2469,9 +2557,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2469
2557
  /** @public */
2470
2558
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2471
2559
 
2560
+ /** @public */
2561
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2562
+
2472
2563
  /** @public */
2473
2564
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2474
2565
 
2566
+ /** @public */
2567
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2568
+
2569
+ /**
2570
+ * @public
2571
+ */
2572
+ export declare const enum GltfNodeStateValue {
2573
+ GNSV_PENDING = 0,
2574
+ GNSV_FAILED = 1,
2575
+ GNSV_READY = 2
2576
+ }
2577
+
2475
2578
  /**
2476
2579
  * @public
2477
2580
  */
@@ -3180,6 +3283,12 @@ export declare type Listeners = {
3180
3283
  onMouseEnter?: Callback;
3181
3284
  /** triggered on mouse leave event */
3182
3285
  onMouseLeave?: Callback;
3286
+ /** triggered while the pointer is dragged after pressing on the element */
3287
+ onMouseDrag?: Callback;
3288
+ /** triggered while the pointer is dragged with the cursor locked in place */
3289
+ onMouseDragLocked?: Callback;
3290
+ /** triggered when a drag that started on the element ends */
3291
+ onMouseDragEnd?: Callback;
3183
3292
  };
3184
3293
 
3185
3294
  /**
@@ -4084,6 +4193,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4084
4193
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4085
4194
  */
4086
4195
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4196
+ /**
4197
+ * @public
4198
+ * Set a mesh from inside a gltf in the MeshCollider component
4199
+ * @param entity - entity to create or replace the MeshCollider component
4200
+ * @param source - the path to the gltf
4201
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4202
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4203
+ */
4204
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4087
4205
  }
4088
4206
 
4089
4207
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4120,6 +4238,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4120
4238
  * @param entity - entity to create or replace the MeshRenderer component
4121
4239
  */
4122
4240
  setSphere(entity: Entity): void;
4241
+ /**
4242
+ * @public
4243
+ * Set a mesh from inside a gltf in the MeshRenderer component
4244
+ * @param entity - entity to create or replace the MeshRenderer component
4245
+ * @param source - the path to the gltf
4246
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4247
+ */
4248
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4123
4249
  }
4124
4250
 
4125
4251
  /**
@@ -4168,6 +4294,39 @@ export declare namespace MoveContinuous {
4168
4294
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4169
4295
  }
4170
4296
 
4297
+ /**
4298
+ * Describes the animation the movement scene wants the avatar to play.
4299
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4300
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4301
+ */
4302
+ /**
4303
+ * @public
4304
+ */
4305
+ export declare interface MovementAnimation {
4306
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4307
+ src: string;
4308
+ /** whether the clip repeats once it reaches the end */
4309
+ loop: boolean;
4310
+ /** playback speed multiplier (1.0 = clip's native rate) */
4311
+ speed: number;
4312
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4313
+ idle: boolean;
4314
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4315
+ transitionSeconds?: number | undefined;
4316
+ /** 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. */
4317
+ playbackTime?: number | undefined;
4318
+ /** 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). */
4319
+ sounds: string[];
4320
+ }
4321
+
4322
+ /**
4323
+ * @public
4324
+ */
4325
+ export declare namespace MovementAnimation {
4326
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4327
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4328
+ }
4329
+
4171
4330
  /**
4172
4331
  * @public
4173
4332
  */
@@ -4591,6 +4750,25 @@ export declare const onVideoEvent: Observable<{
4591
4750
  totalVideoLength: number;
4592
4751
  }>;
4593
4752
 
4753
+ /**
4754
+ * @public
4755
+ */
4756
+ export declare interface Orthographic {
4757
+ /**
4758
+ * vertical extent of the visible range in meters
4759
+ * defaults to 4m
4760
+ */
4761
+ verticalRange?: number | undefined;
4762
+ }
4763
+
4764
+ /**
4765
+ * @public
4766
+ */
4767
+ export declare namespace Orthographic {
4768
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4769
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4770
+ }
4771
+
4594
4772
  /**
4595
4773
  * @public
4596
4774
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4938,6 +5116,8 @@ export declare namespace PBAvatarEmoteCommand {
4938
5116
  export declare interface PBAvatarEquippedData {
4939
5117
  wearableUrns: string[];
4940
5118
  emoteUrns: string[];
5119
+ /** slots that will render even if hidden */
5120
+ forceRender: string[];
4941
5121
  }
4942
5122
 
4943
5123
  /**
@@ -5008,6 +5188,8 @@ export declare interface PBAvatarModifierArea {
5008
5188
  excludeIds: string[];
5009
5189
  /** list of modifiers to apply */
5010
5190
  modifiers: AvatarModifierType[];
5191
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5192
+ useColliderRange?: boolean | undefined;
5011
5193
  }
5012
5194
 
5013
5195
  /**
@@ -5018,6 +5200,64 @@ export declare namespace PBAvatarModifierArea {
5018
5200
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5019
5201
  }
5020
5202
 
5203
+ /**
5204
+ * @public
5205
+ */
5206
+ export declare interface PBAvatarMovement {
5207
+ velocity: PBVector3 | undefined;
5208
+ /** 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. */
5209
+ orientation: number;
5210
+ groundDirection?: PBVector3 | undefined;
5211
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5212
+ walkSuccess?: boolean | undefined;
5213
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5214
+ animation?: MovementAnimation | undefined;
5215
+ /** 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. */
5216
+ tiltPitch?: number | undefined;
5217
+ /** 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. */
5218
+ tiltRoll?: number | undefined;
5219
+ }
5220
+
5221
+ /**
5222
+ * @public
5223
+ */
5224
+ export declare namespace PBAvatarMovement {
5225
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5226
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5227
+ }
5228
+
5229
+ /**
5230
+ * @public
5231
+ */
5232
+ export declare interface PBAvatarMovementInfo {
5233
+ /** the length of time the current step velocity will apply for */
5234
+ stepTime: number;
5235
+ /** the length of time the previous step velocity applied for */
5236
+ previousStepTime: number;
5237
+ /** the velocity requested for the previous frame */
5238
+ requestedVelocity: PBVector3 | undefined;
5239
+ /** the resulting velocity taking collisions into account */
5240
+ actualVelocity: PBVector3 | undefined;
5241
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5242
+ externalVelocity: PBVector3 | undefined;
5243
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5244
+ activeInputModifier: PBInputModifier | undefined;
5245
+ /** if set, the movement scene should walk the player to this scene-relative position */
5246
+ walkTarget?: PBVector3 | undefined;
5247
+ /** stop distance for walk_target; considered reached when within this distance */
5248
+ walkThreshold?: number | undefined;
5249
+ /** 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. */
5250
+ activeAnimationState?: AvatarAnimationState | undefined;
5251
+ }
5252
+
5253
+ /**
5254
+ * @public
5255
+ */
5256
+ export declare namespace PBAvatarMovementInfo {
5257
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5258
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5259
+ }
5260
+
5021
5261
  /**
5022
5262
  * The AvatarShape component contains the information required to draw and animate avatar, acting as
5023
5263
  * a simplified GLTF container for this specific case.
@@ -5066,6 +5306,8 @@ export declare interface PBAvatarShape {
5066
5306
  emotes: string[];
5067
5307
  /** hides the skin + hair + facial features (default: false) */
5068
5308
  showOnlyWearables?: boolean | undefined;
5309
+ /** slots that will render even if hidden */
5310
+ forceRender: string[];
5069
5311
  }
5070
5312
 
5071
5313
  /**
@@ -5107,6 +5349,51 @@ export declare namespace PBBillboard {
5107
5349
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5108
5350
  }
5109
5351
 
5352
+ /**
5353
+ * @public
5354
+ */
5355
+ export declare interface PBCameraLayer {
5356
+ /**
5357
+ * layer to which these settings apply. must be > 0
5358
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5359
+ */
5360
+ layer: number;
5361
+ /** should the sun light affect this layer? default false */
5362
+ directionalLight?: boolean | undefined;
5363
+ /** should this layer show player avatars? default false */
5364
+ showAvatars?: boolean | undefined;
5365
+ /** should this layer show the sky? default false */
5366
+ showSkybox?: boolean | undefined;
5367
+ /** should this layer show distance fog? default false */
5368
+ showFog?: boolean | undefined;
5369
+ /** ambient light overrides for this layer. default -> use same as main camera */
5370
+ ambientColorOverride?: PBColor3 | undefined;
5371
+ ambientBrightnessOverride?: number | undefined;
5372
+ }
5373
+
5374
+ /**
5375
+ * @public
5376
+ */
5377
+ export declare namespace PBCameraLayer {
5378
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5379
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5380
+ }
5381
+
5382
+ /**
5383
+ * @public
5384
+ */
5385
+ export declare interface PBCameraLayers {
5386
+ layers: number[];
5387
+ }
5388
+
5389
+ /**
5390
+ * @public
5391
+ */
5392
+ export declare namespace PBCameraLayers {
5393
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5394
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5395
+ }
5396
+
5110
5397
  /**
5111
5398
  * The CameraMode component can be used to determine whether the player is using a first-person o
5112
5399
  * third-person view.
@@ -5148,6 +5435,8 @@ export declare interface PBCameraModeArea {
5148
5435
  area: PBVector3 | undefined;
5149
5436
  /** the camera mode to enforce */
5150
5437
  mode: CameraType;
5438
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5439
+ useColliderRange?: boolean | undefined;
5151
5440
  }
5152
5441
 
5153
5442
  /**
@@ -5281,6 +5570,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5281
5570
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5282
5571
  }
5283
5572
 
5573
+ /**
5574
+ * defines the global scene light settings. must be added to the scene root.
5575
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5576
+ */
5577
+ /**
5578
+ * @public
5579
+ */
5580
+ export declare interface PBGlobalLight {
5581
+ /**
5582
+ * the direction the directional light shines in.
5583
+ * default depends on time of day and explorer implementation
5584
+ */
5585
+ direction?: PBVector3 | undefined;
5586
+ /**
5587
+ * ambient light color
5588
+ * default: White
5589
+ */
5590
+ ambientColor?: PBColor3 | undefined;
5591
+ /**
5592
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5593
+ * default 1
5594
+ */
5595
+ ambientBrightness?: number | undefined;
5596
+ }
5597
+
5598
+ /**
5599
+ * @public
5600
+ */
5601
+ export declare namespace PBGlobalLight {
5602
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5603
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5604
+ }
5605
+
5284
5606
  /**
5285
5607
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5286
5608
  *
@@ -5316,6 +5638,25 @@ export declare namespace PBGltfContainer {
5316
5638
  */
5317
5639
  export declare interface PBGltfContainerLoadingState {
5318
5640
  currentState: LoadingState;
5641
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5642
+ nodePaths: string[];
5643
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5644
+ meshNames: string[];
5645
+ /**
5646
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5647
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5648
+ */
5649
+ materialNames: string[];
5650
+ /**
5651
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5652
+ * sure all your materials are explicitly named.
5653
+ */
5654
+ skinNames: string[];
5655
+ /**
5656
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5657
+ * your skins are explicitly named.
5658
+ */
5659
+ animationNames: string[];
5319
5660
  }
5320
5661
 
5321
5662
  /**
@@ -5326,6 +5667,57 @@ export declare namespace PBGltfContainerLoadingState {
5326
5667
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5327
5668
  }
5328
5669
 
5670
+ /**
5671
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5672
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5673
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5674
+ * in the parent.
5675
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5676
+ *
5677
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5678
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5679
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5680
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5681
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5682
+ *
5683
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5684
+ *
5685
+ * From the scene, you can modify various components to alter the gltf node:
5686
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5687
+ * regardless of any intermediate gltf node hierarchy.
5688
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5689
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5690
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5691
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5692
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5693
+ * 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
5694
+ * PBMaterial will be maintained.
5695
+ *
5696
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5697
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5698
+ * change the state to `GNS_FAILED`.
5699
+ * - deleting the scene entity will not delete the gltf node.
5700
+ *
5701
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5702
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5703
+ * the gltf node will also be displayed.
5704
+ */
5705
+ /**
5706
+ * @public
5707
+ */
5708
+ export declare interface PBGltfNode {
5709
+ /** the path of the target node in the Gltf. */
5710
+ path: string;
5711
+ }
5712
+
5713
+ /**
5714
+ * @public
5715
+ */
5716
+ export declare namespace PBGltfNode {
5717
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5718
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5719
+ }
5720
+
5329
5721
  /**
5330
5722
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5331
5723
  *
@@ -5371,6 +5763,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5371
5763
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5372
5764
  }
5373
5765
 
5766
+ /**
5767
+ * The state of a linked gltf node.
5768
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5769
+ */
5770
+ /**
5771
+ * @public
5772
+ */
5773
+ export declare interface PBGltfNodeState {
5774
+ state: GltfNodeStateValue;
5775
+ error?: string | undefined;
5776
+ }
5777
+
5778
+ /**
5779
+ * @public
5780
+ */
5781
+ export declare namespace PBGltfNodeState {
5782
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5783
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5784
+ }
5785
+
5374
5786
  /**
5375
5787
  * @public
5376
5788
  */
@@ -5508,6 +5920,14 @@ export declare interface PBMaterial {
5508
5920
  $case: "pbr";
5509
5921
  pbr: PBMaterial_PbrMaterial;
5510
5922
  } | undefined;
5923
+ /**
5924
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5925
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5926
+ * supported by the PbMaterial.
5927
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5928
+ * field with data that reflects the gltf material once it is loaded.
5929
+ */
5930
+ gltf?: PBMaterial_GltfMaterial | undefined;
5511
5931
  }
5512
5932
 
5513
5933
  /**
@@ -5518,6 +5938,22 @@ export declare namespace PBMaterial {
5518
5938
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5519
5939
  }
5520
5940
 
5941
+ /**
5942
+ * @public
5943
+ */
5944
+ export declare interface PBMaterial_GltfMaterial {
5945
+ gltfSrc: string;
5946
+ name: string;
5947
+ }
5948
+
5949
+ /**
5950
+ * @public
5951
+ */
5952
+ export declare namespace PBMaterial_GltfMaterial {
5953
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
5954
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
5955
+ }
5956
+
5521
5957
  /**
5522
5958
  * @public
5523
5959
  */
@@ -5614,6 +6050,9 @@ export declare interface PBMeshCollider {
5614
6050
  } | {
5615
6051
  $case: "plane";
5616
6052
  plane: PBMeshCollider_PlaneMesh;
6053
+ } | {
6054
+ $case: "gltf";
6055
+ gltf: PBMeshCollider_GltfMesh;
5617
6056
  } | undefined;
5618
6057
  }
5619
6058
 
@@ -5659,6 +6098,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5659
6098
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5660
6099
  }
5661
6100
 
6101
+ /** A collider constructed from a Gltf Mesh. */
6102
+ /**
6103
+ * @public
6104
+ */
6105
+ export declare interface PBMeshCollider_GltfMesh {
6106
+ /** the GLTF file path as listed in the scene's manifest. */
6107
+ gltfSrc: string;
6108
+ /** the name of the mesh asset */
6109
+ name: string;
6110
+ }
6111
+
6112
+ /**
6113
+ * @public
6114
+ */
6115
+ export declare namespace PBMeshCollider_GltfMesh {
6116
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6117
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6118
+ }
6119
+
5662
6120
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5663
6121
  /**
5664
6122
  * @public
@@ -5691,13 +6149,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5691
6149
 
5692
6150
  /**
5693
6151
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5694
- * plane, a sphere or a cylinder.
6152
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5695
6153
  *
5696
6154
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5697
6155
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5698
6156
  * `float` coordinates, one for each corner of each side of each face.
5699
- *
5700
- * More complex shapes require the use of a `GltfContainer` component.
5701
6157
  */
5702
6158
  /**
5703
6159
  * @public
@@ -5715,6 +6171,9 @@ export declare interface PBMeshRenderer {
5715
6171
  } | {
5716
6172
  $case: "plane";
5717
6173
  plane: PBMeshRenderer_PlaneMesh;
6174
+ } | {
6175
+ $case: "gltf";
6176
+ gltf: PBMeshRenderer_GltfMesh;
5718
6177
  } | undefined;
5719
6178
  }
5720
6179
 
@@ -5762,6 +6221,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5762
6221
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5763
6222
  }
5764
6223
 
6224
+ /** A mesh from a Gltf. */
6225
+ /**
6226
+ * @public
6227
+ */
6228
+ export declare interface PBMeshRenderer_GltfMesh {
6229
+ /** the GLTF file path as listed in the scene's manifest. */
6230
+ gltfSrc: string;
6231
+ /** the name of the mesh asset */
6232
+ name: string;
6233
+ }
6234
+
6235
+ /**
6236
+ * @public
6237
+ */
6238
+ export declare namespace PBMeshRenderer_GltfMesh {
6239
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6240
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6241
+ }
6242
+
5765
6243
  /** PlaneMesh renders a 2D rectangular shape. */
5766
6244
  /**
5767
6245
  * @public
@@ -6353,7 +6831,10 @@ export declare interface PBPrimaryPointerInfo {
6353
6831
  screenCoordinates?: PBVector2 | undefined;
6354
6832
  /** Movement since last frame (pixels) */
6355
6833
  screenDelta?: PBVector2 | undefined;
6356
- /** Direction vector for 3D ray casting */
6834
+ /**
6835
+ * ray direction that can be used with the primary camera origin for
6836
+ * raycasting from the cursor into the world
6837
+ */
6357
6838
  worldRayDirection?: PBVector3 | undefined;
6358
6839
  }
6359
6840
 
@@ -6424,6 +6905,10 @@ export declare interface PBRaycast {
6424
6905
  continuous?: boolean | undefined;
6425
6906
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6426
6907
  collisionMask?: number | undefined;
6908
+ /** shape to cast, default ray */
6909
+ shape?: RaycastShape | undefined;
6910
+ /** include hits with entities from other scenes */
6911
+ includeWorld?: boolean | undefined;
6427
6912
  }
6428
6913
 
6429
6914
  /**
@@ -6579,6 +7064,46 @@ export declare namespace PBTextShape {
6579
7064
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6580
7065
  }
6581
7066
 
7067
+ /**
7068
+ * @public
7069
+ */
7070
+ export declare interface PBTextureCamera {
7071
+ /** rendered texture width */
7072
+ width?: number | undefined;
7073
+ /** rendered texture height */
7074
+ height?: number | undefined;
7075
+ /**
7076
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7077
+ * defaults to 0
7078
+ */
7079
+ layer?: number | undefined;
7080
+ /** default black */
7081
+ clearColor?: PBColor4 | undefined;
7082
+ /** default infinity */
7083
+ farPlane?: number | undefined;
7084
+ mode?: {
7085
+ $case: "perspective";
7086
+ perspective: Perspective;
7087
+ } | {
7088
+ $case: "orthographic";
7089
+ orthographic: Orthographic;
7090
+ } | undefined;
7091
+ /**
7092
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7093
+ * range: 0 (off) - 1 (full volume)
7094
+ * default: 0
7095
+ */
7096
+ volume?: number | undefined;
7097
+ }
7098
+
7099
+ /**
7100
+ * @public
7101
+ */
7102
+ export declare namespace PBTextureCamera {
7103
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7104
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7105
+ }
7106
+
6582
7107
  /**
6583
7108
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6584
7109
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6824,6 +7349,25 @@ export declare namespace PBUiBackground {
6824
7349
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6825
7350
  }
6826
7351
 
7352
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7353
+ /**
7354
+ * @public
7355
+ */
7356
+ export declare interface PBUiCanvas {
7357
+ width: number;
7358
+ height: number;
7359
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7360
+ color?: PBColor4 | undefined;
7361
+ }
7362
+
7363
+ /**
7364
+ * @public
7365
+ */
7366
+ export declare namespace PBUiCanvas {
7367
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7368
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7369
+ }
7370
+
6827
7371
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6828
7372
  /**
6829
7373
  * @public
@@ -6921,6 +7465,10 @@ export declare interface PBUiInput {
6921
7465
  /** default=10 */
6922
7466
  fontSize?: number | undefined;
6923
7467
  value?: string | undefined;
7468
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7469
+ multiLine?: boolean | undefined;
7470
+ /** default=true; when false, the input value is preserved after pressing Enter */
7471
+ clearOnSubmit?: boolean | undefined;
6924
7472
  }
6925
7473
 
6926
7474
  /**
@@ -6984,6 +7532,21 @@ export declare namespace PBUiInputResult {
6984
7532
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
6985
7533
  }
6986
7534
 
7535
+ /**
7536
+ * @public
7537
+ */
7538
+ export declare interface PBUiScrollResult {
7539
+ value: PBVector2 | undefined;
7540
+ }
7541
+
7542
+ /**
7543
+ * @public
7544
+ */
7545
+ export declare namespace PBUiScrollResult {
7546
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7547
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7548
+ }
7549
+
6987
7550
  /**
6988
7551
  * @public
6989
7552
  */
@@ -7127,6 +7690,12 @@ export declare interface PBUiTransform {
7127
7690
  borderRightColor?: PBColor4 | undefined;
7128
7691
  /** default: 1 */
7129
7692
  opacity?: number | undefined;
7693
+ /** reference for scroll_position. default empty */
7694
+ elementId?: string | undefined;
7695
+ /** default position=(0,0) */
7696
+ scrollPosition?: ScrollPositionValue | undefined;
7697
+ /** default ShowScrollBar.SSB_BOTH */
7698
+ scrollVisible?: ShowScrollBar | undefined;
7130
7699
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7131
7700
  zIndex?: number | undefined;
7132
7701
  }
@@ -7279,6 +7848,25 @@ export declare namespace PBVisibilityComponent {
7279
7848
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7280
7849
  }
7281
7850
 
7851
+ /**
7852
+ * @public
7853
+ */
7854
+ export declare interface Perspective {
7855
+ /**
7856
+ * vertical field of view in radians
7857
+ * defaults to pi/4 = 45 degrees
7858
+ */
7859
+ fieldOfView?: number | undefined;
7860
+ }
7861
+
7862
+ /**
7863
+ * @public
7864
+ */
7865
+ export declare namespace Perspective {
7866
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7867
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7868
+ }
7869
+
7282
7870
  /**
7283
7871
  * @public
7284
7872
  * Physics helpers for applying impulses and forces to the player.
@@ -7520,6 +8108,24 @@ export declare interface PointerEventsSystem {
7520
8108
  * @param entity - Entity where the callback was attached
7521
8109
  */
7522
8110
  removeOnPointerHoverLeave(entity: Entity): void;
8111
+ /**
8112
+ * @public
8113
+ * Remove the callback for onPointerDrag event
8114
+ * @param entity - Entity where the callback was attached
8115
+ */
8116
+ removeOnPointerDrag(entity: Entity): void;
8117
+ /**
8118
+ * @public
8119
+ * Remove the callback for onPointerDragLocked event
8120
+ * @param entity - Entity where the callback was attached
8121
+ */
8122
+ removeOnPointerDragLocked(entity: Entity): void;
8123
+ /**
8124
+ * @public
8125
+ * Remove the callback for onPointerDragEnd event
8126
+ * @param entity - Entity where the callback was attached
8127
+ */
8128
+ removeOnPointerDragEnd(entity: Entity): void;
7523
8129
  /**
7524
8130
  * @public
7525
8131
  * Remove the callback for onProximityDown event
@@ -7598,6 +8204,36 @@ export declare interface PointerEventsSystem {
7598
8204
  entity: Entity;
7599
8205
  opts?: Partial<EventSystemOptions>;
7600
8206
  }, cb: EventSystemCallback): void;
8207
+ /**
8208
+ * @public
8209
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8210
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8211
+ * @param cb - Function to execute on every drag update
8212
+ */
8213
+ onPointerDrag(pointerData: {
8214
+ entity: Entity;
8215
+ opts?: Partial<EventSystemOptions>;
8216
+ }, cb: EventSystemCallback): void;
8217
+ /**
8218
+ * @public
8219
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8220
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8221
+ * @param cb - Function to execute on every drag update
8222
+ */
8223
+ onPointerDragLocked(pointerData: {
8224
+ entity: Entity;
8225
+ opts?: Partial<EventSystemOptions>;
8226
+ }, cb: EventSystemCallback): void;
8227
+ /**
8228
+ * @public
8229
+ * Execute callback when the user releases the button after a drag that started on the entity
8230
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8231
+ * @param cb - Function to execute when the drag ends
8232
+ */
8233
+ onPointerDragEnd(pointerData: {
8234
+ entity: Entity;
8235
+ opts?: Partial<EventSystemOptions>;
8236
+ }, cb: EventSystemCallback): void;
7601
8237
  /**
7602
8238
  * @public
7603
8239
  * Execute callback when the user presses the proximity button on the entity
@@ -7656,7 +8292,10 @@ export declare const enum PointerEventType {
7656
8292
  PET_HOVER_ENTER = 2,
7657
8293
  PET_HOVER_LEAVE = 3,
7658
8294
  PET_PROXIMITY_ENTER = 4,
7659
- PET_PROXIMITY_LEAVE = 5
8295
+ PET_PROXIMITY_LEAVE = 5,
8296
+ PET_DRAG_LOCKED = 6,
8297
+ PET_DRAG = 7,
8298
+ PET_DRAG_END = 8
7660
8299
  }
7661
8300
 
7662
8301
  /**
@@ -7687,7 +8326,10 @@ export declare const enum PointerType {
7687
8326
  /** POT_NONE - No pointer input */
7688
8327
  POT_NONE = 0,
7689
8328
  /** POT_MOUSE - Traditional mouse input */
7690
- POT_MOUSE = 1
8329
+ POT_MOUSE = 1,
8330
+ POT_PAD = 2,
8331
+ POT_TOUCH = 3,
8332
+ POT_WAND = 4
7691
8333
  }
7692
8334
 
7693
8335
  /**
@@ -8144,6 +8786,16 @@ export declare const enum RaycastQueryType {
8144
8786
  /** @public */
8145
8787
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8146
8788
 
8789
+ /**
8790
+ * @public
8791
+ */
8792
+ export declare const enum RaycastShape {
8793
+ /** RS_RAY - cast a point, get collisions along a ray */
8794
+ RS_RAY = 0,
8795
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8796
+ RS_AVATAR = 1
8797
+ }
8798
+
8147
8799
  /**
8148
8800
  * @public
8149
8801
  */
@@ -8276,6 +8928,10 @@ export declare type RaycastSystemOptions = {
8276
8928
  queryType: RaycastQueryType;
8277
8929
  continuous?: boolean | undefined;
8278
8930
  collisionMask?: number | undefined;
8931
+ /** shape to sweep along the ray, default RS_RAY (a point) */
8932
+ shape?: RaycastShape | undefined;
8933
+ /** include colliders from other scenes, default false */
8934
+ includeWorld?: boolean | undefined;
8279
8935
  };
8280
8936
 
8281
8937
  /**
@@ -8324,6 +8980,20 @@ export declare interface ReactBasedUiSystem {
8324
8980
  * @param entity - The entity whose UI renderer should be removed
8325
8981
  */
8326
8982
  removeUiRenderer(entity: Entity): void;
8983
+ /**
8984
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
8985
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
8986
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
8987
+ *
8988
+ * @param entity - The UiCanvas entity the UI tree hangs from
8989
+ * @param ui - The UI component to render
8990
+ */
8991
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
8992
+ /**
8993
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
8994
+ * @param entity - The UiCanvas entity the renderer was set on
8995
+ */
8996
+ removeTextureRenderer(entity: Entity): void;
8327
8997
  }
8328
8998
 
8329
8999
  /**
@@ -8914,6 +9584,33 @@ export declare namespace Schemas {
8914
9584
  */
8915
9585
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
8916
9586
 
9587
+ /**
9588
+ * @public
9589
+ */
9590
+ export declare interface ScrollPositionValue {
9591
+ value?: {
9592
+ $case: "position";
9593
+ position: PBVector2;
9594
+ } | {
9595
+ $case: "reference";
9596
+ reference: string;
9597
+ } | undefined;
9598
+ }
9599
+
9600
+ /**
9601
+ * @public
9602
+ */
9603
+ export declare namespace ScrollPositionValue {
9604
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9605
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9606
+ }
9607
+
9608
+ /**
9609
+ * Which scrollbars are shown when the overflow is scrollable
9610
+ * @public
9611
+ */
9612
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9613
+
8917
9614
  /**
8918
9615
  * Register the composite provider used to resolve composite files. Also registers
8919
9616
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -8939,6 +9636,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
8939
9636
  easingFunction?: EasingFunction;
8940
9637
  }
8941
9638
 
9639
+ /**
9640
+ * @public
9641
+ */
9642
+ export declare const enum ShowScrollBar {
9643
+ SSB_BOTH = 0,
9644
+ SSB_ONLY_VERTICAL = 1,
9645
+ SSB_ONLY_HORIZONTAL = 2,
9646
+ SSB_HIDDEN = 3
9647
+ }
9648
+
8942
9649
  /** @public */
8943
9650
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
8944
9651
 
@@ -9050,6 +9757,9 @@ export declare namespace Texture {
9050
9757
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9051
9758
  }
9052
9759
 
9760
+ /** @public */
9761
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9762
+
9053
9763
  /**
9054
9764
  * @public
9055
9765
  */
@@ -9160,6 +9870,9 @@ export declare interface TextureUnion {
9160
9870
  } | {
9161
9871
  $case: "videoTexture";
9162
9872
  videoTexture: VideoTexture;
9873
+ } | {
9874
+ $case: "uiTexture";
9875
+ uiTexture: UiCanvasTexture;
9163
9876
  } | undefined;
9164
9877
  }
9165
9878
 
@@ -9698,6 +10411,8 @@ export declare interface UiBackgroundProps {
9698
10411
  uvs?: number[];
9699
10412
  /** AvatarTexture for the background */
9700
10413
  avatarTexture?: UiAvatarTexture;
10414
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10415
+ videoTexture?: UiVideoTexture;
9701
10416
  /** Texture for the background */
9702
10417
  texture?: UiTexture;
9703
10418
  }
@@ -9717,9 +10432,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9717
10432
  disabled?: boolean;
9718
10433
  }
9719
10434
 
10435
+ /** @public */
10436
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10437
+
9720
10438
  /** @public */
9721
10439
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9722
10440
 
10441
+ /**
10442
+ * @public
10443
+ */
10444
+ export declare interface UiCanvasTexture {
10445
+ uiCanvasEntity: number;
10446
+ /** default = TextureWrapMode.Clamp */
10447
+ wrapMode?: TextureWrapMode | undefined;
10448
+ /** default = FilterMode.Bilinear */
10449
+ filterMode?: TextureFilterMode | undefined;
10450
+ }
10451
+
10452
+ /**
10453
+ * @public
10454
+ */
10455
+ export declare namespace UiCanvasTexture {
10456
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10457
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10458
+ }
10459
+
9723
10460
  /**
9724
10461
  * @public
9725
10462
  */
@@ -9872,6 +10609,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
9872
10609
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
9873
10610
  };
9874
10611
 
10612
+ /** @public */
10613
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10614
+
9875
10615
  /** @public */
9876
10616
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
9877
10617
 
@@ -9951,6 +10691,22 @@ export declare interface UiTransformProps {
9951
10691
  opacity?: number;
9952
10692
  /** default 0 */
9953
10693
  zIndex?: number;
10694
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10695
+ elementId?: string;
10696
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10697
+ scrollPosition?: PBVector2 | string;
10698
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10699
+ scrollVisible?: ScrollVisibleType;
10700
+ }
10701
+
10702
+ /**
10703
+ * Video Texture
10704
+ * @public
10705
+ */
10706
+ export declare interface UiVideoTexture {
10707
+ videoPlayerEntity: Entity;
10708
+ wrapMode?: TextureWrapType;
10709
+ filterMode?: TextureFilterType;
9954
10710
  }
9955
10711
 
9956
10712
  /**