@dcl/playground-assets 7.24.4-28553021180.commit-e8ab68c → 7.24.4-28592331167.commit-697ce9e

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
@@ -220,6 +220,42 @@ export declare interface AudioStreamComponentDefinitionExtended extends LastWrit
220
220
  getAudioState(entity: Entity): PBAudioEvent | undefined;
221
221
  }
222
222
 
223
+ /**
224
+ * @public
225
+ */
226
+ export declare type AuthoritativePutComponentMessage = CrdtMessageHeader & AuthoritativePutComponentMessageBody;
227
+
228
+ /**
229
+ * Server authoritative message - identical to PutComponentMessageBody but with forced processing
230
+ * Min. length = header (8 bytes) + 16 bytes = 24 bytes
231
+ *
232
+ * @param entity - Uint32 number of the entity
233
+ * @param componentId - Uint32 number of id
234
+ * @param timestamp - Uint32 Lamport timestamp (server's authoritative timestamp)
235
+ * @param data - Uint8[] data of component => length(4 bytes) + block of bytes[0..length-1]
236
+ * @public
237
+ */
238
+ export declare type AuthoritativePutComponentMessageBody = {
239
+ type: CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT;
240
+ entityId: Entity;
241
+ componentId: number;
242
+ timestamp: number;
243
+ data: Uint8Array;
244
+ };
245
+
246
+ /**
247
+ * @public
248
+ */
249
+ export declare namespace AuthoritativePutComponentOperation {
250
+ const MESSAGE_HEADER_LENGTH = 16;
251
+ /**
252
+ * Call this function for an optimal writing data passing the ByteBuffer
253
+ * already allocated
254
+ */
255
+ export function write(entity: Entity, timestamp: number, componentId: number, data: Uint8Array, buf: ByteBuffer): void;
256
+ export function read(buf: ByteBuffer): AuthoritativePutComponentMessage | null;
257
+ }
258
+
223
259
  /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
224
260
  /**
225
261
  * @public
@@ -263,15 +299,6 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
263
299
  /** @public */
264
300
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
265
301
 
266
- /** Mask for which bones an animation applies to. */
267
- /**
268
- * @public
269
- */
270
- export declare const enum AvatarEmoteMask {
271
- AEM_FULL_BODY = 0,
272
- AEM_UPPER_BODY = 1
273
- }
274
-
275
302
  /** @public */
276
303
  export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
277
304
 
@@ -289,9 +316,7 @@ export declare const enum AvatarModifierType {
289
316
  /** AMT_HIDE_AVATARS - avatars are invisible */
290
317
  AMT_HIDE_AVATARS = 0,
291
318
  /** AMT_DISABLE_PASSPORTS - selecting (e.g. clicking) an avatar will not bring up their profile. */
292
- AMT_DISABLE_PASSPORTS = 1,
293
- /** AMT_HIDE_NAMETAGS - the name tag displayed above an avatar is hidden. */
294
- AMT_HIDE_NAMETAGS = 2
319
+ AMT_DISABLE_PASSPORTS = 1
295
320
  }
296
321
 
297
322
  /** @public */
@@ -393,6 +418,22 @@ export declare interface BaseComponent<T> {
393
418
  * If the value is undefined, the component was deleted.
394
419
  */
395
420
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
421
+ /**
422
+ * @public
423
+ *
424
+ */
425
+ validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
426
+ validateBeforeChange(cb: ValidateCallback<T>): void;
427
+ /**
428
+ * Get the CRDT state for an entity (serialized data and timestamp)
429
+ * @param entity - Entity to get the CRDT state for
430
+ * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
431
+ * @public
432
+ */
433
+ getCrdtState(entity: Entity): {
434
+ data: Uint8Array;
435
+ timestamp: number;
436
+ } | null;
396
437
  }
397
438
 
398
439
  /** @public */
@@ -1631,12 +1672,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1631
1672
  /**
1632
1673
  * @public
1633
1674
  */
1634
- export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1675
+ export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1635
1676
 
1636
1677
  /**
1637
1678
  * @public
1638
1679
  */
1639
- export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1680
+ export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1640
1681
 
1641
1682
  /**
1642
1683
  * Min length = 8 bytes
@@ -1691,7 +1732,8 @@ export declare enum CrdtMessageType {
1691
1732
  PUT_COMPONENT_NETWORK = 5,
1692
1733
  DELETE_COMPONENT_NETWORK = 6,
1693
1734
  DELETE_ENTITY_NETWORK = 7,
1694
- MAX_MESSAGE_TYPE = 8
1735
+ AUTHORITATIVE_PUT_COMPONENT = 8,
1736
+ MAX_MESSAGE_TYPE = 9
1695
1737
  }
1696
1738
 
1697
1739
  /**
@@ -1699,6 +1741,8 @@ export declare enum CrdtMessageType {
1699
1741
  */
