@dcl/playground-assets 7.28.1-34869822800.commit-268e971 → 7.28.1-34901226656.commit-44656ea

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/beta.d.ts CHANGED
@@ -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,16 +1519,23 @@ 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::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1533
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1509
1534
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1510
1535
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1536
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1511
1537
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1538
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1512
1539
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1513
1540
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1514
1541
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1529,6 +1556,7 @@ export declare const componentDefinitionByName: {
1529
1556
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1530
1557
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1531
1558
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1559
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1532
1560
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1533
1561
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1534
1562
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1536,12 +1564,14 @@ export declare const componentDefinitionByName: {
1536
1564
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1537
1565
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1538
1566
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1567
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1539
1568
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1540
1569
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1541
1570
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1542
1571
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1543
1572
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1544
1573
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1574
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1545
1575
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1546
1576
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1547
1577
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1714,12 +1744,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1714
1744
  /**
1715
1745
  * @public
1716
1746
  */
1717
- export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1747
+ export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1718
1748
 
1719
1749
  /**
1720
1750
  * @public
1721
1751
  */
1722
- export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1752
+ export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1723
1753
 
1724
1754
  /**
1725
1755
  * Min length = 8 bytes
@@ -1774,8 +1804,7 @@ export declare enum CrdtMessageType {
1774
1804
  PUT_COMPONENT_NETWORK = 5,
1775
1805
  DELETE_COMPONENT_NETWORK = 6,
1776
1806
  DELETE_ENTITY_NETWORK = 7,
1777
- AUTHORITATIVE_PUT_COMPONENT = 8,
1778
- MAX_MESSAGE_TYPE = 9
1807
+ MAX_MESSAGE_TYPE = 8
1779
1808
  }
1780
1809
 
1781
1810
  /**
@@ -1783,8 +1812,6 @@ export declare enum CrdtMessageType {
1783
1812
  */
1784
1813
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1785
1814
 
1786
- export declare const CreatedBy: ICreatedBy;
1787
-
1788
1815
  /**
1789
1816
  * @public
1790
1817
  */
@@ -2164,6 +2191,9 @@ export declare type EntityComponents = {
2164
2191
  onMouseUp: Callback;
2165
2192
  onMouseEnter: Callback;
2166
2193
  onMouseLeave: Callback;
2194
+ onMouseDrag: Callback;
2195
+ onMouseDragLocked: Callback;
2196
+ onMouseDragEnd: Callback;
2167
2197
  };
2168
2198
 
2169
2199
  /** @public */
@@ -2518,6 +2548,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2518
2548
  direction?: PBVector3;
2519
2549
  };
2520
2550
 
2551
+ /** @public */
2552
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2553
+
2521
2554
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2522
2555
 
2523
2556
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2530,9 +2563,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2530
2563
  /** @public */
2531
2564
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2532
2565
 
2566
+ /** @public */
2567
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2568
+
2533
2569
  /** @public */
2534
2570
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2535
2571
 
2572
+ /** @public */
2573
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2574
+
2575
+ /**
2576
+ * @public
2577
+ */
2578
+ export declare const enum GltfNodeStateValue {
2579
+ GNSV_PENDING = 0,
2580
+ GNSV_FAILED = 1,
2581
+ GNSV_READY = 2
2582
+ }
2583
+
2536
2584
  /**
2537
2585
  * @public
2538
2586
  */
@@ -2556,12 +2604,6 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2556
2604
 
2557
2605
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2558
2606
 
2559
- export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2560
-
2561
- export declare interface ICreatedByType {
2562
- address: string;
2563
- }
2564
-
2565
2607
  /**
2566
2608
  * @public
2567
2609
  */
@@ -3035,35 +3077,6 @@ export declare const enum InteractionType {
3035
3077
  PROXIMITY = 1
3036
3078
  }
3037
3079
 
3038
- /**
3039
- * Internal component interface that exposes all internal methods for SDK use
3040
- * This is not exposed to users, only for internal SDK operations
3041
- */
3042
- export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
3043
- /**
3044
- * @public
3045
- * Dry run update to check if a CRDT message would be accepted without actually applying it
3046
- */
3047
- __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
3048
- /**
3049
- * @public
3050
- * Get the iterator to every entity has the component
3051
- */
3052
- iterator(): Iterable<[Entity, any]>;
3053
- /**
3054
- * @public
3055
- */
3056
- dirtyIterator(): Iterable<Entity>;
3057
- /**
3058
- * @public
3059
- */
3060
- __onChangeCallbacks(entity: Entity, value: T): void;
3061
- /**
3062
- * @public
3063
- */
3064
- __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
3065
- }
3066
-
3067
3080
  /**
3068
3081
  * @public
3069
3082
  */
@@ -3267,6 +3280,12 @@ export declare type Listeners = {
3267
3280
  onMouseEnter?: Callback;
3268
3281
  /** triggered on mouse leave event */
3269
3282
  onMouseLeave?: Callback;
3283
+ /** triggered while the pointer is dragged after pressing on the element */
3284
+ onMouseDrag?: Callback;
3285
+ /** triggered while the pointer is dragged with the cursor locked in place */
3286
+ onMouseDragLocked?: Callback;
3287
+ /** triggered when a drag that started on the element ends */
3288
+ onMouseDragEnd?: Callback;
3270
3289
  };
