@dcl/playground-assets 7.31.1-40536151736.commit-a09f320 → 7.31.1-40604676255.commit-cb3ed84

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,10 +365,29 @@ export declare const enum AvatarModifierType {
355
365
  }
356
366
 
357
367
  /** @public */
358
- export declare const AvatarNametag: LastWriteWinElementSetComponentDefinition<PBAvatarNametag>;
368
+ export declare const AvatarMovement: LastWriteWinElementSetComponentDefinition<PBAvatarMovement>;
359
369
 
360
370
  /** @public */
361
- export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
371
+ export declare const AvatarMovementInfo: LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>;
372
+
373
+ /** @public */
374
+ export declare const AvatarNametag: LastWriteWinElementSetComponentDefinition<PBAvatarNametag>;
375
+
376
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
377
+
378
+ /**
379
+ * @public
380
+ */
381
+ export declare type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
382
+
383
+ /**
384
+ * @public
385
+ * AvatarShape with `forceRender` optional: the wire type is a repeated field (always present, so the
386
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
387
+ */
388
+ export declare type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
389
+ forceRender?: string[] | undefined;
390
+ };
362
391
 
363
392
  /**
364
393
  * @public
@@ -456,22 +485,6 @@ export declare interface BaseComponent<T> {
456
485
  * If the value is undefined, the component was deleted.
457
486
  */
458
487
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
459
- /**
460
- * @public
461
- *
462
- */
463
- validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
464
- validateBeforeChange(cb: ValidateCallback<T>): void;
465
- /**
466
- * Get the CRDT state for an entity (serialized data and timestamp)
467
- * @param entity - Entity to get the CRDT state for
468
- * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
469
- * @public
470
- */
471
- getCrdtState(entity: Entity): {
472
- data: Uint8Array;
473
- timestamp: number;
474
- } | null;
475
488
  }
476
489
 
477
490
  /** @public */
@@ -643,10 +656,17 @@ export declare interface ByteBuffer {
643
656
  }
644
657
 
645
658
  /**
646
- * Callback function to be triggered on a specified event
659
+ * Callback function to be triggered on a specified event. Receives the pointer event that
660
+ * fired it (button, hit, and for drags the pointer delta), which handlers may ignore.
647
661
  * @public
648
662
  */
649
- export declare type Callback = () => void;
663
+ export declare type Callback = (event: PBPointerEventsResult) => void;
664
+
665
+ /** @public */
666
+ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
667
+
668
+ /** @public */
669
+ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
650
670
 
651
671
  /** @public */