1700
1742
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1701
1743
 
1744
+ export declare const CreatedBy: ICreatedBy;
1745
+
1702
1746
  /**
1703
1747
  * @public
1704
1748
  */
@@ -2425,6 +2469,12 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2425
2469
 
2426
2470
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2427
2471
 
2472
+ export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2473
+
2474
+ export declare interface ICreatedByType {
2475
+ address: string;
2476
+ }
2477
+
2428
2478
  /**
2429
2479
  * @public
2430
2480
  */
@@ -2878,6 +2928,35 @@ export declare const enum InteractionType {
2878
2928
  PROXIMITY = 1
2879
2929
  }
2880
2930
 
2931
+ /**
2932
+ * Internal component interface that exposes all internal methods for SDK use
2933
+ * This is not exposed to users, only for internal SDK operations
2934
+ */
2935
+ export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
2936
+ /**
2937
+ * @public
2938
+ * Dry run update to check if a CRDT message would be accepted without actually applying it
2939
+ */
2940
+ __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
2941
+ /**
2942
+ * @public
2943
+ * Get the iterator to every entity has the component
2944
+ */
2945
+ iterator(): Iterable<[Entity, any]>;
2946
+ /**
2947
+ * @public
2948
+ */
2949
+ dirtyIterator(): Iterable<Entity>;
2950
+ /**
2951
+ * @public
2952
+ */
2953
+ __onChangeCallbacks(entity: Entity, value: T): void;
2954
+ /**
2955
+ * @public
2956
+ */
2957
+ __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
2958
+ }
2959
+
2881
2960
  /**
2882
2961
  * @public
2883
2962
  */
@@ -6960,7 +7039,6 @@ export declare namespace PBVideoPlayer {
6960
7039
  * an 'instant' transition (like using speed/time = 0)
6961
7040
  * * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
6962
7041
  * the holding entity transform).
6963
- * * The fov defines the Field of View of the virtual camera
6964
7042
  */
6965
7043
  /**
6966
7044
  * @public
@@ -6968,8 +7046,6 @@ export declare namespace PBVideoPlayer {
6968
7046
  export declare interface PBVirtualCamera {
6969
7047
  defaultTransition?: CameraTransition | undefined;
6970
7048
  lookAtEntity?: number | undefined;
6971
- /** default: 60 */
6972
- fov?: number | undefined;
6973
7049
  }
6974
7050
 
6975
7051
  /**
@@ -9597,6 +9673,14 @@ export declare interface UiTransformProps {
9597
9673
  */
9598
9674
  export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
9599
9675
 
9676
+ export declare type ValidateCallback<T> = (value: {
9677
+ entity: Entity;
9678
+ currentValue: T | undefined;
9679
+ newValue: T | undefined;
9680
+ senderAddress: string;
9681
+ createdBy: string;
9682
+ }) => boolean;
9683
+
9600
9684
  /**
9601
9685
  * @public
9602
9686
  */
package/dist/beta.d.ts CHANGED
@@ -220,6 +220,42 @@ export declare interface AudioStreamComponentDefinitionExtended extends LastWrit
220
220
  getAudioState(entity: Entity): PBAudioEvent | undefined;
221
221
  }
222
222
 
223
+ /**
224
+ * @public
225
+ */
226
+ export declare type AuthoritativePutComponentMessage = CrdtMessageHeader & AuthoritativePutComponentMessageBody;
227
+
228
+ /**
229
+ * Server authoritative message - identical to PutComponentMessageBody but with forced processing
230
+ * Min. length = header (8 bytes) + 16 bytes = 24 bytes
231
+ *
232
+ * @param entity - Uint32 number of the entity
233
+ * @param componentId - Uint32 number of id
234
+ * @param timestamp - Uint32 Lamport timestamp (server's authoritative timestamp)
235
+ * @param data - Uint8[] data of component => length(4 bytes) + block of bytes[0..length-1]
236
+ * @public
237
+ */
238
+ export declare type AuthoritativePutComponentMessageBody = {
239
+ type: CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT;
240
+ entityId: Entity;
241
+ componentId: number;
242
+ timestamp: number;
243
+ data: Uint8Array;
244
+ };
245
+
246
+ /**
247
+ * @public
248
+ */
249
+ export declare namespace AuthoritativePutComponentOperation {
250
+ const MESSAGE_HEADER_LENGTH = 16;
251
+ /**
252
+ * Call this function for an optimal writing data passing the ByteBuffer
253
+ * already allocated
254
+ */
255
+ export function write(entity: Entity, timestamp: number, componentId: number, data: Uint8Array, buf: ByteBuffer): void;
256
+ export function read(buf: ByteBuffer): AuthoritativePutComponentMessage | null;
257
+ }
258
+
223
259
  /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
