@rtsdk/topia 0.17.8 → 0.17.9
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/README.md +3 -2
- package/dist/index.cjs +726 -82
- package/dist/index.d.ts +724 -82
- package/dist/index.js +726 -82
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -131,6 +131,8 @@ declare class Scene extends SDKController implements SceneInterface {
|
|
|
131
131
|
/**
|
|
132
132
|
* Retrieves scene details and assigns response data to the instance.
|
|
133
133
|
*
|
|
134
|
+
* @keywords get, fetch, retrieve, load, details, info, information, scene
|
|
135
|
+
*
|
|
134
136
|
* @example
|
|
135
137
|
* ```ts
|
|
136
138
|
* await scene.fetchSceneById();
|
|
@@ -168,6 +170,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
168
170
|
/**
|
|
169
171
|
* Retrieves dropped asset details and assigns response data to the instance.
|
|
170
172
|
*
|
|
173
|
+
* @keywords get, fetch, retrieve, load, details, info, information
|
|
174
|
+
*
|
|
171
175
|
* @example
|
|
172
176
|
* ```ts
|
|
173
177
|
* await droppedAsset.fetchDroppedAssetById();
|
|
@@ -178,6 +182,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
178
182
|
/**
|
|
179
183
|
* Updates dropped asset details and assigns the response data to the instance. Requires Public Key to have the `canUpdateDroppedAssets` permission.
|
|
180
184
|
*
|
|
185
|
+
* @keywords update, modify, change, edit, alter, transform
|
|
186
|
+
*
|
|
181
187
|
* @example
|
|
182
188
|
* ```ts
|
|
183
189
|
* const payload = {
|
|
@@ -209,6 +215,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
209
215
|
/**
|
|
210
216
|
* Deletes the dropped asset (removes it from the world).
|
|
211
217
|
*
|
|
218
|
+
* @keywords remove, delete, erase, destroy, eliminate
|
|
219
|
+
*
|
|
212
220
|
* @example
|
|
213
221
|
* ```ts
|
|
214
222
|
* await droppedAsset.deleteDroppedAsset();
|
|
@@ -218,6 +226,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
218
226
|
/**
|
|
219
227
|
* Retrieves the data object for a dropped asset.
|
|
220
228
|
*
|
|
229
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
230
|
+
*
|
|
221
231
|
* @category Data Objects
|
|
222
232
|
*
|
|
223
233
|
* @example
|
|
@@ -234,6 +244,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
234
244
|
* @remarks
|
|
235
245
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
236
246
|
*
|
|
247
|
+
* @keywords set, assign, store, save, data, object, state
|
|
248
|
+
*
|
|
237
249
|
* @category Data Objects
|
|
238
250
|
*
|
|
239
251
|
* @example
|
|
@@ -266,6 +278,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
266
278
|
* @remarks
|
|
267
279
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
268
280
|
*
|
|
281
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
282
|
+
*
|
|
269
283
|
* @category Data Objects
|
|
270
284
|
*
|
|
271
285
|
* @example
|
|
@@ -295,6 +309,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
295
309
|
* @remarks
|
|
296
310
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
297
311
|
*
|
|
312
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
313
|
+
*
|
|
298
314
|
* @category Data Objects
|
|
299
315
|
*
|
|
300
316
|
* @example
|
|
@@ -316,6 +332,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
316
332
|
/**
|
|
317
333
|
* Updates broadcast options for a dropped asset.
|
|
318
334
|
*
|
|
335
|
+
* @keywords broadcast, dropped asset settings
|
|
336
|
+
*
|
|
319
337
|
* @example
|
|
320
338
|
* ```ts
|
|
321
339
|
* await droppedAsset.updateBroadcast({
|
|
@@ -331,6 +349,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
331
349
|
/**
|
|
332
350
|
* Updates click options for a dropped asset.
|
|
333
351
|
*
|
|
352
|
+
* @keywords click, link, interaction, url, dropped asset settings
|
|
353
|
+
*
|
|
334
354
|
* @example
|
|
335
355
|
* ```ts
|
|
336
356
|
* await droppedAsset.updateClickType({
|
|
@@ -353,6 +373,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
353
373
|
/**
|
|
354
374
|
* Adds an array of links to an asset. Maximum is 20 links.
|
|
355
375
|
*
|
|
376
|
+
* @keywords links, multiple, clickable, urls, hyperlinks, dropped asset settings
|
|
377
|
+
*
|
|
356
378
|
* @example
|
|
357
379
|
* ```ts
|
|
358
380
|
* await droppedAsset.setClickableLinkMulti({
|
|
@@ -382,6 +404,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
382
404
|
* @remarks
|
|
383
405
|
* Pass in an 'existingLinkId' to edit an existing link.
|
|
384
406
|
*
|
|
407
|
+
* @keywords links, multiple, clickable, urls, dropped asset settings
|
|
408
|
+
*
|
|
385
409
|
* @example
|
|
386
410
|
* ```ts
|
|
387
411
|
* await droppedAsset.updateClickableLinkMulti({
|
|
@@ -399,6 +423,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
399
423
|
/**
|
|
400
424
|
* Removes a clickable link from a dropped asset.
|
|
401
425
|
*
|
|
426
|
+
* @keywords remove, delete, link, clickable, url, erase, dropped asset settings
|
|
427
|
+
*
|
|
402
428
|
* @example
|
|
403
429
|
* ```ts
|
|
404
430
|
* await droppedAsset.removeClickableLink({ linkId: "link-id" });
|
|
@@ -410,6 +436,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
410
436
|
/**
|
|
411
437
|
* Updates text and style of a dropped asset.
|
|
412
438
|
*
|
|
439
|
+
* @keywords text, style, dropped asset settings
|
|
440
|
+
*
|
|
413
441
|
* @example
|
|
414
442
|
* ```ts
|
|
415
443
|
* const style = {
|
|
@@ -428,6 +456,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
428
456
|
/**
|
|
429
457
|
* Updates media options for a dropped asset.
|
|
430
458
|
*
|
|
459
|
+
* @keywords media, video, audio, dropped asset settings
|
|
460
|
+
*
|
|
431
461
|
* @example
|
|
432
462
|
* ```ts
|
|
433
463
|
* await droppedAsset.updateMediaType({
|
|
@@ -448,6 +478,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
448
478
|
/**
|
|
449
479
|
* Updates mute zone options for a dropped asset.
|
|
450
480
|
*
|
|
481
|
+
* @keywords mute, zone, dropped asset settings
|
|
482
|
+
*
|
|
451
483
|
* @example
|
|
452
484
|
* ```ts
|
|
453
485
|
* await droppedAsset.updateMuteZone(true);
|
|
@@ -459,6 +491,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
459
491
|
/**
|
|
460
492
|
* Updates landmark zone options for a dropped asset.
|
|
461
493
|
*
|
|
494
|
+
* @keywords landmark, zone, dropped asset settings
|
|
495
|
+
*
|
|
462
496
|
* @example
|
|
463
497
|
* ```ts
|
|
464
498
|
* await droppedAsset.updateLandmarkZone({
|
|
@@ -478,6 +512,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
478
512
|
/**
|
|
479
513
|
* Updates webhook zone options for a dropped asset.
|
|
480
514
|
*
|
|
515
|
+
* @keywords webhook, zone, dropped asset settings
|
|
516
|
+
*
|
|
481
517
|
* @example
|
|
482
518
|
* ```ts
|
|
483
519
|
* await droppedAsset.updateWebhookZone(true);
|
|
@@ -489,6 +525,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
489
525
|
/**
|
|
490
526
|
* Moves a dropped asset to specified coordinates.
|
|
491
527
|
*
|
|
528
|
+
* @keywords position, dropped asset settings
|
|
529
|
+
*
|
|
492
530
|
* @example
|
|
493
531
|
* ```ts
|
|
494
532
|
* await droppedAsset.updatePosition(100, 200, 100);
|
|
@@ -500,6 +538,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
500
538
|
/**
|
|
501
539
|
* Updates private zone options for a dropped asset.
|
|
502
540
|
*
|
|
541
|
+
* @keywords private, zone, dropped asset settings
|
|
542
|
+
*
|
|
503
543
|
* @example
|
|
504
544
|
* ```ts
|
|
505
545
|
* await droppedAsset.updatePrivateZone({
|
|
@@ -515,6 +555,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
515
555
|
/**
|
|
516
556
|
* Updates the size of a dropped asset.
|
|
517
557
|
*
|
|
558
|
+
* @keywords size, scale, dropped asset settings
|
|
559
|
+
*
|
|
518
560
|
* @example
|
|
519
561
|
* ```ts
|
|
520
562
|
* await droppedAsset.assetScale(.5);
|
|
@@ -526,6 +568,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
526
568
|
/**
|
|
527
569
|
* Flip an dropped asset.
|
|
528
570
|
*
|
|
571
|
+
* @keywords flip, layout, dropped asset settings
|
|
572
|
+
*
|
|
529
573
|
* @example
|
|
530
574
|
* ```ts
|
|
531
575
|
* await droppedAsset.flip(.5);
|
|
@@ -537,6 +581,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
537
581
|
/**
|
|
538
582
|
* Change or remove media embedded in a dropped asset.
|
|
539
583
|
*
|
|
584
|
+
* @keywords media, update, dropped asset settings
|
|
585
|
+
*
|
|
540
586
|
* @example
|
|
541
587
|
* ```ts
|
|
542
588
|
* await droppedAsset.updateUploadedMediaSelected("LVWyxwNxI96eLjnXWwYO");
|
|
@@ -548,6 +594,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
548
594
|
/**
|
|
549
595
|
* Change or remove top and bottom layers of a dropped asset.
|
|
550
596
|
*
|
|
597
|
+
* @keywords layers, images, urls, dropped asset settings
|
|
598
|
+
*
|
|
551
599
|
* @example
|
|
552
600
|
* ```ts
|
|
553
601
|
* await droppedAsset.updateWebImageLayers("","https://www.shutterstock.com/image-vector/colorful-illustration-test-word-260nw-1438324490.jpg");
|
|
@@ -559,6 +607,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
559
607
|
/**
|
|
560
608
|
* Add a webhook to a dropped asset
|
|
561
609
|
*
|
|
610
|
+
* @keywords webhook, dropped asset settings
|
|
611
|
+
*
|
|
562
612
|
* @example
|
|
563
613
|
* ```ts
|
|
564
614
|
* await droppedAsset.addWebhook({
|
|
@@ -587,6 +637,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
587
637
|
/**
|
|
588
638
|
* Set the interactive settings on a dropped asset
|
|
589
639
|
*
|
|
640
|
+
* @keywords interactive, dropped asset settings
|
|
641
|
+
*
|
|
590
642
|
* @example
|
|
591
643
|
* ```ts
|
|
592
644
|
* await droppedAsset.setInteractiveSettings({
|
|
@@ -602,6 +654,8 @@ declare class DroppedAsset extends Asset implements DroppedAssetInterface {
|
|
|
602
654
|
/**
|
|
603
655
|
* Retrieve analytics for a dropped asset by day, week, month, quarter, or year
|
|
604
656
|
*
|
|
657
|
+
* @keywords get, fetch, retrieve, load, analytics
|
|
658
|
+
*
|
|
605
659
|
* @example
|
|
606
660
|
* ```ts
|
|
607
661
|
* const analytics = await droppedAsset.fetchDroppedAssetAnalytics({
|
|
@@ -647,6 +701,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
647
701
|
/**
|
|
648
702
|
* Retrieves details of a world.
|
|
649
703
|
*
|
|
704
|
+
* @keywords get, fetch, retrieve, details, info, information, world
|
|
705
|
+
*
|
|
650
706
|
* @example
|
|
651
707
|
* ```ts
|
|
652
708
|
* await world.fetchDetails();
|
|
@@ -657,6 +713,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
657
713
|
/**
|
|
658
714
|
* Update details of a world.
|
|
659
715
|
*
|
|
716
|
+
* @keywords update, modify, change, edit, world, settings, details
|
|
717
|
+
*
|
|
660
718
|
* @example
|
|
661
719
|
* ```ts
|
|
662
720
|
* await world.updateDetails({
|
|
@@ -681,6 +739,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
681
739
|
/**
|
|
682
740
|
* Set close world settings
|
|
683
741
|
*
|
|
742
|
+
* @keywords update, modify, change, edit, world, settings, details, close, closed
|
|
743
|
+
*
|
|
684
744
|
* @example
|
|
685
745
|
* ```ts
|
|
686
746
|
* await world.updateCloseWorldSettings({
|
|
@@ -708,6 +768,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
708
768
|
/**
|
|
709
769
|
* Retrieve all assets dropped in a world.
|
|
710
770
|
*
|
|
771
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets
|
|
772
|
+
*
|
|
711
773
|
* @category Dropped Assets
|
|
712
774
|
*
|
|
713
775
|
* @example
|
|
@@ -720,6 +782,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
720
782
|
/**
|
|
721
783
|
* Retrieve all assets dropped in a world matching uniqueName.
|
|
722
784
|
*
|
|
785
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets, uniqueName
|
|
786
|
+
*
|
|
723
787
|
* @category Dropped Assets
|
|
724
788
|
*
|
|
725
789
|
* @example
|
|
@@ -737,6 +801,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
737
801
|
/**
|
|
738
802
|
* Retrieve all assets dropped in a world matching sceneDropId.
|
|
739
803
|
*
|
|
804
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets, sceneDropId
|
|
805
|
+
*
|
|
740
806
|
* @category Dropped Assets
|
|
741
807
|
*
|
|
742
808
|
* @example
|
|
@@ -756,6 +822,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
756
822
|
/**
|
|
757
823
|
* Update multiple custom text dropped assets with a single style while preserving text for specified dropped assets only.
|
|
758
824
|
*
|
|
825
|
+
* @keywords update, modify, change, edit, dropped assets, custom text, style, text
|
|
826
|
+
*
|
|
759
827
|
* @category Dropped Assets
|
|
760
828
|
*
|
|
761
829
|
* @example
|
|
@@ -778,6 +846,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
778
846
|
/**
|
|
779
847
|
* Retrieve all landmark zone assets dropped in a world.
|
|
780
848
|
*
|
|
849
|
+
* @keywords get, fetch, retrieve, list, landmark, zones, dropped assets
|
|
850
|
+
*
|
|
781
851
|
* @category Dropped Assets
|
|
782
852
|
*
|
|
783
853
|
* @example
|
|
@@ -807,6 +877,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
807
877
|
/**
|
|
808
878
|
* Fetch a list of all scene drop ids and dropped assets in a world
|
|
809
879
|
*
|
|
880
|
+
* @keywords get, fetch, retrieve, list, scenes
|
|
881
|
+
*
|
|
810
882
|
* @category Scenes
|
|
811
883
|
*
|
|
812
884
|
* @example
|
|
@@ -837,6 +909,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
837
909
|
/**
|
|
838
910
|
* Drops a scene in a world and returns sceneDropId.
|
|
839
911
|
*
|
|
912
|
+
* @keywords drop, add, place, scene
|
|
913
|
+
*
|
|
840
914
|
* @category Scenes
|
|
841
915
|
*
|
|
842
916
|
* @example
|
|
@@ -866,6 +940,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
866
940
|
/**
|
|
867
941
|
* Replace the current scene of a world.
|
|
868
942
|
*
|
|
943
|
+
* @keywords replace, change, scene
|
|
944
|
+
*
|
|
869
945
|
* @category Scenes
|
|
870
946
|
*
|
|
871
947
|
* @example
|
|
@@ -887,6 +963,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
887
963
|
/**
|
|
888
964
|
* Get all particles available
|
|
889
965
|
*
|
|
966
|
+
* @keywords get, fetch, retrieve, list, particles
|
|
967
|
+
*
|
|
890
968
|
* @category Particles
|
|
891
969
|
*
|
|
892
970
|
* @example
|
|
@@ -900,6 +978,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
900
978
|
/**
|
|
901
979
|
* Trigger a particle effect at a position in the world
|
|
902
980
|
*
|
|
981
|
+
* @keywords trigger, start, play, particle, effect
|
|
982
|
+
*
|
|
903
983
|
* @category Particles
|
|
904
984
|
*
|
|
905
985
|
* @example
|
|
@@ -921,6 +1001,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
921
1001
|
* Add an activity to a world
|
|
922
1002
|
* excludeFromNotification is an array of visitorIds to exclude from the notification
|
|
923
1003
|
*
|
|
1004
|
+
* @keywords start, trigger, activity
|
|
1005
|
+
*
|
|
924
1006
|
* @example
|
|
925
1007
|
* ```ts
|
|
926
1008
|
* await world.triggerActivity({ type: "GAME_ON", assetId: "abc123" });
|
|
@@ -936,6 +1018,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
936
1018
|
/**
|
|
937
1019
|
* Display a message via a toast to all visitors currently in a world.
|
|
938
1020
|
*
|
|
1021
|
+
* @keywords send, display, show, toast, message, notification
|
|
1022
|
+
*
|
|
939
1023
|
* @example
|
|
940
1024
|
* ```ts
|
|
941
1025
|
* await world.fireToast({
|
|
@@ -951,6 +1035,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
951
1035
|
/**
|
|
952
1036
|
* Retrieves the data object for a world. Must have valid interactive credentials from a visitor in the world.
|
|
953
1037
|
*
|
|
1038
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
1039
|
+
*
|
|
954
1040
|
* @category Data Objects
|
|
955
1041
|
*
|
|
956
1042
|
* @example
|
|
@@ -966,6 +1052,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
966
1052
|
* @remarks
|
|
967
1053
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
968
1054
|
*
|
|
1055
|
+
* @keywords set, assign, store, save, data, object, state
|
|
1056
|
+
*
|
|
969
1057
|
* @category Data Objects
|
|
970
1058
|
*
|
|
971
1059
|
* @example
|
|
@@ -997,6 +1085,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
997
1085
|
* @remarks
|
|
998
1086
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
999
1087
|
*
|
|
1088
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
1089
|
+
*
|
|
1000
1090
|
* @category Data Objects
|
|
1001
1091
|
*
|
|
1002
1092
|
* @example
|
|
@@ -1025,6 +1115,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
1025
1115
|
* @remarks
|
|
1026
1116
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
1027
1117
|
*
|
|
1118
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
1119
|
+
*
|
|
1028
1120
|
* @category Data Objects
|
|
1029
1121
|
*
|
|
1030
1122
|
* @example
|
|
@@ -1046,6 +1138,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
1046
1138
|
/**
|
|
1047
1139
|
* Retrieve all webhooks in a world.
|
|
1048
1140
|
*
|
|
1141
|
+
* @keywords get, fetch, retrieve, list, current, webhooks
|
|
1142
|
+
*
|
|
1049
1143
|
* @category Webhooks
|
|
1050
1144
|
*
|
|
1051
1145
|
* @example
|
|
@@ -1058,6 +1152,8 @@ declare class World extends SDKController implements WorldInterface {
|
|
|
1058
1152
|
/**
|
|
1059
1153
|
* Retrieve world analytics by day, week, month, quarter, or year
|
|
1060
1154
|
*
|
|
1155
|
+
* @keywords get, fetch, retrieve, analytics, stats, statistics, data, metrics
|
|
1156
|
+
*
|
|
1061
1157
|
* @category Analytics
|
|
1062
1158
|
*
|
|
1063
1159
|
* @example
|
|
@@ -1111,6 +1207,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1111
1207
|
/**
|
|
1112
1208
|
* Returns all avatars owned by User
|
|
1113
1209
|
*
|
|
1210
|
+
* @keywords get, fetch, retrieve, list, avatars, characters
|
|
1211
|
+
*
|
|
1114
1212
|
* @category Avatars
|
|
1115
1213
|
*
|
|
1116
1214
|
* @example
|
|
@@ -1124,6 +1222,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1124
1222
|
/**
|
|
1125
1223
|
* Add a new avatar
|
|
1126
1224
|
*
|
|
1225
|
+
* @keywords add, create, upload, avatar, character
|
|
1226
|
+
*
|
|
1127
1227
|
* @category Avatars
|
|
1128
1228
|
*
|
|
1129
1229
|
* @example
|
|
@@ -1196,6 +1296,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1196
1296
|
/**
|
|
1197
1297
|
* Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
|
|
1198
1298
|
*
|
|
1299
|
+
* @keywords update, modify, change, edit, avatar, character
|
|
1300
|
+
*
|
|
1199
1301
|
* @category Avatars
|
|
1200
1302
|
*
|
|
1201
1303
|
* @example
|
|
@@ -1268,6 +1370,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1268
1370
|
/**
|
|
1269
1371
|
* Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
|
|
1270
1372
|
*
|
|
1373
|
+
* @keywords delete, remove, erase, destroy, eliminate, avatar
|
|
1374
|
+
*
|
|
1271
1375
|
* @category Avatars
|
|
1272
1376
|
*
|
|
1273
1377
|
* @example
|
|
@@ -1279,6 +1383,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1279
1383
|
/**
|
|
1280
1384
|
* Returns all assets owned by User when an email address is provided.
|
|
1281
1385
|
*
|
|
1386
|
+
* @keywords get, fetch, retrieve, list, user assets, objects
|
|
1387
|
+
*
|
|
1282
1388
|
* @category Assets
|
|
1283
1389
|
*
|
|
1284
1390
|
* @example
|
|
@@ -1291,6 +1397,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1291
1397
|
/**
|
|
1292
1398
|
* Returns all platform assets.
|
|
1293
1399
|
*
|
|
1400
|
+
* @keywords get, fetch, retrieve, list, platform assets, objects
|
|
1401
|
+
*
|
|
1294
1402
|
* @category Assets
|
|
1295
1403
|
*
|
|
1296
1404
|
* @example
|
|
@@ -1304,6 +1412,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1304
1412
|
/**
|
|
1305
1413
|
* Returns all scenes owned by User.
|
|
1306
1414
|
*
|
|
1415
|
+
* @keywords get, fetch, retrieve, list, user scenes
|
|
1416
|
+
*
|
|
1307
1417
|
* @category Scenes
|
|
1308
1418
|
*
|
|
1309
1419
|
* @example
|
|
@@ -1316,6 +1426,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1316
1426
|
/**
|
|
1317
1427
|
* Retrieves all worlds owned by user with matching API Key, creates a new World object for each, and creates new map of Worlds accessible via user.worlds.
|
|
1318
1428
|
*
|
|
1429
|
+
* @keywords get, fetch, retrieve, list, user worlds
|
|
1430
|
+
*
|
|
1319
1431
|
* @category Worlds
|
|
1320
1432
|
*
|
|
1321
1433
|
* @example
|
|
@@ -1333,6 +1445,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1333
1445
|
/**
|
|
1334
1446
|
* Retrieves all worlds a user with matching API Key is an admin in, creates a new World object for each, and creates new map of Worlds accessible via user.adminWorlds.
|
|
1335
1447
|
*
|
|
1448
|
+
* @keywords get, fetch, retrieve, list, admin worlds, user worlds
|
|
1449
|
+
*
|
|
1336
1450
|
* @category Worlds
|
|
1337
1451
|
*
|
|
1338
1452
|
* @example
|
|
@@ -1345,6 +1459,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1345
1459
|
/**
|
|
1346
1460
|
* Retrieves ids of all dropped assets in all worlds with a matching interactivePublicKey.
|
|
1347
1461
|
*
|
|
1462
|
+
* @keywords get, fetch, retrieve, list, interactive worlds, public key
|
|
1463
|
+
*
|
|
1348
1464
|
* @category Dropped Assets
|
|
1349
1465
|
*
|
|
1350
1466
|
* @example
|
|
@@ -1359,6 +1475,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1359
1475
|
/**
|
|
1360
1476
|
* Send an email
|
|
1361
1477
|
*
|
|
1478
|
+
* @keywords send, email, message, notify
|
|
1479
|
+
*
|
|
1362
1480
|
* @example
|
|
1363
1481
|
* ```ts
|
|
1364
1482
|
* const html = `<p><b>Hello World!</b></p><p>This email is being sent from via SDK.</p>`
|
|
@@ -1375,6 +1493,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1375
1493
|
/**
|
|
1376
1494
|
* Get expressions
|
|
1377
1495
|
*
|
|
1496
|
+
* @keywords get, fetch, retrieve, list, expressions, emotes
|
|
1497
|
+
*
|
|
1378
1498
|
* @category Expressions
|
|
1379
1499
|
*
|
|
1380
1500
|
* @example
|
|
@@ -1391,6 +1511,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1391
1511
|
/**
|
|
1392
1512
|
* Retrieves the data object for a user.
|
|
1393
1513
|
*
|
|
1514
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
1515
|
+
*
|
|
1394
1516
|
* @category Data Objects
|
|
1395
1517
|
*
|
|
1396
1518
|
* @example
|
|
@@ -1404,6 +1526,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1404
1526
|
/**
|
|
1405
1527
|
* Sets the data object for a user.
|
|
1406
1528
|
*
|
|
1529
|
+
* @keywords set, assign, store, save, data, object, state
|
|
1530
|
+
*
|
|
1407
1531
|
* @remarks
|
|
1408
1532
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
1409
1533
|
*
|
|
@@ -1436,6 +1560,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1436
1560
|
/**
|
|
1437
1561
|
* Updates the data object for a user.
|
|
1438
1562
|
*
|
|
1563
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
1564
|
+
*
|
|
1439
1565
|
* @remarks
|
|
1440
1566
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
1441
1567
|
*
|
|
@@ -1466,6 +1592,8 @@ declare class User extends SDKController implements UserInterface {
|
|
|
1466
1592
|
/**
|
|
1467
1593
|
* Increments a specific value in the data object for a user by the amount specified. Must have valid interactive credentials from a visitor in the world.
|
|
1468
1594
|
*
|
|
1595
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
1596
|
+
*
|
|
1469
1597
|
* @remarks
|
|
1470
1598
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
1471
1599
|
*
|
|
@@ -1507,6 +1635,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1507
1635
|
/**
|
|
1508
1636
|
* Get a single visitor from a world
|
|
1509
1637
|
*
|
|
1638
|
+
* @keywords get, fetch, retrieve, load, visitor, details
|
|
1639
|
+
*
|
|
1510
1640
|
* @example
|
|
1511
1641
|
* ```ts
|
|
1512
1642
|
* await visitor.fetchVisitor();
|
|
@@ -1519,6 +1649,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1519
1649
|
/**
|
|
1520
1650
|
* Teleport or walk a visitor currently in a world to a single set of coordinates.
|
|
1521
1651
|
*
|
|
1652
|
+
* @keywords move, teleport, walk, position, coordinate, location, place
|
|
1653
|
+
*
|
|
1522
1654
|
* @example
|
|
1523
1655
|
* ```ts
|
|
1524
1656
|
* await visitor.moveVisitor({
|
|
@@ -1535,6 +1667,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1535
1667
|
/**
|
|
1536
1668
|
* Display a message via a toast to a visitor currently in a world.
|
|
1537
1669
|
*
|
|
1670
|
+
* @keywords toast, message, notification, alert, display, show, popup
|
|
1671
|
+
*
|
|
1538
1672
|
* @example
|
|
1539
1673
|
* ```ts
|
|
1540
1674
|
* await visitor.fireToast({
|
|
@@ -1550,6 +1684,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1550
1684
|
/**
|
|
1551
1685
|
* Open an iframe in a drawer or modal for a visitor currently in a world.
|
|
1552
1686
|
*
|
|
1687
|
+
* @keywords open, iframe, drawer, modal, link, url, website, web page
|
|
1688
|
+
*
|
|
1553
1689
|
* @category iframes
|
|
1554
1690
|
*
|
|
1555
1691
|
* @example
|
|
@@ -1568,6 +1704,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1568
1704
|
/**
|
|
1569
1705
|
* Reload an iframe for a visitor currently in a world.
|
|
1570
1706
|
*
|
|
1707
|
+
* @keywords reload, iframe, drawer, modal, link, url, website, web page
|
|
1708
|
+
*
|
|
1571
1709
|
* @category iframes
|
|
1572
1710
|
*
|
|
1573
1711
|
* @example
|
|
@@ -1581,6 +1719,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1581
1719
|
/**
|
|
1582
1720
|
* Close an iframe for a visitor currently in a world.
|
|
1583
1721
|
*
|
|
1722
|
+
* @keywords close, iframe, drawer, modal
|
|
1723
|
+
*
|
|
1584
1724
|
* @category iframes
|
|
1585
1725
|
*
|
|
1586
1726
|
* @example
|
|
@@ -1594,6 +1734,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1594
1734
|
/**
|
|
1595
1735
|
* Mute and turn video off for a visitor currently in a world.
|
|
1596
1736
|
*
|
|
1737
|
+
* @keywords mute, video, av, turn off, disable
|
|
1738
|
+
*
|
|
1597
1739
|
* @example
|
|
1598
1740
|
* ```ts
|
|
1599
1741
|
* await visitor.turnAVOff();
|
|
@@ -1605,6 +1747,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1605
1747
|
/**
|
|
1606
1748
|
* Get expressions
|
|
1607
1749
|
*
|
|
1750
|
+
* @keywords get, fetch, retrieve, list, expressions, emotes
|
|
1751
|
+
*
|
|
1608
1752
|
* @category Expressions
|
|
1609
1753
|
*
|
|
1610
1754
|
* @example
|
|
@@ -1620,6 +1764,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1620
1764
|
/**
|
|
1621
1765
|
* Grant expression to a visitor by id or name.
|
|
1622
1766
|
*
|
|
1767
|
+
* @keywords grant, give, add, expression, emote
|
|
1768
|
+
*
|
|
1623
1769
|
* @category Expressions
|
|
1624
1770
|
*
|
|
1625
1771
|
* @example
|
|
@@ -1637,6 +1783,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1637
1783
|
/**
|
|
1638
1784
|
* Get all particles available
|
|
1639
1785
|
*
|
|
1786
|
+
* @keywords get, fetch, retrieve, list, particles, effects
|
|
1787
|
+
*
|
|
1640
1788
|
* @category Particle Effects
|
|
1641
1789
|
*
|
|
1642
1790
|
* @example
|
|
@@ -1650,6 +1798,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1650
1798
|
/**
|
|
1651
1799
|
* Trigger a particle effect on a visitor
|
|
1652
1800
|
*
|
|
1801
|
+
* @keywords trigger, particle, effect, spawn, start, play
|
|
1802
|
+
*
|
|
1653
1803
|
* @category Particle Effects
|
|
1654
1804
|
*
|
|
1655
1805
|
* @example
|
|
@@ -1667,6 +1817,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1667
1817
|
/**
|
|
1668
1818
|
* Retrieves the data object for a visitor.
|
|
1669
1819
|
*
|
|
1820
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
1821
|
+
*
|
|
1670
1822
|
* @category Data Objects
|
|
1671
1823
|
*
|
|
1672
1824
|
* @example
|
|
@@ -1680,6 +1832,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1680
1832
|
/**
|
|
1681
1833
|
* Sets the data object for a visitor.
|
|
1682
1834
|
*
|
|
1835
|
+
* @keywords set, assign, store, save, data, object, state
|
|
1836
|
+
*
|
|
1683
1837
|
* @remarks
|
|
1684
1838
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
1685
1839
|
*
|
|
@@ -1715,6 +1869,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1715
1869
|
* @remarks
|
|
1716
1870
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
1717
1871
|
*
|
|
1872
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
1873
|
+
*
|
|
1718
1874
|
* @category Data Objects
|
|
1719
1875
|
*
|
|
1720
1876
|
* @example
|
|
@@ -1745,6 +1901,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1745
1901
|
* @remarks
|
|
1746
1902
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
1747
1903
|
*
|
|
1904
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
1905
|
+
*
|
|
1748
1906
|
* @category Data Objects
|
|
1749
1907
|
*
|
|
1750
1908
|
* @example
|
|
@@ -1766,6 +1924,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1766
1924
|
/**
|
|
1767
1925
|
* Update analytics for a given public key. Must have valid interactive credentials from a visitor in the world.
|
|
1768
1926
|
*
|
|
1927
|
+
* @keywords update, modify, change, edit, analytics, analytic, stats, statistics, data
|
|
1928
|
+
*
|
|
1769
1929
|
* @example
|
|
1770
1930
|
* ```ts
|
|
1771
1931
|
* await visitor.updatePublicKeyAnalytics([{ analyticName: "joins", profileId, uniqueKey: profileId, urlSlug }]);
|
|
@@ -1775,6 +1935,8 @@ declare class Visitor extends User implements VisitorInterface {
|
|
|
1775
1935
|
/**
|
|
1776
1936
|
* Setup signal to visitor
|
|
1777
1937
|
*
|
|
1938
|
+
* @keywords signal, webrtc, answer, connect, p2p
|
|
1939
|
+
*
|
|
1778
1940
|
* @example
|
|
1779
1941
|
* ```ts
|
|
1780
1942
|
* await visitor.sendSignalToVisitor(iceServers);
|
|
@@ -2444,6 +2606,8 @@ declare class Asset extends SDKController implements AssetInterface {
|
|
|
2444
2606
|
/**
|
|
2445
2607
|
* Retrieves platform asset details and assigns response data to the instance.
|
|
2446
2608
|
*
|
|
2609
|
+
* @keywords get, fetch, retrieve, load, details, info, information
|
|
2610
|
+
*
|
|
2447
2611
|
* @example
|
|
2448
2612
|
* ```ts
|
|
2449
2613
|
* await asset.fetchAssetById();
|
|
@@ -2456,6 +2620,8 @@ declare class Asset extends SDKController implements AssetInterface {
|
|
|
2456
2620
|
/**
|
|
2457
2621
|
* Updates platform asset details.
|
|
2458
2622
|
*
|
|
2623
|
+
* @keywords update, modify, change, edit, alter, transform
|
|
2624
|
+
*
|
|
2459
2625
|
* @example
|
|
2460
2626
|
* ```ts
|
|
2461
2627
|
* await asset.updateAsset({
|
|
@@ -2499,6 +2665,8 @@ declare class Ecosystem extends SDKController {
|
|
|
2499
2665
|
/**
|
|
2500
2666
|
* Retrieves the data object for a Topia ecosystem. Requires canUpdateEcosystemDataObjects permission to be set to true for the public key.
|
|
2501
2667
|
*
|
|
2668
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
2669
|
+
*
|
|
2502
2670
|
* @category Data Objects
|
|
2503
2671
|
*
|
|
2504
2672
|
* @example
|
|
@@ -2517,6 +2685,8 @@ declare class Ecosystem extends SDKController {
|
|
|
2517
2685
|
*
|
|
2518
2686
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
2519
2687
|
*
|
|
2688
|
+
* @keywords set, assign, store, save, data, object, state
|
|
2689
|
+
*
|
|
2520
2690
|
* @category Data Objects
|
|
2521
2691
|
*
|
|
2522
2692
|
* @example
|
|
@@ -2547,6 +2717,8 @@ declare class Ecosystem extends SDKController {
|
|
|
2547
2717
|
*
|
|
2548
2718
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
2549
2719
|
*
|
|
2720
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
2721
|
+
*
|
|
2550
2722
|
* @category Data Objects
|
|
2551
2723
|
*
|
|
2552
2724
|
* @example
|
|
@@ -2583,6 +2755,8 @@ declare class Ecosystem extends SDKController {
|
|
|
2583
2755
|
*
|
|
2584
2756
|
* Optionally, a lock can be provided with this request to ensure only one update happens at a time between all updates that share the same lock id
|
|
2585
2757
|
*
|
|
2758
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
2759
|
+
*
|
|
2586
2760
|
* @category Data Objects
|
|
2587
2761
|
*
|
|
2588
2762
|
* @example
|
|
@@ -2658,6 +2832,8 @@ declare class WorldActivity extends SDKController {
|
|
|
2658
2832
|
/**
|
|
2659
2833
|
* Retrieve all visitors currently in a world.
|
|
2660
2834
|
*
|
|
2835
|
+
* @keywords get, fetch, retrieve, list, current, visitors, users, players
|
|
2836
|
+
*
|
|
2661
2837
|
* @category Visitors
|
|
2662
2838
|
*
|
|
2663
2839
|
* @example
|
|
@@ -2673,6 +2849,8 @@ declare class WorldActivity extends SDKController {
|
|
|
2673
2849
|
/**
|
|
2674
2850
|
* Retrieve all visitors currently in a Landmark Zone.
|
|
2675
2851
|
*
|
|
2852
|
+
* @keywords get, fetch, retrieve, list, zone, area, landmark, visitors, users
|
|
2853
|
+
*
|
|
2676
2854
|
* @category Visitors
|
|
2677
2855
|
*
|
|
2678
2856
|
* @example
|
|
@@ -2695,6 +2873,8 @@ declare class WorldActivity extends SDKController {
|
|
|
2695
2873
|
* Optionally refetch visitors, teleport or walk visitors to new location,
|
|
2696
2874
|
* and scatter visitors by any number so that they don't all move to the exact same location.
|
|
2697
2875
|
*
|
|
2876
|
+
* @keywords move, teleport, position, coordinate, visitors, users, relocate
|
|
2877
|
+
*
|
|
2698
2878
|
* @category Visitors
|
|
2699
2879
|
*
|
|
2700
2880
|
* @example
|
|
@@ -2715,6 +2895,8 @@ declare class WorldActivity extends SDKController {
|
|
|
2715
2895
|
/**
|
|
2716
2896
|
* Teleport or walk a list of visitors currently in a world to various coordinates.
|
|
2717
2897
|
*
|
|
2898
|
+
* @keywords move, teleport, position, coordinate, visitor, user, relocate
|
|
2899
|
+
*
|
|
2718
2900
|
* @category Visitors
|
|
2719
2901
|
*
|
|
2720
2902
|
* @example
|
|
@@ -2742,109 +2924,270 @@ declare class WorldActivity extends SDKController {
|
|
|
2742
2924
|
}
|
|
2743
2925
|
|
|
2744
2926
|
/**
|
|
2927
|
+
* Factory for creating Asset instances. Use this factory to create or upload assets in the Topia platform.
|
|
2928
|
+
*
|
|
2929
|
+
* @remarks
|
|
2930
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
2931
|
+
*
|
|
2932
|
+
* @keywords asset, factory, create, upload, instantiate, topia
|
|
2933
|
+
*
|
|
2745
2934
|
* @example
|
|
2746
2935
|
* ```ts
|
|
2747
|
-
*
|
|
2936
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
2937
|
+
* import { Topia, AssetFactory } from "@rtsdk/topia";
|
|
2938
|
+
* const topia = new Topia({ config });
|
|
2939
|
+
* export const Asset = new AssetFactory(topia);
|
|
2748
2940
|
* ```
|
|
2749
2941
|
*/
|
|
2750
2942
|
declare class AssetFactory extends SDKController {
|
|
2751
2943
|
constructor(topia: Topia);
|
|
2752
2944
|
/**
|
|
2753
|
-
* Instantiate a new instance of Asset class.
|
|
2945
|
+
* Instantiate a new instance of Asset class with the specified asset ID.
|
|
2946
|
+
*
|
|
2947
|
+
* @remarks
|
|
2948
|
+
* This method creates a new Asset controller instance that can be used to interact with an existing asset.
|
|
2949
|
+
* It does not create a new asset in the database.
|
|
2950
|
+
*
|
|
2951
|
+
* @keywords create, instantiate, asset, initialize, get, instance
|
|
2754
2952
|
*
|
|
2755
2953
|
* @example
|
|
2756
|
-
* ```
|
|
2757
|
-
*
|
|
2954
|
+
* ```ts
|
|
2955
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
2956
|
+
* import { Asset } from "utils/topiaInit.ts";
|
|
2957
|
+
*
|
|
2958
|
+
* // Create an Asset instance with credentials
|
|
2959
|
+
* const assetInstance = await Asset.create(assetId, {
|
|
2960
|
+
* credentials: {
|
|
2961
|
+
* interactiveNonce,
|
|
2962
|
+
* interactivePublicKey,
|
|
2963
|
+
* assetId,
|
|
2964
|
+
* urlSlug,
|
|
2965
|
+
* visitorId
|
|
2966
|
+
* }
|
|
2967
|
+
* });
|
|
2968
|
+
*
|
|
2969
|
+
* // Use the instance to interact with the asset
|
|
2970
|
+
* await assetInstance.fetchAssetById();
|
|
2758
2971
|
* ```
|
|
2759
2972
|
*
|
|
2760
2973
|
* @returns {Asset} Returns a new Asset object with the asset id.
|
|
2761
2974
|
*/
|
|
2762
2975
|
create(id: string, options?: AssetOptionalInterface): Asset;
|
|
2763
2976
|
/**
|
|
2764
|
-
* Upload a new Asset and return a new instance of Asset class.
|
|
2977
|
+
* Upload a new Asset to the Topia platform and return a new instance of Asset class.
|
|
2978
|
+
*
|
|
2979
|
+
* @remarks
|
|
2980
|
+
* This method both creates a new asset in the database and returns an Asset controller instance.
|
|
2981
|
+
* A valid API key with appropriate permissions is required.
|
|
2982
|
+
*
|
|
2983
|
+
* @keywords upload, create, new, asset, add, store
|
|
2765
2984
|
*
|
|
2766
2985
|
* @example
|
|
2767
|
-
* ```
|
|
2986
|
+
* ```ts
|
|
2987
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
2988
|
+
* import { Asset } from "utils/topiaInit.ts";
|
|
2989
|
+
*
|
|
2990
|
+
* // Prepare the asset payload
|
|
2768
2991
|
* const assetPayload = {
|
|
2769
|
-
* assetName: "
|
|
2770
|
-
* bottomLayerURL: "https://example.
|
|
2992
|
+
* assetName: "My Decorative Asset",
|
|
2993
|
+
* bottomLayerURL: "https://example.com/bottom-layer.png",
|
|
2771
2994
|
* creatorTags: { "decorations": true },
|
|
2772
2995
|
* tagJson: "[{"label":"decorations","value":"decorations"}]",
|
|
2773
2996
|
* isPublic: true,
|
|
2774
|
-
* topLayerURL: "https://example.
|
|
2775
|
-
* }
|
|
2997
|
+
* topLayerURL: "https://example.com/top-layer.png"
|
|
2998
|
+
* };
|
|
2999
|
+
*
|
|
3000
|
+
* // Upload the asset using your API key
|
|
2776
3001
|
* const asset = await Asset.upload(assetPayload, apiKey);
|
|
3002
|
+
*
|
|
3003
|
+
* // Access the new asset's properties
|
|
3004
|
+
* console.log(asset.id);
|
|
2777
3005
|
* ```
|
|
2778
3006
|
*
|
|
2779
|
-
* @returns {
|
|
3007
|
+
* @returns {Asset} Returns a new Asset object with the asset details.
|
|
2780
3008
|
*/
|
|
2781
3009
|
upload(assetPayload: AssetType, apiKey: string): Promise<Asset>;
|
|
2782
3010
|
}
|
|
2783
3011
|
|
|
2784
3012
|
/**
|
|
3013
|
+
* Factory for creating and retrieving DroppedAsset instances. Use this factory to work with assets that have been placed in a Topia world.
|
|
3014
|
+
*
|
|
3015
|
+
* @remarks
|
|
3016
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3017
|
+
*
|
|
3018
|
+
* @keywords dropped asset, factory, create, get, retrieve, instantiate, topia
|
|
3019
|
+
*
|
|
2785
3020
|
* @example
|
|
2786
3021
|
* ```ts
|
|
2787
|
-
*
|
|
3022
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3023
|
+
* import { Topia, DroppedAssetFactory } from "@rtsdk/topia";
|
|
3024
|
+
* const topia = new Topia({ config });
|
|
3025
|
+
* export const DroppedAsset = new DroppedAssetFactory(topia);
|
|
2788
3026
|
* ```
|
|
2789
3027
|
*/
|
|
2790
3028
|
declare class DroppedAssetFactory extends SDKController {
|
|
2791
3029
|
constructor(topia: Topia);
|
|
2792
3030
|
/**
|
|
2793
|
-
* Instantiate a new instance of DroppedAsset class.
|
|
3031
|
+
* Instantiate a new instance of DroppedAsset class for an existing dropped asset in a world.
|
|
3032
|
+
*
|
|
3033
|
+
* @remarks
|
|
3034
|
+
* This method creates a controller instance for an existing dropped asset but does not fetch its properties.
|
|
3035
|
+
* Use this when you need a lightweight instance and will fetch properties separately if needed or when you already have the properties.
|
|
3036
|
+
*
|
|
3037
|
+
* @keywords create, instantiate, dropped asset, initialize, instance
|
|
2794
3038
|
*
|
|
2795
3039
|
* @example
|
|
2796
|
-
* ```
|
|
2797
|
-
*
|
|
3040
|
+
* ```ts
|
|
3041
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3042
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
3043
|
+
*
|
|
3044
|
+
* // Create a DroppedAsset instance with credentials
|
|
3045
|
+
* const droppedAssetInstance = DroppedAsset.create(
|
|
3046
|
+
* assetId,
|
|
3047
|
+
* urlSlug,
|
|
3048
|
+
* {
|
|
3049
|
+
* credentials: {
|
|
3050
|
+
* interactiveNonce,
|
|
3051
|
+
* interactivePublicKey,
|
|
3052
|
+
* assetId,
|
|
3053
|
+
* urlSlug,
|
|
3054
|
+
* visitorId
|
|
3055
|
+
* }
|
|
3056
|
+
* }
|
|
3057
|
+
* );
|
|
3058
|
+
*
|
|
3059
|
+
* // Later fetch its properties if needed
|
|
3060
|
+
* await droppedAssetInstance.fetchDroppedAssetById();
|
|
2798
3061
|
* ```
|
|
2799
3062
|
*
|
|
2800
|
-
* @returns {DroppedAsset} Returns a new DroppedAsset object.
|
|
3063
|
+
* @returns {DroppedAsset} Returns a new DroppedAsset object without fetching its properties.
|
|
2801
3064
|
*/
|
|
2802
3065
|
create(id: string, urlSlug: string, options?: DroppedAssetOptionalInterface): DroppedAsset;
|
|
2803
3066
|
/**
|
|
2804
|
-
* Instantiate a new instance of DroppedAsset class and
|
|
3067
|
+
* Instantiate a new instance of DroppedAsset class and automatically fetch all its properties.
|
|
3068
|
+
*
|
|
3069
|
+
* @remarks
|
|
3070
|
+
* This method creates a controller instance and immediately fetches all properties of the dropped asset.
|
|
3071
|
+
* It's a convenience method that combines creating an instance and calling fetchDroppedAssetById().
|
|
3072
|
+
*
|
|
3073
|
+
* @keywords get, fetch, retrieve, dropped asset, load, instance
|
|
2805
3074
|
*
|
|
2806
3075
|
* @example
|
|
2807
|
-
* ```
|
|
2808
|
-
*
|
|
3076
|
+
* ```ts
|
|
3077
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3078
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
3079
|
+
*
|
|
3080
|
+
* // Get a fully populated DroppedAsset instance
|
|
3081
|
+
* const droppedAssetInstance = await DroppedAsset.get(
|
|
3082
|
+
* assetId,
|
|
3083
|
+
* urlSlug,
|
|
3084
|
+
* {
|
|
3085
|
+
* credentials: {
|
|
3086
|
+
* interactiveNonce,
|
|
3087
|
+
* interactivePublicKey,
|
|
3088
|
+
* assetId,
|
|
3089
|
+
* urlSlug,
|
|
3090
|
+
* visitorId
|
|
3091
|
+
* }
|
|
3092
|
+
* }
|
|
3093
|
+
* );
|
|
3094
|
+
*
|
|
3095
|
+
* // The properties are already loaded, so you can use them immediately
|
|
3096
|
+
* console.log(droppedAssetInstance.position);
|
|
2809
3097
|
* ```
|
|
2810
3098
|
*
|
|
2811
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
|
|
3099
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
|
|
2812
3100
|
*/
|
|
2813
3101
|
get(id: string, urlSlug: string, options?: DroppedAssetOptionalInterface): Promise<DroppedAsset>;
|
|
2814
3102
|
/**
|
|
2815
|
-
* Searches
|
|
3103
|
+
* Searches for and retrieves a dropped asset by its unique name within a world.
|
|
2816
3104
|
*
|
|
2817
3105
|
* @remarks
|
|
2818
|
-
* This method leverages the handleGetDroppedAssetByUniqueName endpoint in the Public API and assumes there is exactly one dropped asset with matching uniqueName for the given urlSlug.
|
|
3106
|
+
* This method leverages the handleGetDroppedAssetByUniqueName endpoint in the Public API and assumes there is exactly one dropped asset with the matching uniqueName for the given urlSlug.
|
|
3107
|
+
* Use this when you need to find a dropped asset by its uniqueName rather than its ID.
|
|
3108
|
+
*
|
|
3109
|
+
* @keywords find, search, unique name, retrieve, locate, lookup, dropped asset
|
|
2819
3110
|
*
|
|
2820
3111
|
* @example
|
|
2821
|
-
* ```
|
|
2822
|
-
*
|
|
3112
|
+
* ```ts
|
|
3113
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3114
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
3115
|
+
*
|
|
3116
|
+
* // Find and retrieve a dropped asset by its unique name
|
|
3117
|
+
* const droppedAssetInstance = await DroppedAsset.getWithUniqueName(
|
|
3118
|
+
* "banner-sign-northeast",
|
|
3119
|
+
* "my-world-slug",
|
|
3120
|
+
* "your-interactive-secret",
|
|
3121
|
+
* {
|
|
3122
|
+
* apiKey: "your-api-key",
|
|
3123
|
+
* interactivePublicKey: "your-public-key",
|
|
3124
|
+
* // other credentials...
|
|
3125
|
+
* }
|
|
3126
|
+
* );
|
|
3127
|
+
*
|
|
3128
|
+
* // The properties are already loaded, so you can use them immediately
|
|
3129
|
+
* console.log(droppedAssetInstance.position);
|
|
2823
3130
|
* ```
|
|
2824
3131
|
*
|
|
2825
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
|
|
3132
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
|
|
2826
3133
|
*/
|
|
2827
3134
|
getWithUniqueName(uniqueName: string, urlSlug: string, interactiveSecret: string, credentials: InteractiveCredentials): Promise<DroppedAsset>;
|
|
2828
3135
|
/**
|
|
2829
3136
|
* Drops an asset in a world and returns a new instance of DroppedAsset class with all properties.
|
|
2830
3137
|
*
|
|
3138
|
+
* @remarks
|
|
3139
|
+
* This method places an existing Asset into a world at specified coordinates, effectively "dropping" it into the environment.
|
|
3140
|
+
* You can customize various properties of the dropped asset during placement, such as scale, position, interactive settings, and visual layers.
|
|
3141
|
+
*
|
|
3142
|
+
* @keywords drop, place, add, create, position, asset, deploy
|
|
3143
|
+
*
|
|
2831
3144
|
* @example
|
|
2832
|
-
* ```
|
|
2833
|
-
*
|
|
2834
|
-
*
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
3145
|
+
* ```ts
|
|
3146
|
+
* // Import the pre-initialized factories from your app's initialization file
|
|
3147
|
+
* import { Asset, DroppedAsset } from "utils/topiaInit.ts";
|
|
3148
|
+
*
|
|
3149
|
+
* // First get an asset instance
|
|
3150
|
+
* const assetInstance = Asset.create("asset-id-123", {
|
|
3151
|
+
* credentials: {
|
|
3152
|
+
* interactiveNonce,
|
|
3153
|
+
* interactivePublicKey,
|
|
3154
|
+
* assetId,
|
|
3155
|
+
* urlSlug,
|
|
3156
|
+
* visitorId
|
|
3157
|
+
* }
|
|
3158
|
+
* });
|
|
3159
|
+
*
|
|
3160
|
+
* // Then drop (place) the asset in a world
|
|
3161
|
+
* const droppedAssetInstance = await DroppedAsset.drop(
|
|
3162
|
+
* assetInstance,
|
|
3163
|
+
* {
|
|
3164
|
+
* // Basic positioning and appearance
|
|
3165
|
+
* position: { x: 250, y: 350 },
|
|
3166
|
+
* assetScale: 1.5,
|
|
3167
|
+
* flipped: true,
|
|
3168
|
+
* uniqueName: "welcome-sign",
|
|
3169
|
+
* urlSlug: "my-world-slug",
|
|
3170
|
+
*
|
|
3171
|
+
* // For web images (optional)
|
|
3172
|
+
* layer0: "https://example.com/background.png",
|
|
3173
|
+
* layer1: "https://example.com/foreground.png",
|
|
3174
|
+
*
|
|
3175
|
+
* // For interactive assets (optional)
|
|
3176
|
+
* interactivePublicKey: "your-public-key",
|
|
3177
|
+
* isInteractive: true,
|
|
3178
|
+
*
|
|
3179
|
+
* // For clickable assets (optional)
|
|
3180
|
+
* clickType: "link",
|
|
3181
|
+
* clickableLink: "https://example.com",
|
|
3182
|
+
* clickableLinkTitle: "Visit Example"
|
|
3183
|
+
* }
|
|
3184
|
+
* );
|
|
3185
|
+
*
|
|
3186
|
+
* // The dropped asset is ready to use
|
|
3187
|
+
* console.log(droppedAssetInstance.id);
|
|
2845
3188
|
* ```
|
|
2846
3189
|
*
|
|
2847
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object
|
|
3190
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object representing the placed asset in the world.
|
|
2848
3191
|
*/
|
|
2849
3192
|
drop(asset: Asset, { assetScale, clickType, clickableDisplayTextDescription, clickableDisplayTextHeadline, clickableLink, clickableLinkTitle, flipped, interactivePublicKey, isInteractive, isForceLinkInIframe, isOpenLinkInDrawer, isTextTopLayer, layer0, layer1, position: { x, y }, sceneDropId, text, textColor, textFontFamily, textSize, textWeight, textWidth, uniqueName, urlSlug, yOrderAdjust, }: {
|
|
2850
3193
|
assetScale?: number;
|
|
@@ -2879,45 +3222,113 @@ declare class DroppedAssetFactory extends SDKController {
|
|
|
2879
3222
|
}
|
|
2880
3223
|
|
|
2881
3224
|
/**
|
|
3225
|
+
* Factory for creating Ecosystem instances. Use this factory to work with ecosystem-wide data and operations.
|
|
3226
|
+
*
|
|
3227
|
+
* @remarks
|
|
3228
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3229
|
+
* The Ecosystem controller provides methods to interact with data shared across multiple worlds.
|
|
3230
|
+
*
|
|
3231
|
+
* @keywords ecosystem, factory, create, multi-world, global, shared data, platform
|
|
3232
|
+
*
|
|
2882
3233
|
* @example
|
|
2883
3234
|
* ```ts
|
|
2884
|
-
*
|
|
3235
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3236
|
+
* import { Topia, EcosystemFactory } from "@rtsdk/topia";
|
|
3237
|
+
* const topia = new Topia({ config });
|
|
3238
|
+
* export const Ecosystem = new EcosystemFactory(topia);
|
|
2885
3239
|
* ```
|
|
2886
3240
|
*/
|
|
2887
3241
|
declare class EcosystemFactory {
|
|
2888
3242
|
topia: Topia;
|
|
2889
3243
|
constructor(topia: Topia);
|
|
2890
3244
|
/**
|
|
2891
|
-
* Instantiate a new instance of Ecosystem class.
|
|
3245
|
+
* Instantiate a new instance of Ecosystem class for interacting with ecosystem-wide data.
|
|
3246
|
+
*
|
|
3247
|
+
* @remarks
|
|
3248
|
+
* This method creates a controller instance for accessing and managing data that spans multiple worlds.
|
|
3249
|
+
* Use this for cross-world data sharing, global data objects, and ecosystem-wide operations.
|
|
3250
|
+
*
|
|
3251
|
+
* @keywords create, instantiate, ecosystem, initialize, global, shared data, platform
|
|
2892
3252
|
*
|
|
2893
3253
|
* @example
|
|
2894
|
-
* ```
|
|
2895
|
-
*
|
|
3254
|
+
* ```ts
|
|
3255
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3256
|
+
* import { Ecosystem } from "utils/topiaInit.ts";
|
|
3257
|
+
*
|
|
3258
|
+
* // Create an Ecosystem instance with credentials
|
|
3259
|
+
* const ecosystemInstance = Ecosystem.create({
|
|
3260
|
+
* credentials: {
|
|
3261
|
+
* interactiveNonce,
|
|
3262
|
+
* interactivePublicKey,
|
|
3263
|
+
* assetId,
|
|
3264
|
+
* urlSlug,
|
|
3265
|
+
* visitorId
|
|
3266
|
+
* }
|
|
3267
|
+
* });
|
|
3268
|
+
*
|
|
3269
|
+
* // Work with ecosystem-wide data objects
|
|
3270
|
+
* await ecosystemInstance.fetchDataObject("global-leaderboard");
|
|
3271
|
+
* await ecosystemInstance.setDataObject("global-leaderboard", { scores: [...] });
|
|
2896
3272
|
* ```
|
|
2897
3273
|
*
|
|
2898
|
-
* @returns {Ecosystem} Returns a new Ecosystem object.
|
|
3274
|
+
* @returns {Ecosystem} Returns a new Ecosystem object for interacting with ecosystem-wide data.
|
|
2899
3275
|
*/
|
|
2900
3276
|
create(options?: EcosystemOptionalInterface): Ecosystem;
|
|
2901
3277
|
}
|
|
2902
3278
|
|
|
2903
3279
|
/**
|
|
3280
|
+
* Factory for creating Scene instances. Use this factory to work with scenes in the Topia platform.
|
|
3281
|
+
*
|
|
3282
|
+
* @remarks
|
|
3283
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3284
|
+
* Scenes represent the template or blueprint for a world's design and layout.
|
|
3285
|
+
*
|
|
3286
|
+
* @keywords scene, factory, create, template, blueprint, layout, design
|
|
3287
|
+
*
|
|
2904
3288
|
* @example
|
|
2905
3289
|
* ```ts
|
|
2906
|
-
*
|
|
3290
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3291
|
+
* import { Topia, SceneFactory } from "@rtsdk/topia";
|
|
3292
|
+
* const topia = new Topia({ config });
|
|
3293
|
+
* export const Scene = new SceneFactory(topia);
|
|
2907
3294
|
* ```
|
|
2908
3295
|
*/
|
|
2909
3296
|
declare class SceneFactory {
|
|
2910
3297
|
topia: Topia;
|
|
2911
3298
|
constructor(topia: Topia);
|
|
2912
3299
|
/**
|
|
2913
|
-
* Instantiate a new instance of Scene class.
|
|
3300
|
+
* Instantiate a new instance of Scene class for an existing scene in the platform.
|
|
3301
|
+
*
|
|
3302
|
+
* @remarks
|
|
3303
|
+
* This method creates a controller instance for working with a scene but does not fetch its properties.
|
|
3304
|
+
* Use this when you need to interact with a specific scene by its ID.
|
|
3305
|
+
*
|
|
3306
|
+
* @keywords create, instantiate, scene, initialize, instance, template
|
|
2914
3307
|
*
|
|
2915
3308
|
* @example
|
|
2916
|
-
* ```
|
|
2917
|
-
*
|
|
3309
|
+
* ```ts
|
|
3310
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3311
|
+
* import { Scene } from "utils/topiaInit.ts";
|
|
3312
|
+
*
|
|
3313
|
+
* // Create a Scene instance with credentials
|
|
3314
|
+
* const sceneInstance = Scene.create(
|
|
3315
|
+
* "scene-id-123",
|
|
3316
|
+
* {
|
|
3317
|
+
* credentials: {
|
|
3318
|
+
* interactiveNonce,
|
|
3319
|
+
* interactivePublicKey,
|
|
3320
|
+
* assetId,
|
|
3321
|
+
* urlSlug,
|
|
3322
|
+
* visitorId
|
|
3323
|
+
* }
|
|
3324
|
+
* }
|
|
3325
|
+
* );
|
|
3326
|
+
*
|
|
3327
|
+
* // Fetch scene details if needed
|
|
3328
|
+
* await sceneInstance.fetchSceneById();
|
|
2918
3329
|
* ```
|
|
2919
3330
|
*
|
|
2920
|
-
* @returns {Scene} Returns a new Scene object.
|
|
3331
|
+
* @returns {Scene} Returns a new Scene object for interacting with the specified scene.
|
|
2921
3332
|
*/
|
|
2922
3333
|
create(id: string, options?: SceneOptionalInterface): Scene;
|
|
2923
3334
|
/**
|
|
@@ -2934,132 +3345,363 @@ declare class SceneFactory {
|
|
|
2934
3345
|
}
|
|
2935
3346
|
|
|
2936
3347
|
/**
|
|
3348
|
+
* Factory for creating User instances. Use this factory to work with user data in the Topia platform.
|
|
3349
|
+
*
|
|
3350
|
+
* @remarks
|
|
3351
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3352
|
+
* The User controller allows you to interact with user-specific information and operations.
|
|
3353
|
+
*
|
|
3354
|
+
* @keywords user, factory, create, account, profile, member, visitor
|
|
3355
|
+
*
|
|
2937
3356
|
* @example
|
|
2938
3357
|
* ```ts
|
|
2939
|
-
*
|
|
3358
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3359
|
+
* import { Topia, UserFactory } from "@rtsdk/topia";
|
|
3360
|
+
* const topia = new Topia({ config });
|
|
3361
|
+
* export const User = new UserFactory(topia);
|
|
2940
3362
|
* ```
|
|
2941
3363
|
*/
|
|
2942
3364
|
declare class UserFactory {
|
|
2943
3365
|
topia: Topia;
|
|
2944
3366
|
constructor(topia: Topia);
|
|
2945
3367
|
/**
|
|
2946
|
-
* Instantiate a new instance of User class.
|
|
3368
|
+
* Instantiate a new instance of User class for working with user data.
|
|
3369
|
+
*
|
|
3370
|
+
* @remarks
|
|
3371
|
+
* This method creates a controller instance for interacting with user-specific operations.
|
|
3372
|
+
* The User controller doesn't require an ID since it represents the currently authenticated user.
|
|
3373
|
+
*
|
|
3374
|
+
* @keywords create, instantiate, user, initialize, account, profile, member
|
|
2947
3375
|
*
|
|
2948
3376
|
* @example
|
|
2949
|
-
* ```
|
|
2950
|
-
*
|
|
3377
|
+
* ```ts
|
|
3378
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3379
|
+
* import { User } from "utils/topiaInit.ts";
|
|
3380
|
+
*
|
|
3381
|
+
* // Create a User instance with credentials
|
|
3382
|
+
* const userInstance = User.create({
|
|
3383
|
+
* credentials: {
|
|
3384
|
+
* interactiveNonce,
|
|
3385
|
+
* interactivePublicKey,
|
|
3386
|
+
* assetId,
|
|
3387
|
+
* urlSlug,
|
|
3388
|
+
* visitorId
|
|
3389
|
+
* }
|
|
3390
|
+
* });
|
|
3391
|
+
*
|
|
3392
|
+
* // Use methods on the user instance
|
|
3393
|
+
* await userInstance.checkInteractiveCredentials();
|
|
3394
|
+
* const avatars = await userInstance.fetchAvatars();
|
|
2951
3395
|
* ```
|
|
2952
3396
|
*
|
|
2953
|
-
* @returns {User} Returns a new User object.
|
|
3397
|
+
* @returns {User} Returns a new User object for interacting with user data.
|
|
2954
3398
|
*/
|
|
2955
3399
|
create(options?: UserOptionalInterface): User;
|
|
2956
3400
|
}
|
|
2957
3401
|
|
|
2958
3402
|
/**
|
|
3403
|
+
* Factory for creating Visitor instances. Use this factory to work with visitors in Topia worlds.
|
|
3404
|
+
*
|
|
3405
|
+
* @remarks
|
|
3406
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3407
|
+
* The Visitor controller represents a specific visitor/avatar instance in a world.
|
|
3408
|
+
*
|
|
3409
|
+
* @keywords visitor, factory, create, get, avatar, user, participant
|
|
3410
|
+
*
|
|
2959
3411
|
* @example
|
|
2960
3412
|
* ```ts
|
|
2961
|
-
*
|
|
3413
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3414
|
+
* import { Topia, VisitorFactory } from "@rtsdk/topia";
|
|
3415
|
+
* const topia = new Topia({ config });
|
|
3416
|
+
* export const Visitor = new VisitorFactory(topia);
|
|
2962
3417
|
* ```
|
|
2963
3418
|
*/
|
|
2964
3419
|
declare class VisitorFactory {
|
|
2965
3420
|
topia: Topia;
|
|
2966
3421
|
constructor(topia: Topia);
|
|
2967
3422
|
/**
|
|
2968
|
-
* Instantiate a new instance of Visitor class.
|
|
3423
|
+
* Instantiate a new instance of Visitor class for an existing visitor in a world.
|
|
3424
|
+
*
|
|
3425
|
+
* @remarks
|
|
3426
|
+
* This method creates a controller instance for a visitor but does not fetch its properties.
|
|
3427
|
+
* Use this when you need a lightweight instance and will fetch properties separately or when you already have the properties.
|
|
3428
|
+
*
|
|
3429
|
+
* @keywords create, instantiate, visitor, initialize, avatar, instance
|
|
2969
3430
|
*
|
|
2970
3431
|
* @example
|
|
2971
|
-
* ```
|
|
2972
|
-
*
|
|
3432
|
+
* ```ts
|
|
3433
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3434
|
+
* import { Visitor } from "utils/topiaInit.ts";
|
|
3435
|
+
*
|
|
3436
|
+
* // Create a Visitor instance with credentials
|
|
3437
|
+
* const visitorInstance = Visitor.create(
|
|
3438
|
+
* 12345, // visitor ID
|
|
3439
|
+
* "my-world-slug",
|
|
3440
|
+
* {
|
|
3441
|
+
* credentials: {
|
|
3442
|
+
* interactiveNonce,
|
|
3443
|
+
* interactivePublicKey,
|
|
3444
|
+
* assetId,
|
|
3445
|
+
* urlSlug,
|
|
3446
|
+
* visitorId
|
|
3447
|
+
* }
|
|
3448
|
+
* }
|
|
3449
|
+
* );
|
|
3450
|
+
*
|
|
3451
|
+
* // Later fetch visitor properties if needed
|
|
3452
|
+
* await visitorInstance.fetchVisitor();
|
|
2973
3453
|
* ```
|
|
2974
3454
|
*
|
|
2975
|
-
* @returns {Visitor} Returns a new Visitor object.
|
|
3455
|
+
* @returns {Visitor} Returns a new Visitor object without fetching its properties.
|
|
2976
3456
|
*/
|
|
2977
3457
|
create(id: number, urlSlug: string, options?: VisitorOptionalInterface): Visitor;
|
|
2978
3458
|
/**
|
|
2979
|
-
* Instantiate a new instance of Visitor class and
|
|
3459
|
+
* Instantiate a new instance of Visitor class and automatically fetch all its properties.
|
|
3460
|
+
*
|
|
3461
|
+
* @remarks
|
|
3462
|
+
* This method creates a controller instance and immediately fetches all properties of the visitor.
|
|
3463
|
+
* It's a convenience method that combines creating an instance and calling fetchVisitor().
|
|
3464
|
+
*
|
|
3465
|
+
* @keywords get, fetch, retrieve, visitor, load, avatar, instance
|
|
2980
3466
|
*
|
|
2981
3467
|
* @example
|
|
2982
|
-
* ```
|
|
2983
|
-
*
|
|
3468
|
+
* ```ts
|
|
3469
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3470
|
+
* import { Visitor } from "utils/topiaInit.ts";
|
|
3471
|
+
*
|
|
3472
|
+
* // Get a fully populated Visitor instance
|
|
3473
|
+
* const visitorInstance = await Visitor.get(
|
|
3474
|
+
* 12345, // visitor ID
|
|
3475
|
+
* "my-world-slug",
|
|
3476
|
+
* {
|
|
3477
|
+
* credentials: {
|
|
3478
|
+
* interactiveNonce,
|
|
3479
|
+
* interactivePublicKey,
|
|
3480
|
+
* assetId,
|
|
3481
|
+
* urlSlug,
|
|
3482
|
+
* visitorId
|
|
3483
|
+
* }
|
|
3484
|
+
* }
|
|
3485
|
+
* );
|
|
3486
|
+
*
|
|
3487
|
+
* // The properties are already loaded, so you can use them immediately
|
|
3488
|
+
* console.log(visitorInstance.username);
|
|
3489
|
+
* console.log(visitorInstance.position);
|
|
2984
3490
|
* ```
|
|
2985
3491
|
*
|
|
2986
|
-
* @returns {Promise<Visitor>} Returns a new Visitor object with all properties.
|
|
3492
|
+
* @returns {Promise<Visitor>} Returns a new Visitor object with all properties already fetched.
|
|
2987
3493
|
*/
|
|
2988
3494
|
get(id: number, urlSlug: string, options?: VisitorOptionalInterface): Promise<Visitor>;
|
|
2989
3495
|
}
|
|
2990
3496
|
|
|
2991
3497
|
/**
|
|
3498
|
+
* Factory for creating WebRTCConnector instances. Use this factory to establish WebRTC connections for audio/video in Topia worlds.
|
|
3499
|
+
*
|
|
3500
|
+
* @remarks
|
|
3501
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3502
|
+
* The WebRTCConnector provides methods to set up and manage real-time audio/video communication.
|
|
3503
|
+
*
|
|
3504
|
+
* @keywords webrtc, factory, create, audio, video, communication, real-time, conference
|
|
3505
|
+
*
|
|
2992
3506
|
* @example
|
|
2993
3507
|
* ```ts
|
|
2994
|
-
*
|
|
3508
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3509
|
+
* import { Topia, WebRTCConnectorFactory } from "@rtsdk/topia";
|
|
3510
|
+
* const topia = new Topia({ config });
|
|
3511
|
+
* export const WebRTCConnector = new WebRTCConnectorFactory(topia);
|
|
2995
3512
|
* ```
|
|
2996
3513
|
*/
|
|
2997
3514
|
declare class WebRTCConnectorFactory {
|
|
2998
3515
|
topia: Topia;
|
|
2999
3516
|
constructor(topia: Topia);
|
|
3000
3517
|
/**
|
|
3001
|
-
* Instantiate a new instance of WebRTCConnector class.
|
|
3518
|
+
* Instantiate a new instance of WebRTCConnector class for managing audio/video communication.
|
|
3519
|
+
*
|
|
3520
|
+
* @remarks
|
|
3521
|
+
* This method creates a controller instance for establishing and managing WebRTC connections.
|
|
3522
|
+
* Use this for implementing real-time audio/video communication features in Topia worlds.
|
|
3523
|
+
*
|
|
3524
|
+
* @keywords create, instantiate, webrtc, initialize, audio, video, communication, stream
|
|
3002
3525
|
*
|
|
3003
3526
|
* @example
|
|
3004
|
-
* ```
|
|
3005
|
-
*
|
|
3527
|
+
* ```ts
|
|
3528
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3529
|
+
* import { WebRTCConnector } from "utils/topiaInit.ts";
|
|
3530
|
+
*
|
|
3531
|
+
* // Create a WebRTCConnector instance with credentials and configuration
|
|
3532
|
+
* const webRTCInstance = WebRTCConnector.create(
|
|
3533
|
+
* "my-world-slug",
|
|
3534
|
+
* {
|
|
3535
|
+
* credentials: {
|
|
3536
|
+
* interactiveNonce,
|
|
3537
|
+
* interactivePublicKey,
|
|
3538
|
+
* assetId,
|
|
3539
|
+
* urlSlug,
|
|
3540
|
+
* visitorId
|
|
3541
|
+
* },
|
|
3542
|
+
* twilioConfig: {
|
|
3543
|
+
* // Twilio configuration options
|
|
3544
|
+
* }
|
|
3545
|
+
* }
|
|
3546
|
+
* );
|
|
3547
|
+
*
|
|
3548
|
+
* // Use the instance to establish connections
|
|
3549
|
+
* await webRTCInstance.connect();
|
|
3006
3550
|
* ```
|
|
3007
3551
|
*
|
|
3008
|
-
* @returns {WebRTCConnector} Returns a new WebRTCConnector object.
|
|
3552
|
+
* @returns {WebRTCConnector} Returns a new WebRTCConnector object for managing audio/video communication.
|
|
3009
3553
|
*/
|
|
3010
3554
|
create(urlSlug: string, options?: WebRTCConnectorOptionalInterface): WebRTCConnector;
|
|
3011
3555
|
}
|
|
3012
3556
|
|
|
3013
3557
|
/**
|
|
3558
|
+
* Factory for creating WorldActivity instances. Use this factory to monitor and manage visitor activity in Topia worlds.
|
|
3559
|
+
*
|
|
3560
|
+
* @remarks
|
|
3561
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3562
|
+
* The WorldActivity controller provides methods to interact with real-time visitor activities and movements.
|
|
3563
|
+
*
|
|
3564
|
+
* @keywords world activity, factory, create, visitors, movement, tracking, presence, real-time
|
|
3565
|
+
*
|
|
3014
3566
|
* @example
|
|
3015
3567
|
* ```ts
|
|
3016
|
-
*
|
|
3568
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3569
|
+
* import { Topia, WorldActivityFactory } from "@rtsdk/topia";
|
|
3570
|
+
* const topia = new Topia({ config });
|
|
3571
|
+
* export const WorldActivity = new WorldActivityFactory(topia);
|
|
3017
3572
|
* ```
|
|
3018
3573
|
*/
|
|
3019
3574
|
declare class WorldActivityFactory {
|
|
3020
3575
|
topia: Topia;
|
|
3021
3576
|
constructor(topia: Topia);
|
|
3022
3577
|
/**
|
|
3023
|
-
* Instantiate a new instance of WorldActivity class.
|
|
3578
|
+
* Instantiate a new instance of WorldActivity class for monitoring visitor activity in a specific world.
|
|
3579
|
+
*
|
|
3580
|
+
* @remarks
|
|
3581
|
+
* This method creates a controller instance for tracking and managing visitor activity in a world.
|
|
3582
|
+
* Use this to fetch current visitors, move visitors, or monitor specific zones within a world.
|
|
3583
|
+
*
|
|
3584
|
+
* @keywords create, instantiate, world activity, initialize, visitors, tracking, presence
|
|
3024
3585
|
*
|
|
3025
3586
|
* @example
|
|
3026
|
-
* ```
|
|
3027
|
-
*
|
|
3587
|
+
* ```ts
|
|
3588
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3589
|
+
* import { WorldActivity } from "utils/topiaInit.ts";
|
|
3590
|
+
*
|
|
3591
|
+
* // Create a WorldActivity instance with credentials
|
|
3592
|
+
* const worldActivityInstance = WorldActivity.create(
|
|
3593
|
+
* "my-world-slug",
|
|
3594
|
+
* {
|
|
3595
|
+
* credentials: {
|
|
3596
|
+
* interactiveNonce,
|
|
3597
|
+
* interactivePublicKey,
|
|
3598
|
+
* assetId,
|
|
3599
|
+
* urlSlug,
|
|
3600
|
+
* visitorId
|
|
3601
|
+
* }
|
|
3602
|
+
* }
|
|
3603
|
+
* );
|
|
3604
|
+
*
|
|
3605
|
+
* // Get current visitors in the world
|
|
3606
|
+
* const visitors = await worldActivityInstance.currentVisitors();
|
|
3607
|
+
* console.log(`There are ${visitors.length} visitors in the world`);
|
|
3608
|
+
*
|
|
3609
|
+
* // Check visitors in a specific zone
|
|
3610
|
+
* const zoneVisitors = await worldActivityInstance.fetchVisitorsInZone("stage-area");
|
|
3028
3611
|
* ```
|
|
3029
3612
|
*
|
|
3030
|
-
* @returns {WorldActivity} Returns a new WorldActivity object.
|
|
3613
|
+
* @returns {WorldActivity} Returns a new WorldActivity object for tracking and managing visitor activity.
|
|
3031
3614
|
*/
|
|
3032
3615
|
create(urlSlug: string, options?: WorldOptionalInterface): WorldActivity;
|
|
3033
3616
|
}
|
|
3034
3617
|
|
|
3035
3618
|
/**
|
|
3619
|
+
* Factory for creating World instances. Use this factory to interact with Topia worlds.
|
|
3620
|
+
*
|
|
3621
|
+
* @remarks
|
|
3622
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
3623
|
+
* The World controller provides methods to manage world settings, retrieve world details, and perform world-level operations.
|
|
3624
|
+
*
|
|
3625
|
+
* @keywords world, factory, create, virtual space, environment, room, topia
|
|
3626
|
+
*
|
|
3036
3627
|
* @example
|
|
3037
3628
|
* ```ts
|
|
3038
|
-
*
|
|
3629
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
3630
|
+
* import { Topia, WorldFactory } from "@rtsdk/topia";
|
|
3631
|
+
* const topia = new Topia({ config });
|
|
3632
|
+
* export const World = new WorldFactory(topia);
|
|
3039
3633
|
* ```
|
|
3040
3634
|
*/
|
|
3041
3635
|
declare class WorldFactory extends SDKController {
|
|
3042
3636
|
constructor(topia: Topia);
|
|
3043
3637
|
/**
|
|
3044
|
-
* Instantiate a new instance of World class.
|
|
3638
|
+
* Instantiate a new instance of World class for interacting with a specific Topia world.
|
|
3639
|
+
*
|
|
3640
|
+
* @remarks
|
|
3641
|
+
* This method creates a controller instance for a world identified by its URL slug.
|
|
3642
|
+
* The world controller can be used to fetch details, update world settings, and perform other world-level operations.
|
|
3643
|
+
*
|
|
3644
|
+
* @keywords create, instantiate, world, initialize, virtual space, environment, room
|
|
3045
3645
|
*
|
|
3046
3646
|
* @example
|
|
3047
|
-
* ```
|
|
3048
|
-
*
|
|
3647
|
+
* ```ts
|
|
3648
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3649
|
+
* import { World } from "utils/topiaInit.ts";
|
|
3650
|
+
*
|
|
3651
|
+
* // Create a World instance with credentials
|
|
3652
|
+
* const worldInstance = World.create(
|
|
3653
|
+
* "my-world-slug",
|
|
3654
|
+
* {
|
|
3655
|
+
* credentials: {
|
|
3656
|
+
* interactiveNonce,
|
|
3657
|
+
* interactivePublicKey,
|
|
3658
|
+
* assetId,
|
|
3659
|
+
* urlSlug,
|
|
3660
|
+
* visitorId
|
|
3661
|
+
* }
|
|
3662
|
+
* }
|
|
3663
|
+
* );
|
|
3664
|
+
*
|
|
3665
|
+
* // Fetch world details
|
|
3666
|
+
* await worldInstance.fetchDetails();
|
|
3667
|
+
* console.log(worldInstance.name);
|
|
3049
3668
|
* ```
|
|
3050
3669
|
*
|
|
3051
|
-
* @returns {World} Returns a new World object.
|
|
3670
|
+
* @returns {World} Returns a new World object for interacting with the specified world.
|
|
3052
3671
|
*/
|
|
3053
3672
|
create(urlSlug: string, options?: WorldOptionalInterface): World;
|
|
3054
3673
|
/**
|
|
3055
|
-
* Deletes
|
|
3674
|
+
* Deletes multiple dropped assets from a world in a single operation.
|
|
3675
|
+
*
|
|
3676
|
+
* @remarks
|
|
3677
|
+
* This method provides a convenient way to delete multiple dropped assets at once rather than
|
|
3678
|
+
* deleting them one by one. Requires appropriate permissions via interactive credentials.
|
|
3679
|
+
*
|
|
3680
|
+
* @keywords delete, remove, dropped assets, multiple, batch, cleanup, world
|
|
3056
3681
|
*
|
|
3057
3682
|
* @example
|
|
3058
|
-
* ```
|
|
3059
|
-
*
|
|
3683
|
+
* ```ts
|
|
3684
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
3685
|
+
* import { World } from "utils/topiaInit.ts";
|
|
3686
|
+
*
|
|
3687
|
+
* // Delete multiple dropped assets from a world
|
|
3688
|
+
* const result = await World.deleteDroppedAssets(
|
|
3689
|
+
* "my-world-slug",
|
|
3690
|
+
* ["asset-id-123", "asset-id-456", "asset-id-789"],
|
|
3691
|
+
* "your-interactive-secret",
|
|
3692
|
+
* {
|
|
3693
|
+
* apiKey: "your-api-key",
|
|
3694
|
+
* interactivePublicKey: "your-public-key",
|
|
3695
|
+
* visitorId: 12345
|
|
3696
|
+
* }
|
|
3697
|
+
* );
|
|
3698
|
+
*
|
|
3699
|
+
* if (result.success) {
|
|
3700
|
+
* console.log("Assets successfully deleted");
|
|
3701
|
+
* }
|
|
3060
3702
|
* ```
|
|
3061
3703
|
*
|
|
3062
|
-
* @returns {Promise<{ success: boolean }>} Returns `{ success: true }`
|
|
3704
|
+
* @returns {Promise<{ success: boolean }>} Returns `{ success: true }` if all assets were deleted successfully.
|
|
3063
3705
|
*/
|
|
3064
3706
|
deleteDroppedAssets(urlSlug: string, droppedAssetIds: string[], interactiveSecret: string, credentials: {
|
|
3065
3707
|
apiKey?: string;
|