@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/beta.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
  */
@@ -3171,6 +3274,12 @@ export declare type Listeners = {
3171
3274
  onMouseEnter?: Callback;
3172
3275
  /** triggered on mouse leave event */
3173
3276
  onMouseLeave?: Callback;
3277
+ /** triggered while the pointer is dragged after pressing on the element */
3278
+ onMouseDrag?: Callback;
3279
+ /** triggered while the pointer is dragged with the cursor locked in place */
3280
+ onMouseDragLocked?: Callback;
3281
+ /** triggered when a drag that started on the element ends */
3282
+ onMouseDragEnd?: Callback;
3174
3283
  };
3175
3284
 
3176
3285
  /**
@@ -4075,6 +4184,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4075
4184
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4076
4185
  */
4077
4186
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4187
+ /**
4188
+ * @public
4189
+ * Set a mesh from inside a gltf in the MeshCollider component
4190
+ * @param entity - entity to create or replace the MeshCollider component
4191
+ * @param source - the path to the gltf
4192
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4193
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4194
+ */
4195
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4078
4196
  }
4079
4197
 
4080
4198
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4111,6 +4229,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4111
4229
  * @param entity - entity to create or replace the MeshRenderer component
4112
4230
  */
4113
4231
  setSphere(entity: Entity): void;
4232
+ /**
4233
+ * @public
4234
+ * Set a mesh from inside a gltf in the MeshRenderer component
4235
+ * @param entity - entity to create or replace the MeshRenderer component
4236
+ * @param source - the path to the gltf
4237
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4238
+ */
4239
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4114
4240
  }
4115
4241
 
4116
4242
  /* Excluded from this release type: MessageBus */
@@ -4148,6 +4274,39 @@ export declare namespace MoveContinuous {
4148
4274
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4149
4275
  }
4150
4276
 
4277
+ /**
4278
+ * Describes the animation the movement scene wants the avatar to play.
4279
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4280
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4281
+ */
4282
+ /**
4283
+ * @public
4284
+ */
4285
+ export declare interface MovementAnimation {
4286
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4287
+ src: string;
4288
+ /** whether the clip repeats once it reaches the end */
4289
+ loop: boolean;
4290
+ /** playback speed multiplier (1.0 = clip's native rate) */
4291
+ speed: number;
4292
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4293
+ idle: boolean;
4294
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4295
+ transitionSeconds?: number | undefined;
4296
+ /** 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. */
4297
+ playbackTime?: number | undefined;
4298
+ /** 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). */
4299
+ sounds: string[];
4300
+ }
4301
+
4302
+ /**
4303
+ * @public
4304
+ */
4305
+ export declare namespace MovementAnimation {
4306
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4307
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4308
+ }
4309
+
4151
4310
  /**
4152
4311
  * @public
4153
4312
  */
@@ -4563,6 +4722,25 @@ export declare const onVideoEvent: Observable<{
4563
4722
  totalVideoLength: number;
4564
4723
  }>;
4565
4724
 
4725
+ /**
4726
+ * @public
4727
+ */
4728
+ export declare interface Orthographic {
4729
+ /**
4730
+ * vertical extent of the visible range in meters
4731
+ * defaults to 4m
4732
+ */
4733
+ verticalRange?: number | undefined;
4734
+ }
4735
+
4736
+ /**
4737
+ * @public
4738
+ */
4739
+ export declare namespace Orthographic {
4740
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4741
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4742
+ }
4743
+
4566
4744
  /**
4567
4745
  * @public
4568
4746
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4910,6 +5088,8 @@ export declare namespace PBAvatarEmoteCommand {
4910
5088
  export declare interface PBAvatarEquippedData {
4911
5089
  wearableUrns: string[];
4912
5090
  emoteUrns: string[];
5091
+ /** slots that will render even if hidden */
5092
+ forceRender: string[];
4913
5093
  }
4914
5094
 
4915
5095
  /**
@@ -4980,6 +5160,8 @@ export declare interface PBAvatarModifierArea {
4980
5160
  excludeIds: string[];
4981
5161
  /** list of modifiers to apply */
