@dcl/playground-assets 7.27.1-33533530571.commit-451d001 → 7.27.1-33669021544.commit-a6216ed

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
@@ -245,42 +245,6 @@ export declare interface AudioStreamComponentDefinitionExtended extends LastWrit
245
245
  getAudioState(entity: Entity): PBAudioEvent | undefined;
246
246
  }
247
247
 
248
- /**
249
- * @public
250
- */
251
- export declare type AuthoritativePutComponentMessage = CrdtMessageHeader & AuthoritativePutComponentMessageBody;
252
-
253
- /**
254
- * Server authoritative message - identical to PutComponentMessageBody but with forced processing
255
- * Min. length = header (8 bytes) + 16 bytes = 24 bytes
256
- *
257
- * @param entity - Uint32 number of the entity
258
- * @param componentId - Uint32 number of id
259
- * @param timestamp - Uint32 Lamport timestamp (server's authoritative timestamp)
260
- * @param data - Uint8[] data of component => length(4 bytes) + block of bytes[0..length-1]
261
- * @public
262
- */
263
- export declare type AuthoritativePutComponentMessageBody = {
264
- type: CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT;
265
- entityId: Entity;
266
- componentId: number;
267
- timestamp: number;
268
- data: Uint8Array;
269
- };
270
-
271
- /**
272
- * @public
273
- */
274
- export declare namespace AuthoritativePutComponentOperation {
275
- const MESSAGE_HEADER_LENGTH = 16;
276
- /**
277
- * Call this function for an optimal writing data passing the ByteBuffer
278
- * already allocated
279
- */
280
- export function write(entity: Entity, timestamp: number, componentId: number, data: Uint8Array, buf: ByteBuffer): void;
281
- export function read(buf: ByteBuffer): AuthoritativePutComponentMessage | null;
282
- }
283
-
284
248
  /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
285
249
  /**
286
250
  * @public
@@ -315,6 +279,39 @@ export declare const enum AvatarAnchorPointType {
315
279
  AAPT_RIGHT_TOE_BASE = 25
316
280
  }
317
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
+
318
315
  /** @public */
319
316
  export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBAvatarAttach>;
320
317
 
@@ -324,8 +321,21 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
324
321
  /** @public */
325
322
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
326
323
 
327
- /** @public */
328
- 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
+ };
329
339
 
330
340
  /** @public */
331
341
  export declare const AvatarLocomotionSettings: LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>;
@@ -355,7 +365,26 @@ export declare const enum AvatarModifierType {
355
365
  }
356
366
 
357
367
  /** @public */
358
- 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
+ };
359
388
 
360
389
  /**
361
390
  * @public
@@ -453,22 +482,6 @@ export declare interface BaseComponent<T> {
453
482
  * If the value is undefined, the component was deleted.
454
483
  */
455
484
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
456
- /**
457
- * @public
458
- *
459
- */
460
- validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
461
- validateBeforeChange(cb: ValidateCallback<T>): void;
462
- /**
463
- * Get the CRDT state for an entity (serialized data and timestamp)
464
- * @param entity - Entity to get the CRDT state for
465
- * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
466
- * @public
467
- */
468
- getCrdtState(entity: Entity): {
469
- data: Uint8Array;
470
- timestamp: number;
471
- } | null;
472
485
  }
473
486
 
474
487
  /** @public */
@@ -640,10 +653,17 @@ export declare interface ByteBuffer {
640
653
  }
641
654
 
642
655
  /**
643
- * 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.
644
658
  * @public
645
659
  */
646
- 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>;
647
667
 
648
668
  /** @public */