3271
3290
 
3272
3291
  /**
@@ -4171,6 +4190,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4171
4190
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4172
4191
  */
4173
4192
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4193
+ /**
4194
+ * @public
4195
+ * Set a mesh from inside a gltf in the MeshCollider component
4196
+ * @param entity - entity to create or replace the MeshCollider component
4197
+ * @param source - the path to the gltf
4198
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4199
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4200
+ */
4201
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4174
4202
  }
4175
4203
 
4176
4204
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4207,6 +4235,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4207
4235
  * @param entity - entity to create or replace the MeshRenderer component
4208
4236
  */
4209
4237
  setSphere(entity: Entity): void;
4238
+ /**
4239
+ * @public
4240
+ * Set a mesh from inside a gltf in the MeshRenderer component
4241
+ * @param entity - entity to create or replace the MeshRenderer component
4242
+ * @param source - the path to the gltf
4243
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4244
+ */
4245
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4210
4246
  }
4211
4247
 
4212
4248
  /* Excluded from this release type: MessageBus */
@@ -4244,6 +4280,39 @@ export declare namespace MoveContinuous {
4244
4280
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4245
4281
  }
4246
4282
 
4283
+ /**
4284
+ * Describes the animation the movement scene wants the avatar to play.
4285
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4286
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4287
+ */
4288
+ /**
4289
+ * @public
4290
+ */
4291
+ export declare interface MovementAnimation {
4292
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4293
+ src: string;
4294
+ /** whether the clip repeats once it reaches the end */
4295
+ loop: boolean;
4296
+ /** playback speed multiplier (1.0 = clip's native rate) */
4297
+ speed: number;
4298
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4299
+ idle: boolean;
4300
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4301
+ transitionSeconds?: number | undefined;
4302
+ /** 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. */
4303
+ playbackTime?: number | undefined;
4304
+ /** 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). */
4305
+ sounds: string[];
4306
+ }
4307
+
4308
+ /**
4309
+ * @public
4310
+ */
4311
+ export declare namespace MovementAnimation {
4312
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4313
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4314
+ }
4315
+
4247
4316
  /**
4248
4317
  * @public
4249
4318
  */
@@ -4659,6 +4728,25 @@ export declare const onVideoEvent: Observable<{
4659
4728
  totalVideoLength: number;
4660
4729
  }>;
4661
4730
 
4731
+ /**
4732
+ * @public
4733
+ */
4734
+ export declare interface Orthographic {
4735
+ /**
4736
+ * vertical extent of the visible range in meters
4737
+ * defaults to 4m
4738
+ */
4739
+ verticalRange?: number | undefined;
4740
+ }
4741
+
4742
+ /**
4743
+ * @public
4744
+ */
4745
+ export declare namespace Orthographic {
4746
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4747
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4748
+ }
4749
+
4662
4750
  /**
4663
4751
  * @public
4664
4752
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -5006,6 +5094,8 @@ export declare namespace PBAvatarEmoteCommand {
5006
5094
  export declare interface PBAvatarEquippedData {
5007
5095
  wearableUrns: string[];
5008
5096
  emoteUrns: string[];
5097
+ /** slots that will render even if hidden */
5098
+ forceRender: string[];
5009
5099
  }
5010
5100
 
5011
5101
  /**
@@ -5076,6 +5166,8 @@ export declare interface PBAvatarModifierArea {
5076
5166
  excludeIds: string[];
5077
5167
  /** list of modifiers to apply */
5078
5168
  modifiers: AvatarModifierType[];
5169
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5170
+ useColliderRange?: boolean | undefined;
5079
5171
  }
5080
5172
 