652
672
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
@@ -1499,17 +1519,24 @@ export declare const componentDefinitionByName: {
1499
1519
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1500
1520
  "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1501
1521
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1522
+ "core::AvatarMovement": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovement>>;
1523
+ "core::AvatarMovementInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>>;
1502
1524
  "core::AvatarNametag": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarNametag>>;
1503
1525
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1504
1526
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1527
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1528
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1505
1529
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1506
1530
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1507
1531
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1508
1532
  "core::ExplorerItemPurchaseResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerItemPurchaseResult>>;
1509
1533
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1534
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1510
1535
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1511
1536
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1537
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1512
1538
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1539
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1513
1540
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1514
1541
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1515
1542
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1530,6 +1557,7 @@ export declare const componentDefinitionByName: {
1530
1557
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1531
1558
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1532
1559
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1560
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1533
1561
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1534
1562
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1535
1563
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1537,12 +1565,14 @@ export declare const componentDefinitionByName: {
1537
1565
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1538
1566
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1539
1567
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1568
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1540
1569
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1541
1570
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1542
1571
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1543
1572
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1544
1573
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1545
1574
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1575
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1546
1576
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1547
1577
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1548
1578
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1715,12 +1745,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1715
1745
  /**
1716
1746
  * @public
1717
1747
  */
1718
- export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1748
+ export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1719
1749
 
1720
1750
  /**
1721
1751
  * @public
1722
1752
  */
1723
- export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1753
+ export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1724
1754
 
1725
1755
  /**
1726
1756
  * Min length = 8 bytes
@@ -1775,8 +1805,7 @@ export declare enum CrdtMessageType {
1775
1805
  PUT_COMPONENT_NETWORK = 5,
1776
1806
  DELETE_COMPONENT_NETWORK = 6,
1777
1807
  DELETE_ENTITY_NETWORK = 7,
1778
- AUTHORITATIVE_PUT_COMPONENT = 8,
1779
- MAX_MESSAGE_TYPE = 9
1808
+ MAX_MESSAGE_TYPE = 8
1780
1809
  }
1781
1810
 
1782
1811
  /**
@@ -1784,8 +1813,6 @@ export declare enum CrdtMessageType {
1784
1813
  */
1785
1814
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1786
1815
 
1787
- export declare const CreatedBy: ICreatedBy;
1788
-
1789
1816
  /**
1790
1817
  * @public
1791
1818
  */
@@ -2165,6 +2192,9 @@ export declare type EntityComponents = {
2165
2192
  onMouseUp: Callback;
2166
2193
  onMouseEnter: Callback;
2167
2194
  onMouseLeave: Callback;
2195
+ onMouseDrag: Callback;
2196
+ onMouseDragLocked: Callback;
2197
+ onMouseDragEnd: Callback;
2168
2198
  };
2169
2199
 
2170
2200
  /** @public */
@@ -2524,6 +2554,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2524
2554
  direction?: PBVector3;
2525
2555
  };
2526
2556
 
2557
+ /** @public */
2558
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2559
+
2527
2560
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2528
2561
 
2529
2562
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2536,9 +2569,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2536
2569
  /** @public */
2537
2570
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2538
2571
 
2572
+ /** @public */
2573
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2574
+
2539
2575
  /** @public */
2540
2576
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2541
2577
 
2578
+ /** @public */
2579
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2580
+
2581
+ /**
2582
+ * @public
2583
+ */
2584
+ export declare const enum GltfNodeStateValue {
2585
+ GNSV_PENDING = 0,
2586
+ GNSV_FAILED = 1,
2587
+ GNSV_READY = 2
2588
+ }
2589
+
2542
2590
  /**
2543
2591
  * @public
2544
2592
  */
@@ -2562,12 +2610,6 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2562
2610
 
2563
2611
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2564
2612
 
2565
- export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2566
-
2567
- export declare interface ICreatedByType {
2568
- address: string;
2569
- }
2570
-
2571
2613
  /**
2572
2614
  * @public
2573
2615
  */
@@ -3054,35 +3096,6 @@ export declare const enum InteractionType {
3054
3096
  PROXIMITY = 1
3055
3097
  }
3056
3098
 
3057
- /**
3058
- * Internal component interface that exposes all internal methods for SDK use
3059
- * This is not exposed to users, only for internal SDK operations
3060
- */
3061
- export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
3062
- /**
3063
- * @public
3064
- * Dry run update to check if a CRDT message would be accepted without actually applying it
3065
- */
3066
- __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
3067
- /**
3068
- * @public
3069
- * Get the iterator to every entity has the component
3070
- */
3071
- iterator(): Iterable<[Entity, any]>;
3072
- /**
3073
- * @public
3074
- */
3075
- dirtyIterator(): Iterable<Entity>;
3076
- /**
3077
- * @public
3078
- */
3079
- __onChangeCallbacks(entity: Entity, value: T): void;
3080
- /**
3081
- * @public
3082
- */
3083
- __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
3084
- }
3085
-
3086
3099
  /**
3087
3100
  * @public
3088
3101
  */
@@ -3286,6 +3299,12 @@ export declare type Listeners = {
3286
3299
  onMouseEnter?: Callback;
3287
3300
  /** triggered on mouse leave event */
3288
3301
  onMouseLeave?: Callback;
3302
+ /** triggered while the pointer is dragged after pressing on the element */
3303
+ onMouseDrag?: Callback;
3304
+ /** triggered while the pointer is dragged with the cursor locked in place */
3305
+ onMouseDragLocked?: Callback;
3306
+ /** triggered when a drag that started on the element ends */
3307
+ onMouseDragEnd?: Callback;
3289
3308
  };
3290
3309
 
3291
3310
  /**
@@ -4190,6 +4209,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4190
4209
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4191
4210
  */
4192
4211
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4212
+ /**
4213
+ * @public
4214
+ * Set a mesh from inside a gltf in the MeshCollider component
4215
+ * @param entity - entity to create or replace the MeshCollider component
4216
+ * @param source - the path to the gltf
4217
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4218
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4219
+ */
4220
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4193
4221
  }
4194
4222
 
4195
4223
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4226,6 +4254,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4226
4254
  * @param entity - entity to create or replace the MeshRenderer component
4227
4255
  */
4228
4256
  setSphere(entity: Entity): void;
4257
+ /**
4258
+ * @public
4259
+ * Set a mesh from inside a gltf in the MeshRenderer component
4260
+ * @param entity - entity to create or replace the MeshRenderer component
4261
+ * @param source - the path to the gltf
4262
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4263
+ */
4264
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4229
4265
  }
4230
4266
 
4231
4267
  /**
@@ -4274,6 +4310,39 @@ export declare namespace MoveContinuous {
4274
4310
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4275
4311
  }
4276
4312
 
4313
+ /**
4314
+ * Describes the animation the movement scene wants the avatar to play.
4315
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4316
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4317
+ */
4318
+ /**
4319
+ * @public
4320
+ */
4321
+ export declare interface MovementAnimation {
4322
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4323
+ src: string;
4324
+ /** whether the clip repeats once it reaches the end */
4325
+ loop: boolean;
4326
+ /** playback speed multiplier (1.0 = clip's native rate) */
4327
+ speed: number;
4328
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4329
+ idle: boolean;
4330
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4331
+ transitionSeconds?: number | undefined;
4332
+ /** 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. */
4333
+ playbackTime?: number | undefined;
4334
+ /** 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). */
4335
+ sounds: string[];
4336
+ }
4337
+
4338
+ /**
4339
+ * @public
4340
+ */
4341
+ export declare namespace MovementAnimation {
4342
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4343
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4344
+ }
4345
+
4277
4346
  /**
4278
4347
  * @public
4279
4348
  */
@@ -4697,6 +4766,25 @@ export declare const onVideoEvent: Observable<{
4697
4766
  totalVideoLength: number;
4698
4767
  }>;
4699
4768
 