4982
5162
  modifiers: AvatarModifierType[];
5163
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5164
+ useColliderRange?: boolean | undefined;
4983
5165
  }
4984
5166
 
4985
5167
  /**
@@ -4990,6 +5172,64 @@ export declare namespace PBAvatarModifierArea {
4990
5172
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
4991
5173
  }
4992
5174
 
5175
+ /**
5176
+ * @public
5177
+ */
5178
+ export declare interface PBAvatarMovement {
5179
+ velocity: PBVector3 | undefined;
5180
+ /** 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. */
5181
+ orientation: number;
5182
+ groundDirection?: PBVector3 | undefined;
5183
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5184
+ walkSuccess?: boolean | undefined;
5185
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5186
+ animation?: MovementAnimation | undefined;
5187
+ /** 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. */
5188
+ tiltPitch?: number | undefined;
5189
+ /** 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. */
5190
+ tiltRoll?: number | undefined;
5191
+ }
5192
+
5193
+ /**
5194
+ * @public
5195
+ */
5196
+ export declare namespace PBAvatarMovement {
5197
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5198
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5199
+ }
5200
+
5201
+ /**
5202
+ * @public
5203
+ */
5204
+ export declare interface PBAvatarMovementInfo {
5205
+ /** the length of time the current step velocity will apply for */
5206
+ stepTime: number;
5207
+ /** the length of time the previous step velocity applied for */
5208
+ previousStepTime: number;
5209
+ /** the velocity requested for the previous frame */
5210
+ requestedVelocity: PBVector3 | undefined;
5211
+ /** the resulting velocity taking collisions into account */
5212
+ actualVelocity: PBVector3 | undefined;
5213
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5214
+ externalVelocity: PBVector3 | undefined;
5215
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5216
+ activeInputModifier: PBInputModifier | undefined;
5217
+ /** if set, the movement scene should walk the player to this scene-relative position */
5218
+ walkTarget?: PBVector3 | undefined;
5219
+ /** stop distance for walk_target; considered reached when within this distance */
5220
+ walkThreshold?: number | undefined;
5221
+ /** 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. */
5222
+ activeAnimationState?: AvatarAnimationState | undefined;
5223
+ }
5224
+
5225
+ /**
5226
+ * @public
5227
+ */
5228
+ export declare namespace PBAvatarMovementInfo {
5229
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5230
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5231
+ }
5232
+
4993
5233
  /**
4994
5234
  * The AvatarShape component contains the information required to draw and animate avatar, acting as
4995
5235
  * a simplified GLTF container for this specific case.
@@ -5038,6 +5278,8 @@ export declare interface PBAvatarShape {
5038
5278
  emotes: string[];
5039
5279
  /** hides the skin + hair + facial features (default: false) */
5040
5280
  showOnlyWearables?: boolean | undefined;
5281
+ /** slots that will render even if hidden */
5282
+ forceRender: string[];
5041
5283
  }
5042
5284
 
5043
5285
  /**
@@ -5079,6 +5321,51 @@ export declare namespace PBBillboard {
5079
5321
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5080
5322
  }
5081
5323
 
5324
+ /**
5325
+ * @public
5326
+ */
5327
+ export declare interface PBCameraLayer {
5328
+ /**
5329
+ * layer to which these settings apply. must be > 0
5330
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5331
+ */
5332
+ layer: number;
5333
+ /** should the sun light affect this layer? default false */
5334
+ directionalLight?: boolean | undefined;
5335
+ /** should this layer show player avatars? default false */
5336
+ showAvatars?: boolean | undefined;
5337
+ /** should this layer show the sky? default false */
5338
+ showSkybox?: boolean | undefined;
5339
+ /** should this layer show distance fog? default false */
5340
+ showFog?: boolean | undefined;
5341
+ /** ambient light overrides for this layer. default -> use same as main camera */
5342
+ ambientColorOverride?: PBColor3 | undefined;
5343
+ ambientBrightnessOverride?: number | undefined;
5344
+ }
5345
+
5346
+ /**
5347
+ * @public
5348
+ */
5349
+ export declare namespace PBCameraLayer {
5350
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5351
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5352
+ }
5353
+
5354
+ /**
5355
+ * @public
5356
+ */
5357
+ export declare interface PBCameraLayers {
5358
+ layers: number[];
5359
+ }
5360
+
5361
+ /**
5362
+ * @public
5363
+ */
5364
+ export declare namespace PBCameraLayers {
5365
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5366
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5367
+ }
5368
+
5082
5369
  /**
5083
5370
  * The CameraMode component can be used to determine whether the player is using a first-person o
5084
5371
  * third-person view.
@@ -5120,6 +5407,8 @@ export declare interface PBCameraModeArea {
5120
5407
  area: PBVector3 | undefined;
5121
5408
  /** the camera mode to enforce */