5081
5173
  /**
@@ -5086,6 +5178,64 @@ export declare namespace PBAvatarModifierArea {
5086
5178
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5087
5179
  }
5088
5180
 
5181
+ /**
5182
+ * @public
5183
+ */
5184
+ export declare interface PBAvatarMovement {
5185
+ velocity: PBVector3 | undefined;
5186
+ /** 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. */
5187
+ orientation: number;
5188
+ groundDirection?: PBVector3 | undefined;
5189
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5190
+ walkSuccess?: boolean | undefined;
5191
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5192
+ animation?: MovementAnimation | undefined;
5193
+ /** 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. */
5194
+ tiltPitch?: number | undefined;
5195
+ /** 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. */
5196
+ tiltRoll?: number | undefined;
5197
+ }
5198
+
5199
+ /**
5200
+ * @public
5201
+ */
5202
+ export declare namespace PBAvatarMovement {
5203
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5204
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5205
+ }
5206
+
5207
+ /**
5208
+ * @public
5209
+ */
5210
+ export declare interface PBAvatarMovementInfo {
5211
+ /** the length of time the current step velocity will apply for */
5212
+ stepTime: number;
5213
+ /** the length of time the previous step velocity applied for */
5214
+ previousStepTime: number;
5215
+ /** the velocity requested for the previous frame */
5216
+ requestedVelocity: PBVector3 | undefined;
5217
+ /** the resulting velocity taking collisions into account */
5218
+ actualVelocity: PBVector3 | undefined;
5219
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5220
+ externalVelocity: PBVector3 | undefined;
5221
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5222
+ activeInputModifier: PBInputModifier | undefined;
5223
+ /** if set, the movement scene should walk the player to this scene-relative position */
5224
+ walkTarget?: PBVector3 | undefined;
5225
+ /** stop distance for walk_target; considered reached when within this distance */
5226
+ walkThreshold?: number | undefined;
5227
+ /** 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. */
5228
+ activeAnimationState?: AvatarAnimationState | undefined;
5229
+ }
5230
+
5231
+ /**
5232
+ * @public
5233
+ */
5234
+ export declare namespace PBAvatarMovementInfo {
5235
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5236
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5237
+ }
5238
+
5089
5239
  /**
5090
5240
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5091
5241
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5176,6 +5326,8 @@ export declare interface PBAvatarShape {
5176
5326
  emotes: string[];
5177
5327
  /** hides the skin + hair + facial features (default: false) */
5178
5328
  showOnlyWearables?: boolean | undefined;
5329
+ /** slots that will render even if hidden */
5330
+ forceRender: string[];
5179
5331
  }
5180
5332
 
5181
5333
  /**
@@ -5217,6 +5369,51 @@ export declare namespace PBBillboard {
5217
5369
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5218
5370
  }
5219
5371
 
5372
+ /**
5373
+ * @public
5374
+ */
5375
+ export declare interface PBCameraLayer {
5376
+ /**
5377
+ * layer to which these settings apply. must be > 0
5378
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5379
+ */
5380
+ layer: number;
5381
+ /** should the sun light affect this layer? default false */
5382
+ directionalLight?: boolean | undefined;
5383
+ /** should this layer show player avatars? default false */
5384
+ showAvatars?: boolean | undefined;
5385
+ /** should this layer show the sky? default false */
5386
+ showSkybox?: boolean | undefined;
5387
+ /** should this layer show distance fog? default false */
5388
+ showFog?: boolean | undefined;
5389
+ /** ambient light overrides for this layer. default -> use same as main camera */
5390
+ ambientColorOverride?: PBColor3 | undefined;
5391
+ ambientBrightnessOverride?: number | undefined;
5392
+ }
5393
+
5394
+ /**
5395
+ * @public
5396
+ */
5397
+ export declare namespace PBCameraLayer {
5398
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5399
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5400
+ }
5401
+
5402
+ /**
5403
+ * @public
5404
+ */
5405
+ export declare interface PBCameraLayers {
5406
+ layers: number[];
5407
+ }
5408
+
5409
+ /**
5410
+ * @public
5411
+ */
5412
+ export declare namespace PBCameraLayers {
5413
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5414
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5415
+ }
5416
+
5220
5417
  /**
5221
5418
  * The CameraMode component can be used to determine whether the player is using a first-person o
5222
5419
  * third-person view.
@@ -5258,6 +5455,8 @@ export declare interface PBCameraModeArea {
5258
5455
  area: PBVector3 | undefined;
5259
5456
  /** the camera mode to enforce */
5260
5457
  mode: CameraType;
5458
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5459
+ useColliderRange?: boolean | undefined;
5261
5460
  }
5262
5461
 
5263
5462
  /**
@@ -5391,6 +5590,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5391
5590
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5392
5591
  }
5393
5592
 
5593
+ /**
5594
+ * defines the global scene light settings. must be added to the scene root.
5595
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5596
+ */
5597
+ /**
5598
+ * @public
5599
+ */
5600
+ export declare interface PBGlobalLight {
5601
+ /**
5602
+ * the direction the directional light shines in.
5603
+ * default depends on time of day and explorer implementation
5604
+ */
5605
+ direction?: PBVector3 | undefined;
5606
+ /**
5607
+ * ambient light color
5608
+ * default: White
5609
+ */
5610
+ ambientColor?: PBColor3 | undefined;
5611
+ /**
5612
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5613
+ * default 1
5614
+ */
5615
+ ambientBrightness?: number | undefined;
5616
+ }
5617
+
5618
+ /**
5619
+ * @public
5620
+ */
5621
+ export declare namespace PBGlobalLight {
5622
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5623
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5624
+ }
5625
+
5394
5626
  /**
5395
5627
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5396
5628
  *
@@ -5426,6 +5658,25 @@ export declare namespace PBGltfContainer {
5426
5658
  */
5427
5659
  export declare interface PBGltfContainerLoadingState {
5428
5660
  currentState: LoadingState;
5661
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5662
+ nodePaths: string[];
5663
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5664
+ meshNames: string[];
5665
+ /**
5666
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5667
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5668
+ */
5669
+ materialNames: string[];
5670
+ /**
5671
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5672
+ * sure all your materials are explicitly named.
5673
+ */
5674
+ skinNames: string[];
5675
+ /**
5676
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5677
+ * your skins are explicitly named.
5678
+ */
5679
+ animationNames: string[];
5429
5680
  }
