@dcl/playground-assets 7.20.2-22104870534.commit-0df3cc0 → 7.20.2-22169778016.commit-030cbfe

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
@@ -115,61 +115,6 @@ export declare const assetLoadLoadingStateSystem: AssetLoadLoadingStateSystem;
115
115
  */
116
116
  export declare type AssetLoadLoadingStateSystemCallback = (event: DeepReadonlyObject<PBAssetLoadLoadingState>) => void;
117
117
 
118
- export declare const AudioAnalysis: AudioAnalysisComponentDefinitionExtended;
119
-
120
- export declare interface AudioAnalysisComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBAudioAnalysis> {
121
- /**
122
- * Reads the component data of `entity` into the provided `out` view.
123
- *
124
- * @throws Error if the entity does not have an AudioAnalysis component.
125
- * @param entity - The entity whose AudioAnalysis data will be read.
126
- * @param out - An existing AudioAnalysisView to populate with the latest values.
127
- */
128
- readIntoView(entity: Entity, out: AudioAnalysisView): void;
129
- /**
130
- * Attempts to read the component data of `entity` into the provided `out` view.
131
- *
132
- * @returns `true` if the component exists and data was written into `out`,
133
- * `false` if the entity does not have an AudioAnalysis component.
134
- * @param entity - The entity whose AudioAnalysis data will be read.
135
- * @param out - An existing AudioAnalysisView to populate.
136
- */
137
- tryReadIntoView(entity: Entity, out: AudioAnalysisView): boolean;
138
- /**
139
- * Creates an AudioAnalysis component for the given `entity`.
140
- *
141
- * If a component already exists on the entity, this call fails (does not replace).
142
- *
143
- * @param entity - The entity to attach the component to.
144
- * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
145
- * @param amplitudeGain - Optional amplitude gain multiplier.
146
- * @param bandsGain - Optional gain multiplier applied to all frequency bands.
147
- */
148
- createAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
149
- amplitudeGain?: number, bandsGain?: number): void;
150
- /**
151
- * Creates the AudioAnalysis component if missing, or replaces the existing one.
152
- *
153
- * @param entity - The target entity.
154
- * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
155
- * @param amplitudeGain - Optional amplitude gain multiplier.
156
- * @param bandsGain - Optional gain multiplier applied to the frequency bands.
157
- */
158
- createOrReplaceAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
159
- amplitudeGain?: number, bandsGain?: number): void;
160
- }
161
-
162
- /**
163
- * A read-only JavaScript-friendly view of AudioAnalysis ECS data.
164
- *
165
- * `amplitude` represents the aggregated signal strength.
166
- * `bands` represents the processed frequency bands.
167
- */
168
- export declare type AudioAnalysisView = {
169
- amplitude: number;
170
- bands: number[];
171
- };
172
-
173
118
  /** @public */
174
119
  export declare const AudioEvent: GrowOnlyValueSetComponentDefinition<PBAudioEvent>;
175
120
 
@@ -218,6 +163,42 @@ export declare interface AudioStreamComponentDefinitionExtended extends LastWrit
218
163
  getAudioState(entity: Entity): PBAudioEvent | undefined;
219
164
  }
220
165
 
166
+ /**
167
+ * @public
168
+ */
169
+ export declare type AuthoritativePutComponentMessage = CrdtMessageHeader & AuthoritativePutComponentMessageBody;
170
+
171
+ /**
172
+ * Server authoritative message - identical to PutComponentMessageBody but with forced processing
173
+ * Min. length = header (8 bytes) + 16 bytes = 24 bytes
174
+ *
175
+ * @param entity - Uint32 number of the entity
176
+ * @param componentId - Uint32 number of id
177
+ * @param timestamp - Uint32 Lamport timestamp (server's authoritative timestamp)
178
+ * @param data - Uint8[] data of component => length(4 bytes) + block of bytes[0..length-1]
179
+ * @public
180
+ */
181
+ export declare type AuthoritativePutComponentMessageBody = {
182
+ type: CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT;
183
+ entityId: Entity;
184
+ componentId: number;
185
+ timestamp: number;
186
+ data: Uint8Array;
187
+ };
188
+
189
+ /**
190
+ * @public
191
+ */
192
+ export declare namespace AuthoritativePutComponentOperation {
193
+ const MESSAGE_HEADER_LENGTH = 16;
194
+ /**
195
+ * Call this function for an optimal writing data passing the ByteBuffer
196
+ * already allocated
197
+ */
198
+ export function write(entity: Entity, timestamp: number, componentId: number, data: Uint8Array, buf: ByteBuffer): void;
199
+ export function read(buf: ByteBuffer): AuthoritativePutComponentMessage | null;
200
+ }
201
+
221
202
  /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
222
203
  /**
223
204
  * @public
@@ -264,9 +245,6 @@ export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBA
264
245
  /** @public */