5122
5409
  mode: CameraType;
5410
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5411
+ useColliderRange?: boolean | undefined;
5123
5412
  }
5124
5413
 
5125
5414
  /**
@@ -5253,6 +5542,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5253
5542
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5254
5543
  }
5255
5544
 
5545
+ /**
5546
+ * defines the global scene light settings. must be added to the scene root.
5547
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5548
+ */
5549
+ /**
5550
+ * @public
5551
+ */
5552
+ export declare interface PBGlobalLight {
5553
+ /**
5554
+ * the direction the directional light shines in.
5555
+ * default depends on time of day and explorer implementation
5556
+ */
5557
+ direction?: PBVector3 | undefined;
5558
+ /**
5559
+ * ambient light color
5560
+ * default: White
5561
+ */
5562
+ ambientColor?: PBColor3 | undefined;
5563
+ /**
5564
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5565
+ * default 1
5566
+ */
5567
+ ambientBrightness?: number | undefined;
5568
+ }
5569
+
5570
+ /**
5571
+ * @public
5572
+ */
5573
+ export declare namespace PBGlobalLight {
5574
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5575
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5576
+ }
5577
+
5256
5578
  /**
5257
5579
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5258
5580
  *
@@ -5288,6 +5610,25 @@ export declare namespace PBGltfContainer {
5288
5610
  */
5289
5611
  export declare interface PBGltfContainerLoadingState {
5290
5612
  currentState: LoadingState;
5613
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5614
+ nodePaths: string[];
5615
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5616
+ meshNames: string[];
5617
+ /**
5618
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5619
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5620
+ */
5621
+ materialNames: string[];
5622
+ /**
5623
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5624
+ * sure all your materials are explicitly named.
5625
+ */
5626
+ skinNames: string[];
5627
+ /**
5628
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5629
+ * your skins are explicitly named.
5630
+ */
5631
+ animationNames: string[];
5291
5632
  }
5292
5633
 
5293
5634
  /**
@@ -5298,6 +5639,57 @@ export declare namespace PBGltfContainerLoadingState {
5298
5639
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5299
5640
  }
5300
5641
 
5642
+ /**
5643
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5644
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5645
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5646
+ * in the parent.
5647
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5648
+ *
5649
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5650
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5651
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5652
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5653
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5654
+ *
5655
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5656
+ *
5657
+ * From the scene, you can modify various components to alter the gltf node:
5658
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5659
+ * regardless of any intermediate gltf node hierarchy.
5660
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5661
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5662
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5663
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5664
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5665
+ * 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
5666
+ * PBMaterial will be maintained.
5667
+ *
5668
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5669
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5670
+ * change the state to `GNS_FAILED`.
5671
+ * - deleting the scene entity will not delete the gltf node.
5672
+ *
5673
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5674
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5675
+ * the gltf node will also be displayed.
5676
+ */
5677
+ /**
5678
+ * @public
5679
+ */
5680
+ export declare interface PBGltfNode {
5681
+ /** the path of the target node in the Gltf. */
5682
+ path: string;
5683
+ }
5684
+
5685
+ /**
5686
+ * @public
5687
+ */
5688
+ export declare namespace PBGltfNode {
5689
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5690
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5691
+ }
5692
+
5301
5693
  /**
5302
5694
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5303
5695
  *
@@ -5343,6 +5735,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5343
5735
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5344
5736
  }
5345
5737
 
5738
+ /**
5739
+ * The state of a linked gltf node.
5740
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5741
+ */
5742
+ /**
5743
+ * @public
5744
+ */
5745
+ export declare interface PBGltfNodeState {
5746
+ state: GltfNodeStateValue;
5747
+ error?: string | undefined;
5748
+ }
5749
+
5750
+ /**
5751
+ * @public
5752
+ */
5753
+ export declare namespace PBGltfNodeState {
5754
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5755
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5756
+ }
5757
+
5346
5758
  /**
5347
5759
  * @public
5348
5760
  */