5430
5681
 
5431
5682
  /**
@@ -5436,6 +5687,57 @@ export declare namespace PBGltfContainerLoadingState {
5436
5687
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5437
5688
  }
5438
5689
 
5690
+ /**
5691
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5692
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5693
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5694
+ * in the parent.
5695
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5696
+ *
5697
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5698
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5699
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5700
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5701
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5702
+ *
5703
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5704
+ *
5705
+ * From the scene, you can modify various components to alter the gltf node:
5706
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5707
+ * regardless of any intermediate gltf node hierarchy.
5708
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5709
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5710
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5711
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5712
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5713
+ * 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
5714
+ * PBMaterial will be maintained.
5715
+ *
5716
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5717
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5718
+ * change the state to `GNS_FAILED`.
5719
+ * - deleting the scene entity will not delete the gltf node.
5720
+ *
5721
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5722
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5723
+ * the gltf node will also be displayed.
5724
+ */
5725
+ /**
5726
+ * @public
5727
+ */
5728
+ export declare interface PBGltfNode {
5729
+ /** the path of the target node in the Gltf. */
5730
+ path: string;
5731
+ }
5732
+
5733
+ /**
5734
+ * @public
5735
+ */
5736
+ export declare namespace PBGltfNode {
5737
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5738
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5739
+ }
5740
+
5439
5741
  /**
5440
5742
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5441
5743
  *
@@ -5481,6 +5783,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5481
5783
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5482
5784
  }
5483
5785
 
5786
+ /**
5787
+ * The state of a linked gltf node.
5788
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5789
+ */
5790
+ /**
5791
+ * @public
5792
+ */
5793
+ export declare interface PBGltfNodeState {
5794
+ state: GltfNodeStateValue;
5795
+ error?: string | undefined;
5796
+ }
5797
+
5798
+ /**
5799
+ * @public
5800
+ */
5801
+ export declare namespace PBGltfNodeState {
5802
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5803
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5804
+ }
5805
+
5484
5806
  /**
5485
5807
  * @public
5486
5808
  */
@@ -5618,6 +5940,14 @@ export declare interface PBMaterial {
5618
5940
  $case: "pbr";
5619
5941
  pbr: PBMaterial_PbrMaterial;
5620
5942
  } | undefined;
5943
+ /**
5944
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5945
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5946
+ * supported by the PbMaterial.
5947
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5948
+ * field with data that reflects the gltf material once it is loaded.
5949
+ */
5950
+ gltf?: PBMaterial_GltfMaterial | undefined;
5621
5951
  }
5622
5952
 
5623
5953
  /**
@@ -5628,6 +5958,22 @@ export declare namespace PBMaterial {
5628
5958
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5629
5959
  }
5630
5960
 
5961
+ /**
5962
+ * @public
5963
+ */
5964
+ export declare interface PBMaterial_GltfMaterial {
5965
+ gltfSrc: string;
5966
+ name: string;
5967
+ }
5968
+
5969
+ /**
5970
+ * @public
5971
+ */
5972
+ export declare namespace PBMaterial_GltfMaterial {
5973
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
5974
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
5975
+ }
5976
+
5631
5977
  /**
5632
5978
  * @public
5633
5979
  */
@@ -5724,6 +6070,9 @@ export declare interface PBMeshCollider {
5724
6070
  } | {
5725
6071
  $case: "plane";
5726
6072
  plane: PBMeshCollider_PlaneMesh;
6073
+ } | {
6074
+ $case: "gltf";
6075
+ gltf: PBMeshCollider_GltfMesh;
5727
6076
  } | undefined;
5728
6077
  }
5729
6078
 
@@ -5769,6 +6118,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5769
6118
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5770
6119
  }
5771
6120
 
6121
+ /** A collider constructed from a Gltf Mesh. */
6122
+ /**
6123
+ * @public
6124
+ */
6125
+ export declare interface PBMeshCollider_GltfMesh {
6126
+ /** the GLTF file path as listed in the scene's manifest. */
6127
+ gltfSrc: string;
6128
+ /** the name of the mesh asset */
6129
+ name: string;
6130
+ }
6131
+
6132
+ /**
6133
+ * @public
6134
+ */
6135
+ export declare namespace PBMeshCollider_GltfMesh {
6136
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6137
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6138
+ }
6139
+
5772
6140
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5773
6141
  /**
5774
6142
  * @public
@@ -5801,13 +6169,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5801
6169
 
5802
6170
  /**
5803
6171
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5804
- * plane, a sphere or a cylinder.
6172
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5805
6173
  *
5806
6174
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5807
6175
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5808
6176
  * `float` coordinates, one for each corner of each side of each face.
5809
- *
5810
- * More complex shapes require the use of a `GltfContainer` component.
5811
6177
  */