649
669
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
@@ -1496,15 +1516,22 @@ export declare const componentDefinitionByName: {
1496
1516
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1497
1517
  "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1498
1518
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1519
+ "core::AvatarMovement": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovement>>;
1520
+ "core::AvatarMovementInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>>;
1499
1521
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1500
1522
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1523
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1524
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1501
1525
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1502
1526
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1503
1527
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1504
1528
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1529
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1505
1530
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1506
1531
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1532
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1507
1533
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1534
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1508
1535
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1509
1536
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1510
1537
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1525,6 +1552,7 @@ export declare const componentDefinitionByName: {
1525
1552
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1526
1553
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1527
1554
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1555
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1528
1556
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1529
1557
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1530
1558
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1532,12 +1560,14 @@ export declare const componentDefinitionByName: {
1532
1560
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1533
1561
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1534
1562
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1563
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1535
1564
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1536
1565
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1537
1566
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1538
1567
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1539
1568
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1540
1569
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1570
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1541
1571
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1542
1572
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1543
1573
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1710,12 +1740,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1710
1740
  /**
1711
1741
  * @public
1712
1742
  */
1713
- export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1743
+ export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1714
1744
 
1715
1745
  /**
1716
1746
  * @public
1717
1747
  */
1718
- export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1748
+ export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1719
1749
 
1720
1750
  /**
1721
1751
  * Min length = 8 bytes
@@ -1770,8 +1800,7 @@ export declare enum CrdtMessageType {
1770
1800
  PUT_COMPONENT_NETWORK = 5,
1771
1801
  DELETE_COMPONENT_NETWORK = 6,
1772
1802
  DELETE_ENTITY_NETWORK = 7,
1773
- AUTHORITATIVE_PUT_COMPONENT = 8,
1774
- MAX_MESSAGE_TYPE = 9
1803
+ MAX_MESSAGE_TYPE = 8
1775
1804
  }
1776
1805
 
1777
1806
  /**
@@ -1779,8 +1808,6 @@ export declare enum CrdtMessageType {
1779
1808
  */
1780
1809
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1781
1810
 
1782
- export declare const CreatedBy: ICreatedBy;
1783
-
1784
1811
  /**
1785
1812
  * @public
1786
1813
  */
@@ -2160,6 +2187,9 @@ export declare type EntityComponents = {
2160
2187
  onMouseUp: Callback;
2161
2188
  onMouseEnter: Callback;
2162
2189
  onMouseLeave: Callback;
2190
+ onMouseDrag: Callback;
2191
+ onMouseDragLocked: Callback;
2192
+ onMouseDragEnd: Callback;
2163
2193
  };
2164
2194
 
2165
2195
  /** @public */
@@ -2512,6 +2542,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2512
2542
  direction?: PBVector3;
2513
2543
  };
2514
2544
 
2545
+ /** @public */
2546
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2547
+
2515
2548
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2516
2549
 
2517
2550
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2524,9 +2557,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2524
2557
  /** @public */
2525
2558
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2526
2559
 
2560
+ /** @public */
2561
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2562
+
2527
2563
  /** @public */
2528
2564
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2529
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
+
2530
2578
  /**
2531
2579
  * @public
2532
2580
  */
@@ -2550,12 +2598,6 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2550
2598
 
2551
2599
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2552
2600
 
2553
- export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2554
-
2555
- export declare interface ICreatedByType {
2556
- address: string;
2557
- }
2558
-
2559
2601
  /**
2560
2602
  * @public
2561
2603
  */
@@ -3038,35 +3080,6 @@ export declare const enum InteractionType {
3038
3080
  PROXIMITY = 1
3039
3081
  }
3040
3082
 
3041
- /**
3042
- * Internal component interface that exposes all internal methods for SDK use
3043
- * This is not exposed to users, only for internal SDK operations
3044
- */
3045
- export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
3046
- /**
3047
- * @public
3048
- * Dry run update to check if a CRDT message would be accepted without actually applying it
3049
- */
3050
- __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
3051
- /**
3052
- * @public
3053
- * Get the iterator to every entity has the component
3054
- */
3055
- iterator(): Iterable<[Entity, any]>;
3056
- /**
3057
- * @public
3058
- */
3059
- dirtyIterator(): Iterable<Entity>;
3060
- /**
3061
- * @public
3062
- */
3063
- __onChangeCallbacks(entity: Entity, value: T): void;
3064
- /**
3065
- * @public
3066
- */
3067
- __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
3068
- }
3069
-
3070
3083
  /**
3071
3084
  * @public
3072
3085
  */
@@ -3270,6 +3283,12 @@ export declare type Listeners = {
3270
3283
  onMouseEnter?: Callback;
3271
3284
  /** triggered on mouse leave event */
3272
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;
3273
3292
  };
3274
3293
 
3275
3294
  /**
@@ -4174,6 +4193,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4174
4193
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4175
4194
  */
4176
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;
4177
4205
  }
4178
4206
 
4179
4207
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4210,6 +4238,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4210
4238
  * @param entity - entity to create or replace the MeshRenderer component
4211
4239
  */
4212
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;
4213
4249
  }
4214
4250
 
4215
4251
  /**
@@ -4258,6 +4294,39 @@ export declare namespace MoveContinuous {
4258
4294
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4259
4295
  }
4260
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
+
4261
4330
  /**
4262
4331
  * @public
4263
4332
  */
@@ -4681,6 +4750,25 @@ export declare const onVideoEvent: Observable<{
4681
4750
  totalVideoLength: number;
4682
4751
  }>;