@@ -5480,6 +5892,14 @@ export declare interface PBMaterial {
5480
5892
  $case: "pbr";
5481
5893
  pbr: PBMaterial_PbrMaterial;
5482
5894
  } | undefined;
5895
+ /**
5896
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5897
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5898
+ * supported by the PbMaterial.
5899
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5900
+ * field with data that reflects the gltf material once it is loaded.
5901
+ */
5902
+ gltf?: PBMaterial_GltfMaterial | undefined;
5483
5903
  }
5484
5904
 
5485
5905
  /**
@@ -5490,6 +5910,22 @@ export declare namespace PBMaterial {
5490
5910
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5491
5911
  }
5492
5912
 
5913
+ /**
5914
+ * @public
5915
+ */
5916
+ export declare interface PBMaterial_GltfMaterial {
5917
+ gltfSrc: string;
5918
+ name: string;
5919
+ }
5920
+
5921
+ /**
5922
+ * @public
5923
+ */
5924
+ export declare namespace PBMaterial_GltfMaterial {
5925
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
5926
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
5927
+ }
5928
+
5493
5929
  /**
5494
5930
  * @public
5495
5931
  */
@@ -5586,6 +6022,9 @@ export declare interface PBMeshCollider {
5586
6022
  } | {
5587
6023
  $case: "plane";
5588
6024
  plane: PBMeshCollider_PlaneMesh;
6025
+ } | {
6026
+ $case: "gltf";
6027
+ gltf: PBMeshCollider_GltfMesh;
5589
6028
  } | undefined;
5590
6029
  }
5591
6030
 
@@ -5631,6 +6070,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5631
6070
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5632
6071
  }
5633
6072
 
6073
+ /** A collider constructed from a Gltf Mesh. */
6074
+ /**
6075
+ * @public
6076
+ */
6077
+ export declare interface PBMeshCollider_GltfMesh {
6078
+ /** the GLTF file path as listed in the scene's manifest. */
6079
+ gltfSrc: string;
6080
+ /** the name of the mesh asset */
6081
+ name: string;
6082
+ }
6083
+
6084
+ /**
6085
+ * @public
6086
+ */
6087
+ export declare namespace PBMeshCollider_GltfMesh {
6088
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6089
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6090
+ }
6091
+
5634
6092
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5635
6093
  /**
5636
6094
  * @public
@@ -5663,13 +6121,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5663
6121
 
5664
6122
  /**
5665
6123
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5666
- * plane, a sphere or a cylinder.
6124
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5667
6125
  *
5668
6126
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5669
6127
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5670
6128
  * `float` coordinates, one for each corner of each side of each face.
5671
- *
5672
- * More complex shapes require the use of a `GltfContainer` component.
5673
6129
  */