5812
6178
  /**
5813
6179
  * @public
@@ -5825,6 +6191,9 @@ export declare interface PBMeshRenderer {
5825
6191
  } | {
5826
6192
  $case: "plane";
5827
6193
  plane: PBMeshRenderer_PlaneMesh;
6194
+ } | {
6195
+ $case: "gltf";
6196
+ gltf: PBMeshRenderer_GltfMesh;
5828
6197
  } | undefined;
5829
6198
  }
5830
6199
 
@@ -5872,6 +6241,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5872
6241
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5873
6242
  }
5874
6243
 
6244
+ /** A mesh from a Gltf. */
6245
+ /**
6246
+ * @public
6247
+ */
6248
+ export declare interface PBMeshRenderer_GltfMesh {
6249
+ /** the GLTF file path as listed in the scene's manifest. */
6250
+ gltfSrc: string;
6251
+ /** the name of the mesh asset */
6252
+ name: string;
6253
+ }
6254
+
6255
+ /**
6256
+ * @public
6257
+ */
6258
+ export declare namespace PBMeshRenderer_GltfMesh {
6259
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6260
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6261
+ }
6262
+
5875
6263
  /** PlaneMesh renders a 2D rectangular shape. */
5876
6264
  /**
5877
6265
  * @public
@@ -6468,7 +6856,10 @@ export declare interface PBPrimaryPointerInfo {
6468
6856
  screenCoordinates?: PBVector2 | undefined;
6469
6857
  /** Movement since last frame (pixels) */
6470
6858
  screenDelta?: PBVector2 | undefined;
6471
- /** Direction vector for 3D ray casting */
6859
+ /**
6860
+ * ray direction that can be used with the primary camera origin for
6861
+ * raycasting from the cursor into the world
6862
+ */
6472
6863
  worldRayDirection?: PBVector3 | undefined;
6473
6864
  }
6474
6865
 
@@ -6539,6 +6930,10 @@ export declare interface PBRaycast {
6539
6930
  continuous?: boolean | undefined;
6540
6931
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6541
6932
  collisionMask?: number | undefined;
6933
+ /** shape to cast, default ray */
6934
+ shape?: RaycastShape | undefined;
6935
+ /** include hits with entities from other scenes */
6936
+ includeWorld?: boolean | undefined;
6542
6937
  }
6543
6938
 
6544
6939
  /**
@@ -6684,6 +7079,8 @@ export declare interface PBTextShape {
6684
7079
  outlineColor?: PBColor3 | undefined;
6685
7080
  /** text color (default [1.0, 1.0, 1.0]) */
6686
7081
  textColor?: PBColor4 | undefined;
7082
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7083
+ fontSrc?: string | undefined;
6687
7084
  }
6688
7085
 
6689
7086
  /**
@@ -6694,6 +7091,46 @@ export declare namespace PBTextShape {
6694
7091
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6695
7092
  }
6696
7093
 
7094
+ /**
7095
+ * @public
7096
+ */
7097
+ export declare interface PBTextureCamera {
7098
+ /** rendered texture width */
7099
+ width?: number | undefined;
7100
+ /** rendered texture height */
7101
+ height?: number | undefined;
7102
+ /**
7103
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7104
+ * defaults to 0
7105
+ */
7106
+ layer?: number | undefined;
7107
+ /** default black */
7108
+ clearColor?: PBColor4 | undefined;
7109
+ /** default infinity */
7110
+ farPlane?: number | undefined;
7111
+ mode?: {
7112
+ $case: "perspective";
7113
+ perspective: Perspective;
7114
+ } | {
7115
+ $case: "orthographic";
7116
+ orthographic: Orthographic;
7117
+ } | undefined;
7118
+ /**
7119
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7120
+ * range: 0 (off) - 1 (full volume)
7121
+ * default: 0
7122
+ */
7123
+ volume?: number | undefined;
7124
+ }
7125
+
7126
+ /**
7127
+ * @public
7128
+ */
7129
+ export declare namespace PBTextureCamera {
7130
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7131
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7132
+ }
7133
+
6697
7134
  /**
6698
7135
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6699
7136
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6939,6 +7376,25 @@ export declare namespace PBUiBackground {
6939
7376
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6940
7377
  }
6941
7378
 
7379
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7380
+ /**
7381
+ * @public
7382
+ */
7383
+ export declare interface PBUiCanvas {
7384
+ width: number;
7385
+ height: number;
7386
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7387
+ color?: PBColor4 | undefined;
7388
+ }
7389
+
7390
+ /**
7391
+ * @public
7392
+ */
7393
+ export declare namespace PBUiCanvas {
7394
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7395
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7396
+ }
7397
+
6942
7398
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6943
7399
  /**
6944
7400
  * @public
@@ -6994,6 +7450,8 @@ export declare interface PBUiDropdown {
6994
7450
  font?: Font | undefined;
6995
7451
  /** default=10 */
6996
7452
  fontSize?: number | undefined;
7453
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7454
+ fontSrc?: string | undefined;
6997
7455
  }
6998
7456
 
6999
7457
  /**
@@ -7036,6 +7494,12 @@ export declare interface PBUiInput {
7036
7494
  /** default=10 */
7037
7495
  fontSize?: number | undefined;