265
246
  export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
266
247
 
267
- /** @public */
268
- export declare const AvatarLocomotionSettings: LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>;
269
-
270
248
  /** @public */
271
249
  export declare const AvatarModifierArea: LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>;
272
250
 
@@ -380,6 +358,22 @@ export declare interface BaseComponent<T> {
380
358
  * If the value is undefined, the component was deleted.
381
359
  */
382
360
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
361
+ /**
362
+ * @public
363
+ *
364
+ */
365
+ validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
366
+ validateBeforeChange(cb: ValidateCallback<T>): void;
367
+ /**
368
+ * Get the CRDT state for an entity (serialized data and timestamp)
369
+ * @param entity - Entity to get the CRDT state for
370
+ * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
371
+ * @public
372
+ */
373
+ getCrdtState(entity: Entity): {
374
+ data: Uint8Array;
375
+ timestamp: number;
376
+ } | null;
383
377
  }
384
378
 
385
379
  /** @public */
@@ -1379,7 +1373,6 @@ export declare const componentDefinitionByName: {
1379
1373
  "core::Animator": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAnimator>>;
1380
1374
  "core::AssetLoad": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAssetLoad>>;
1381
1375
  "core::AssetLoadLoadingState": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBAssetLoadLoadingState>>;
1382
- "core::AudioAnalysis": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAudioAnalysis>>;
1383
1376
  "core::AudioEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBAudioEvent>>;
1384
1377
  "core::AudioSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAudioSource>>;
1385
1378
  "core::AudioStream": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAudioStream>>;
@@ -1387,7 +1380,6 @@ export declare const componentDefinitionByName: {
1387
1380
  "core::AvatarBase": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarBase>>;
1388
1381
  "core::AvatarEmoteCommand": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>>;
1389
1382
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1390
- "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1391
1383
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1392
1384
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1393
1385
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
@@ -1590,12 +1582,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1590
1582
  /**
1591
1583
  * @public
1592
1584
  */
1593
- export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1585
+ export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1594
1586
 
1595
1587
  /**
1596
1588
  * @public
1597
1589
  */
1598
- export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1590
+ export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1599
1591
 
1600
1592
  /**
1601
1593
  * Min length = 8 bytes
@@ -1650,7 +1642,8 @@ export declare enum CrdtMessageType {
1650
1642
  PUT_COMPONENT_NETWORK = 5,
1651
1643
  DELETE_COMPONENT_NETWORK = 6,
1652
1644
  DELETE_ENTITY_NETWORK = 7,
1653
- MAX_MESSAGE_TYPE = 8
1645
+ AUTHORITATIVE_PUT_COMPONENT = 8,
1646
+ MAX_MESSAGE_TYPE = 9
1654
1647
  }
1655
1648
 
1656
1649
  /**
@@ -1658,6 +1651,8 @@ export declare enum CrdtMessageType {
1658
1651
  */
1659
1652
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1660
1653
 
1654
+ export declare const CreatedBy: ICreatedBy;
1655
+
1661
1656
  /**
1662
1657
  * @public
1663
1658
  */
@@ -2350,6 +2345,12 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2350
2345
 
2351
2346
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2352
2347
 
2348
+ export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2349
+
2350
+ export declare interface ICreatedByType {
2351
+ address: string;
2352
+ }
2353
+
2353
2354
  /**
2354
2355
  * @public
2355
2356
  */
@@ -2745,8 +2746,7 @@ export declare const enum InputAction {
2745
2746
  IA_ACTION_3 = 10,
2746
2747
  IA_ACTION_4 = 11,
2747
2748
  IA_ACTION_5 = 12,
2748
- IA_ACTION_6 = 13,
2749
- IA_MODIFIER = 14
2749
+ IA_ACTION_6 = 13
2750
2750
  }
2751
2751
 
2752
2752
  export declare const InputModifier: InputModifierComponentDefinitionExtended;
@@ -2794,6 +2794,35 @@ export declare type InstanceCompositeOptions = {
2794
2794
  alreadyRequestedSrc?: Set<string>;
2795
2795
  };
2796
2796
 
2797
+ /**
2798
+ * Internal component interface that exposes all internal methods for SDK use
2799
+ * This is not exposed to users, only for internal SDK operations
2800
+ */
2801
+ export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
2802
+ /**
2803
+ * @public
2804
+ * Dry run update to check if a CRDT message would be accepted without actually applying it
2805
+ */
2806
+ __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
2807
+ /**
2808
+ * @public
2809
+ * Get the iterator to every entity has the component
2810
+ */
2811
+ iterator(): Iterable<[Entity, any]>;
2812
+ /**
2813
+ * @public
2814
+ */
2815
+ dirtyIterator(): Iterable<Entity>;
2816
+ /**
2817
+ * @public
2818
+ */
2819
+ __onChangeCallbacks(entity: Entity, value: T): void;
2820
+ /**
2821
+ * @public
2822
+ */
2823
+ __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
2824
+ }
2825
+
2797
2826
  /**
2798
2827
  * @public
2799
2828
  */
@@ -4450,45 +4479,6 @@ export declare namespace PBAssetLoadLoadingState {
4450
4479
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAssetLoadLoadingState;
4451
4480
  }
4452
4481
 
4453
- /**
4454
- * @public
4455
- */
4456
- export declare interface PBAudioAnalysis {
4457
- /** Parameters section */
4458
- mode: PBAudioAnalysisMode;
4459
- /** Used only when mode == MODE_LOGARITHMIC */
4460
- amplitudeGain?: number | undefined;
4461
- /** End when mode == MODE_LOGARITHMIC */
4462
- bandsGain?: number | undefined;
4463
- /** Result section */
4464
- amplitude: number;
4465
- /** Protobuf doesn't support fixed arrays -> 8 band fields */
4466
- band0: number;
4467
- band1: number;
4468
- band2: number;
4469
- band3: number;
4470
- band4: number;
4471
- band5: number;
4472
- band6: number;
4473
- band7: number;
4474
- }
4475
-
4476
- /**
4477
- * @public
4478
- */
4479
- export declare namespace PBAudioAnalysis {
4480
- export function encode(message: PBAudioAnalysis, writer?: _m0.Writer): _m0.Writer;
4481
- export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAudioAnalysis;
4482
- }
4483
-
4484
- /**
4485
- * @public
4486
- */
4487
- export declare const enum PBAudioAnalysisMode {
4488
- MODE_RAW = 0,
4489
- MODE_LOGARITHMIC = 1
4490
- }
4491
-
4492
4482
  /**
4493
4483
  * @public
4494
4484
  */
@@ -4678,36 +4668,6 @@ export declare namespace PBAvatarEquippedData {
4678
4668
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarEquippedData;
4679
4669
  }
4680
4670
 
4681
- /**
4682
- * The PBAvatarLocomotionSettings component allows scenes to modify locomotion settings defining things such
4683
- * as the avatar movement speed, jump height etc.
4684
- */
4685
- /**
4686
- * @public
4687
- */
4688
- export declare interface PBAvatarLocomotionSettings {
4689
- /** Maximum speed when walking (in meters per second) */
4690
- walkSpeed?: number | undefined;
4691
- /** Maximum speed when jogging (in meters per second) */
4692
- jogSpeed?: number | undefined;
4693
- /** Maximum speed when running (in meters per second) */
4694
- runSpeed?: number | undefined;
4695
- /** Height of a regular jump (in meters) */
4696
- jumpHeight?: number | undefined;
4697
- /** Height of a jump while running (in meters) */
4698
- runJumpHeight?: number | undefined;
4699
- /** Cooldown time after a hard landing before the avatar can move again (in seconds) */
4700
- hardLandingCooldown?: number | undefined;
4701
- }
4702
-
4703
- /**
4704
- * @public
4705
- */
4706
- export declare namespace PBAvatarLocomotionSettings {
4707
- export function encode(message: PBAvatarLocomotionSettings, writer?: _m0.Writer): _m0.Writer;
4708
- export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarLocomotionSettings;
4709
- }
4710
-
4711
4671
  /**
4712
4672
  * The AvatarModifierArea component can be attached to an Entity to define a region of space where
4713
4673
  * avatar behavior changes.
@@ -6459,7 +6419,6 @@ export declare namespace PBVideoPlayer {
6459
6419
  * an 'instant' transition (like using speed/time = 0)
6460
6420
  * * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
6461
6421
  * the holding entity transform).
6462
- * * The fov defines the Field of View of the virtual camera
6463
6422
  */
6464
6423
  /**
6465
6424
  * @public
@@ -6467,8 +6426,6 @@ export declare namespace PBVideoPlayer {
6467
6426
  export declare interface PBVirtualCamera {
6468
6427
  defaultTransition?: CameraTransition | undefined;
6469
6428
  lookAtEntity?: number | undefined;
6470
- /** default: 60 */
6471
- fov?: number | undefined;
6472
6429
  }
6473
6430
 
6474
6431
  /**
@@ -8837,6 +8794,14 @@ export declare interface UiTransformProps {
8837
8794
  */
8838
8795
  export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
8839
8796
 
8797
+ export declare type ValidateCallback<T> = (value: {
8798
+ entity: Entity;
8799
+ currentValue: T | undefined;
8800
+ newValue: T | undefined;
8801
+ senderAddress: string;
8802
+ createdBy: string;
8803
+ }) => boolean;
8804
+
8840
8805
  /**
8841
8806
  * @public
8842
8807
  */