5674
6130
  /**
5675
6131
  * @public
@@ -5687,6 +6143,9 @@ export declare interface PBMeshRenderer {
5687
6143
  } | {
5688
6144
  $case: "plane";
5689
6145
  plane: PBMeshRenderer_PlaneMesh;
6146
+ } | {
6147
+ $case: "gltf";
6148
+ gltf: PBMeshRenderer_GltfMesh;
5690
6149
  } | undefined;
5691
6150
  }
5692
6151
 
@@ -5734,6 +6193,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5734
6193
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5735
6194
  }
5736
6195
 
6196
+ /** A mesh from a Gltf. */
6197
+ /**
6198
+ * @public
6199
+ */
6200
+ export declare interface PBMeshRenderer_GltfMesh {
6201
+ /** the GLTF file path as listed in the scene's manifest. */
6202
+ gltfSrc: string;
6203
+ /** the name of the mesh asset */
6204
+ name: string;
6205
+ }
6206
+
6207
+ /**
6208
+ * @public
6209
+ */
6210
+ export declare namespace PBMeshRenderer_GltfMesh {
6211
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6212
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6213
+ }
6214
+
5737
6215
  /** PlaneMesh renders a 2D rectangular shape. */
5738
6216
  /**
5739
6217
  * @public
@@ -6325,7 +6803,10 @@ export declare interface PBPrimaryPointerInfo {
6325
6803
  screenCoordinates?: PBVector2 | undefined;
6326
6804
  /** Movement since last frame (pixels) */
6327
6805
  screenDelta?: PBVector2 | undefined;
6328
- /** Direction vector for 3D ray casting */
6806
+ /**
6807
+ * ray direction that can be used with the primary camera origin for
6808
+ * raycasting from the cursor into the world
6809
+ */
6329
6810
  worldRayDirection?: PBVector3 | undefined;
6330
6811
  }
6331
6812
 
@@ -6396,6 +6877,10 @@ export declare interface PBRaycast {
6396
6877
  continuous?: boolean | undefined;
6397
6878
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6398
6879
  collisionMask?: number | undefined;
6880
+ /** shape to cast, default ray */
6881
+ shape?: RaycastShape | undefined;
6882
+ /** include hits with entities from other scenes */
6883
+ includeWorld?: boolean | undefined;
6399
6884
  }
6400
6885
 
6401
6886
  /**
@@ -6551,6 +7036,46 @@ export declare namespace PBTextShape {
6551
7036
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6552
7037
  }
6553
7038
 
7039
+ /**
7040
+ * @public
7041
+ */
7042
+ export declare interface PBTextureCamera {
7043
+ /** rendered texture width */
7044
+ width?: number | undefined;
7045
+ /** rendered texture height */
7046
+ height?: number | undefined;
7047
+ /**
7048
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7049
+ * defaults to 0
7050
+ */
7051
+ layer?: number | undefined;
7052
+ /** default black */
7053
+ clearColor?: PBColor4 | undefined;
7054
+ /** default infinity */
7055
+ farPlane?: number | undefined;
7056
+ mode?: {
7057
+ $case: "perspective";
7058
+ perspective: Perspective;
7059
+ } | {
7060
+ $case: "orthographic";
7061
+ orthographic: Orthographic;
7062
+ } | undefined;
7063
+ /**
7064
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7065
+ * range: 0 (off) - 1 (full volume)
7066
+ * default: 0
7067
+ */
7068
+ volume?: number | undefined;
7069
+ }
7070
+
7071
+ /**
7072
+ * @public
7073
+ */
7074
+ export declare namespace PBTextureCamera {
7075
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7076
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7077
+ }
7078
+
6554
7079
  /**
6555
7080
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6556
7081
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6796,6 +7321,25 @@ export declare namespace PBUiBackground {
6796
7321
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6797
7322
  }
6798
7323
 
7324
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7325
+ /**
7326
+ * @public
7327
+ */
7328
+ export declare interface PBUiCanvas {
7329
+ width: number;
7330
+ height: number;
7331
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7332
+ color?: PBColor4 | undefined;
7333
+ }
7334
+
7335
+ /**
7336
+ * @public
7337
+ */
7338
+ export declare namespace PBUiCanvas {
7339
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7340
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7341
+ }
7342
+
6799
7343
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6800
7344
  /**
6801
7345
  * @public
@@ -6893,6 +7437,10 @@ export declare interface PBUiInput {
6893
7437
  /** default=10 */
6894
7438
  fontSize?: number | undefined;
6895
7439
  value?: string | undefined;