4683
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
+
4684
4772
  /**
4685
4773
  * @public
4686
4774
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -5028,6 +5116,8 @@ export declare namespace PBAvatarEmoteCommand {
5028
5116
  export declare interface PBAvatarEquippedData {
5029
5117
  wearableUrns: string[];
5030
5118
  emoteUrns: string[];
5119
+ /** slots that will render even if hidden */
5120
+ forceRender: string[];
5031
5121
  }
5032
5122
 
5033
5123
  /**
@@ -5098,6 +5188,8 @@ export declare interface PBAvatarModifierArea {
5098
5188
  excludeIds: string[];
5099
5189
  /** list of modifiers to apply */
5100
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;
5101
5193
  }
5102
5194
 
5103
5195
  /**
@@ -5108,6 +5200,64 @@ export declare namespace PBAvatarModifierArea {
5108
5200
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5109
5201
  }
5110
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
+
5111
5261
  /**
5112
5262
  * The AvatarShape component contains the information required to draw and animate avatar, acting as
5113
5263
  * a simplified GLTF container for this specific case.
@@ -5156,6 +5306,8 @@ export declare interface PBAvatarShape {
5156
5306
  emotes: string[];
5157
5307
  /** hides the skin + hair + facial features (default: false) */
5158
5308
  showOnlyWearables?: boolean | undefined;
5309
+ /** slots that will render even if hidden */
5310
+ forceRender: string[];
5159
5311
  }
5160
5312
 
5161
5313
  /**
@@ -5197,6 +5349,51 @@ export declare namespace PBBillboard {
5197
5349
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5198
5350
  }
5199
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
+
5200
5397
  /**
5201
5398
  * The CameraMode component can be used to determine whether the player is using a first-person o
5202
5399
  * third-person view.
@@ -5238,6 +5435,8 @@ export declare interface PBCameraModeArea {
5238
5435
  area: PBVector3 | undefined;
5239
5436
  /** the camera mode to enforce */
5240
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;
5241
5440
  }
5242
5441
 
5243
5442
  /**
@@ -5371,6 +5570,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5371
5570
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5372
5571
  }
5373
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
+
5374
5606
  /**
5375
5607
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5376
5608
  *
@@ -5406,6 +5638,25 @@ export declare namespace PBGltfContainer {
5406
5638
  */
5407
5639
  export declare interface PBGltfContainerLoadingState {
5408
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[];
5409
5660
  }
5410
5661
 
5411
5662
  /**
@@ -5416,6 +5667,57 @@ export declare namespace PBGltfContainerLoadingState {
5416
5667
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5417
5668
  }
5418
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
+
5419
5721
  /**
5420
5722
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5421
5723
  *
@@ -5461,6 +5763,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5461
5763
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5462
5764
  }
5463
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
+
5464
5786
  /**
5465
5787
  * @public
5466
5788
  */
@@ -5598,6 +5920,14 @@ export declare interface PBMaterial {
5598
5920
  $case: "pbr";
5599
5921
  pbr: PBMaterial_PbrMaterial;
5600
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;
5601
5931
  }
5602
5932
 
5603
5933
  /**
@@ -5608,6 +5938,22 @@ export declare namespace PBMaterial {
5608
5938
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5609
5939
  }
5610
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
+
5611
5957
  /**
5612
5958
  * @public
5613
5959
  */
@@ -5704,6 +6050,9 @@ export declare interface PBMeshCollider {
5704
6050
  } | {
5705
6051
  $case: "plane";
5706
6052
  plane: PBMeshCollider_PlaneMesh;
6053
+ } | {
6054
+ $case: "gltf";
6055
+ gltf: PBMeshCollider_GltfMesh;
5707
6056
  } | undefined;
5708
6057
  }
5709
6058
 
@@ -5749,6 +6098,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5749
6098
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5750
6099
  }
5751
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
+
5752
6120
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5753
6121
  /**
5754
6122
  * @public
@@ -5781,13 +6149,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5781
6149
 
5782
6150
  /**
5783
6151
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5784
- * plane, a sphere or a cylinder.
6152
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5785
6153
  *
5786
6154
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5787
6155
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5788
6156
  * `float` coordinates, one for each corner of each side of each face.
5789
- *
5790
- * More complex shapes require the use of a `GltfContainer` component.
5791
6157
  */