4769
+ /**
4770
+ * @public
4771
+ */
4772
+ export declare interface Orthographic {
4773
+ /**
4774
+ * vertical extent of the visible range in meters
4775
+ * defaults to 4m
4776
+ */
4777
+ verticalRange?: number | undefined;
4778
+ }
4779
+
4780
+ /**
4781
+ * @public
4782
+ */
4783
+ export declare namespace Orthographic {
4784
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4785
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4786
+ }
4787
+
4700
4788
  /**
4701
4789
  * @public
4702
4790
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -5046,6 +5134,8 @@ export declare namespace PBAvatarEmoteCommand {
5046
5134
  export declare interface PBAvatarEquippedData {
5047
5135
  wearableUrns: string[];
5048
5136
  emoteUrns: string[];
5137
+ /** slots that will render even if hidden */
5138
+ forceRender: string[];
5049
5139
  }
5050
5140
 
5051
5141
  /**
@@ -5116,6 +5206,8 @@ export declare interface PBAvatarModifierArea {
5116
5206
  excludeIds: string[];
5117
5207
  /** list of modifiers to apply */
5118
5208
  modifiers: AvatarModifierType[];
5209
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5210
+ useColliderRange?: boolean | undefined;
5119
5211
  }
5120
5212
 
5121
5213
  /**
@@ -5126,6 +5218,64 @@ export declare namespace PBAvatarModifierArea {
5126
5218
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5127
5219
  }
5128
5220
 
5221
+ /**
5222
+ * @public
5223
+ */
5224
+ export declare interface PBAvatarMovement {
5225
+ velocity: PBVector3 | undefined;
5226
+ /** 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. */
5227
+ orientation: number;
5228
+ groundDirection?: PBVector3 | undefined;
5229
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5230
+ walkSuccess?: boolean | undefined;
5231
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5232
+ animation?: MovementAnimation | undefined;
5233
+ /** 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. */
5234
+ tiltPitch?: number | undefined;
5235
+ /** 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. */
5236
+ tiltRoll?: number | undefined;
5237
+ }
5238
+
5239
+ /**
5240
+ * @public
5241
+ */
5242
+ export declare namespace PBAvatarMovement {
5243
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5244
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5245
+ }
5246
+
5247
+ /**
5248
+ * @public
5249
+ */
5250
+ export declare interface PBAvatarMovementInfo {
5251
+ /** the length of time the current step velocity will apply for */
5252
+ stepTime: number;
5253
+ /** the length of time the previous step velocity applied for */
5254
+ previousStepTime: number;
5255
+ /** the velocity requested for the previous frame */
5256
+ requestedVelocity: PBVector3 | undefined;
5257
+ /** the resulting velocity taking collisions into account */
5258
+ actualVelocity: PBVector3 | undefined;
5259
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5260
+ externalVelocity: PBVector3 | undefined;
5261
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5262
+ activeInputModifier: PBInputModifier | undefined;
5263
+ /** if set, the movement scene should walk the player to this scene-relative position */
5264
+ walkTarget?: PBVector3 | undefined;
5265
+ /** stop distance for walk_target; considered reached when within this distance */
5266
+ walkThreshold?: number | undefined;
5267
+ /** 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. */
5268
+ activeAnimationState?: AvatarAnimationState | undefined;
5269
+ }
5270
+
5271
+ /**
5272
+ * @public
5273
+ */
5274
+ export declare namespace PBAvatarMovementInfo {
5275
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5276
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5277
+ }
5278
+
5129
5279
  /**
5130
5280
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5131
5281
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5216,6 +5366,8 @@ export declare interface PBAvatarShape {
5216
5366
  emotes: string[];
5217
5367
  /** hides the skin + hair + facial features (default: false) */
5218
5368
  showOnlyWearables?: boolean | undefined;
5369
+ /** slots that will render even if hidden */
5370
+ forceRender: string[];
5219
5371
  }
5220
5372
 
5221
5373
  /**
@@ -5257,6 +5409,51 @@ export declare namespace PBBillboard {
5257
5409
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5258
5410
  }
5259
5411
 
5412
+ /**
5413
+ * @public
5414
+ */
5415
+ export declare interface PBCameraLayer {
5416
+ /**
5417
+ * layer to which these settings apply. must be > 0
5418
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5419
+ */
5420
+ layer: number;
5421
+ /** should the sun light affect this layer? default false */
5422
+ directionalLight?: boolean | undefined;
5423
+ /** should this layer show player avatars? default false */
5424
+ showAvatars?: boolean | undefined;
5425
+ /** should this layer show the sky? default false */
5426
+ showSkybox?: boolean | undefined;
5427
+ /** should this layer show distance fog? default false */
5428
+ showFog?: boolean | undefined;
5429
+ /** ambient light overrides for this layer. default -> use same as main camera */
5430
+ ambientColorOverride?: PBColor3 | undefined;
5431
+ ambientBrightnessOverride?: number | undefined;
5432
+ }
5433
+
5434
+ /**
5435
+ * @public
5436
+ */
5437
+ export declare namespace PBCameraLayer {
5438
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5439
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5440
+ }
5441
+
5442
+ /**
5443
+ * @public
5444
+ */
5445
+ export declare interface PBCameraLayers {
5446
+ layers: number[];
5447
+ }
5448
+
5449
+ /**
5450
+ * @public
5451
+ */
5452
+ export declare namespace PBCameraLayers {
5453
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5454
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5455
+ }
5456
+
5260
5457
  /**
5261
5458
  * The CameraMode component can be used to determine whether the player is using a first-person o
5262
5459
  * third-person view.
@@ -5298,6 +5495,8 @@ export declare interface PBCameraModeArea {
5298
5495
  area: PBVector3 | undefined;
5299
5496
  /** the camera mode to enforce */