7440
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7441
+ multiLine?: boolean | undefined;
7442
+ /** default=true; when false, the input value is preserved after pressing Enter */
7443
+ clearOnSubmit?: boolean | undefined;
6896
7444
  }
6897
7445
 
6898
7446
  /**
@@ -6956,6 +7504,21 @@ export declare namespace PBUiInputResult {
6956
7504
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
6957
7505
  }
6958
7506
 
7507
+ /**
7508
+ * @public
7509
+ */
7510
+ export declare interface PBUiScrollResult {
7511
+ value: PBVector2 | undefined;
7512
+ }
7513
+
7514
+ /**
7515
+ * @public
7516
+ */
7517
+ export declare namespace PBUiScrollResult {
7518
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7519
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7520
+ }
7521
+
6959
7522
  /**
6960
7523
  * @public
6961
7524
  */
@@ -7099,6 +7662,12 @@ export declare interface PBUiTransform {
7099
7662
  borderRightColor?: PBColor4 | undefined;
7100
7663
  /** default: 1 */
7101
7664
  opacity?: number | undefined;
7665
+ /** reference for scroll_position. default empty */
7666
+ elementId?: string | undefined;
7667
+ /** default position=(0,0) */
7668
+ scrollPosition?: ScrollPositionValue | undefined;
7669
+ /** default ShowScrollBar.SSB_BOTH */
7670
+ scrollVisible?: ShowScrollBar | undefined;
7102
7671
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7103
7672
  zIndex?: number | undefined;
7104
7673
  }
@@ -7251,6 +7820,25 @@ export declare namespace PBVisibilityComponent {
7251
7820
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7252
7821
  }
7253
7822
 
7823
+ /**
7824
+ * @public
7825
+ */
7826
+ export declare interface Perspective {
7827
+ /**
7828
+ * vertical field of view in radians
7829
+ * defaults to pi/4 = 45 degrees
7830
+ */
7831
+ fieldOfView?: number | undefined;
7832
+ }
7833
+
7834
+ /**
7835
+ * @public
7836
+ */
7837
+ export declare namespace Perspective {
7838
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7839
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7840
+ }
7841
+
7254
7842
  /**
7255
7843
  * @public
7256
7844
  * Physics helpers for applying impulses and forces to the player.
@@ -7492,6 +8080,24 @@ export declare interface PointerEventsSystem {
7492
8080
  * @param entity - Entity where the callback was attached
7493
8081
  */
7494
8082
  removeOnPointerHoverLeave(entity: Entity): void;
8083
+ /**
8084
+ * @public
8085
+ * Remove the callback for onPointerDrag event
8086
+ * @param entity - Entity where the callback was attached
8087
+ */
8088
+ removeOnPointerDrag(entity: Entity): void;
8089
+ /**
8090
+ * @public
8091
+ * Remove the callback for onPointerDragLocked event
8092
+ * @param entity - Entity where the callback was attached
8093
+ */
8094
+ removeOnPointerDragLocked(entity: Entity): void;
8095
+ /**
8096
+ * @public
8097
+ * Remove the callback for onPointerDragEnd event
8098
+ * @param entity - Entity where the callback was attached
8099
+ */
8100
+ removeOnPointerDragEnd(entity: Entity): void;
7495
8101
  /**
7496
8102
  * @public
7497
8103
  * Remove the callback for onProximityDown event
@@ -7570,6 +8176,36 @@ export declare interface PointerEventsSystem {
7570
8176
  entity: Entity;
7571
8177
  opts?: Partial<EventSystemOptions>;
7572
8178
  }, cb: EventSystemCallback): void;
8179
+ /**
8180
+ * @public
8181
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8182
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8183
+ * @param cb - Function to execute on every drag update
8184
+ */
8185
+ onPointerDrag(pointerData: {
8186
+ entity: Entity;
8187
+ opts?: Partial<EventSystemOptions>;
8188
+ }, cb: EventSystemCallback): void;
8189
+ /**
8190
+ * @public
8191
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8192
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8193
+ * @param cb - Function to execute on every drag update
8194
+ */
8195
+ onPointerDragLocked(pointerData: {
8196
+ entity: Entity;
8197
+ opts?: Partial<EventSystemOptions>;
8198
+ }, cb: EventSystemCallback): void;
8199
+ /**
8200
+ * @public
8201
+ * Execute callback when the user releases the button after a drag that started on the entity
8202
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8203
+ * @param cb - Function to execute when the drag ends
8204
+ */
8205
+ onPointerDragEnd(pointerData: {
8206
+ entity: Entity;
8207
+ opts?: Partial<EventSystemOptions>;
8208
+ }, cb: EventSystemCallback): void;
7573
8209
  /**
7574
8210
  * @public
7575
8211
  * Execute callback when the user presses the proximity button on the entity
@@ -7628,7 +8264,10 @@ export declare const enum PointerEventType {
7628
8264
  PET_HOVER_ENTER = 2,
7629
8265
  PET_HOVER_LEAVE = 3,
7630
8266
  PET_PROXIMITY_ENTER = 4,
7631
- PET_PROXIMITY_LEAVE = 5
8267
+ PET_PROXIMITY_LEAVE = 5,
8268
+ PET_DRAG_LOCKED = 6,
8269
+ PET_DRAG = 7,
8270
+ PET_DRAG_END = 8
7632
8271
  }
7633
8272
 
7634
8273
  /**
@@ -7659,7 +8298,10 @@ export declare const enum PointerType {
7659
8298
  /** POT_NONE - No pointer input */