5792
6158
  /**
5793
6159
  * @public
@@ -5805,6 +6171,9 @@ export declare interface PBMeshRenderer {
5805
6171
  } | {
5806
6172
  $case: "plane";
5807
6173
  plane: PBMeshRenderer_PlaneMesh;
6174
+ } | {
6175
+ $case: "gltf";
6176
+ gltf: PBMeshRenderer_GltfMesh;
5808
6177
  } | undefined;
5809
6178
  }
5810
6179
 
@@ -5852,6 +6221,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5852
6221
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5853
6222
  }
5854
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
+
5855
6243
  /** PlaneMesh renders a 2D rectangular shape. */
5856
6244
  /**
5857
6245
  * @public
@@ -6443,7 +6831,10 @@ export declare interface PBPrimaryPointerInfo {
6443
6831
  screenCoordinates?: PBVector2 | undefined;
6444
6832
  /** Movement since last frame (pixels) */
6445
6833
  screenDelta?: PBVector2 | undefined;
6446
- /** 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
+ */
6447
6838
  worldRayDirection?: PBVector3 | undefined;
6448
6839
  }
6449
6840
 
@@ -6514,6 +6905,10 @@ export declare interface PBRaycast {
6514
6905
  continuous?: boolean | undefined;
6515
6906
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6516
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;
6517
6912
  }
6518
6913
 
6519
6914
  /**
@@ -6669,6 +7064,46 @@ export declare namespace PBTextShape {
6669
7064
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6670
7065
  }
6671
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
+
6672
7107
  /**
6673
7108
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6674
7109
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6914,6 +7349,25 @@ export declare namespace PBUiBackground {
6914
7349
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6915
7350
  }
6916
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
+
6917
7371
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6918
7372
  /**
6919
7373
  * @public
@@ -7011,6 +7465,10 @@ export declare interface PBUiInput {
7011
7465
  /** default=10 */
7012
7466
  fontSize?: number | undefined;
7013
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;
7014
7472
  }
7015
7473
 
7016
7474
  /**
@@ -7074,6 +7532,21 @@ export declare namespace PBUiInputResult {
7074
7532
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7075
7533
  }
7076
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
+
7077
7550
  /**
7078
7551
  * @public
7079
7552
  */
@@ -7217,6 +7690,12 @@ export declare interface PBUiTransform {
7217
7690
  borderRightColor?: PBColor4 | undefined;
7218
7691
  /** default: 1 */
7219
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;
7220
7699
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7221
7700
  zIndex?: number | undefined;
7222
7701
  }
@@ -7369,6 +7848,25 @@ export declare namespace PBVisibilityComponent {
7369
7848
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7370
7849
  }
7371
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
+
7372
7870
  /**
7373
7871
  * @public
7374
7872
  * Physics helpers for applying impulses and forces to the player.
@@ -7610,6 +8108,24 @@ export declare interface PointerEventsSystem {
7610
8108
  * @param entity - Entity where the callback was attached
7611
8109
  */
7612
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;
7613
8129
  /**
7614
8130
  * @public
7615
8131
  * Remove the callback for onProximityDown event
@@ -7688,6 +8204,36 @@ export declare interface PointerEventsSystem {
7688
8204
  entity: Entity;
7689
8205
  opts?: Partial<EventSystemOptions>;
7690
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;
7691
8237
  /**
7692
8238
  * @public
7693
8239
  * Execute callback when the user presses the proximity button on the entity
@@ -7746,7 +8292,10 @@ export declare const enum PointerEventType {
7746
8292
  PET_HOVER_ENTER = 2,
7747
8293
  PET_HOVER_LEAVE = 3,
7748
8294
  PET_PROXIMITY_ENTER = 4,
7749
- PET_PROXIMITY_LEAVE = 5
8295
+ PET_PROXIMITY_LEAVE = 5,
8296
+ PET_DRAG_LOCKED = 6,
8297
+ PET_DRAG = 7,
8298
+ PET_DRAG_END = 8
7750
8299
  }
7751
8300
 
7752
8301
  /**
@@ -7777,7 +8326,10 @@ export declare const enum PointerType {
7777
8326
  /** POT_NONE - No pointer input */
7778
8327
  POT_NONE = 0,
7779
8328
  /** POT_MOUSE - Traditional mouse input */
7780
- POT_MOUSE = 1
8329
+ POT_MOUSE = 1,
8330
+ POT_PAD = 2,
8331
+ POT_TOUCH = 3,
8332
+ POT_WAND = 4
7781
8333
  }
7782
8334
 
7783
8335
  /**
@@ -8234,6 +8786,16 @@ export declare const enum RaycastQueryType {
8234
8786
  /** @public */
8235
8787
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8236
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
+
8237
8799
  /**
8238
8800
  * @public
8239
8801
  */