224
260
  /**
225
261
  * @public
@@ -263,15 +299,6 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
263
299
  /** @public */
264
300
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
265
301
 
266
- /** Mask for which bones an animation applies to. */
267
- /**
268
- * @public
269
- */
270
- export declare const enum AvatarEmoteMask {
271
- AEM_FULL_BODY = 0,
272
- AEM_UPPER_BODY = 1
273
- }
274
-
275
302
  /** @public */
276
303
  export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
277
304
 
@@ -289,9 +316,7 @@ export declare const enum AvatarModifierType {
289
316
  /** AMT_HIDE_AVATARS - avatars are invisible */
290
317
  AMT_HIDE_AVATARS = 0,
291
318
  /** AMT_DISABLE_PASSPORTS - selecting (e.g. clicking) an avatar will not bring up their profile. */
292
- AMT_DISABLE_PASSPORTS = 1,
293
- /** AMT_HIDE_NAMETAGS - the name tag displayed above an avatar is hidden. */
294
- AMT_HIDE_NAMETAGS = 2
319
+ AMT_DISABLE_PASSPORTS = 1
295
320
  }
296
321
 
297
322
  /** @public */
@@ -393,6 +418,22 @@ export declare interface BaseComponent<T> {
393
418
  * If the value is undefined, the component was deleted.
394
419
  */
395
420
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
421
+ /**
422
+ * @public
423
+ *
424
+ */
425
+ validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
426
+ validateBeforeChange(cb: ValidateCallback<T>): void;
427
+ /**
428
+ * Get the CRDT state for an entity (serialized data and timestamp)
429
+ * @param entity - Entity to get the CRDT state for
430
+ * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
431
+ * @public
432
+ */
433
+ getCrdtState(entity: Entity): {
434
+ data: Uint8Array;
435
+ timestamp: number;
436
+ } | null;
396
437
  }
397
438
 
398
439
  /** @public */
@@ -1631,12 +1672,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1631
1672
  /**
1632
1673
  * @public
1633
1674
  */
1634
- export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1675
+ export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1635
1676
 
1636
1677
  /**
1637
1678
  * @public
1638
1679
  */
1639
- export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1680
+ export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1640
1681
 
1641
1682
  /**
1642
1683
  * Min length = 8 bytes
@@ -1691,7 +1732,8 @@ export declare enum CrdtMessageType {
1691
1732
  PUT_COMPONENT_NETWORK = 5,
1692
1733
  DELETE_COMPONENT_NETWORK = 6,
1693
1734
  DELETE_ENTITY_NETWORK = 7,
1694
- MAX_MESSAGE_TYPE = 8
1735
+ AUTHORITATIVE_PUT_COMPONENT = 8,
1736
+ MAX_MESSAGE_TYPE = 9
1695
1737
  }
1696
1738
 
1697
1739
  /**
@@ -1699,6 +1741,8 @@ export declare enum CrdtMessageType {
1699
1741
  */
1700
1742
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1701
1743
 
1744
+ export declare const CreatedBy: ICreatedBy;
1745
+
1702
1746
  /**
1703
1747
  * @public
1704
1748
  */
@@ -2425,6 +2469,12 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2425
2469
 
2426
2470
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2427
2471
 
2472
+ export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2473
+
2474
+ export declare interface ICreatedByType {
2475
+ address: string;
2476
+ }
2477
+
2428
2478
  /**
2429
2479
  * @public
2430
2480
  */
@@ -2869,6 +2919,35 @@ export declare const enum InteractionType {
2869
2919
  PROXIMITY = 1
2870
2920
  }
2871
2921
 
2922
+ /**
2923
+ * Internal component interface that exposes all internal methods for SDK use
2924
+ * This is not exposed to users, only for internal SDK operations
2925
+ */
2926
+ export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
2927
+ /**
2928
+ * @public
2929
+ * Dry run update to check if a CRDT message would be accepted without actually applying it
2930
+ */
2931
+ __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
2932
+ /**
2933
+ * @public
2934
+ * Get the iterator to every entity has the component
2935
+ */
2936
+ iterator(): Iterable<[Entity, any]>;
2937
+ /**
2938
+ * @public
2939
+ */
2940
+ dirtyIterator(): Iterable<Entity>;
2941
+ /**
2942
+ * @public
2943
+ */
2944
+ __onChangeCallbacks(entity: Entity, value: T): void;
2945
+ /**
2946
+ * @public
2947
+ */
2948
+ __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
2949
+ }
2950
+
2872
2951
  /**
2873
2952
  * @public
2874
2953
  */