5300
5497
  mode: CameraType;
5498
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5499
+ useColliderRange?: boolean | undefined;
5301
5500
  }
5302
5501
 
5303
5502
  /**
@@ -5511,6 +5710,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5511
5710
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5512
5711
  }
5513
5712
 
5713
+ /**
5714
+ * defines the global scene light settings. must be added to the scene root.
5715
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5716
+ */
5717
+ /**
5718
+ * @public
5719
+ */
5720
+ export declare interface PBGlobalLight {
5721
+ /**
5722
+ * the direction the directional light shines in.
5723
+ * default depends on time of day and explorer implementation
5724
+ */
5725
+ direction?: PBVector3 | undefined;
5726
+ /**
5727
+ * ambient light color
5728
+ * default: White
5729
+ */
5730
+ ambientColor?: PBColor3 | undefined;
5731
+ /**
5732
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5733
+ * default 1
5734
+ */
5735
+ ambientBrightness?: number | undefined;
5736
+ }
5737
+
5738
+ /**
5739
+ * @public
5740
+ */
5741
+ export declare namespace PBGlobalLight {
5742
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5743
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5744
+ }
5745
+
5514
5746
  /**
5515
5747
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5516
5748
  *
@@ -5546,6 +5778,25 @@ export declare namespace PBGltfContainer {
5546
5778
  */
5547
5779
  export declare interface PBGltfContainerLoadingState {
5548
5780
  currentState: LoadingState;
5781
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5782
+ nodePaths: string[];
5783
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5784
+ meshNames: string[];
5785
+ /**
5786
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5787
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5788
+ */
5789
+ materialNames: string[];
5790
+ /**
5791
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5792
+ * sure all your materials are explicitly named.
5793
+ */
5794
+ skinNames: string[];
5795
+ /**
5796
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5797
+ * your skins are explicitly named.
5798
+ */
5799
+ animationNames: string[];
5549
5800
  }
5550
5801
 
5551
5802
  /**
@@ -5556,6 +5807,57 @@ export declare namespace PBGltfContainerLoadingState {
5556
5807
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5557
5808
  }
5558
5809
 
5810
+ /**
5811
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5812
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5813
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5814
+ * in the parent.
5815
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5816
+ *
5817
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5818
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5819
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5820
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5821
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5822
+ *
5823
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5824
+ *
5825
+ * From the scene, you can modify various components to alter the gltf node:
5826
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5827
+ * regardless of any intermediate gltf node hierarchy.
5828
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5829
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5830
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5831
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5832
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5833
+ * 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
5834
+ * PBMaterial will be maintained.
5835
+ *
5836
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5837
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5838
+ * change the state to `GNS_FAILED`.
5839
+ * - deleting the scene entity will not delete the gltf node.
5840
+ *
5841
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5842
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5843
+ * the gltf node will also be displayed.
5844
+ */
5845
+ /**
5846
+ * @public
5847
+ */
5848
+ export declare interface PBGltfNode {
5849
+ /** the path of the target node in the Gltf. */
5850
+ path: string;
5851
+ }
5852
+
5853
+ /**
5854
+ * @public
5855
+ */
5856
+ export declare namespace PBGltfNode {
5857
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5858
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5859
+ }
5860
+
5559
5861
  /**
5560
5862
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5561
5863
  *
@@ -5601,6 +5903,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5601
5903
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5602
5904
  }
5603
5905
 
5906
+ /**
5907
+ * The state of a linked gltf node.
5908
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5909
+ */
5910
+ /**
5911
+ * @public
5912
+ */
5913
+ export declare interface PBGltfNodeState {
5914
+ state: GltfNodeStateValue;
5915
+ error?: string | undefined;
5916
+ }
5917
+
5918
+ /**
5919
+ * @public
5920
+ */
5921
+ export declare namespace PBGltfNodeState {
5922
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5923
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5924
+ }
5925
+
5604
5926
  /**
5605
5927
  * @public
5606
5928
  */
@@ -5738,6 +6060,14 @@ export declare interface PBMaterial {
5738
6060
  $case: "pbr";
5739
6061
  pbr: PBMaterial_PbrMaterial;
5740
6062
  } | undefined;
6063
+ /**
6064
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
6065
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
6066
+ * supported by the PbMaterial.
6067
+ * If this is provided and the `material` field is not provided, the renderer will update the material
6068
+ * field with data that reflects the gltf material once it is loaded.
6069
+ */
6070
+ gltf?: PBMaterial_GltfMaterial | undefined;
5741
6071
  }
5742
6072
 