7038
7496
  value?: string | undefined;
7497
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7498
+ multiLine?: boolean | undefined;
7499
+ /** default=true; when false, the input value is preserved after pressing Enter */
7500
+ clearOnSubmit?: boolean | undefined;
7501
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7502
+ fontSrc?: string | undefined;
7039
7503
  }
7040
7504
 
7041
7505
  /**
@@ -7099,6 +7563,21 @@ export declare namespace PBUiInputResult {
7099
7563
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7100
7564
  }
7101
7565
 
7566
+ /**
7567
+ * @public
7568
+ */
7569
+ export declare interface PBUiScrollResult {
7570
+ value: PBVector2 | undefined;
7571
+ }
7572
+
7573
+ /**
7574
+ * @public
7575
+ */
7576
+ export declare namespace PBUiScrollResult {
7577
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7578
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7579
+ }
7580
+
7102
7581
  /**
7103
7582
  * @public
7104
7583
  */
@@ -7115,6 +7594,8 @@ export declare interface PBUiText {
7115
7594
  fontSize?: number | undefined;
7116
7595
  /** wrap text when the border is reached (default: TW_WRAP) */
7117
7596
  textWrap?: TextWrap | undefined;
7597
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7598
+ fontSrc?: string | undefined;
7118
7599
  }
7119
7600
 
7120
7601
  /**
@@ -7242,6 +7723,12 @@ export declare interface PBUiTransform {
7242
7723
  borderRightColor?: PBColor4 | undefined;
7243
7724
  /** default: 1 */
7244
7725
  opacity?: number | undefined;
7726
+ /** reference for scroll_position. default empty */
7727
+ elementId?: string | undefined;
7728
+ /** default position=(0,0) */
7729
+ scrollPosition?: ScrollPositionValue | undefined;
7730
+ /** default ShowScrollBar.SSB_BOTH */
7731
+ scrollVisible?: ShowScrollBar | undefined;
7245
7732
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7246
7733
  zIndex?: number | undefined;
7247
7734
  }
@@ -7394,6 +7881,25 @@ export declare namespace PBVisibilityComponent {
7394
7881
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7395
7882
  }
7396
7883
 
7884
+ /**
7885
+ * @public
7886
+ */
7887
+ export declare interface Perspective {
7888
+ /**
7889
+ * vertical field of view in radians
7890
+ * defaults to pi/4 = 45 degrees
7891
+ */
7892
+ fieldOfView?: number | undefined;
7893
+ }
7894
+
7895
+ /**
7896
+ * @public
7897
+ */
7898
+ export declare namespace Perspective {
7899
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7900
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7901
+ }
7902
+
7397
7903
  /**
7398
7904
  * @public
7399
7905
  * Physics helpers for applying impulses and forces to the player.
@@ -7635,6 +8141,24 @@ export declare interface PointerEventsSystem {
7635
8141
  * @param entity - Entity where the callback was attached
7636
8142
  */
7637
8143
  removeOnPointerHoverLeave(entity: Entity): void;
8144
+ /**
8145
+ * @public
8146
+ * Remove the callback for onPointerDrag event
8147
+ * @param entity - Entity where the callback was attached
8148
+ */
8149
+ removeOnPointerDrag(entity: Entity): void;
8150
+ /**
8151
+ * @public
8152
+ * Remove the callback for onPointerDragLocked event
8153
+ * @param entity - Entity where the callback was attached
8154
+ */
8155
+ removeOnPointerDragLocked(entity: Entity): void;
8156
+ /**
8157
+ * @public
8158
+ * Remove the callback for onPointerDragEnd event
8159
+ * @param entity - Entity where the callback was attached
8160
+ */
8161
+ removeOnPointerDragEnd(entity: Entity): void;
7638
8162
  /**
7639
8163
  * @public
7640
8164
  * Remove the callback for onProximityDown event
@@ -7713,6 +8237,36 @@ export declare interface PointerEventsSystem {
7713
8237
  entity: Entity;
7714
8238
  opts?: Partial<EventSystemOptions>;
7715
8239
  }, cb: EventSystemCallback): void;
8240
+ /**
8241
+ * @public
8242
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8243
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8244
+ * @param cb - Function to execute on every drag update
8245
+ */
8246
+ onPointerDrag(pointerData: {
8247
+ entity: Entity;
8248
+ opts?: Partial<EventSystemOptions>;
8249
+ }, cb: EventSystemCallback): void;
8250
+ /**
8251
+ * @public
8252
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8253
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8254
+ * @param cb - Function to execute on every drag update
8255
+ */
8256
+ onPointerDragLocked(pointerData: {
8257
+ entity: Entity;
8258
+ opts?: Partial<EventSystemOptions>;
8259
+ }, cb: EventSystemCallback): void;
8260
+ /**
8261
+ * @public
8262
+ * Execute callback when the user releases the button after a drag that started on the entity
8263
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8264
+ * @param cb - Function to execute when the drag ends
8265
+ */
8266
+ onPointerDragEnd(pointerData: {
8267
+ entity: Entity;
8268
+ opts?: Partial<EventSystemOptions>;
8269
+ }, cb: EventSystemCallback): void;
7716
8270
  /**
7717
8271
  * @public
7718
8272
  * Execute callback when the user presses the proximity button on the entity
@@ -7771,7 +8325,10 @@ export declare const enum PointerEventType {
7771
8325
  PET_HOVER_ENTER = 2,
7772
8326
  PET_HOVER_LEAVE = 3,
7773
8327
  PET_PROXIMITY_ENTER = 4,
7774
- PET_PROXIMITY_LEAVE = 5
8328
+ PET_PROXIMITY_LEAVE = 5,
8329
+ PET_DRAG_LOCKED = 6,
8330
+ PET_DRAG = 7,
8331
+ PET_DRAG_END = 8
7775
8332
  }
7776
8333
 
7777
8334
  /**
@@ -7802,7 +8359,10 @@ export declare const enum PointerType {
7802
8359
  /** POT_NONE - No pointer input */