@@ -6932,7 +7011,6 @@ export declare namespace PBVideoPlayer {
6932
7011
  * an 'instant' transition (like using speed/time = 0)
6933
7012
  * * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
6934
7013
  * the holding entity transform).
6935
- * * The fov defines the Field of View of the virtual camera
6936
7014
  */
6937
7015
  /**
6938
7016
  * @public
@@ -6940,8 +7018,6 @@ export declare namespace PBVideoPlayer {
6940
7018
  export declare interface PBVirtualCamera {
6941
7019
  defaultTransition?: CameraTransition | undefined;
6942
7020
  lookAtEntity?: number | undefined;
6943
- /** default: 60 */
6944
- fov?: number | undefined;
6945
7021
  }
6946
7022
 
6947
7023
  /**
@@ -9564,6 +9640,14 @@ export declare interface UiTransformProps {
9564
9640
  */
9565
9641
  export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
9566
9642
 
9643
+ export declare type ValidateCallback<T> = (value: {
9644
+ entity: Entity;
9645
+ currentValue: T | undefined;
9646
+ newValue: T | undefined;
9647
+ senderAddress: string;
9648
+ createdBy: string;
9649
+ }) => boolean;
9650
+
9567
9651
  /**
9568
9652
  * @public
9569
9653
  */
@@ -220,6 +220,42 @@ export declare interface AudioStreamComponentDefinitionExtended extends LastWrit
220
220
  getAudioState(entity: Entity): PBAudioEvent | undefined;
221
221
  }
222
222
 
223
+ /**
224
+ * @public
225
+ */
226
+ export declare type AuthoritativePutComponentMessage = CrdtMessageHeader & AuthoritativePutComponentMessageBody;
227
+
228
+ /**
229
+ * Server authoritative message - identical to PutComponentMessageBody but with forced processing
230
+ * Min. length = header (8 bytes) + 16 bytes = 24 bytes
231
+ *
232
+ * @param entity - Uint32 number of the entity
233
+ * @param componentId - Uint32 number of id
234
+ * @param timestamp - Uint32 Lamport timestamp (server's authoritative timestamp)
235
+ * @param data - Uint8[] data of component => length(4 bytes) + block of bytes[0..length-1]
236
+ * @public
237
+ */
238
+ export declare type AuthoritativePutComponentMessageBody = {
239
+ type: CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT;
240
+ entityId: Entity;
241
+ componentId: number;
242
+ timestamp: number;
243
+ data: Uint8Array;
244
+ };
245
+
246
+ /**
247
+ * @public
248
+ */
249
+ export declare namespace AuthoritativePutComponentOperation {
250
+ const MESSAGE_HEADER_LENGTH = 16;
251
+ /**
252
+ * Call this function for an optimal writing data passing the ByteBuffer
253
+ * already allocated
254
+ */
255
+ export function write(entity: Entity, timestamp: number, componentId: number, data: Uint8Array, buf: ByteBuffer): void;
256
+ export function read(buf: ByteBuffer): AuthoritativePutComponentMessage | null;
257
+ }
258
+
223
259
  /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
224
260
  /**
225
261
  * @public
@@ -263,15 +299,6 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
263
299
  /** @public */
264
300
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
265
301
 
266
- /** Mask for which bones an animation applies to. */
267
- /**
268
- * @public
269
- */
270
- export declare const enum AvatarEmoteMask {
271
- AEM_FULL_BODY = 0,
272
- AEM_UPPER_BODY = 1
273
- }
274
-
275
302
  /** @public */
276
303
  export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
277
304
 
@@ -289,9 +316,7 @@ export declare const enum AvatarModifierType {
289
316
  /** AMT_HIDE_AVATARS - avatars are invisible */
290
317
  AMT_HIDE_AVATARS = 0,
291
318
  /** AMT_DISABLE_PASSPORTS - selecting (e.g. clicking) an avatar will not bring up their profile. */
292
- AMT_DISABLE_PASSPORTS = 1,
293
- /** AMT_HIDE_NAMETAGS - the name tag displayed above an avatar is hidden. */
294
- AMT_HIDE_NAMETAGS = 2
319
+ AMT_DISABLE_PASSPORTS = 1
295
320
  }
296
321
 
297
322
  /** @public */