5743
6073
  /**
@@ -5748,6 +6078,22 @@ export declare namespace PBMaterial {
5748
6078
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5749
6079
  }
5750
6080
 
6081
+ /**
6082
+ * @public
6083
+ */
6084
+ export declare interface PBMaterial_GltfMaterial {
6085
+ gltfSrc: string;
6086
+ name: string;
6087
+ }
6088
+
6089
+ /**
6090
+ * @public
6091
+ */
6092
+ export declare namespace PBMaterial_GltfMaterial {
6093
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
6094
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
6095
+ }
6096
+
5751
6097
  /**
5752
6098
  * @public
5753
6099
  */
@@ -5844,6 +6190,9 @@ export declare interface PBMeshCollider {
5844
6190
  } | {
5845
6191
  $case: "plane";
5846
6192
  plane: PBMeshCollider_PlaneMesh;
6193
+ } | {
6194
+ $case: "gltf";
6195
+ gltf: PBMeshCollider_GltfMesh;
5847
6196
  } | undefined;
5848
6197
  }
5849
6198
 
@@ -5889,6 +6238,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5889
6238
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5890
6239
  }
5891
6240
 
6241
+ /** A collider constructed from a Gltf Mesh. */
6242
+ /**
6243
+ * @public
6244
+ */
6245
+ export declare interface PBMeshCollider_GltfMesh {
6246
+ /** the GLTF file path as listed in the scene's manifest. */
6247
+ gltfSrc: string;
6248
+ /** the name of the mesh asset */
6249
+ name: string;
6250
+ }
6251
+
6252
+ /**
6253
+ * @public
6254
+ */
6255
+ export declare namespace PBMeshCollider_GltfMesh {
6256
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6257
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6258
+ }
6259
+
5892
6260
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5893
6261
  /**
5894
6262
  * @public
@@ -5921,13 +6289,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5921
6289
 
5922
6290
  /**
5923
6291
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5924
- * plane, a sphere or a cylinder.
6292
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5925
6293
  *
5926
6294
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5927
6295
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5928
6296
  * `float` coordinates, one for each corner of each side of each face.
5929
- *
5930
- * More complex shapes require the use of a `GltfContainer` component.
5931
6297
  */
5932
6298
  /**
5933
6299
  * @public
@@ -5945,6 +6311,9 @@ export declare interface PBMeshRenderer {
5945
6311
  } | {
5946
6312
  $case: "plane";
5947
6313
  plane: PBMeshRenderer_PlaneMesh;
6314
+ } | {
6315
+ $case: "gltf";
6316
+ gltf: PBMeshRenderer_GltfMesh;
5948
6317
  } | undefined;
5949
6318
  }
5950
6319
 
@@ -5992,6 +6361,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5992
6361
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5993
6362
  }
5994
6363
 
6364
+ /** A mesh from a Gltf. */
6365
+ /**
6366
+ * @public
6367
+ */
6368
+ export declare interface PBMeshRenderer_GltfMesh {
6369
+ /** the GLTF file path as listed in the scene's manifest. */
6370
+ gltfSrc: string;
6371
+ /** the name of the mesh asset */
6372
+ name: string;
6373
+ }
6374
+
6375
+ /**
6376
+ * @public
6377
+ */
6378
+ export declare namespace PBMeshRenderer_GltfMesh {
6379
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6380
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6381
+ }
6382
+
5995
6383
  /** PlaneMesh renders a 2D rectangular shape. */
5996
6384
  /**
5997
6385
  * @public
@@ -6588,7 +6976,10 @@ export declare interface PBPrimaryPointerInfo {
6588
6976
  screenCoordinates?: PBVector2 | undefined;
6589
6977
  /** Movement since last frame (pixels) */
6590
6978
  screenDelta?: PBVector2 | undefined;
6591
- /** Direction vector for 3D ray casting */
6979
+ /**
6980
+ * ray direction that can be used with the primary camera origin for
6981
+ * raycasting from the cursor into the world
6982
+ */
6592
6983
  worldRayDirection?: PBVector3 | undefined;
6593
6984
  }
6594
6985
 
@@ -6659,6 +7050,10 @@ export declare interface PBRaycast {
6659
7050
  continuous?: boolean | undefined;
6660
7051
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6661
7052
  collisionMask?: number | undefined;
7053
+ /** shape to cast, default ray */
7054
+ shape?: RaycastShape | undefined;
7055
+ /** include hits with entities from other scenes */
7056
+ includeWorld?: boolean | undefined;
6662
7057
  }
6663
7058
 
