@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.cjs
CHANGED
|
@@ -39761,6 +39761,8 @@ class Asset extends SDKController {
|
|
|
39761
39761
|
/**
|
|
39762
39762
|
* Retrieves platform asset details and assigns response data to the instance.
|
|
39763
39763
|
*
|
|
39764
|
+
* @keywords get, fetch, retrieve, load, details, info, information
|
|
39765
|
+
*
|
|
39764
39766
|
* @example
|
|
39765
39767
|
* ```ts
|
|
39766
39768
|
* await asset.fetchAssetById();
|
|
@@ -39784,6 +39786,8 @@ class Asset extends SDKController {
|
|
|
39784
39786
|
/**
|
|
39785
39787
|
* Updates platform asset details.
|
|
39786
39788
|
*
|
|
39789
|
+
* @keywords update, modify, change, edit, alter, transform
|
|
39790
|
+
*
|
|
39787
39791
|
* @example
|
|
39788
39792
|
* ```ts
|
|
39789
39793
|
* await asset.updateAsset({
|
|
@@ -39941,6 +39945,8 @@ class DroppedAsset extends Asset {
|
|
|
39941
39945
|
/**
|
|
39942
39946
|
* Retrieves dropped asset details and assigns response data to the instance.
|
|
39943
39947
|
*
|
|
39948
|
+
* @keywords get, fetch, retrieve, load, details, info, information
|
|
39949
|
+
*
|
|
39944
39950
|
* @example
|
|
39945
39951
|
* ```ts
|
|
39946
39952
|
* await droppedAsset.fetchDroppedAssetById();
|
|
@@ -39963,6 +39969,8 @@ class DroppedAsset extends Asset {
|
|
|
39963
39969
|
/**
|
|
39964
39970
|
* Updates dropped asset details and assigns the response data to the instance. Requires Public Key to have the `canUpdateDroppedAssets` permission.
|
|
39965
39971
|
*
|
|
39972
|
+
* @keywords update, modify, change, edit, alter, transform
|
|
39973
|
+
*
|
|
39966
39974
|
* @example
|
|
39967
39975
|
* ```ts
|
|
39968
39976
|
* const payload = {
|
|
@@ -40037,6 +40045,8 @@ class DroppedAsset extends Asset {
|
|
|
40037
40045
|
/**
|
|
40038
40046
|
* Deletes the dropped asset (removes it from the world).
|
|
40039
40047
|
*
|
|
40048
|
+
* @keywords remove, delete, erase, destroy, eliminate
|
|
40049
|
+
*
|
|
40040
40050
|
* @example
|
|
40041
40051
|
* ```ts
|
|
40042
40052
|
* await droppedAsset.deleteDroppedAsset();
|
|
@@ -40055,6 +40065,8 @@ class DroppedAsset extends Asset {
|
|
|
40055
40065
|
/**
|
|
40056
40066
|
* Retrieves the data object for a dropped asset.
|
|
40057
40067
|
*
|
|
40068
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
40069
|
+
*
|
|
40058
40070
|
* @category Data Objects
|
|
40059
40071
|
*
|
|
40060
40072
|
* @example
|
|
@@ -40087,6 +40099,8 @@ class DroppedAsset extends Asset {
|
|
|
40087
40099
|
* @remarks
|
|
40088
40100
|
* 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
|
|
40089
40101
|
*
|
|
40102
|
+
* @keywords set, assign, store, save, data, object, state
|
|
40103
|
+
*
|
|
40090
40104
|
* @category Data Objects
|
|
40091
40105
|
*
|
|
40092
40106
|
* @example
|
|
@@ -40119,6 +40133,8 @@ class DroppedAsset extends Asset {
|
|
|
40119
40133
|
* @remarks
|
|
40120
40134
|
* 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
|
|
40121
40135
|
*
|
|
40136
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
40137
|
+
*
|
|
40122
40138
|
* @category Data Objects
|
|
40123
40139
|
*
|
|
40124
40140
|
* @example
|
|
@@ -40148,6 +40164,8 @@ class DroppedAsset extends Asset {
|
|
|
40148
40164
|
* @remarks
|
|
40149
40165
|
* 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
|
|
40150
40166
|
*
|
|
40167
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
40168
|
+
*
|
|
40151
40169
|
* @category Data Objects
|
|
40152
40170
|
*
|
|
40153
40171
|
* @example
|
|
@@ -40172,6 +40190,8 @@ class DroppedAsset extends Asset {
|
|
|
40172
40190
|
/**
|
|
40173
40191
|
* Updates broadcast options for a dropped asset.
|
|
40174
40192
|
*
|
|
40193
|
+
* @keywords broadcast, dropped asset settings
|
|
40194
|
+
*
|
|
40175
40195
|
* @example
|
|
40176
40196
|
* ```ts
|
|
40177
40197
|
* await droppedAsset.updateBroadcast({
|
|
@@ -40195,6 +40215,8 @@ class DroppedAsset extends Asset {
|
|
|
40195
40215
|
/**
|
|
40196
40216
|
* Updates click options for a dropped asset.
|
|
40197
40217
|
*
|
|
40218
|
+
* @keywords click, link, interaction, url, dropped asset settings
|
|
40219
|
+
*
|
|
40198
40220
|
* @example
|
|
40199
40221
|
* ```ts
|
|
40200
40222
|
* await droppedAsset.updateClickType({
|
|
@@ -40235,6 +40257,8 @@ class DroppedAsset extends Asset {
|
|
|
40235
40257
|
/**
|
|
40236
40258
|
* Adds an array of links to an asset. Maximum is 20 links.
|
|
40237
40259
|
*
|
|
40260
|
+
* @keywords links, multiple, clickable, urls, hyperlinks, dropped asset settings
|
|
40261
|
+
*
|
|
40238
40262
|
* @example
|
|
40239
40263
|
* ```ts
|
|
40240
40264
|
* await droppedAsset.setClickableLinkMulti({
|
|
@@ -40275,6 +40299,8 @@ class DroppedAsset extends Asset {
|
|
|
40275
40299
|
* @remarks
|
|
40276
40300
|
* Pass in an 'existingLinkId' to edit an existing link.
|
|
40277
40301
|
*
|
|
40302
|
+
* @keywords links, multiple, clickable, urls, dropped asset settings
|
|
40303
|
+
*
|
|
40278
40304
|
* @example
|
|
40279
40305
|
* ```ts
|
|
40280
40306
|
* await droppedAsset.updateClickableLinkMulti({
|
|
@@ -40308,6 +40334,8 @@ class DroppedAsset extends Asset {
|
|
|
40308
40334
|
/**
|
|
40309
40335
|
* Removes a clickable link from a dropped asset.
|
|
40310
40336
|
*
|
|
40337
|
+
* @keywords remove, delete, link, clickable, url, erase, dropped asset settings
|
|
40338
|
+
*
|
|
40311
40339
|
* @example
|
|
40312
40340
|
* ```ts
|
|
40313
40341
|
* await droppedAsset.removeClickableLink({ linkId: "link-id" });
|
|
@@ -40329,6 +40357,8 @@ class DroppedAsset extends Asset {
|
|
|
40329
40357
|
/**
|
|
40330
40358
|
* Updates text and style of a dropped asset.
|
|
40331
40359
|
*
|
|
40360
|
+
* @keywords text, style, dropped asset settings
|
|
40361
|
+
*
|
|
40332
40362
|
* @example
|
|
40333
40363
|
* ```ts
|
|
40334
40364
|
* const style = {
|
|
@@ -40355,6 +40385,8 @@ class DroppedAsset extends Asset {
|
|
|
40355
40385
|
/**
|
|
40356
40386
|
* Updates media options for a dropped asset.
|
|
40357
40387
|
*
|
|
40388
|
+
* @keywords media, video, audio, dropped asset settings
|
|
40389
|
+
*
|
|
40358
40390
|
* @example
|
|
40359
40391
|
* ```ts
|
|
40360
40392
|
* await droppedAsset.updateMediaType({
|
|
@@ -40392,6 +40424,8 @@ class DroppedAsset extends Asset {
|
|
|
40392
40424
|
/**
|
|
40393
40425
|
* Updates mute zone options for a dropped asset.
|
|
40394
40426
|
*
|
|
40427
|
+
* @keywords mute, zone, dropped asset settings
|
|
40428
|
+
*
|
|
40395
40429
|
* @example
|
|
40396
40430
|
* ```ts
|
|
40397
40431
|
* await droppedAsset.updateMuteZone(true);
|
|
@@ -40410,6 +40444,8 @@ class DroppedAsset extends Asset {
|
|
|
40410
40444
|
/**
|
|
40411
40445
|
* Updates landmark zone options for a dropped asset.
|
|
40412
40446
|
*
|
|
40447
|
+
* @keywords landmark, zone, dropped asset settings
|
|
40448
|
+
*
|
|
40413
40449
|
* @example
|
|
40414
40450
|
* ```ts
|
|
40415
40451
|
* await droppedAsset.updateLandmarkZone({
|
|
@@ -40433,6 +40469,8 @@ class DroppedAsset extends Asset {
|
|
|
40433
40469
|
/**
|
|
40434
40470
|
* Updates webhook zone options for a dropped asset.
|
|
40435
40471
|
*
|
|
40472
|
+
* @keywords webhook, zone, dropped asset settings
|
|
40473
|
+
*
|
|
40436
40474
|
* @example
|
|
40437
40475
|
* ```ts
|
|
40438
40476
|
* await droppedAsset.updateWebhookZone(true);
|
|
@@ -40451,6 +40489,8 @@ class DroppedAsset extends Asset {
|
|
|
40451
40489
|
/**
|
|
40452
40490
|
* Moves a dropped asset to specified coordinates.
|
|
40453
40491
|
*
|
|
40492
|
+
* @keywords position, dropped asset settings
|
|
40493
|
+
*
|
|
40454
40494
|
* @example
|
|
40455
40495
|
* ```ts
|
|
40456
40496
|
* await droppedAsset.updatePosition(100, 200, 100);
|
|
@@ -40470,6 +40510,8 @@ class DroppedAsset extends Asset {
|
|
|
40470
40510
|
/**
|
|
40471
40511
|
* Updates private zone options for a dropped asset.
|
|
40472
40512
|
*
|
|
40513
|
+
* @keywords private, zone, dropped asset settings
|
|
40514
|
+
*
|
|
40473
40515
|
* @example
|
|
40474
40516
|
* ```ts
|
|
40475
40517
|
* await droppedAsset.updatePrivateZone({
|
|
@@ -40493,6 +40535,8 @@ class DroppedAsset extends Asset {
|
|
|
40493
40535
|
/**
|
|
40494
40536
|
* Updates the size of a dropped asset.
|
|
40495
40537
|
*
|
|
40538
|
+
* @keywords size, scale, dropped asset settings
|
|
40539
|
+
*
|
|
40496
40540
|
* @example
|
|
40497
40541
|
* ```ts
|
|
40498
40542
|
* await droppedAsset.assetScale(.5);
|
|
@@ -40511,6 +40555,8 @@ class DroppedAsset extends Asset {
|
|
|
40511
40555
|
/**
|
|
40512
40556
|
* Flip an dropped asset.
|
|
40513
40557
|
*
|
|
40558
|
+
* @keywords flip, layout, dropped asset settings
|
|
40559
|
+
*
|
|
40514
40560
|
* @example
|
|
40515
40561
|
* ```ts
|
|
40516
40562
|
* await droppedAsset.flip(.5);
|
|
@@ -40529,6 +40575,8 @@ class DroppedAsset extends Asset {
|
|
|
40529
40575
|
/**
|
|
40530
40576
|
* Change or remove media embedded in a dropped asset.
|
|
40531
40577
|
*
|
|
40578
|
+
* @keywords media, update, dropped asset settings
|
|
40579
|
+
*
|
|
40532
40580
|
* @example
|
|
40533
40581
|
* ```ts
|
|
40534
40582
|
* await droppedAsset.updateUploadedMediaSelected("LVWyxwNxI96eLjnXWwYO");
|
|
@@ -40547,6 +40595,8 @@ class DroppedAsset extends Asset {
|
|
|
40547
40595
|
/**
|
|
40548
40596
|
* Change or remove top and bottom layers of a dropped asset.
|
|
40549
40597
|
*
|
|
40598
|
+
* @keywords layers, images, urls, dropped asset settings
|
|
40599
|
+
*
|
|
40550
40600
|
* @example
|
|
40551
40601
|
* ```ts
|
|
40552
40602
|
* await droppedAsset.updateWebImageLayers("","https://www.shutterstock.com/image-vector/colorful-illustration-test-word-260nw-1438324490.jpg");
|
|
@@ -40566,6 +40616,8 @@ class DroppedAsset extends Asset {
|
|
|
40566
40616
|
/**
|
|
40567
40617
|
* Add a webhook to a dropped asset
|
|
40568
40618
|
*
|
|
40619
|
+
* @keywords webhook, dropped asset settings
|
|
40620
|
+
*
|
|
40569
40621
|
* @example
|
|
40570
40622
|
* ```ts
|
|
40571
40623
|
* await droppedAsset.addWebhook({
|
|
@@ -40605,6 +40657,8 @@ class DroppedAsset extends Asset {
|
|
|
40605
40657
|
/**
|
|
40606
40658
|
* Set the interactive settings on a dropped asset
|
|
40607
40659
|
*
|
|
40660
|
+
* @keywords interactive, dropped asset settings
|
|
40661
|
+
*
|
|
40608
40662
|
* @example
|
|
40609
40663
|
* ```ts
|
|
40610
40664
|
* await droppedAsset.setInteractiveSettings({
|
|
@@ -40632,6 +40686,8 @@ class DroppedAsset extends Asset {
|
|
|
40632
40686
|
/**
|
|
40633
40687
|
* Retrieve analytics for a dropped asset by day, week, month, quarter, or year
|
|
40634
40688
|
*
|
|
40689
|
+
* @keywords get, fetch, retrieve, load, analytics
|
|
40690
|
+
*
|
|
40635
40691
|
* @example
|
|
40636
40692
|
* ```ts
|
|
40637
40693
|
* const analytics = await droppedAsset.fetchDroppedAssetAnalytics({
|
|
@@ -40723,6 +40779,8 @@ class Ecosystem extends SDKController {
|
|
|
40723
40779
|
/**
|
|
40724
40780
|
* Retrieves the data object for a Topia ecosystem. Requires canUpdateEcosystemDataObjects permission to be set to true for the public key.
|
|
40725
40781
|
*
|
|
40782
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
40783
|
+
*
|
|
40726
40784
|
* @category Data Objects
|
|
40727
40785
|
*
|
|
40728
40786
|
* @example
|
|
@@ -40757,6 +40815,8 @@ class Ecosystem extends SDKController {
|
|
|
40757
40815
|
*
|
|
40758
40816
|
* 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
|
|
40759
40817
|
*
|
|
40818
|
+
* @keywords set, assign, store, save, data, object, state
|
|
40819
|
+
*
|
|
40760
40820
|
* @category Data Objects
|
|
40761
40821
|
*
|
|
40762
40822
|
* @example
|
|
@@ -40787,6 +40847,8 @@ class Ecosystem extends SDKController {
|
|
|
40787
40847
|
*
|
|
40788
40848
|
* 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
|
|
40789
40849
|
*
|
|
40850
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
40851
|
+
*
|
|
40790
40852
|
* @category Data Objects
|
|
40791
40853
|
*
|
|
40792
40854
|
* @example
|
|
@@ -40823,6 +40885,8 @@ class Ecosystem extends SDKController {
|
|
|
40823
40885
|
*
|
|
40824
40886
|
* 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
|
|
40825
40887
|
*
|
|
40888
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
40889
|
+
*
|
|
40826
40890
|
* @category Data Objects
|
|
40827
40891
|
*
|
|
40828
40892
|
* @example
|
|
@@ -40898,6 +40962,8 @@ class Scene extends SDKController {
|
|
|
40898
40962
|
/**
|
|
40899
40963
|
* Retrieves scene details and assigns response data to the instance.
|
|
40900
40964
|
*
|
|
40965
|
+
* @keywords get, fetch, retrieve, load, details, info, information, scene
|
|
40966
|
+
*
|
|
40901
40967
|
* @example
|
|
40902
40968
|
* ```ts
|
|
40903
40969
|
* await scene.fetchSceneById();
|
|
@@ -41005,6 +41071,8 @@ class World extends SDKController {
|
|
|
41005
41071
|
/**
|
|
41006
41072
|
* Retrieves the data object for a world. Must have valid interactive credentials from a visitor in the world.
|
|
41007
41073
|
*
|
|
41074
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
41075
|
+
*
|
|
41008
41076
|
* @category Data Objects
|
|
41009
41077
|
*
|
|
41010
41078
|
* @example
|
|
@@ -41034,6 +41102,8 @@ class World extends SDKController {
|
|
|
41034
41102
|
* @remarks
|
|
41035
41103
|
* 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
|
|
41036
41104
|
*
|
|
41105
|
+
* @keywords set, assign, store, save, data, object, state
|
|
41106
|
+
*
|
|
41037
41107
|
* @category Data Objects
|
|
41038
41108
|
*
|
|
41039
41109
|
* @example
|
|
@@ -41063,6 +41133,8 @@ class World extends SDKController {
|
|
|
41063
41133
|
* @remarks
|
|
41064
41134
|
* 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
|
|
41065
41135
|
*
|
|
41136
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
41137
|
+
*
|
|
41066
41138
|
* @category Data Objects
|
|
41067
41139
|
*
|
|
41068
41140
|
* @example
|
|
@@ -41094,6 +41166,8 @@ class World extends SDKController {
|
|
|
41094
41166
|
/**
|
|
41095
41167
|
* Retrieves details of a world.
|
|
41096
41168
|
*
|
|
41169
|
+
* @keywords get, fetch, retrieve, details, info, information, world
|
|
41170
|
+
*
|
|
41097
41171
|
* @example
|
|
41098
41172
|
* ```ts
|
|
41099
41173
|
* await world.fetchDetails();
|
|
@@ -41114,6 +41188,8 @@ class World extends SDKController {
|
|
|
41114
41188
|
/**
|
|
41115
41189
|
* Update details of a world.
|
|
41116
41190
|
*
|
|
41191
|
+
* @keywords update, modify, change, edit, world, settings, details
|
|
41192
|
+
*
|
|
41117
41193
|
* @example
|
|
41118
41194
|
* ```ts
|
|
41119
41195
|
* await world.updateDetails({
|
|
@@ -41158,6 +41234,8 @@ class World extends SDKController {
|
|
|
41158
41234
|
/**
|
|
41159
41235
|
* Set close world settings
|
|
41160
41236
|
*
|
|
41237
|
+
* @keywords update, modify, change, edit, world, settings, details, close, closed
|
|
41238
|
+
*
|
|
41161
41239
|
* @example
|
|
41162
41240
|
* ```ts
|
|
41163
41241
|
* await world.updateCloseWorldSettings({
|
|
@@ -41197,6 +41275,8 @@ class World extends SDKController {
|
|
|
41197
41275
|
/**
|
|
41198
41276
|
* Retrieve all assets dropped in a world.
|
|
41199
41277
|
*
|
|
41278
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets
|
|
41279
|
+
*
|
|
41200
41280
|
* @category Dropped Assets
|
|
41201
41281
|
*
|
|
41202
41282
|
* @example
|
|
@@ -41227,6 +41307,8 @@ class World extends SDKController {
|
|
|
41227
41307
|
/**
|
|
41228
41308
|
* Retrieve all assets dropped in a world matching uniqueName.
|
|
41229
41309
|
*
|
|
41310
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets, uniqueName
|
|
41311
|
+
*
|
|
41230
41312
|
* @category Dropped Assets
|
|
41231
41313
|
*
|
|
41232
41314
|
* @example
|
|
@@ -41261,6 +41343,8 @@ class World extends SDKController {
|
|
|
41261
41343
|
/**
|
|
41262
41344
|
* Retrieve all assets dropped in a world matching sceneDropId.
|
|
41263
41345
|
*
|
|
41346
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets, sceneDropId
|
|
41347
|
+
*
|
|
41264
41348
|
* @category Dropped Assets
|
|
41265
41349
|
*
|
|
41266
41350
|
* @example
|
|
@@ -41301,6 +41385,8 @@ class World extends SDKController {
|
|
|
41301
41385
|
/**
|
|
41302
41386
|
* Update multiple custom text dropped assets with a single style while preserving text for specified dropped assets only.
|
|
41303
41387
|
*
|
|
41388
|
+
* @keywords update, modify, change, edit, dropped assets, custom text, style, text
|
|
41389
|
+
*
|
|
41304
41390
|
* @category Dropped Assets
|
|
41305
41391
|
*
|
|
41306
41392
|
* @example
|
|
@@ -41332,6 +41418,8 @@ class World extends SDKController {
|
|
|
41332
41418
|
/**
|
|
41333
41419
|
* Retrieve all landmark zone assets dropped in a world.
|
|
41334
41420
|
*
|
|
41421
|
+
* @keywords get, fetch, retrieve, list, landmark, zones, dropped assets
|
|
41422
|
+
*
|
|
41335
41423
|
* @category Dropped Assets
|
|
41336
41424
|
*
|
|
41337
41425
|
* @example
|
|
@@ -41403,6 +41491,8 @@ class World extends SDKController {
|
|
|
41403
41491
|
/**
|
|
41404
41492
|
* Fetch a list of all scene drop ids and dropped assets in a world
|
|
41405
41493
|
*
|
|
41494
|
+
* @keywords get, fetch, retrieve, list, scenes
|
|
41495
|
+
*
|
|
41406
41496
|
* @category Scenes
|
|
41407
41497
|
*
|
|
41408
41498
|
* @example
|
|
@@ -41444,6 +41534,8 @@ class World extends SDKController {
|
|
|
41444
41534
|
/**
|
|
41445
41535
|
* Drops a scene in a world and returns sceneDropId.
|
|
41446
41536
|
*
|
|
41537
|
+
* @keywords drop, add, place, scene
|
|
41538
|
+
*
|
|
41447
41539
|
* @category Scenes
|
|
41448
41540
|
*
|
|
41449
41541
|
* @example
|
|
@@ -41478,6 +41570,8 @@ class World extends SDKController {
|
|
|
41478
41570
|
/**
|
|
41479
41571
|
* Replace the current scene of a world.
|
|
41480
41572
|
*
|
|
41573
|
+
* @keywords replace, change, scene
|
|
41574
|
+
*
|
|
41481
41575
|
* @category Scenes
|
|
41482
41576
|
*
|
|
41483
41577
|
* @example
|
|
@@ -41508,6 +41602,8 @@ class World extends SDKController {
|
|
|
41508
41602
|
/**
|
|
41509
41603
|
* Get all particles available
|
|
41510
41604
|
*
|
|
41605
|
+
* @keywords get, fetch, retrieve, list, particles
|
|
41606
|
+
*
|
|
41511
41607
|
* @category Particles
|
|
41512
41608
|
*
|
|
41513
41609
|
* @example
|
|
@@ -41531,6 +41627,8 @@ class World extends SDKController {
|
|
|
41531
41627
|
/**
|
|
41532
41628
|
* Trigger a particle effect at a position in the world
|
|
41533
41629
|
*
|
|
41630
|
+
* @keywords trigger, start, play, particle, effect
|
|
41631
|
+
*
|
|
41534
41632
|
* @category Particles
|
|
41535
41633
|
*
|
|
41536
41634
|
* @example
|
|
@@ -41567,6 +41665,8 @@ class World extends SDKController {
|
|
|
41567
41665
|
* Add an activity to a world
|
|
41568
41666
|
* excludeFromNotification is an array of visitorIds to exclude from the notification
|
|
41569
41667
|
*
|
|
41668
|
+
* @keywords start, trigger, activity
|
|
41669
|
+
*
|
|
41570
41670
|
* @example
|
|
41571
41671
|
* ```ts
|
|
41572
41672
|
* await world.triggerActivity({ type: "GAME_ON", assetId: "abc123" });
|
|
@@ -41589,6 +41689,8 @@ class World extends SDKController {
|
|
|
41589
41689
|
/**
|
|
41590
41690
|
* Display a message via a toast to all visitors currently in a world.
|
|
41591
41691
|
*
|
|
41692
|
+
* @keywords send, display, show, toast, message, notification
|
|
41693
|
+
*
|
|
41592
41694
|
* @example
|
|
41593
41695
|
* ```ts
|
|
41594
41696
|
* await world.fireToast({
|
|
@@ -41622,6 +41724,8 @@ class World extends SDKController {
|
|
|
41622
41724
|
* @remarks
|
|
41623
41725
|
* 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
|
|
41624
41726
|
*
|
|
41727
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
41728
|
+
*
|
|
41625
41729
|
* @category Data Objects
|
|
41626
41730
|
*
|
|
41627
41731
|
* @example
|
|
@@ -41647,6 +41751,8 @@ class World extends SDKController {
|
|
|
41647
41751
|
/**
|
|
41648
41752
|
* Retrieve all webhooks in a world.
|
|
41649
41753
|
*
|
|
41754
|
+
* @keywords get, fetch, retrieve, list, current, webhooks
|
|
41755
|
+
*
|
|
41650
41756
|
* @category Webhooks
|
|
41651
41757
|
*
|
|
41652
41758
|
* @example
|
|
@@ -41670,6 +41776,8 @@ class World extends SDKController {
|
|
|
41670
41776
|
/**
|
|
41671
41777
|
* Retrieve world analytics by day, week, month, quarter, or year
|
|
41672
41778
|
*
|
|
41779
|
+
* @keywords get, fetch, retrieve, analytics, stats, statistics, data, metrics
|
|
41780
|
+
*
|
|
41673
41781
|
* @category Analytics
|
|
41674
41782
|
*
|
|
41675
41783
|
* @example
|
|
@@ -41785,6 +41893,8 @@ class User extends SDKController {
|
|
|
41785
41893
|
/*
|
|
41786
41894
|
* Verify user has valid interactive credentials
|
|
41787
41895
|
*
|
|
41896
|
+
* @keywords check, verify, validate, credentials, authentication, authorization, interactive
|
|
41897
|
+
*
|
|
41788
41898
|
* @example
|
|
41789
41899
|
* ```ts
|
|
41790
41900
|
* await user.checkInteractiveCredentials();
|
|
@@ -41806,6 +41916,8 @@ class User extends SDKController {
|
|
|
41806
41916
|
/**
|
|
41807
41917
|
* Returns all avatars owned by User
|
|
41808
41918
|
*
|
|
41919
|
+
* @keywords get, fetch, retrieve, list, avatars, characters
|
|
41920
|
+
*
|
|
41809
41921
|
* @category Avatars
|
|
41810
41922
|
*
|
|
41811
41923
|
* @example
|
|
@@ -41829,6 +41941,8 @@ class User extends SDKController {
|
|
|
41829
41941
|
/**
|
|
41830
41942
|
* Add a new avatar
|
|
41831
41943
|
*
|
|
41944
|
+
* @keywords add, create, upload, avatar, character
|
|
41945
|
+
*
|
|
41832
41946
|
* @category Avatars
|
|
41833
41947
|
*
|
|
41834
41948
|
* @example
|
|
@@ -41911,6 +42025,8 @@ class User extends SDKController {
|
|
|
41911
42025
|
/**
|
|
41912
42026
|
* Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
|
|
41913
42027
|
*
|
|
42028
|
+
* @keywords update, modify, change, edit, avatar, character
|
|
42029
|
+
*
|
|
41914
42030
|
* @category Avatars
|
|
41915
42031
|
*
|
|
41916
42032
|
* @example
|
|
@@ -41993,6 +42109,8 @@ class User extends SDKController {
|
|
|
41993
42109
|
/**
|
|
41994
42110
|
* Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
|
|
41995
42111
|
*
|
|
42112
|
+
* @keywords delete, remove, erase, destroy, eliminate, avatar
|
|
42113
|
+
*
|
|
41996
42114
|
* @category Avatars
|
|
41997
42115
|
*
|
|
41998
42116
|
* @example
|
|
@@ -42014,6 +42132,8 @@ class User extends SDKController {
|
|
|
42014
42132
|
/**
|
|
42015
42133
|
* Returns all assets owned by User when an email address is provided.
|
|
42016
42134
|
*
|
|
42135
|
+
* @keywords get, fetch, retrieve, list, user assets, objects
|
|
42136
|
+
*
|
|
42017
42137
|
* @category Assets
|
|
42018
42138
|
*
|
|
42019
42139
|
* @example
|
|
@@ -42044,6 +42164,8 @@ class User extends SDKController {
|
|
|
42044
42164
|
/**
|
|
42045
42165
|
* Returns all platform assets.
|
|
42046
42166
|
*
|
|
42167
|
+
* @keywords get, fetch, retrieve, list, platform assets, objects
|
|
42168
|
+
*
|
|
42047
42169
|
* @category Assets
|
|
42048
42170
|
*
|
|
42049
42171
|
* @example
|
|
@@ -42067,6 +42189,8 @@ class User extends SDKController {
|
|
|
42067
42189
|
/**
|
|
42068
42190
|
* Returns all scenes owned by User.
|
|
42069
42191
|
*
|
|
42192
|
+
* @keywords get, fetch, retrieve, list, user scenes
|
|
42193
|
+
*
|
|
42070
42194
|
* @category Scenes
|
|
42071
42195
|
*
|
|
42072
42196
|
* @example
|
|
@@ -42097,6 +42221,8 @@ class User extends SDKController {
|
|
|
42097
42221
|
/**
|
|
42098
42222
|
* 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.
|
|
42099
42223
|
*
|
|
42224
|
+
* @keywords get, fetch, retrieve, list, user worlds
|
|
42225
|
+
*
|
|
42100
42226
|
* @category Worlds
|
|
42101
42227
|
*
|
|
42102
42228
|
* @example
|
|
@@ -42132,6 +42258,8 @@ class User extends SDKController {
|
|
|
42132
42258
|
/**
|
|
42133
42259
|
* 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.
|
|
42134
42260
|
*
|
|
42261
|
+
* @keywords get, fetch, retrieve, list, admin worlds, user worlds
|
|
42262
|
+
*
|
|
42135
42263
|
* @category Worlds
|
|
42136
42264
|
*
|
|
42137
42265
|
* @example
|
|
@@ -42161,6 +42289,8 @@ class User extends SDKController {
|
|
|
42161
42289
|
/**
|
|
42162
42290
|
* Retrieves ids of all dropped assets in all worlds with a matching interactivePublicKey.
|
|
42163
42291
|
*
|
|
42292
|
+
* @keywords get, fetch, retrieve, list, interactive worlds, public key
|
|
42293
|
+
*
|
|
42164
42294
|
* @category Dropped Assets
|
|
42165
42295
|
*
|
|
42166
42296
|
* @example
|
|
@@ -42185,6 +42315,8 @@ class User extends SDKController {
|
|
|
42185
42315
|
/**
|
|
42186
42316
|
* Send an email
|
|
42187
42317
|
*
|
|
42318
|
+
* @keywords send, email, message, notify
|
|
42319
|
+
*
|
|
42188
42320
|
* @example
|
|
42189
42321
|
* ```ts
|
|
42190
42322
|
* const html = `<p><b>Hello World!</b></p><p>This email is being sent from via SDK.</p>`
|
|
@@ -42208,6 +42340,8 @@ class User extends SDKController {
|
|
|
42208
42340
|
/**
|
|
42209
42341
|
* Get expressions
|
|
42210
42342
|
*
|
|
42343
|
+
* @keywords get, fetch, retrieve, list, expressions, emotes
|
|
42344
|
+
*
|
|
42211
42345
|
* @category Expressions
|
|
42212
42346
|
*
|
|
42213
42347
|
* @example
|
|
@@ -42234,6 +42368,8 @@ class User extends SDKController {
|
|
|
42234
42368
|
/**
|
|
42235
42369
|
* Retrieves the data object for a user.
|
|
42236
42370
|
*
|
|
42371
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
42372
|
+
*
|
|
42237
42373
|
* @category Data Objects
|
|
42238
42374
|
*
|
|
42239
42375
|
* @example
|
|
@@ -42263,6 +42399,8 @@ class User extends SDKController {
|
|
|
42263
42399
|
/**
|
|
42264
42400
|
* Sets the data object for a user.
|
|
42265
42401
|
*
|
|
42402
|
+
* @keywords set, assign, store, save, data, object, state
|
|
42403
|
+
*
|
|
42266
42404
|
* @remarks
|
|
42267
42405
|
* 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
|
|
42268
42406
|
*
|
|
@@ -42297,6 +42435,8 @@ class User extends SDKController {
|
|
|
42297
42435
|
/**
|
|
42298
42436
|
* Updates the data object for a user.
|
|
42299
42437
|
*
|
|
42438
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
42439
|
+
*
|
|
42300
42440
|
* @remarks
|
|
42301
42441
|
* 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
|
|
42302
42442
|
*
|
|
@@ -42329,6 +42469,8 @@ class User extends SDKController {
|
|
|
42329
42469
|
/**
|
|
42330
42470
|
* 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.
|
|
42331
42471
|
*
|
|
42472
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
42473
|
+
*
|
|
42332
42474
|
* @remarks
|
|
42333
42475
|
* 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
|
|
42334
42476
|
*
|
|
@@ -42400,6 +42542,8 @@ class Visitor extends User {
|
|
|
42400
42542
|
/**
|
|
42401
42543
|
* Get a single visitor from a world
|
|
42402
42544
|
*
|
|
42545
|
+
* @keywords get, fetch, retrieve, load, visitor, details
|
|
42546
|
+
*
|
|
42403
42547
|
* @example
|
|
42404
42548
|
* ```ts
|
|
42405
42549
|
* await visitor.fetchVisitor();
|
|
@@ -42433,6 +42577,8 @@ class Visitor extends User {
|
|
|
42433
42577
|
/**
|
|
42434
42578
|
* Teleport or walk a visitor currently in a world to a single set of coordinates.
|
|
42435
42579
|
*
|
|
42580
|
+
* @keywords move, teleport, walk, position, coordinate, location, place
|
|
42581
|
+
*
|
|
42436
42582
|
* @example
|
|
42437
42583
|
* ```ts
|
|
42438
42584
|
* await visitor.moveVisitor({
|
|
@@ -42465,6 +42611,8 @@ class Visitor extends User {
|
|
|
42465
42611
|
/**
|
|
42466
42612
|
* Display a message via a toast to a visitor currently in a world.
|
|
42467
42613
|
*
|
|
42614
|
+
* @keywords toast, message, notification, alert, display, show, popup
|
|
42615
|
+
*
|
|
42468
42616
|
* @example
|
|
42469
42617
|
* ```ts
|
|
42470
42618
|
* await visitor.fireToast({
|
|
@@ -42495,6 +42643,8 @@ class Visitor extends User {
|
|
|
42495
42643
|
/**
|
|
42496
42644
|
* Open an iframe in a drawer or modal for a visitor currently in a world.
|
|
42497
42645
|
*
|
|
42646
|
+
* @keywords open, iframe, drawer, modal, link, url, website, web page
|
|
42647
|
+
*
|
|
42498
42648
|
* @category iframes
|
|
42499
42649
|
*
|
|
42500
42650
|
* @example
|
|
@@ -42529,6 +42679,8 @@ class Visitor extends User {
|
|
|
42529
42679
|
/**
|
|
42530
42680
|
* Reload an iframe for a visitor currently in a world.
|
|
42531
42681
|
*
|
|
42682
|
+
* @keywords reload, iframe, drawer, modal, link, url, website, web page
|
|
42683
|
+
*
|
|
42532
42684
|
* @category iframes
|
|
42533
42685
|
*
|
|
42534
42686
|
* @example
|
|
@@ -42552,6 +42704,8 @@ class Visitor extends User {
|
|
|
42552
42704
|
/**
|
|
42553
42705
|
* Close an iframe for a visitor currently in a world.
|
|
42554
42706
|
*
|
|
42707
|
+
* @keywords close, iframe, drawer, modal
|
|
42708
|
+
*
|
|
42555
42709
|
* @category iframes
|
|
42556
42710
|
*
|
|
42557
42711
|
* @example
|
|
@@ -42575,6 +42729,8 @@ class Visitor extends User {
|
|
|
42575
42729
|
/**
|
|
42576
42730
|
* Mute and turn video off for a visitor currently in a world.
|
|
42577
42731
|
*
|
|
42732
|
+
* @keywords mute, video, av, turn off, disable
|
|
42733
|
+
*
|
|
42578
42734
|
* @example
|
|
42579
42735
|
* ```ts
|
|
42580
42736
|
* await visitor.turnAVOff();
|
|
@@ -42596,6 +42752,8 @@ class Visitor extends User {
|
|
|
42596
42752
|
/**
|
|
42597
42753
|
* Get expressions
|
|
42598
42754
|
*
|
|
42755
|
+
* @keywords get, fetch, retrieve, list, expressions, emotes
|
|
42756
|
+
*
|
|
42599
42757
|
* @category Expressions
|
|
42600
42758
|
*
|
|
42601
42759
|
* @example
|
|
@@ -42621,6 +42779,8 @@ class Visitor extends User {
|
|
|
42621
42779
|
/**
|
|
42622
42780
|
* Grant expression to a visitor by id or name.
|
|
42623
42781
|
*
|
|
42782
|
+
* @keywords grant, give, add, expression, emote
|
|
42783
|
+
*
|
|
42624
42784
|
* @category Expressions
|
|
42625
42785
|
*
|
|
42626
42786
|
* @example
|
|
@@ -42652,6 +42812,8 @@ class Visitor extends User {
|
|
|
42652
42812
|
/**
|
|
42653
42813
|
* Get all particles available
|
|
42654
42814
|
*
|
|
42815
|
+
* @keywords get, fetch, retrieve, list, particles, effects
|
|
42816
|
+
*
|
|
42655
42817
|
* @category Particle Effects
|
|
42656
42818
|
*
|
|
42657
42819
|
* @example
|
|
@@ -42675,6 +42837,8 @@ class Visitor extends User {
|
|
|
42675
42837
|
/**
|
|
42676
42838
|
* Trigger a particle effect on a visitor
|
|
42677
42839
|
*
|
|
42840
|
+
* @keywords trigger, particle, effect, spawn, start, play
|
|
42841
|
+
*
|
|
42678
42842
|
* @category Particle Effects
|
|
42679
42843
|
*
|
|
42680
42844
|
* @example
|
|
@@ -42708,6 +42872,8 @@ class Visitor extends User {
|
|
|
42708
42872
|
/**
|
|
42709
42873
|
* Retrieves the data object for a visitor.
|
|
42710
42874
|
*
|
|
42875
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
42876
|
+
*
|
|
42711
42877
|
* @category Data Objects
|
|
42712
42878
|
*
|
|
42713
42879
|
* @example
|
|
@@ -42737,6 +42903,8 @@ class Visitor extends User {
|
|
|
42737
42903
|
/**
|
|
42738
42904
|
* Sets the data object for a visitor.
|
|
42739
42905
|
*
|
|
42906
|
+
* @keywords set, assign, store, save, data, object, state
|
|
42907
|
+
*
|
|
42740
42908
|
* @remarks
|
|
42741
42909
|
* 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
|
|
42742
42910
|
*
|
|
@@ -42772,6 +42940,8 @@ class Visitor extends User {
|
|
|
42772
42940
|
* @remarks
|
|
42773
42941
|
* 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
|
|
42774
42942
|
*
|
|
42943
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
42944
|
+
*
|
|
42775
42945
|
* @category Data Objects
|
|
42776
42946
|
*
|
|
42777
42947
|
* @example
|
|
@@ -42802,6 +42972,8 @@ class Visitor extends User {
|
|
|
42802
42972
|
* @remarks
|
|
42803
42973
|
* 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
|
|
42804
42974
|
*
|
|
42975
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
42976
|
+
*
|
|
42805
42977
|
* @category Data Objects
|
|
42806
42978
|
*
|
|
42807
42979
|
* @example
|
|
@@ -42826,6 +42998,8 @@ class Visitor extends User {
|
|
|
42826
42998
|
/**
|
|
42827
42999
|
* Update analytics for a given public key. Must have valid interactive credentials from a visitor in the world.
|
|
42828
43000
|
*
|
|
43001
|
+
* @keywords update, modify, change, edit, analytics, analytic, stats, statistics, data
|
|
43002
|
+
*
|
|
42829
43003
|
* @example
|
|
42830
43004
|
* ```ts
|
|
42831
43005
|
* await visitor.updatePublicKeyAnalytics([{ analyticName: "joins", profileId, uniqueKey: profileId, urlSlug }]);
|
|
@@ -42848,6 +43022,8 @@ class Visitor extends User {
|
|
|
42848
43022
|
/**
|
|
42849
43023
|
* Setup signal to visitor
|
|
42850
43024
|
*
|
|
43025
|
+
* @keywords signal, webrtc, answer, connect, p2p
|
|
43026
|
+
*
|
|
42851
43027
|
* @example
|
|
42852
43028
|
* ```ts
|
|
42853
43029
|
* await visitor.sendSignalToVisitor(iceServers);
|
|
@@ -42997,6 +43173,8 @@ class WorldActivity extends SDKController {
|
|
|
42997
43173
|
/**
|
|
42998
43174
|
* Retrieve all visitors currently in a world.
|
|
42999
43175
|
*
|
|
43176
|
+
* @keywords get, fetch, retrieve, list, current, visitors, users, players
|
|
43177
|
+
*
|
|
43000
43178
|
* @category Visitors
|
|
43001
43179
|
*
|
|
43002
43180
|
* @example
|
|
@@ -43020,6 +43198,8 @@ class WorldActivity extends SDKController {
|
|
|
43020
43198
|
/**
|
|
43021
43199
|
* Retrieve all visitors currently in a Landmark Zone.
|
|
43022
43200
|
*
|
|
43201
|
+
* @keywords get, fetch, retrieve, list, zone, area, landmark, visitors, users
|
|
43202
|
+
*
|
|
43023
43203
|
* @category Visitors
|
|
43024
43204
|
*
|
|
43025
43205
|
* @example
|
|
@@ -43049,6 +43229,8 @@ class WorldActivity extends SDKController {
|
|
|
43049
43229
|
* Optionally refetch visitors, teleport or walk visitors to new location,
|
|
43050
43230
|
* and scatter visitors by any number so that they don't all move to the exact same location.
|
|
43051
43231
|
*
|
|
43232
|
+
* @keywords move, teleport, position, coordinate, visitors, users, relocate
|
|
43233
|
+
*
|
|
43052
43234
|
* @category Visitors
|
|
43053
43235
|
*
|
|
43054
43236
|
* @example
|
|
@@ -43085,6 +43267,8 @@ class WorldActivity extends SDKController {
|
|
|
43085
43267
|
/**
|
|
43086
43268
|
* Teleport or walk a list of visitors currently in a world to various coordinates.
|
|
43087
43269
|
*
|
|
43270
|
+
* @keywords move, teleport, position, coordinate, visitor, user, relocate
|
|
43271
|
+
*
|
|
43088
43272
|
* @category Visitors
|
|
43089
43273
|
*
|
|
43090
43274
|
* @example
|
|
@@ -43152,9 +43336,19 @@ _WorldActivity_visitorsMap = new WeakMap();
|
|
|
43152
43336
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43153
43337
|
============================================================================ */
|
|
43154
43338
|
/**
|
|
43339
|
+
* Factory for creating Asset instances. Use this factory to create or upload assets in the Topia platform.
|
|
43340
|
+
*
|
|
43341
|
+
* @remarks
|
|
43342
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43343
|
+
*
|
|
43344
|
+
* @keywords asset, factory, create, upload, instantiate, topia
|
|
43345
|
+
*
|
|
43155
43346
|
* @example
|
|
43156
43347
|
* ```ts
|
|
43157
|
-
*
|
|
43348
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43349
|
+
* import { Topia, AssetFactory } from "@rtsdk/topia";
|
|
43350
|
+
* const topia = new Topia({ config });
|
|
43351
|
+
* export const Asset = new AssetFactory(topia);
|
|
43158
43352
|
* ```
|
|
43159
43353
|
*/
|
|
43160
43354
|
class AssetFactory extends SDKController {
|
|
@@ -43162,11 +43356,32 @@ class AssetFactory extends SDKController {
|
|
|
43162
43356
|
super(topia);
|
|
43163
43357
|
}
|
|
43164
43358
|
/**
|
|
43165
|
-
* Instantiate a new instance of Asset class.
|
|
43359
|
+
* Instantiate a new instance of Asset class with the specified asset ID.
|
|
43360
|
+
*
|
|
43361
|
+
* @remarks
|
|
43362
|
+
* This method creates a new Asset controller instance that can be used to interact with an existing asset.
|
|
43363
|
+
* It does not create a new asset in the database.
|
|
43364
|
+
*
|
|
43365
|
+
* @keywords create, instantiate, asset, initialize, get, instance
|
|
43166
43366
|
*
|
|
43167
43367
|
* @example
|
|
43168
|
-
* ```
|
|
43169
|
-
*
|
|
43368
|
+
* ```ts
|
|
43369
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43370
|
+
* import { Asset } from "utils/topiaInit.ts";
|
|
43371
|
+
*
|
|
43372
|
+
* // Create an Asset instance with credentials
|
|
43373
|
+
* const assetInstance = await Asset.create(assetId, {
|
|
43374
|
+
* credentials: {
|
|
43375
|
+
* interactiveNonce,
|
|
43376
|
+
* interactivePublicKey,
|
|
43377
|
+
* assetId,
|
|
43378
|
+
* urlSlug,
|
|
43379
|
+
* visitorId
|
|
43380
|
+
* }
|
|
43381
|
+
* });
|
|
43382
|
+
*
|
|
43383
|
+
* // Use the instance to interact with the asset
|
|
43384
|
+
* await assetInstance.fetchAssetById();
|
|
43170
43385
|
* ```
|
|
43171
43386
|
*
|
|
43172
43387
|
* @returns {Asset} Returns a new Asset object with the asset id.
|
|
@@ -43175,22 +43390,37 @@ class AssetFactory extends SDKController {
|
|
|
43175
43390
|
return new Asset(this.topia, id, options);
|
|
43176
43391
|
}
|
|
43177
43392
|
/**
|
|
43178
|
-
* Upload a new Asset and return a new instance of Asset class.
|
|
43393
|
+
* Upload a new Asset to the Topia platform and return a new instance of Asset class.
|
|
43394
|
+
*
|
|
43395
|
+
* @remarks
|
|
43396
|
+
* This method both creates a new asset in the database and returns an Asset controller instance.
|
|
43397
|
+
* A valid API key with appropriate permissions is required.
|
|
43398
|
+
*
|
|
43399
|
+
* @keywords upload, create, new, asset, add, store
|
|
43179
43400
|
*
|
|
43180
43401
|
* @example
|
|
43181
|
-
* ```
|
|
43402
|
+
* ```ts
|
|
43403
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43404
|
+
* import { Asset } from "utils/topiaInit.ts";
|
|
43405
|
+
*
|
|
43406
|
+
* // Prepare the asset payload
|
|
43182
43407
|
* const assetPayload = {
|
|
43183
|
-
* assetName: "
|
|
43184
|
-
* bottomLayerURL: "https://example.
|
|
43408
|
+
* assetName: "My Decorative Asset",
|
|
43409
|
+
* bottomLayerURL: "https://example.com/bottom-layer.png",
|
|
43185
43410
|
* creatorTags: { "decorations": true },
|
|
43186
43411
|
* tagJson: "[{"label":"decorations","value":"decorations"}]",
|
|
43187
43412
|
* isPublic: true,
|
|
43188
|
-
* topLayerURL: "https://example.
|
|
43189
|
-
* }
|
|
43413
|
+
* topLayerURL: "https://example.com/top-layer.png"
|
|
43414
|
+
* };
|
|
43415
|
+
*
|
|
43416
|
+
* // Upload the asset using your API key
|
|
43190
43417
|
* const asset = await Asset.upload(assetPayload, apiKey);
|
|
43418
|
+
*
|
|
43419
|
+
* // Access the new asset's properties
|
|
43420
|
+
* console.log(asset.id);
|
|
43191
43421
|
* ```
|
|
43192
43422
|
*
|
|
43193
|
-
* @returns {
|
|
43423
|
+
* @returns {Asset} Returns a new Asset object with the asset details.
|
|
43194
43424
|
*/
|
|
43195
43425
|
upload(assetPayload, apiKey) {
|
|
43196
43426
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43240,9 +43470,19 @@ class AssetFactory extends SDKController {
|
|
|
43240
43470
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43241
43471
|
============================================================================ */
|
|
43242
43472
|
/**
|
|
43473
|
+
* Factory for creating and retrieving DroppedAsset instances. Use this factory to work with assets that have been placed in a Topia world.
|
|
43474
|
+
*
|
|
43475
|
+
* @remarks
|
|
43476
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43477
|
+
*
|
|
43478
|
+
* @keywords dropped asset, factory, create, get, retrieve, instantiate, topia
|
|
43479
|
+
*
|
|
43243
43480
|
* @example
|
|
43244
43481
|
* ```ts
|
|
43245
|
-
*
|
|
43482
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43483
|
+
* import { Topia, DroppedAssetFactory } from "@rtsdk/topia";
|
|
43484
|
+
* const topia = new Topia({ config });
|
|
43485
|
+
* export const DroppedAsset = new DroppedAssetFactory(topia);
|
|
43246
43486
|
* ```
|
|
43247
43487
|
*/
|
|
43248
43488
|
class DroppedAssetFactory extends SDKController {
|
|
@@ -43250,27 +43490,77 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43250
43490
|
super(topia);
|
|
43251
43491
|
}
|
|
43252
43492
|
/**
|
|
43253
|
-
* Instantiate a new instance of DroppedAsset class.
|
|
43493
|
+
* Instantiate a new instance of DroppedAsset class for an existing dropped asset in a world.
|
|
43494
|
+
*
|
|
43495
|
+
* @remarks
|
|
43496
|
+
* This method creates a controller instance for an existing dropped asset but does not fetch its properties.
|
|
43497
|
+
* Use this when you need a lightweight instance and will fetch properties separately if needed or when you already have the properties.
|
|
43498
|
+
*
|
|
43499
|
+
* @keywords create, instantiate, dropped asset, initialize, instance
|
|
43254
43500
|
*
|
|
43255
43501
|
* @example
|
|
43256
|
-
* ```
|
|
43257
|
-
*
|
|
43502
|
+
* ```ts
|
|
43503
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43504
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
43505
|
+
*
|
|
43506
|
+
* // Create a DroppedAsset instance with credentials
|
|
43507
|
+
* const droppedAssetInstance = DroppedAsset.create(
|
|
43508
|
+
* assetId,
|
|
43509
|
+
* urlSlug,
|
|
43510
|
+
* {
|
|
43511
|
+
* credentials: {
|
|
43512
|
+
* interactiveNonce,
|
|
43513
|
+
* interactivePublicKey,
|
|
43514
|
+
* assetId,
|
|
43515
|
+
* urlSlug,
|
|
43516
|
+
* visitorId
|
|
43517
|
+
* }
|
|
43518
|
+
* }
|
|
43519
|
+
* );
|
|
43520
|
+
*
|
|
43521
|
+
* // Later fetch its properties if needed
|
|
43522
|
+
* await droppedAssetInstance.fetchDroppedAssetById();
|
|
43258
43523
|
* ```
|
|
43259
43524
|
*
|
|
43260
|
-
* @returns {DroppedAsset} Returns a new DroppedAsset object.
|
|
43525
|
+
* @returns {DroppedAsset} Returns a new DroppedAsset object without fetching its properties.
|
|
43261
43526
|
*/
|
|
43262
43527
|
create(id, urlSlug, options) {
|
|
43263
43528
|
return new DroppedAsset(this.topia, id, urlSlug, options);
|
|
43264
43529
|
}
|
|
43265
43530
|
/**
|
|
43266
|
-
* Instantiate a new instance of DroppedAsset class and
|
|
43531
|
+
* Instantiate a new instance of DroppedAsset class and automatically fetch all its properties.
|
|
43532
|
+
*
|
|
43533
|
+
* @remarks
|
|
43534
|
+
* This method creates a controller instance and immediately fetches all properties of the dropped asset.
|
|
43535
|
+
* It's a convenience method that combines creating an instance and calling fetchDroppedAssetById().
|
|
43536
|
+
*
|
|
43537
|
+
* @keywords get, fetch, retrieve, dropped asset, load, instance
|
|
43267
43538
|
*
|
|
43268
43539
|
* @example
|
|
43269
|
-
* ```
|
|
43270
|
-
*
|
|
43540
|
+
* ```ts
|
|
43541
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43542
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
43543
|
+
*
|
|
43544
|
+
* // Get a fully populated DroppedAsset instance
|
|
43545
|
+
* const droppedAssetInstance = await DroppedAsset.get(
|
|
43546
|
+
* assetId,
|
|
43547
|
+
* urlSlug,
|
|
43548
|
+
* {
|
|
43549
|
+
* credentials: {
|
|
43550
|
+
* interactiveNonce,
|
|
43551
|
+
* interactivePublicKey,
|
|
43552
|
+
* assetId,
|
|
43553
|
+
* urlSlug,
|
|
43554
|
+
* visitorId
|
|
43555
|
+
* }
|
|
43556
|
+
* }
|
|
43557
|
+
* );
|
|
43558
|
+
*
|
|
43559
|
+
* // The properties are already loaded, so you can use them immediately
|
|
43560
|
+
* console.log(droppedAssetInstance.position);
|
|
43271
43561
|
* ```
|
|
43272
43562
|
*
|
|
43273
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
|
|
43563
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
|
|
43274
43564
|
*/
|
|
43275
43565
|
get(id, urlSlug, options) {
|
|
43276
43566
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43280,17 +43570,36 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43280
43570
|
});
|
|
43281
43571
|
}
|
|
43282
43572
|
/**
|
|
43283
|
-
* Searches
|
|
43573
|
+
* Searches for and retrieves a dropped asset by its unique name within a world.
|
|
43284
43574
|
*
|
|
43285
43575
|
* @remarks
|
|
43286
|
-
* 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.
|
|
43576
|
+
* 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.
|
|
43577
|
+
* Use this when you need to find a dropped asset by its uniqueName rather than its ID.
|
|
43578
|
+
*
|
|
43579
|
+
* @keywords find, search, unique name, retrieve, locate, lookup, dropped asset
|
|
43287
43580
|
*
|
|
43288
43581
|
* @example
|
|
43289
|
-
* ```
|
|
43290
|
-
*
|
|
43582
|
+
* ```ts
|
|
43583
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43584
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
43585
|
+
*
|
|
43586
|
+
* // Find and retrieve a dropped asset by its unique name
|
|
43587
|
+
* const droppedAssetInstance = await DroppedAsset.getWithUniqueName(
|
|
43588
|
+
* "banner-sign-northeast",
|
|
43589
|
+
* "my-world-slug",
|
|
43590
|
+
* "your-interactive-secret",
|
|
43591
|
+
* {
|
|
43592
|
+
* apiKey: "your-api-key",
|
|
43593
|
+
* interactivePublicKey: "your-public-key",
|
|
43594
|
+
* // other credentials...
|
|
43595
|
+
* }
|
|
43596
|
+
* );
|
|
43597
|
+
*
|
|
43598
|
+
* // The properties are already loaded, so you can use them immediately
|
|
43599
|
+
* console.log(droppedAssetInstance.position);
|
|
43291
43600
|
* ```
|
|
43292
43601
|
*
|
|
43293
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
|
|
43602
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
|
|
43294
43603
|
*/
|
|
43295
43604
|
getWithUniqueName(uniqueName, urlSlug, interactiveSecret, credentials) {
|
|
43296
43605
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43317,23 +43626,59 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43317
43626
|
/**
|
|
43318
43627
|
* Drops an asset in a world and returns a new instance of DroppedAsset class with all properties.
|
|
43319
43628
|
*
|
|
43629
|
+
* @remarks
|
|
43630
|
+
* This method places an existing Asset into a world at specified coordinates, effectively "dropping" it into the environment.
|
|
43631
|
+
* You can customize various properties of the dropped asset during placement, such as scale, position, interactive settings, and visual layers.
|
|
43632
|
+
*
|
|
43633
|
+
* @keywords drop, place, add, create, position, asset, deploy
|
|
43634
|
+
*
|
|
43320
43635
|
* @example
|
|
43321
|
-
* ```
|
|
43322
|
-
*
|
|
43323
|
-
*
|
|
43324
|
-
|
|
43325
|
-
|
|
43326
|
-
|
|
43327
|
-
|
|
43328
|
-
|
|
43329
|
-
|
|
43330
|
-
|
|
43331
|
-
|
|
43332
|
-
|
|
43333
|
-
|
|
43636
|
+
* ```ts
|
|
43637
|
+
* // Import the pre-initialized factories from your app's initialization file
|
|
43638
|
+
* import { Asset, DroppedAsset } from "utils/topiaInit.ts";
|
|
43639
|
+
*
|
|
43640
|
+
* // First get an asset instance
|
|
43641
|
+
* const assetInstance = Asset.create("asset-id-123", {
|
|
43642
|
+
* credentials: {
|
|
43643
|
+
* interactiveNonce,
|
|
43644
|
+
* interactivePublicKey,
|
|
43645
|
+
* assetId,
|
|
43646
|
+
* urlSlug,
|
|
43647
|
+
* visitorId
|
|
43648
|
+
* }
|
|
43649
|
+
* });
|
|
43650
|
+
*
|
|
43651
|
+
* // Then drop (place) the asset in a world
|
|
43652
|
+
* const droppedAssetInstance = await DroppedAsset.drop(
|
|
43653
|
+
* assetInstance,
|
|
43654
|
+
* {
|
|
43655
|
+
* // Basic positioning and appearance
|
|
43656
|
+
* position: { x: 250, y: 350 },
|
|
43657
|
+
* assetScale: 1.5,
|
|
43658
|
+
* flipped: true,
|
|
43659
|
+
* uniqueName: "welcome-sign",
|
|
43660
|
+
* urlSlug: "my-world-slug",
|
|
43661
|
+
*
|
|
43662
|
+
* // For web images (optional)
|
|
43663
|
+
* layer0: "https://example.com/background.png",
|
|
43664
|
+
* layer1: "https://example.com/foreground.png",
|
|
43665
|
+
*
|
|
43666
|
+
* // For interactive assets (optional)
|
|
43667
|
+
* interactivePublicKey: "your-public-key",
|
|
43668
|
+
* isInteractive: true,
|
|
43669
|
+
*
|
|
43670
|
+
* // For clickable assets (optional)
|
|
43671
|
+
* clickType: "link",
|
|
43672
|
+
* clickableLink: "https://example.com",
|
|
43673
|
+
* clickableLinkTitle: "Visit Example"
|
|
43674
|
+
* }
|
|
43675
|
+
* );
|
|
43676
|
+
*
|
|
43677
|
+
* // The dropped asset is ready to use
|
|
43678
|
+
* console.log(droppedAssetInstance.id);
|
|
43334
43679
|
* ```
|
|
43335
43680
|
*
|
|
43336
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object
|
|
43681
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object representing the placed asset in the world.
|
|
43337
43682
|
*/
|
|
43338
43683
|
drop(asset, { assetScale = 1, clickType, clickableDisplayTextDescription, clickableDisplayTextHeadline, clickableLink, clickableLinkTitle, flipped, interactivePublicKey, isInteractive, isForceLinkInIframe, isOpenLinkInDrawer, isTextTopLayer = false, layer0, layer1, position: { x, y }, sceneDropId, text, textColor, textFontFamily, textSize, textWeight, textWidth, uniqueName, urlSlug, yOrderAdjust, }) {
|
|
43339
43684
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43418,9 +43763,20 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43418
43763
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43419
43764
|
============================================================================ */
|
|
43420
43765
|
/**
|
|
43766
|
+
* Factory for creating Ecosystem instances. Use this factory to work with ecosystem-wide data and operations.
|
|
43767
|
+
*
|
|
43768
|
+
* @remarks
|
|
43769
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43770
|
+
* The Ecosystem controller provides methods to interact with data shared across multiple worlds.
|
|
43771
|
+
*
|
|
43772
|
+
* @keywords ecosystem, factory, create, multi-world, global, shared data, platform
|
|
43773
|
+
*
|
|
43421
43774
|
* @example
|
|
43422
43775
|
* ```ts
|
|
43423
|
-
*
|
|
43776
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43777
|
+
* import { Topia, EcosystemFactory } from "@rtsdk/topia";
|
|
43778
|
+
* const topia = new Topia({ config });
|
|
43779
|
+
* export const Ecosystem = new EcosystemFactory(topia);
|
|
43424
43780
|
* ```
|
|
43425
43781
|
*/
|
|
43426
43782
|
class EcosystemFactory {
|
|
@@ -43428,14 +43784,36 @@ class EcosystemFactory {
|
|
|
43428
43784
|
this.topia = topia;
|
|
43429
43785
|
}
|
|
43430
43786
|
/**
|
|
43431
|
-
* Instantiate a new instance of Ecosystem class.
|
|
43787
|
+
* Instantiate a new instance of Ecosystem class for interacting with ecosystem-wide data.
|
|
43788
|
+
*
|
|
43789
|
+
* @remarks
|
|
43790
|
+
* This method creates a controller instance for accessing and managing data that spans multiple worlds.
|
|
43791
|
+
* Use this for cross-world data sharing, global data objects, and ecosystem-wide operations.
|
|
43792
|
+
*
|
|
43793
|
+
* @keywords create, instantiate, ecosystem, initialize, global, shared data, platform
|
|
43432
43794
|
*
|
|
43433
43795
|
* @example
|
|
43434
|
-
* ```
|
|
43435
|
-
*
|
|
43796
|
+
* ```ts
|
|
43797
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43798
|
+
* import { Ecosystem } from "utils/topiaInit.ts";
|
|
43799
|
+
*
|
|
43800
|
+
* // Create an Ecosystem instance with credentials
|
|
43801
|
+
* const ecosystemInstance = Ecosystem.create({
|
|
43802
|
+
* credentials: {
|
|
43803
|
+
* interactiveNonce,
|
|
43804
|
+
* interactivePublicKey,
|
|
43805
|
+
* assetId,
|
|
43806
|
+
* urlSlug,
|
|
43807
|
+
* visitorId
|
|
43808
|
+
* }
|
|
43809
|
+
* });
|
|
43810
|
+
*
|
|
43811
|
+
* // Work with ecosystem-wide data objects
|
|
43812
|
+
* await ecosystemInstance.fetchDataObject("global-leaderboard");
|
|
43813
|
+
* await ecosystemInstance.setDataObject("global-leaderboard", { scores: [...] });
|
|
43436
43814
|
* ```
|
|
43437
43815
|
*
|
|
43438
|
-
* @returns {Ecosystem} Returns a new Ecosystem object.
|
|
43816
|
+
* @returns {Ecosystem} Returns a new Ecosystem object for interacting with ecosystem-wide data.
|
|
43439
43817
|
*/
|
|
43440
43818
|
create(options) {
|
|
43441
43819
|
return new Ecosystem(this.topia, options);
|
|
@@ -43472,9 +43850,20 @@ class EcosystemFactory {
|
|
|
43472
43850
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43473
43851
|
============================================================================ */
|
|
43474
43852
|
/**
|
|
43853
|
+
* Factory for creating Scene instances. Use this factory to work with scenes in the Topia platform.
|
|
43854
|
+
*
|
|
43855
|
+
* @remarks
|
|
43856
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43857
|
+
* Scenes represent the template or blueprint for a world's design and layout.
|
|
43858
|
+
*
|
|
43859
|
+
* @keywords scene, factory, create, template, blueprint, layout, design
|
|
43860
|
+
*
|
|
43475
43861
|
* @example
|
|
43476
43862
|
* ```ts
|
|
43477
|
-
*
|
|
43863
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43864
|
+
* import { Topia, SceneFactory } from "@rtsdk/topia";
|
|
43865
|
+
* const topia = new Topia({ config });
|
|
43866
|
+
* export const Scene = new SceneFactory(topia);
|
|
43478
43867
|
* ```
|
|
43479
43868
|
*/
|
|
43480
43869
|
class SceneFactory {
|
|
@@ -43483,14 +43872,38 @@ class SceneFactory {
|
|
|
43483
43872
|
this.create;
|
|
43484
43873
|
}
|
|
43485
43874
|
/**
|
|
43486
|
-
* Instantiate a new instance of Scene class.
|
|
43875
|
+
* Instantiate a new instance of Scene class for an existing scene in the platform.
|
|
43876
|
+
*
|
|
43877
|
+
* @remarks
|
|
43878
|
+
* This method creates a controller instance for working with a scene but does not fetch its properties.
|
|
43879
|
+
* Use this when you need to interact with a specific scene by its ID.
|
|
43880
|
+
*
|
|
43881
|
+
* @keywords create, instantiate, scene, initialize, instance, template
|
|
43487
43882
|
*
|
|
43488
43883
|
* @example
|
|
43489
|
-
* ```
|
|
43490
|
-
*
|
|
43884
|
+
* ```ts
|
|
43885
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43886
|
+
* import { Scene } from "utils/topiaInit.ts";
|
|
43887
|
+
*
|
|
43888
|
+
* // Create a Scene instance with credentials
|
|
43889
|
+
* const sceneInstance = Scene.create(
|
|
43890
|
+
* "scene-id-123",
|
|
43891
|
+
* {
|
|
43892
|
+
* credentials: {
|
|
43893
|
+
* interactiveNonce,
|
|
43894
|
+
* interactivePublicKey,
|
|
43895
|
+
* assetId,
|
|
43896
|
+
* urlSlug,
|
|
43897
|
+
* visitorId
|
|
43898
|
+
* }
|
|
43899
|
+
* }
|
|
43900
|
+
* );
|
|
43901
|
+
*
|
|
43902
|
+
* // Fetch scene details if needed
|
|
43903
|
+
* await sceneInstance.fetchSceneById();
|
|
43491
43904
|
* ```
|
|
43492
43905
|
*
|
|
43493
|
-
* @returns {Scene} Returns a new Scene object.
|
|
43906
|
+
* @returns {Scene} Returns a new Scene object for interacting with the specified scene.
|
|
43494
43907
|
*/
|
|
43495
43908
|
create(id, options) {
|
|
43496
43909
|
return new Scene(this.topia, id, options);
|
|
@@ -43545,9 +43958,20 @@ class SceneFactory {
|
|
|
43545
43958
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43546
43959
|
============================================================================ */
|
|
43547
43960
|
/**
|
|
43961
|
+
* Factory for creating User instances. Use this factory to work with user data in the Topia platform.
|
|
43962
|
+
*
|
|
43963
|
+
* @remarks
|
|
43964
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43965
|
+
* The User controller allows you to interact with user-specific information and operations.
|
|
43966
|
+
*
|
|
43967
|
+
* @keywords user, factory, create, account, profile, member, visitor
|
|
43968
|
+
*
|
|
43548
43969
|
* @example
|
|
43549
43970
|
* ```ts
|
|
43550
|
-
*
|
|
43971
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43972
|
+
* import { Topia, UserFactory } from "@rtsdk/topia";
|
|
43973
|
+
* const topia = new Topia({ config });
|
|
43974
|
+
* export const User = new UserFactory(topia);
|
|
43551
43975
|
* ```
|
|
43552
43976
|
*/
|
|
43553
43977
|
class UserFactory {
|
|
@@ -43555,14 +43979,36 @@ class UserFactory {
|
|
|
43555
43979
|
this.topia = topia;
|
|
43556
43980
|
}
|
|
43557
43981
|
/**
|
|
43558
|
-
* Instantiate a new instance of User class.
|
|
43982
|
+
* Instantiate a new instance of User class for working with user data.
|
|
43983
|
+
*
|
|
43984
|
+
* @remarks
|
|
43985
|
+
* This method creates a controller instance for interacting with user-specific operations.
|
|
43986
|
+
* The User controller doesn't require an ID since it represents the currently authenticated user.
|
|
43987
|
+
*
|
|
43988
|
+
* @keywords create, instantiate, user, initialize, account, profile, member
|
|
43559
43989
|
*
|
|
43560
43990
|
* @example
|
|
43561
|
-
* ```
|
|
43562
|
-
*
|
|
43991
|
+
* ```ts
|
|
43992
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43993
|
+
* import { User } from "utils/topiaInit.ts";
|
|
43994
|
+
*
|
|
43995
|
+
* // Create a User instance with credentials
|
|
43996
|
+
* const userInstance = User.create({
|
|
43997
|
+
* credentials: {
|
|
43998
|
+
* interactiveNonce,
|
|
43999
|
+
* interactivePublicKey,
|
|
44000
|
+
* assetId,
|
|
44001
|
+
* urlSlug,
|
|
44002
|
+
* visitorId
|
|
44003
|
+
* }
|
|
44004
|
+
* });
|
|
44005
|
+
*
|
|
44006
|
+
* // Use methods on the user instance
|
|
44007
|
+
* await userInstance.checkInteractiveCredentials();
|
|
44008
|
+
* const avatars = await userInstance.fetchAvatars();
|
|
43563
44009
|
* ```
|
|
43564
44010
|
*
|
|
43565
|
-
* @returns {User} Returns a new User object.
|
|
44011
|
+
* @returns {User} Returns a new User object for interacting with user data.
|
|
43566
44012
|
*/
|
|
43567
44013
|
create(options) {
|
|
43568
44014
|
return new User(this.topia, options);
|
|
@@ -43600,9 +44046,20 @@ class UserFactory {
|
|
|
43600
44046
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43601
44047
|
============================================================================ */
|
|
43602
44048
|
/**
|
|
44049
|
+
* Factory for creating Visitor instances. Use this factory to work with visitors in Topia worlds.
|
|
44050
|
+
*
|
|
44051
|
+
* @remarks
|
|
44052
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44053
|
+
* The Visitor controller represents a specific visitor/avatar instance in a world.
|
|
44054
|
+
*
|
|
44055
|
+
* @keywords visitor, factory, create, get, avatar, user, participant
|
|
44056
|
+
*
|
|
43603
44057
|
* @example
|
|
43604
44058
|
* ```ts
|
|
43605
|
-
*
|
|
44059
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44060
|
+
* import { Topia, VisitorFactory } from "@rtsdk/topia";
|
|
44061
|
+
* const topia = new Topia({ config });
|
|
44062
|
+
* export const Visitor = new VisitorFactory(topia);
|
|
43606
44063
|
* ```
|
|
43607
44064
|
*/
|
|
43608
44065
|
class VisitorFactory {
|
|
@@ -43610,27 +44067,78 @@ class VisitorFactory {
|
|
|
43610
44067
|
this.topia = topia;
|
|
43611
44068
|
}
|
|
43612
44069
|
/**
|
|
43613
|
-
* Instantiate a new instance of Visitor class.
|
|
44070
|
+
* Instantiate a new instance of Visitor class for an existing visitor in a world.
|
|
44071
|
+
*
|
|
44072
|
+
* @remarks
|
|
44073
|
+
* This method creates a controller instance for a visitor but does not fetch its properties.
|
|
44074
|
+
* Use this when you need a lightweight instance and will fetch properties separately or when you already have the properties.
|
|
44075
|
+
*
|
|
44076
|
+
* @keywords create, instantiate, visitor, initialize, avatar, instance
|
|
43614
44077
|
*
|
|
43615
44078
|
* @example
|
|
43616
|
-
* ```
|
|
43617
|
-
*
|
|
44079
|
+
* ```ts
|
|
44080
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44081
|
+
* import { Visitor } from "utils/topiaInit.ts";
|
|
44082
|
+
*
|
|
44083
|
+
* // Create a Visitor instance with credentials
|
|
44084
|
+
* const visitorInstance = Visitor.create(
|
|
44085
|
+
* 12345, // visitor ID
|
|
44086
|
+
* "my-world-slug",
|
|
44087
|
+
* {
|
|
44088
|
+
* credentials: {
|
|
44089
|
+
* interactiveNonce,
|
|
44090
|
+
* interactivePublicKey,
|
|
44091
|
+
* assetId,
|
|
44092
|
+
* urlSlug,
|
|
44093
|
+
* visitorId
|
|
44094
|
+
* }
|
|
44095
|
+
* }
|
|
44096
|
+
* );
|
|
44097
|
+
*
|
|
44098
|
+
* // Later fetch visitor properties if needed
|
|
44099
|
+
* await visitorInstance.fetchVisitor();
|
|
43618
44100
|
* ```
|
|
43619
44101
|
*
|
|
43620
|
-
* @returns {Visitor} Returns a new Visitor object.
|
|
44102
|
+
* @returns {Visitor} Returns a new Visitor object without fetching its properties.
|
|
43621
44103
|
*/
|
|
43622
44104
|
create(id, urlSlug, options) {
|
|
43623
44105
|
return new Visitor(this.topia, id, urlSlug, options);
|
|
43624
44106
|
}
|
|
43625
44107
|
/**
|
|
43626
|
-
* Instantiate a new instance of Visitor class and
|
|
44108
|
+
* Instantiate a new instance of Visitor class and automatically fetch all its properties.
|
|
44109
|
+
*
|
|
44110
|
+
* @remarks
|
|
44111
|
+
* This method creates a controller instance and immediately fetches all properties of the visitor.
|
|
44112
|
+
* It's a convenience method that combines creating an instance and calling fetchVisitor().
|
|
44113
|
+
*
|
|
44114
|
+
* @keywords get, fetch, retrieve, visitor, load, avatar, instance
|
|
43627
44115
|
*
|
|
43628
44116
|
* @example
|
|
43629
|
-
* ```
|
|
43630
|
-
*
|
|
44117
|
+
* ```ts
|
|
44118
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44119
|
+
* import { Visitor } from "utils/topiaInit.ts";
|
|
44120
|
+
*
|
|
44121
|
+
* // Get a fully populated Visitor instance
|
|
44122
|
+
* const visitorInstance = await Visitor.get(
|
|
44123
|
+
* 12345, // visitor ID
|
|
44124
|
+
* "my-world-slug",
|
|
44125
|
+
* {
|
|
44126
|
+
* credentials: {
|
|
44127
|
+
* interactiveNonce,
|
|
44128
|
+
* interactivePublicKey,
|
|
44129
|
+
* assetId,
|
|
44130
|
+
* urlSlug,
|
|
44131
|
+
* visitorId
|
|
44132
|
+
* }
|
|
44133
|
+
* }
|
|
44134
|
+
* );
|
|
44135
|
+
*
|
|
44136
|
+
* // The properties are already loaded, so you can use them immediately
|
|
44137
|
+
* console.log(visitorInstance.username);
|
|
44138
|
+
* console.log(visitorInstance.position);
|
|
43631
44139
|
* ```
|
|
43632
44140
|
*
|
|
43633
|
-
* @returns {Promise<Visitor>} Returns a new Visitor object with all properties.
|
|
44141
|
+
* @returns {Promise<Visitor>} Returns a new Visitor object with all properties already fetched.
|
|
43634
44142
|
*/
|
|
43635
44143
|
get(id, urlSlug, options) {
|
|
43636
44144
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43642,9 +44150,20 @@ class VisitorFactory {
|
|
|
43642
44150
|
}
|
|
43643
44151
|
|
|
43644
44152
|
/**
|
|
44153
|
+
* Factory for creating WebRTCConnector instances. Use this factory to establish WebRTC connections for audio/video in Topia worlds.
|
|
44154
|
+
*
|
|
44155
|
+
* @remarks
|
|
44156
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44157
|
+
* The WebRTCConnector provides methods to set up and manage real-time audio/video communication.
|
|
44158
|
+
*
|
|
44159
|
+
* @keywords webrtc, factory, create, audio, video, communication, real-time, conference
|
|
44160
|
+
*
|
|
43645
44161
|
* @example
|
|
43646
44162
|
* ```ts
|
|
43647
|
-
*
|
|
44163
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44164
|
+
* import { Topia, WebRTCConnectorFactory } from "@rtsdk/topia";
|
|
44165
|
+
* const topia = new Topia({ config });
|
|
44166
|
+
* export const WebRTCConnector = new WebRTCConnectorFactory(topia);
|
|
43648
44167
|
* ```
|
|
43649
44168
|
*/
|
|
43650
44169
|
class WebRTCConnectorFactory {
|
|
@@ -43652,14 +44171,41 @@ class WebRTCConnectorFactory {
|
|
|
43652
44171
|
this.topia = topia;
|
|
43653
44172
|
}
|
|
43654
44173
|
/**
|
|
43655
|
-
* Instantiate a new instance of WebRTCConnector class.
|
|
44174
|
+
* Instantiate a new instance of WebRTCConnector class for managing audio/video communication.
|
|
44175
|
+
*
|
|
44176
|
+
* @remarks
|
|
44177
|
+
* This method creates a controller instance for establishing and managing WebRTC connections.
|
|
44178
|
+
* Use this for implementing real-time audio/video communication features in Topia worlds.
|
|
44179
|
+
*
|
|
44180
|
+
* @keywords create, instantiate, webrtc, initialize, audio, video, communication, stream
|
|
43656
44181
|
*
|
|
43657
44182
|
* @example
|
|
43658
|
-
* ```
|
|
43659
|
-
*
|
|
44183
|
+
* ```ts
|
|
44184
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44185
|
+
* import { WebRTCConnector } from "utils/topiaInit.ts";
|
|
44186
|
+
*
|
|
44187
|
+
* // Create a WebRTCConnector instance with credentials and configuration
|
|
44188
|
+
* const webRTCInstance = WebRTCConnector.create(
|
|
44189
|
+
* "my-world-slug",
|
|
44190
|
+
* {
|
|
44191
|
+
* credentials: {
|
|
44192
|
+
* interactiveNonce,
|
|
44193
|
+
* interactivePublicKey,
|
|
44194
|
+
* assetId,
|
|
44195
|
+
* urlSlug,
|
|
44196
|
+
* visitorId
|
|
44197
|
+
* },
|
|
44198
|
+
* twilioConfig: {
|
|
44199
|
+
* // Twilio configuration options
|
|
44200
|
+
* }
|
|
44201
|
+
* }
|
|
44202
|
+
* );
|
|
44203
|
+
*
|
|
44204
|
+
* // Use the instance to establish connections
|
|
44205
|
+
* await webRTCInstance.connect();
|
|
43660
44206
|
* ```
|
|
43661
44207
|
*
|
|
43662
|
-
* @returns {WebRTCConnector} Returns a new WebRTCConnector object.
|
|
44208
|
+
* @returns {WebRTCConnector} Returns a new WebRTCConnector object for managing audio/video communication.
|
|
43663
44209
|
*/
|
|
43664
44210
|
create(urlSlug, options) {
|
|
43665
44211
|
return new WebRTCConnector(this.topia, urlSlug, options);
|
|
@@ -43697,9 +44243,20 @@ class WebRTCConnectorFactory {
|
|
|
43697
44243
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43698
44244
|
============================================================================ */
|
|
43699
44245
|
/**
|
|
44246
|
+
* Factory for creating WorldActivity instances. Use this factory to monitor and manage visitor activity in Topia worlds.
|
|
44247
|
+
*
|
|
44248
|
+
* @remarks
|
|
44249
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44250
|
+
* The WorldActivity controller provides methods to interact with real-time visitor activities and movements.
|
|
44251
|
+
*
|
|
44252
|
+
* @keywords world activity, factory, create, visitors, movement, tracking, presence, real-time
|
|
44253
|
+
*
|
|
43700
44254
|
* @example
|
|
43701
44255
|
* ```ts
|
|
43702
|
-
*
|
|
44256
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44257
|
+
* import { Topia, WorldActivityFactory } from "@rtsdk/topia";
|
|
44258
|
+
* const topia = new Topia({ config });
|
|
44259
|
+
* export const WorldActivity = new WorldActivityFactory(topia);
|
|
43703
44260
|
* ```
|
|
43704
44261
|
*/
|
|
43705
44262
|
class WorldActivityFactory {
|
|
@@ -43707,14 +44264,42 @@ class WorldActivityFactory {
|
|
|
43707
44264
|
this.topia = topia;
|
|
43708
44265
|
}
|
|
43709
44266
|
/**
|
|
43710
|
-
* Instantiate a new instance of WorldActivity class.
|
|
44267
|
+
* Instantiate a new instance of WorldActivity class for monitoring visitor activity in a specific world.
|
|
44268
|
+
*
|
|
44269
|
+
* @remarks
|
|
44270
|
+
* This method creates a controller instance for tracking and managing visitor activity in a world.
|
|
44271
|
+
* Use this to fetch current visitors, move visitors, or monitor specific zones within a world.
|
|
44272
|
+
*
|
|
44273
|
+
* @keywords create, instantiate, world activity, initialize, visitors, tracking, presence
|
|
43711
44274
|
*
|
|
43712
44275
|
* @example
|
|
43713
|
-
* ```
|
|
43714
|
-
*
|
|
44276
|
+
* ```ts
|
|
44277
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44278
|
+
* import { WorldActivity } from "utils/topiaInit.ts";
|
|
44279
|
+
*
|
|
44280
|
+
* // Create a WorldActivity instance with credentials
|
|
44281
|
+
* const worldActivityInstance = WorldActivity.create(
|
|
44282
|
+
* "my-world-slug",
|
|
44283
|
+
* {
|
|
44284
|
+
* credentials: {
|
|
44285
|
+
* interactiveNonce,
|
|
44286
|
+
* interactivePublicKey,
|
|
44287
|
+
* assetId,
|
|
44288
|
+
* urlSlug,
|
|
44289
|
+
* visitorId
|
|
44290
|
+
* }
|
|
44291
|
+
* }
|
|
44292
|
+
* );
|
|
44293
|
+
*
|
|
44294
|
+
* // Get current visitors in the world
|
|
44295
|
+
* const visitors = await worldActivityInstance.currentVisitors();
|
|
44296
|
+
* console.log(`There are ${visitors.length} visitors in the world`);
|
|
44297
|
+
*
|
|
44298
|
+
* // Check visitors in a specific zone
|
|
44299
|
+
* const zoneVisitors = await worldActivityInstance.fetchVisitorsInZone("stage-area");
|
|
43715
44300
|
* ```
|
|
43716
44301
|
*
|
|
43717
|
-
* @returns {WorldActivity} Returns a new WorldActivity object.
|
|
44302
|
+
* @returns {WorldActivity} Returns a new WorldActivity object for tracking and managing visitor activity.
|
|
43718
44303
|
*/
|
|
43719
44304
|
create(urlSlug, options) {
|
|
43720
44305
|
return new WorldActivity(this.topia, urlSlug, options);
|
|
@@ -43752,9 +44337,20 @@ class WorldActivityFactory {
|
|
|
43752
44337
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43753
44338
|
============================================================================ */
|
|
43754
44339
|
/**
|
|
44340
|
+
* Factory for creating World instances. Use this factory to interact with Topia worlds.
|
|
44341
|
+
*
|
|
44342
|
+
* @remarks
|
|
44343
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44344
|
+
* The World controller provides methods to manage world settings, retrieve world details, and perform world-level operations.
|
|
44345
|
+
*
|
|
44346
|
+
* @keywords world, factory, create, virtual space, environment, room, topia
|
|
44347
|
+
*
|
|
43755
44348
|
* @example
|
|
43756
44349
|
* ```ts
|
|
43757
|
-
*
|
|
44350
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44351
|
+
* import { Topia, WorldFactory } from "@rtsdk/topia";
|
|
44352
|
+
* const topia = new Topia({ config });
|
|
44353
|
+
* export const World = new WorldFactory(topia);
|
|
43758
44354
|
* ```
|
|
43759
44355
|
*/
|
|
43760
44356
|
class WorldFactory extends SDKController {
|
|
@@ -43762,27 +44358,75 @@ class WorldFactory extends SDKController {
|
|
|
43762
44358
|
super(topia);
|
|
43763
44359
|
}
|
|
43764
44360
|
/**
|
|
43765
|
-
* Instantiate a new instance of World class.
|
|
44361
|
+
* Instantiate a new instance of World class for interacting with a specific Topia world.
|
|
44362
|
+
*
|
|
44363
|
+
* @remarks
|
|
44364
|
+
* This method creates a controller instance for a world identified by its URL slug.
|
|
44365
|
+
* The world controller can be used to fetch details, update world settings, and perform other world-level operations.
|
|
44366
|
+
*
|
|
44367
|
+
* @keywords create, instantiate, world, initialize, virtual space, environment, room
|
|
43766
44368
|
*
|
|
43767
44369
|
* @example
|
|
43768
|
-
* ```
|
|
43769
|
-
*
|
|
44370
|
+
* ```ts
|
|
44371
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44372
|
+
* import { World } from "utils/topiaInit.ts";
|
|
44373
|
+
*
|
|
44374
|
+
* // Create a World instance with credentials
|
|
44375
|
+
* const worldInstance = World.create(
|
|
44376
|
+
* "my-world-slug",
|
|
44377
|
+
* {
|
|
44378
|
+
* credentials: {
|
|
44379
|
+
* interactiveNonce,
|
|
44380
|
+
* interactivePublicKey,
|
|
44381
|
+
* assetId,
|
|
44382
|
+
* urlSlug,
|
|
44383
|
+
* visitorId
|
|
44384
|
+
* }
|
|
44385
|
+
* }
|
|
44386
|
+
* );
|
|
44387
|
+
*
|
|
44388
|
+
* // Fetch world details
|
|
44389
|
+
* await worldInstance.fetchDetails();
|
|
44390
|
+
* console.log(worldInstance.name);
|
|
43770
44391
|
* ```
|
|
43771
44392
|
*
|
|
43772
|
-
* @returns {World} Returns a new World object.
|
|
44393
|
+
* @returns {World} Returns a new World object for interacting with the specified world.
|
|
43773
44394
|
*/
|
|
43774
44395
|
create(urlSlug, options) {
|
|
43775
44396
|
return new World(this.topia, urlSlug, options);
|
|
43776
44397
|
}
|
|
43777
44398
|
/**
|
|
43778
|
-
* Deletes
|
|
44399
|
+
* Deletes multiple dropped assets from a world in a single operation.
|
|
44400
|
+
*
|
|
44401
|
+
* @remarks
|
|
44402
|
+
* This method provides a convenient way to delete multiple dropped assets at once rather than
|
|
44403
|
+
* deleting them one by one. Requires appropriate permissions via interactive credentials.
|
|
44404
|
+
*
|
|
44405
|
+
* @keywords delete, remove, dropped assets, multiple, batch, cleanup, world
|
|
43779
44406
|
*
|
|
43780
44407
|
* @example
|
|
43781
|
-
* ```
|
|
43782
|
-
*
|
|
44408
|
+
* ```ts
|
|
44409
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44410
|
+
* import { World } from "utils/topiaInit.ts";
|
|
44411
|
+
*
|
|
44412
|
+
* // Delete multiple dropped assets from a world
|
|
44413
|
+
* const result = await World.deleteDroppedAssets(
|
|
44414
|
+
* "my-world-slug",
|
|
44415
|
+
* ["asset-id-123", "asset-id-456", "asset-id-789"],
|
|
44416
|
+
* "your-interactive-secret",
|
|
44417
|
+
* {
|
|
44418
|
+
* apiKey: "your-api-key",
|
|
44419
|
+
* interactivePublicKey: "your-public-key",
|
|
44420
|
+
* visitorId: 12345
|
|
44421
|
+
* }
|
|
44422
|
+
* );
|
|
44423
|
+
*
|
|
44424
|
+
* if (result.success) {
|
|
44425
|
+
* console.log("Assets successfully deleted");
|
|
44426
|
+
* }
|
|
43783
44427
|
* ```
|
|
43784
44428
|
*
|
|
43785
|
-
* @returns {Promise<{ success: boolean }>} Returns `{ success: true }`
|
|
44429
|
+
* @returns {Promise<{ success: boolean }>} Returns `{ success: true }` if all assets were deleted successfully.
|
|
43786
44430
|
*/
|
|
43787
44431
|
deleteDroppedAssets(urlSlug, droppedAssetIds, interactiveSecret, credentials) {
|
|
43788
44432
|
return __awaiter(this, void 0, void 0, function* () {
|