@@ -393,6 +418,22 @@ export declare interface BaseComponent<T> {
393
418
  * If the value is undefined, the component was deleted.
394
419
  */
395
420
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
421
+ /**
422
+ * @public
423
+ *
424
+ */
425
+ validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
426
+ validateBeforeChange(cb: ValidateCallback<T>): void;
427
+ /**
428
+ * Get the CRDT state for an entity (serialized data and timestamp)
429
+ * @param entity - Entity to get the CRDT state for
430
+ * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
431
+ * @public
432
+ */
433
+ getCrdtState(entity: Entity): {
434
+ data: Uint8Array;
435
+ timestamp: number;
436
+ } | null;
396
437
  }
397
438
 
398
439
  /** @public */
@@ -1631,12 +1672,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1631
1672
  /**
1632
1673
  * @public
1633
1674
  */
1634
- export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1675
+ export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1635
1676
 
1636
1677
  /**
1637
1678
  * @public
1638
1679
  */
1639
- export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1680
+ export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1640
1681
 
1641
1682
  /**
1642
1683
  * Min length = 8 bytes
@@ -1691,7 +1732,8 @@ export declare enum CrdtMessageType {
1691
1732
  PUT_COMPONENT_NETWORK = 5,
1692
1733
  DELETE_COMPONENT_NETWORK = 6,
1693
1734
  DELETE_ENTITY_NETWORK = 7,
1694
- MAX_MESSAGE_TYPE = 8
1735
+ AUTHORITATIVE_PUT_COMPONENT = 8,
1736
+ MAX_MESSAGE_TYPE = 9
1695
1737
  }
1696
1738
 
1697
1739
  /**
@@ -1699,6 +1741,8 @@ export declare enum CrdtMessageType {
1699
1741
  */
1700
1742
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1701
1743
 
1744
+ export declare const CreatedBy: ICreatedBy;
1745
+
1702
1746
  /**
1703
1747
  * @public
1704
1748
  */
@@ -2425,6 +2469,12 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2425
2469
 
2426
2470
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2427
2471
 
2472
+ export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2473
+
2474
+ export declare interface ICreatedByType {
2475
+ address: string;
2476
+ }
2477
+
2428
2478
  /**
2429
2479
  * @public
2430
2480
  */
@@ -2869,6 +2919,35 @@ export declare const enum InteractionType {
2869
2919
  PROXIMITY = 1
2870
2920
  }
2871
2921
 
2922
+ /**
2923
+ * Internal component interface that exposes all internal methods for SDK use
2924
+ * This is not exposed to users, only for internal SDK operations
2925
+ */
2926
+ export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
2927
+ /**
2928
+ * @public
2929
+ * Dry run update to check if a CRDT message would be accepted without actually applying it
2930
+ */
2931
+ __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
2932
+ /**
2933
+ * @public
2934
+ * Get the iterator to every entity has the component
2935
+ */
2936
+ iterator(): Iterable<[Entity, any]>;
2937
+ /**
2938
+ * @public
2939
+ */
2940
+ dirtyIterator(): Iterable<Entity>;
2941
+ /**
2942
+ * @public
2943
+ */
2944
+ __onChangeCallbacks(entity: Entity, value: T): void;
2945
+ /**
2946
+ * @public
2947
+ */
2948
+ __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
2949
+ }
2950
+
2872
2951
  /**
2873
2952
  * @public
2874
2953
  */
@@ -6932,7 +7011,6 @@ export declare namespace PBVideoPlayer {
6932
7011
  * an 'instant' transition (like using speed/time = 0)
6933
7012
  * * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
6934
7013
  * the holding entity transform).
6935
- * * The fov defines the Field of View of the virtual camera
6936
7014
  */
6937
7015
  /**
6938
7016
  * @public
@@ -6940,8 +7018,6 @@ export declare namespace PBVideoPlayer {
6940
7018
  export declare interface PBVirtualCamera {
6941
7019
  defaultTransition?: CameraTransition | undefined;
6942
7020
  lookAtEntity?: number | undefined;
6943
- /** default: 60 */
6944
- fov?: number | undefined;
6945
7021
  }
6946
7022
 
6947
7023
  /**
@@ -9564,6 +9640,14 @@ export declare interface UiTransformProps {
9564
9640
  */
9565
9641
  export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
9566
9642
 
9643
+ export declare type ValidateCallback<T> = (value: {
9644
+ entity: Entity;
9645
+ currentValue: T | undefined;
9646
+ newValue: T | undefined;
9647
+ senderAddress: string;
9648
+ createdBy: string;
9649
+ }) => boolean;
9650
+
9567
9651
  /**
9568
9652
  * @public
9569
9653
  */