6664
7059
  /**
@@ -6816,6 +7211,46 @@ export declare namespace PBTextShape {
6816
7211
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6817
7212
  }
6818
7213
 
7214
+ /**
7215
+ * @public
7216
+ */
7217
+ export declare interface PBTextureCamera {
7218
+ /** rendered texture width */
7219
+ width?: number | undefined;
7220
+ /** rendered texture height */
7221
+ height?: number | undefined;
7222
+ /**
7223
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7224
+ * defaults to 0
7225
+ */
7226
+ layer?: number | undefined;
7227
+ /** default black */
7228
+ clearColor?: PBColor4 | undefined;
7229
+ /** default infinity */
7230
+ farPlane?: number | undefined;
7231
+ mode?: {
7232
+ $case: "perspective";
7233
+ perspective: Perspective;
7234
+ } | {
7235
+ $case: "orthographic";
7236
+ orthographic: Orthographic;
7237
+ } | undefined;
7238
+ /**
7239
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7240
+ * range: 0 (off) - 1 (full volume)
7241
+ * default: 0
7242
+ */
7243
+ volume?: number | undefined;
7244
+ }
7245
+
7246
+ /**
7247
+ * @public
7248
+ */
7249
+ export declare namespace PBTextureCamera {
7250
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7251
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7252
+ }
7253
+
6819
7254
  /**
6820
7255
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6821
7256
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -7061,6 +7496,25 @@ export declare namespace PBUiBackground {
7061
7496
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
7062
7497
  }
7063
7498
 
7499
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7500
+ /**
7501
+ * @public
7502
+ */
7503
+ export declare interface PBUiCanvas {
7504
+ width: number;
7505
+ height: number;
7506
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7507
+ color?: PBColor4 | undefined;
7508
+ }
7509
+
7510
+ /**
7511
+ * @public
7512
+ */
7513
+ export declare namespace PBUiCanvas {
7514
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7515
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7516
+ }
7517
+
7064
7518
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
7065
7519
  /**
7066
7520
  * @public
@@ -7160,6 +7614,10 @@ export declare interface PBUiInput {
7160
7614
  /** default=10 */
7161
7615
  fontSize?: number | undefined;
7162
7616
  value?: string | undefined;
7617
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7618
+ multiLine?: boolean | undefined;
7619
+ /** default=true; when false, the input value is preserved after pressing Enter */
7620
+ clearOnSubmit?: boolean | undefined;
7163
7621
  /** a ttf font file in the scene content or a Google Fonts family name; `font` is the fallback (default: unset) */
7164
7622
  fontSrc?: string | undefined;
7165
7623
  }
@@ -7225,6 +7683,21 @@ export declare namespace PBUiInputResult {
7225
7683
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7226
7684
  }
7227
7685
 
7686
+ /**
7687
+ * @public
7688
+ */
7689
+ export declare interface PBUiScrollResult {
7690
+ value: PBVector2 | undefined;
7691
+ }
7692
+
7693
+ /**
7694
+ * @public
7695
+ */
7696
+ export declare namespace PBUiScrollResult {
7697
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7698
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7699
+ }
7700
+
7228
7701
  /**
7229
7702
  * @public
7230
7703
  */
@@ -7370,6 +7843,12 @@ export declare interface PBUiTransform {
7370
7843
  borderRightColor?: PBColor4 | undefined;
7371
7844
  /** default: 1 */
7372
7845
  opacity?: number | undefined;
7846
+ /** reference for scroll_position. default empty */
7847
+ elementId?: string | undefined;
7848
+ /** default position=(0,0) */
7849
+ scrollPosition?: ScrollPositionValue | undefined;
7850
+ /** default ShowScrollBar.SSB_BOTH */
7851
+ scrollVisible?: ShowScrollBar | undefined;
7373
7852
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7374
7853
  zIndex?: number | undefined;
7375
7854
  }
@@ -7522,6 +8001,25 @@ export declare namespace PBVisibilityComponent {
7522
8001
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7523
8002
  }
7524
8003
 
8004
+ /**
8005
+ * @public
8006
+ */
8007
+ export declare interface Perspective {
8008
+ /**
8009
+ * vertical field of view in radians
8010
+ * defaults to pi/4 = 45 degrees
8011
+ */
8012
+ fieldOfView?: number | undefined;
8013
+ }
8014
+
8015
+ /**
8016
+ * @public
8017
+ */
8018
+ export declare namespace Perspective {
8019
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
8020
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
8021
+ }
8022
+
7525
8023
  /**
7526
8024
  * @public
7527
8025
  * Physics helpers for applying impulses and forces to the player.
@@ -7763,6 +8261,24 @@ export declare interface PointerEventsSystem {
7763
8261
  * @param entity - Entity where the callback was attached
7764
8262
  */
7765
8263
  removeOnPointerHoverLeave(entity: Entity): void;