7803
8360
  POT_NONE = 0,
7804
8361
  /** POT_MOUSE - Traditional mouse input */
7805
- POT_MOUSE = 1
8362
+ POT_MOUSE = 1,
8363
+ POT_PAD = 2,
8364
+ POT_TOUCH = 3,
8365
+ POT_WAND = 4
7806
8366
  }
7807
8367
 
7808
8368
  /**
@@ -8259,6 +8819,16 @@ export declare const enum RaycastQueryType {
8259
8819
  /** @public */
8260
8820
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8261
8821
 
8822
+ /**
8823
+ * @public
8824
+ */
8825
+ export declare const enum RaycastShape {
8826
+ /** RS_RAY - cast a point, get collisions along a ray */
8827
+ RS_RAY = 0,
8828
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8829
+ RS_AVATAR = 1
8830
+ }
8831
+
8262
8832
  /**
8263
8833
  * @public
8264
8834
  */
@@ -8391,6 +8961,10 @@ export declare type RaycastSystemOptions = {
8391
8961
  queryType: RaycastQueryType;
8392
8962
  continuous?: boolean | undefined;
8393
8963
  collisionMask?: number | undefined;
8964
+ /** shape to sweep along the ray, default RS_RAY (a point) */
8965
+ shape?: RaycastShape | undefined;
8966
+ /** include colliders from other scenes, default false */
8967
+ includeWorld?: boolean | undefined;
8394
8968
  };
8395
8969
 
8396
8970
  /**
@@ -8439,6 +9013,20 @@ export declare interface ReactBasedUiSystem {
8439
9013
  * @param entity - The entity whose UI renderer should be removed
8440
9014
  */
8441
9015
  removeUiRenderer(entity: Entity): void;
9016
+ /**
9017
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9018
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9019
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9020
+ *
9021
+ * @param entity - The UiCanvas entity the UI tree hangs from
9022
+ * @param ui - The UI component to render
9023
+ */
9024
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9025
+ /**
9026
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9027
+ * @param entity - The UiCanvas entity the renderer was set on
9028
+ */
9029
+ removeTextureRenderer(entity: Entity): void;
8442
9030
  }
8443
9031
 
8444
9032
  /**
@@ -8602,7 +9190,7 @@ export declare type ReadOnlyLastWriteWinElementSetComponentDefinition<T> = Omit<
8602
9190
  /**
8603
9191
  * @public
8604
9192
  */
8605
- export declare type ReadonlyPrimitive = number | string | boolean;
9193
+ export declare type ReadonlyPrimitive = number | string | number[] | string[] | boolean | boolean[];
8606
9194
 
8607
9195
  /** @public */
8608
9196
  export declare const RealmInfo: LastWriteWinElementSetComponentDefinition<PBRealmInfo>;
@@ -9029,6 +9617,33 @@ export declare namespace Schemas {
9029
9617
  */
9030
9618
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9031
9619
 
9620
+ /**
9621
+ * @public
9622
+ */
9623
+ export declare interface ScrollPositionValue {
9624
+ value?: {
9625
+ $case: "position";
9626
+ position: PBVector2;
9627
+ } | {
9628
+ $case: "reference";
9629
+ reference: string;
9630
+ } | undefined;
9631
+ }
9632
+
9633
+ /**
9634
+ * @public
9635
+ */
9636
+ export declare namespace ScrollPositionValue {
9637
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9638
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9639
+ }
9640
+
9641
+ /**
9642
+ * Which scrollbars are shown when the overflow is scrollable
9643
+ * @public
9644
+ */
9645
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9646
+
9032
9647
  /**
9033
9648
  * Register the composite provider used to resolve composite files. Also registers
9034
9649
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9054,6 +9669,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9054
9669
  easingFunction?: EasingFunction;
9055
9670
  }
9056
9671
 
9672
+ /**
9673
+ * @public
9674
+ */
9675
+ export declare const enum ShowScrollBar {
9676
+ SSB_BOTH = 0,
9677
+ SSB_ONLY_VERTICAL = 1,
9678
+ SSB_ONLY_HORIZONTAL = 2,
9679
+ SSB_HIDDEN = 3
9680
+ }
9681
+
9057
9682
  /** @public */
9058
9683
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9059
9684
 
@@ -9160,6 +9785,9 @@ export declare namespace Texture {
9160
9785
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9161
9786
  }
9162
9787
 
9788
+ /** @public */
9789
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9790
+
9163
9791
  /**
9164
9792
  * @public
9165
9793
  */
@@ -9270,6 +9898,9 @@ export declare interface TextureUnion {
9270
9898
  } | {
9271
9899
  $case: "videoTexture";
9272
9900
  videoTexture: VideoTexture;
9901
+ } | {
9902
+ $case: "uiTexture";
9903
+ uiTexture: UiCanvasTexture;
9273
9904
  } | undefined;
9274
9905
  }