7660
8299
  POT_NONE = 0,
7661
8300
  /** POT_MOUSE - Traditional mouse input */
7662
- POT_MOUSE = 1
8301
+ POT_MOUSE = 1,
8302
+ POT_PAD = 2,
8303
+ POT_TOUCH = 3,
8304
+ POT_WAND = 4
7663
8305
  }
7664
8306
 
7665
8307
  /**
@@ -8116,6 +8758,16 @@ export declare const enum RaycastQueryType {
8116
8758
  /** @public */
8117
8759
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8118
8760
 
8761
+ /**
8762
+ * @public
8763
+ */
8764
+ export declare const enum RaycastShape {
8765
+ /** RS_RAY - cast a point, get collisions along a ray */
8766
+ RS_RAY = 0,
8767
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8768
+ RS_AVATAR = 1
8769
+ }
8770
+
8119
8771
  /**
8120
8772
  * @public
8121
8773
  */
@@ -8248,6 +8900,10 @@ export declare type RaycastSystemOptions = {
8248
8900
  queryType: RaycastQueryType;
8249
8901
  continuous?: boolean | undefined;
8250
8902
  collisionMask?: number | undefined;
8903
+ /** shape to sweep along the ray, default RS_RAY (a point) */
8904
+ shape?: RaycastShape | undefined;
8905
+ /** include colliders from other scenes, default false */
8906
+ includeWorld?: boolean | undefined;
8251
8907
  };
8252
8908
 
8253
8909
  /**
@@ -8296,6 +8952,20 @@ export declare interface ReactBasedUiSystem {
8296
8952
  * @param entity - The entity whose UI renderer should be removed
8297
8953
  */
8298
8954
  removeUiRenderer(entity: Entity): void;
8955
+ /**
8956
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
8957
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
8958
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
8959
+ *
8960
+ * @param entity - The UiCanvas entity the UI tree hangs from
8961
+ * @param ui - The UI component to render
8962
+ */
8963
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
8964
+ /**
8965
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
8966
+ * @param entity - The UiCanvas entity the renderer was set on
8967
+ */
8968
+ removeTextureRenderer(entity: Entity): void;
8299
8969
  }
8300
8970
 
8301
8971
  /**
@@ -8886,6 +9556,33 @@ export declare namespace Schemas {
8886
9556
  */
8887
9557
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
8888
9558
 