8264
+ /**
8265
+ * @public
8266
+ * Remove the callback for onPointerDrag event
8267
+ * @param entity - Entity where the callback was attached
8268
+ */
8269
+ removeOnPointerDrag(entity: Entity): void;
8270
+ /**
8271
+ * @public
8272
+ * Remove the callback for onPointerDragLocked event
8273
+ * @param entity - Entity where the callback was attached
8274
+ */
8275
+ removeOnPointerDragLocked(entity: Entity): void;
8276
+ /**
8277
+ * @public
8278
+ * Remove the callback for onPointerDragEnd event
8279
+ * @param entity - Entity where the callback was attached
8280
+ */
8281
+ removeOnPointerDragEnd(entity: Entity): void;
7766
8282
  /**
7767
8283
  * @public
7768
8284
  * Remove the callback for onProximityDown event
@@ -7841,6 +8357,36 @@ export declare interface PointerEventsSystem {
7841
8357
  entity: Entity;
7842
8358
  opts?: Partial<EventSystemOptions>;
7843
8359
  }, cb: EventSystemCallback): void;
8360
+ /**
8361
+ * @public
8362
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8363
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8364
+ * @param cb - Function to execute on every drag update
8365
+ */
8366
+ onPointerDrag(pointerData: {
8367
+ entity: Entity;
8368
+ opts?: Partial<EventSystemOptions>;
8369
+ }, cb: EventSystemCallback): void;
8370
+ /**
8371
+ * @public
8372
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8373
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8374
+ * @param cb - Function to execute on every drag update
8375
+ */
8376
+ onPointerDragLocked(pointerData: {
8377
+ entity: Entity;
8378
+ opts?: Partial<EventSystemOptions>;
8379
+ }, cb: EventSystemCallback): void;
8380
+ /**
8381
+ * @public
8382
+ * Execute callback when the user releases the button after a drag that started on the entity
8383
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8384
+ * @param cb - Function to execute when the drag ends
8385
+ */
8386
+ onPointerDragEnd(pointerData: {
8387
+ entity: Entity;
8388
+ opts?: Partial<EventSystemOptions>;
8389
+ }, cb: EventSystemCallback): void;
7844
8390
  /**
7845
8391
  * @public
7846
8392
  * Execute callback when the user presses the proximity button on the entity
@@ -7899,7 +8445,10 @@ export declare const enum PointerEventType {
7899
8445
  PET_HOVER_ENTER = 2,
7900
8446
  PET_HOVER_LEAVE = 3,
7901
8447
  PET_PROXIMITY_ENTER = 4,
7902
- PET_PROXIMITY_LEAVE = 5
8448
+ PET_PROXIMITY_LEAVE = 5,
8449
+ PET_DRAG_LOCKED = 6,
8450
+ PET_DRAG = 7,
8451
+ PET_DRAG_END = 8
7903
8452
  }
7904
8453
 
7905
8454
  /**
@@ -7930,7 +8479,10 @@ export declare const enum PointerType {
7930
8479
  /** POT_NONE - No pointer input */
7931
8480
  POT_NONE = 0,
7932
8481
  /** POT_MOUSE - Traditional mouse input */
7933
- POT_MOUSE = 1
8482
+ POT_MOUSE = 1,
8483
+ POT_PAD = 2,
8484
+ POT_TOUCH = 3,
8485
+ POT_WAND = 4
7934
8486
  }
7935
8487
 
7936
8488
  /**
@@ -8387,6 +8939,16 @@ export declare const enum RaycastQueryType {
8387
8939
  /** @public */
8388
8940
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8389
8941
 
8942
+ /**
8943
+ * @public
8944
+ */
8945
+ export declare const enum RaycastShape {
8946
+ /** RS_RAY - cast a point, get collisions along a ray */
8947
+ RS_RAY = 0,
8948
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8949
+ RS_AVATAR = 1
8950
+ }
8951
+
8390
8952
  /**
8391
8953
  * @public
8392
8954
  */
@@ -8519,6 +9081,10 @@ export declare type RaycastSystemOptions = {
8519
9081
  queryType: RaycastQueryType;
8520
9082
  continuous?: boolean | undefined;
8521
9083
  collisionMask?: number | undefined;
9084
+ /** shape to sweep along the ray, default RS_RAY (a point) */
9085
+ shape?: RaycastShape | undefined;
9086
+ /** include colliders from other scenes, default false */
9087
+ includeWorld?: boolean | undefined;
8522
9088
  };
8523
9089
 
8524
9090
  /**
@@ -8567,6 +9133,20 @@ export declare interface ReactBasedUiSystem {
8567
9133
  * @param entity - The entity whose UI renderer should be removed
8568
9134
  */
8569
9135
  removeUiRenderer(entity: Entity): void;
9136
+ /**
9137
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9138
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9139
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9140
+ *
9141
+ * @param entity - The UiCanvas entity the UI tree hangs from
9142
+ * @param ui - The UI component to render
9143
+ */
9144
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9145
+ /**
9146
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9147
+ * @param entity - The UiCanvas entity the renderer was set on
9148
+ */
9149
+ removeTextureRenderer(entity: Entity): void;
8570
9150
  }
8571
9151
 
8572
9152
  /**
@@ -9157,6 +9737,33 @@ export declare namespace Schemas {
9157
9737
  */
9158
9738
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9159
9739
 
9740
+ /**
9741
+ * @public
9742
+ */
9743
+ export declare interface ScrollPositionValue {
9744
+ value?: {
9745
+ $case: "position";
9746
+ position: PBVector2;
9747
+ } | {
9748
+ $case: "reference";
9749
+ reference: string;
9750
+ } | undefined;
9751
+ }
9752
+
9753
+ /**
9754
+ * @public
9755
+ */
9756
+ export declare namespace ScrollPositionValue {
9757
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9758
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9759
+ }
9760
+
9761
+ /**
9762
+ * Which scrollbars are shown when the overflow is scrollable
9763
+ * @public
9764
+ */
9765
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9766
+
9160
9767
  /**
9161
9768
  * Register the composite provider used to resolve composite files. Also registers
9162
9769
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9182,6 +9789,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9182
9789
  easingFunction?: EasingFunction;
9183
9790
  }
9184
9791
 
9792
+ /**
9793
+ * @public
9794
+ */
9795
+ export declare const enum ShowScrollBar {
9796
+ SSB_BOTH = 0,
9797
+ SSB_ONLY_VERTICAL = 1,
9798
+ SSB_ONLY_HORIZONTAL = 2,
9799
+ SSB_HIDDEN = 3
9800
+ }
9801
+
9185
9802
  /** @public */