9275
9906
 
@@ -9500,16 +10131,6 @@ export declare type Transport = {
9500
10131
  onmessage?(message: Uint8Array): void;
9501
10132
  filter(message: Omit<TransportMessage, 'messageBuffer'>): boolean;
9502
10133
  type?: string;
9503
- /**
9504
- * Whether this transport is allowed to mutate reserved-range entities
9505
- * (root/player/camera + avatars, entity number below `RESERVED_STATIC_ENTITIES`).
9506
- * Only the trusted host/renderer transport sets this. An inbound DELETE_ENTITY
9507
- * or component operation (PUT_COMPONENT, DELETE_COMPONENT, APPEND_VALUE,
9508
- * AUTHORITATIVE_PUT_COMPONENT) on a reserved entity from a transport without
9509
- * this flag (a comms peer, or any scene-added transport) is rejected — see
9510
- * `receiveMessages`.
9511
- */
9512
- allowReservedEntities?: boolean;
9513
10134
  };
9514
10135
 
9515
10136
  /**
@@ -9818,6 +10439,8 @@ export declare interface UiBackgroundProps {
9818
10439
  uvs?: number[];
9819
10440
  /** AvatarTexture for the background */
9820
10441
  avatarTexture?: UiAvatarTexture;
10442
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10443
+ videoTexture?: UiVideoTexture;
9821
10444
  /** Texture for the background */
9822
10445
  texture?: UiTexture;
9823
10446
  }
@@ -9837,9 +10460,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9837
10460
  disabled?: boolean;
9838
10461
  }
9839
10462
 
10463
+ /** @public */
10464
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10465
+
9840
10466
  /** @public */
9841
10467
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9842
10468
 
10469
+ /**
10470
+ * @public
10471
+ */
10472
+ export declare interface UiCanvasTexture {
10473
+ uiCanvasEntity: number;
10474
+ /** default = TextureWrapMode.Clamp */
10475
+ wrapMode?: TextureWrapMode | undefined;
10476
+ /** default = FilterMode.Bilinear */
10477
+ filterMode?: TextureFilterMode | undefined;
10478
+ }
10479
+
10480
+ /**
10481
+ * @public
10482
+ */
10483
+ export declare namespace UiCanvasTexture {
10484
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10485
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10486
+ }
10487
+
9843
10488
  /**
9844
10489
  * @public
9845
10490
  */
@@ -9937,6 +10582,8 @@ export declare interface UiLabelProps {
9937
10582
  font?: UiFontType | undefined;
9938
10583
  /** Behaviour when text reached. @defaultValue 'wrap' */
9939
10584
  textWrap?: UiTextWrapType | undefined;
10585
+ /** A font file in the scene, or a Google Fonts family name; `font` is the fallback. @defaultValue undefined */
10586
+ fontSrc?: string | undefined;
9940
10587
  }
9941
10588
 
9942
10589
  /**
@@ -9992,6 +10639,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
9992
10639
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
9993
10640
  };
9994
10641
 
10642
+ /** @public */
10643
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10644
+
9995
10645
  /** @public */
9996
10646
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
9997
10647
 
@@ -10071,20 +10721,28 @@ export declare interface UiTransformProps {
10071
10721
  opacity?: number;
10072
10722
  /** default 0 */
10073
10723
  zIndex?: number;
10724
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10725
+ elementId?: string;
10726
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10727
+ scrollPosition?: PBVector2 | string;
10728
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10729
+ scrollVisible?: ScrollVisibleType;
10074
10730
  }
10075
10731
 
10076
10732
  /**
10733
+ * Video Texture
10077
10734
  * @public
10078
10735
  */
10079
- export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10736
+ export declare interface UiVideoTexture {
10737
+ videoPlayerEntity: Entity;
10738
+ wrapMode?: TextureWrapType;
10739
+ filterMode?: TextureFilterType;
10740
+ }
10080
10741
 
10081
- export declare type ValidateCallback<T> = (value: {
10082
- entity: Entity;
10083
- currentValue: T | undefined;
10084
- newValue: T | undefined;
10085
- senderAddress: string;
10086
- createdBy: string;
10087
- }) => boolean;
10742
+ /**
10743
+ * @public
10744
+ */
10745
+ export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10088
10746
 
10089
10747
  /**
10090
10748
  * @public