9559
+ /**
9560
+ * @public
9561
+ */
9562
+ export declare interface ScrollPositionValue {
9563
+ value?: {
9564
+ $case: "position";
9565
+ position: PBVector2;
9566
+ } | {
9567
+ $case: "reference";
9568
+ reference: string;
9569
+ } | undefined;
9570
+ }
9571
+
9572
+ /**
9573
+ * @public
9574
+ */
9575
+ export declare namespace ScrollPositionValue {
9576
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9577
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9578
+ }
9579
+
9580
+ /**
9581
+ * Which scrollbars are shown when the overflow is scrollable
9582
+ * @public
9583
+ */
9584
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9585
+
8889
9586
  /**
8890
9587
  * Register the composite provider used to resolve composite files. Also registers
8891
9588
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -8911,6 +9608,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
8911
9608
  easingFunction?: EasingFunction;
8912
9609
  }
8913
9610
 
9611
+ /**
9612
+ * @public
9613
+ */
9614
+ export declare const enum ShowScrollBar {
9615
+ SSB_BOTH = 0,
9616
+ SSB_ONLY_VERTICAL = 1,
9617
+ SSB_ONLY_HORIZONTAL = 2,
9618
+ SSB_HIDDEN = 3
9619
+ }
9620
+
8914
9621
  /** @public */
8915
9622
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
8916
9623
 
@@ -9017,6 +9724,9 @@ export declare namespace Texture {
9017
9724
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9018
9725
  }
9019
9726
 
9727
+ /** @public */
9728
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9729
+
9020
9730
  /**
9021
9731
  * @public
9022
9732
  */
@@ -9127,6 +9837,9 @@ export declare interface TextureUnion {
9127
9837
  } | {
9128
9838
  $case: "videoTexture";
9129
9839
  videoTexture: VideoTexture;
9840
+ } | {
9841
+ $case: "uiTexture";
9842
+ uiTexture: UiCanvasTexture;
9130
9843
  } | undefined;
9131
9844
  }
9132
9845
 
@@ -9665,6 +10378,8 @@ export declare interface UiBackgroundProps {
9665
10378
  uvs?: number[];
9666
10379
  /** AvatarTexture for the background */
9667
10380
  avatarTexture?: UiAvatarTexture;
10381
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10382
+ videoTexture?: UiVideoTexture;
9668
10383
  /** Texture for the background */
9669
10384
  texture?: UiTexture;
9670
10385
  }
@@ -9684,9 +10399,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9684
10399
  disabled?: boolean;
9685
10400
  }
9686
10401
 
10402
+ /** @public */
10403
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10404
+
9687
10405
  /** @public */
9688
10406
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9689
10407
 
10408
+ /**
10409
+ * @public
10410
+ */
10411
+ export declare interface UiCanvasTexture {
10412
+ uiCanvasEntity: number;
10413
+ /** default = TextureWrapMode.Clamp */
10414
+ wrapMode?: TextureWrapMode | undefined;
10415
+ /** default = FilterMode.Bilinear */
10416
+ filterMode?: TextureFilterMode | undefined;
10417
+ }
10418
+
10419
+ /**
10420
+ * @public
10421
+ */
10422
+ export declare namespace UiCanvasTexture {
10423
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10424
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10425
+ }
10426
+
9690
10427
  /**
9691
10428
  * @public
9692
10429
  */
@@ -9839,6 +10576,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
9839
10576
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
9840
10577
  };
9841
10578
 
10579
+ /** @public */
10580
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10581
+
9842
10582
  /** @public */
9843
10583
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
9844
10584
 
@@ -9918,6 +10658,22 @@ export declare interface UiTransformProps {
9918
10658
  opacity?: number;
9919
10659
  /** default 0 */
9920
10660
  zIndex?: number;
10661
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10662
+ elementId?: string;
10663
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10664
+ scrollPosition?: PBVector2 | string;
10665
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10666
+ scrollVisible?: ScrollVisibleType;
10667
+ }
10668
+
10669
+ /**
10670
+ * Video Texture
10671
+ * @public
10672
+ */
10673
+ export declare interface UiVideoTexture {
10674
+ videoPlayerEntity: Entity;
10675
+ wrapMode?: TextureWrapType;
10676
+ filterMode?: TextureFilterType;
9921
10677
  }
9922
10678
 
9923
10679
  /**