9186
9803
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9187
9804
 
@@ -9293,6 +9910,9 @@ export declare namespace Texture {
9293
9910
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9294
9911
  }
9295
9912
 
9913
+ /** @public */
9914
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9915
+
9296
9916
  /**
9297
9917
  * @public
9298
9918
  */
@@ -9403,6 +10023,9 @@ export declare interface TextureUnion {
9403
10023
  } | {
9404
10024
  $case: "videoTexture";
9405
10025
  videoTexture: VideoTexture;
10026
+ } | {
10027
+ $case: "uiTexture";
10028
+ uiTexture: UiCanvasTexture;
9406
10029
  } | undefined;
9407
10030
  }
9408
10031
 
@@ -9633,16 +10256,6 @@ export declare type Transport = {
9633
10256
  onmessage?(message: Uint8Array): void;
9634
10257
  filter(message: Omit<TransportMessage, 'messageBuffer'>): boolean;
9635
10258
  type?: string;
9636
- /**
9637
- * Whether this transport is allowed to mutate reserved-range entities
9638
- * (root/player/camera + avatars, entity number below `RESERVED_STATIC_ENTITIES`).
9639
- * Only the trusted host/renderer transport sets this. An inbound DELETE_ENTITY
9640
- * or component operation (PUT_COMPONENT, DELETE_COMPONENT, APPEND_VALUE,
9641
- * AUTHORITATIVE_PUT_COMPONENT) on a reserved entity from a transport without
9642
- * this flag (a comms peer, or any scene-added transport) is rejected — see
9643
- * `receiveMessages`.
9644
- */
9645
- allowReservedEntities?: boolean;
9646
10259
  };
9647
10260
 
9648
10261
  /**
@@ -9951,6 +10564,8 @@ export declare interface UiBackgroundProps {
9951
10564
  uvs?: number[];
9952
10565
  /** AvatarTexture for the background */
9953
10566
  avatarTexture?: UiAvatarTexture;
10567
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10568
+ videoTexture?: UiVideoTexture;
9954
10569
  /** Texture for the background */
9955
10570
  texture?: UiTexture;
9956
10571
  }
@@ -9970,9 +10585,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9970
10585
  disabled?: boolean;
9971
10586
  }
9972
10587
 
10588
+ /** @public */
10589
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10590
+
9973
10591
  /** @public */
9974
10592
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9975
10593
 
10594
+ /**
10595
+ * @public
10596
+ */
10597
+ export declare interface UiCanvasTexture {
10598
+ uiCanvasEntity: number;
10599
+ /** default = TextureWrapMode.Clamp */
10600
+ wrapMode?: TextureWrapMode | undefined;
10601
+ /** default = FilterMode.Bilinear */
10602
+ filterMode?: TextureFilterMode | undefined;
10603
+ }
10604
+
10605
+ /**
10606
+ * @public
10607
+ */
10608
+ export declare namespace UiCanvasTexture {
10609
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10610
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10611
+ }
10612
+
9976
10613
  /**
9977
10614
  * @public
9978
10615
  */
@@ -10068,7 +10705,7 @@ export declare interface UiLabelProps {
10068
10705
  textAlign?: TextAlignType | undefined;
10069
10706
  /** Label font type. @defaultValue 'sans-serif' */
10070
10707
  font?: UiFontType | undefined;
10071
- /** Path to a `.ttf` file in the scene content. `font` is used when it can't be loaded. */
10708
+ /** A `.ttf` file in the scene content, or a Google Fonts family name. `font` is used when it can't be loaded. */
10072
10709
  fontSrc?: string | undefined;
10073
10710
  /** Behaviour when text reached. @defaultValue 'wrap' */
10074
10711
  textWrap?: UiTextWrapType | undefined;
@@ -10138,6 +10775,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
10138
10775
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
10139
10776
  };
10140
10777
 
10778
+ /** @public */
10779
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10780
+
10141
10781
  /** @public */
10142
10782
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
10143
10783
 
@@ -10217,20 +10857,28 @@ export declare interface UiTransformProps {
10217
10857
  opacity?: number;
10218
10858
  /** default 0 */
10219
10859
  zIndex?: number;
10860
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10861
+ elementId?: string;
10862
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10863
+ scrollPosition?: PBVector2 | string;
10864
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10865
+ scrollVisible?: ScrollVisibleType;
10220
10866
  }
10221
10867
 
10222
10868
  /**
10869
+ * Video Texture
10223
10870
  * @public
10224
10871
  */
10225
- export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10872
+ export declare interface UiVideoTexture {
10873
+ videoPlayerEntity: Entity;
10874
+ wrapMode?: TextureWrapType;
10875
+ filterMode?: TextureFilterType;
10876
+ }
10226
10877
 
10227
- export declare type ValidateCallback<T> = (value: {
10228
- entity: Entity;
10229
- currentValue: T | undefined;
10230
- newValue: T | undefined;
10231
- senderAddress: string;
10232
- createdBy: string;
10233
- }) => boolean;
10878
+ /**
10879
+ * @public
10880
+ */
10881
+ export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10234
10882
 
10235
10883
  /**
10236
10884
  * @public