@@ -8366,6 +8928,10 @@ export declare type RaycastSystemOptions = {
8366
8928
  queryType: RaycastQueryType;
8367
8929
  continuous?: boolean | undefined;
8368
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;
8369
8935
  };
8370
8936
 
8371
8937
  /**
@@ -8414,6 +8980,20 @@ export declare interface ReactBasedUiSystem {
8414
8980
  * @param entity - The entity whose UI renderer should be removed
8415
8981
  */
8416
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;
8417
8997
  }
8418
8998
 
8419
8999
  /**
@@ -9004,6 +9584,33 @@ export declare namespace Schemas {
9004
9584
  */
9005
9585
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9006
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
+
9007
9614
  /**
9008
9615
  * Register the composite provider used to resolve composite files. Also registers
9009
9616
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9029,6 +9636,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9029
9636
  easingFunction?: EasingFunction;
9030
9637
  }
9031
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
+
9032
9649
  /** @public */
9033
9650
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9034
9651
 
@@ -9140,6 +9757,9 @@ export declare namespace Texture {
9140
9757
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9141
9758
  }
9142
9759
 
9760
+ /** @public */
9761
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9762
+
9143
9763
  /**
9144
9764
  * @public
9145
9765
  */
@@ -9250,6 +9870,9 @@ export declare interface TextureUnion {
9250
9870
  } | {
9251
9871
  $case: "videoTexture";
9252
9872
  videoTexture: VideoTexture;
9873
+ } | {
9874
+ $case: "uiTexture";
9875
+ uiTexture: UiCanvasTexture;
9253
9876
  } | undefined;
9254
9877
  }
9255
9878
 
@@ -9480,16 +10103,6 @@ export declare type Transport = {
9480
10103
  onmessage?(message: Uint8Array): void;
9481
10104
  filter(message: Omit<TransportMessage, 'messageBuffer'>): boolean;
9482
10105
  type?: string;
9483
- /**
9484
- * Whether this transport is allowed to mutate reserved-range entities
9485
- * (root/player/camera + avatars, entity number below `RESERVED_STATIC_ENTITIES`).
9486
- * Only the trusted host/renderer transport sets this. An inbound DELETE_ENTITY
9487
- * or component operation (PUT_COMPONENT, DELETE_COMPONENT, APPEND_VALUE,
9488
- * AUTHORITATIVE_PUT_COMPONENT) on a reserved entity from a transport without
9489
- * this flag (a comms peer, or any scene-added transport) is rejected — see
9490
- * `receiveMessages`.
9491
- */
9492
- allowReservedEntities?: boolean;
9493
10106
  };
9494
10107
 
9495
10108
  /**
@@ -9798,6 +10411,8 @@ export declare interface UiBackgroundProps {
9798
10411
  uvs?: number[];
9799
10412
  /** AvatarTexture for the background */
9800
10413
  avatarTexture?: UiAvatarTexture;
10414
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10415
+ videoTexture?: UiVideoTexture;
9801
10416
  /** Texture for the background */
9802
10417
  texture?: UiTexture;
9803
10418
  }
@@ -9817,9 +10432,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9817
10432
  disabled?: boolean;
9818
10433
  }
9819
10434
 
10435
+ /** @public */
10436
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10437
+
9820
10438
  /** @public */
9821
10439
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9822
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
+
9823
10460
  /**
9824
10461
  * @public
9825
10462
  */
@@ -9972,6 +10609,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
9972
10609
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
9973
10610
  };
9974
10611
 
10612
+ /** @public */
10613
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10614
+
9975
10615
  /** @public */
9976
10616
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
9977
10617
 
@@ -10051,20 +10691,28 @@ export declare interface UiTransformProps {
10051
10691
  opacity?: number;
10052
10692
  /** default 0 */
10053
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;
10054
10700
  }
10055
10701
 
10056
10702
  /**
10703
+ * Video Texture
10057
10704
  * @public
10058
10705
  */
10059
- export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10706
+ export declare interface UiVideoTexture {
10707
+ videoPlayerEntity: Entity;
10708
+ wrapMode?: TextureWrapType;
10709
+ filterMode?: TextureFilterType;
10710
+ }
10060
10711
 
10061
- export declare type ValidateCallback<T> = (value: {
10062
- entity: Entity;
10063
- currentValue: T | undefined;
10064
- newValue: T | undefined;
10065
- senderAddress: string;
10066
- createdBy: string;
10067
- }) => boolean;
10712
+ /**
10713
+ * @public
10714
+ */
10715
+ export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10068
10716
 
10069
10717
  /**
10070
10718
  * @public