@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.js
CHANGED
|
@@ -39759,6 +39759,8 @@ class Asset extends SDKController {
|
|
|
39759
39759
|
/**
|
|
39760
39760
|
* Retrieves platform asset details and assigns response data to the instance.
|
|
39761
39761
|
*
|
|
39762
|
+
* @keywords get, fetch, retrieve, load, details, info, information
|
|
39763
|
+
*
|
|
39762
39764
|
* @example
|
|
39763
39765
|
* ```ts
|
|
39764
39766
|
* await asset.fetchAssetById();
|
|
@@ -39782,6 +39784,8 @@ class Asset extends SDKController {
|
|
|
39782
39784
|
/**
|
|
39783
39785
|
* Updates platform asset details.
|
|
39784
39786
|
*
|
|
39787
|
+
* @keywords update, modify, change, edit, alter, transform
|
|
39788
|
+
*
|
|
39785
39789
|
* @example
|
|
39786
39790
|
* ```ts
|
|
39787
39791
|
* await asset.updateAsset({
|
|
@@ -39939,6 +39943,8 @@ class DroppedAsset extends Asset {
|
|
|
39939
39943
|
/**
|
|
39940
39944
|
* Retrieves dropped asset details and assigns response data to the instance.
|
|
39941
39945
|
*
|
|
39946
|
+
* @keywords get, fetch, retrieve, load, details, info, information
|
|
39947
|
+
*
|
|
39942
39948
|
* @example
|
|
39943
39949
|
* ```ts
|
|
39944
39950
|
* await droppedAsset.fetchDroppedAssetById();
|
|
@@ -39961,6 +39967,8 @@ class DroppedAsset extends Asset {
|
|
|
39961
39967
|
/**
|
|
39962
39968
|
* Updates dropped asset details and assigns the response data to the instance. Requires Public Key to have the `canUpdateDroppedAssets` permission.
|
|
39963
39969
|
*
|
|
39970
|
+
* @keywords update, modify, change, edit, alter, transform
|
|
39971
|
+
*
|
|
39964
39972
|
* @example
|
|
39965
39973
|
* ```ts
|
|
39966
39974
|
* const payload = {
|
|
@@ -40035,6 +40043,8 @@ class DroppedAsset extends Asset {
|
|
|
40035
40043
|
/**
|
|
40036
40044
|
* Deletes the dropped asset (removes it from the world).
|
|
40037
40045
|
*
|
|
40046
|
+
* @keywords remove, delete, erase, destroy, eliminate
|
|
40047
|
+
*
|
|
40038
40048
|
* @example
|
|
40039
40049
|
* ```ts
|
|
40040
40050
|
* await droppedAsset.deleteDroppedAsset();
|
|
@@ -40053,6 +40063,8 @@ class DroppedAsset extends Asset {
|
|
|
40053
40063
|
/**
|
|
40054
40064
|
* Retrieves the data object for a dropped asset.
|
|
40055
40065
|
*
|
|
40066
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
40067
|
+
*
|
|
40056
40068
|
* @category Data Objects
|
|
40057
40069
|
*
|
|
40058
40070
|
* @example
|
|
@@ -40085,6 +40097,8 @@ class DroppedAsset extends Asset {
|
|
|
40085
40097
|
* @remarks
|
|
40086
40098
|
* 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
|
|
40087
40099
|
*
|
|
40100
|
+
* @keywords set, assign, store, save, data, object, state
|
|
40101
|
+
*
|
|
40088
40102
|
* @category Data Objects
|
|
40089
40103
|
*
|
|
40090
40104
|
* @example
|
|
@@ -40117,6 +40131,8 @@ class DroppedAsset extends Asset {
|
|
|
40117
40131
|
* @remarks
|
|
40118
40132
|
* 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
|
|
40119
40133
|
*
|
|
40134
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
40135
|
+
*
|
|
40120
40136
|
* @category Data Objects
|
|
40121
40137
|
*
|
|
40122
40138
|
* @example
|
|
@@ -40146,6 +40162,8 @@ class DroppedAsset extends Asset {
|
|
|
40146
40162
|
* @remarks
|
|
40147
40163
|
* 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
|
|
40148
40164
|
*
|
|
40165
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
40166
|
+
*
|
|
40149
40167
|
* @category Data Objects
|
|
40150
40168
|
*
|
|
40151
40169
|
* @example
|
|
@@ -40170,6 +40188,8 @@ class DroppedAsset extends Asset {
|
|
|
40170
40188
|
/**
|
|
40171
40189
|
* Updates broadcast options for a dropped asset.
|
|
40172
40190
|
*
|
|
40191
|
+
* @keywords broadcast, dropped asset settings
|
|
40192
|
+
*
|
|
40173
40193
|
* @example
|
|
40174
40194
|
* ```ts
|
|
40175
40195
|
* await droppedAsset.updateBroadcast({
|
|
@@ -40193,6 +40213,8 @@ class DroppedAsset extends Asset {
|
|
|
40193
40213
|
/**
|
|
40194
40214
|
* Updates click options for a dropped asset.
|
|
40195
40215
|
*
|
|
40216
|
+
* @keywords click, link, interaction, url, dropped asset settings
|
|
40217
|
+
*
|
|
40196
40218
|
* @example
|
|
40197
40219
|
* ```ts
|
|
40198
40220
|
* await droppedAsset.updateClickType({
|
|
@@ -40233,6 +40255,8 @@ class DroppedAsset extends Asset {
|
|
|
40233
40255
|
/**
|
|
40234
40256
|
* Adds an array of links to an asset. Maximum is 20 links.
|
|
40235
40257
|
*
|
|
40258
|
+
* @keywords links, multiple, clickable, urls, hyperlinks, dropped asset settings
|
|
40259
|
+
*
|
|
40236
40260
|
* @example
|
|
40237
40261
|
* ```ts
|
|
40238
40262
|
* await droppedAsset.setClickableLinkMulti({
|
|
@@ -40273,6 +40297,8 @@ class DroppedAsset extends Asset {
|
|
|
40273
40297
|
* @remarks
|
|
40274
40298
|
* Pass in an 'existingLinkId' to edit an existing link.
|
|
40275
40299
|
*
|
|
40300
|
+
* @keywords links, multiple, clickable, urls, dropped asset settings
|
|
40301
|
+
*
|
|
40276
40302
|
* @example
|
|
40277
40303
|
* ```ts
|
|
40278
40304
|
* await droppedAsset.updateClickableLinkMulti({
|
|
@@ -40306,6 +40332,8 @@ class DroppedAsset extends Asset {
|
|
|
40306
40332
|
/**
|
|
40307
40333
|
* Removes a clickable link from a dropped asset.
|
|
40308
40334
|
*
|
|
40335
|
+
* @keywords remove, delete, link, clickable, url, erase, dropped asset settings
|
|
40336
|
+
*
|
|
40309
40337
|
* @example
|
|
40310
40338
|
* ```ts
|
|
40311
40339
|
* await droppedAsset.removeClickableLink({ linkId: "link-id" });
|
|
@@ -40327,6 +40355,8 @@ class DroppedAsset extends Asset {
|
|
|
40327
40355
|
/**
|
|
40328
40356
|
* Updates text and style of a dropped asset.
|
|
40329
40357
|
*
|
|
40358
|
+
* @keywords text, style, dropped asset settings
|
|
40359
|
+
*
|
|
40330
40360
|
* @example
|
|
40331
40361
|
* ```ts
|
|
40332
40362
|
* const style = {
|
|
@@ -40353,6 +40383,8 @@ class DroppedAsset extends Asset {
|
|
|
40353
40383
|
/**
|
|
40354
40384
|
* Updates media options for a dropped asset.
|
|
40355
40385
|
*
|
|
40386
|
+
* @keywords media, video, audio, dropped asset settings
|
|
40387
|
+
*
|
|
40356
40388
|
* @example
|
|
40357
40389
|
* ```ts
|
|
40358
40390
|
* await droppedAsset.updateMediaType({
|
|
@@ -40390,6 +40422,8 @@ class DroppedAsset extends Asset {
|
|
|
40390
40422
|
/**
|
|
40391
40423
|
* Updates mute zone options for a dropped asset.
|
|
40392
40424
|
*
|
|
40425
|
+
* @keywords mute, zone, dropped asset settings
|
|
40426
|
+
*
|
|
40393
40427
|
* @example
|
|
40394
40428
|
* ```ts
|
|
40395
40429
|
* await droppedAsset.updateMuteZone(true);
|
|
@@ -40408,6 +40442,8 @@ class DroppedAsset extends Asset {
|
|
|
40408
40442
|
/**
|
|
40409
40443
|
* Updates landmark zone options for a dropped asset.
|
|
40410
40444
|
*
|
|
40445
|
+
* @keywords landmark, zone, dropped asset settings
|
|
40446
|
+
*
|
|
40411
40447
|
* @example
|
|
40412
40448
|
* ```ts
|
|
40413
40449
|
* await droppedAsset.updateLandmarkZone({
|
|
@@ -40431,6 +40467,8 @@ class DroppedAsset extends Asset {
|
|
|
40431
40467
|
/**
|
|
40432
40468
|
* Updates webhook zone options for a dropped asset.
|
|
40433
40469
|
*
|
|
40470
|
+
* @keywords webhook, zone, dropped asset settings
|
|
40471
|
+
*
|
|
40434
40472
|
* @example
|
|
40435
40473
|
* ```ts
|
|
40436
40474
|
* await droppedAsset.updateWebhookZone(true);
|
|
@@ -40449,6 +40487,8 @@ class DroppedAsset extends Asset {
|
|
|
40449
40487
|
/**
|
|
40450
40488
|
* Moves a dropped asset to specified coordinates.
|
|
40451
40489
|
*
|
|
40490
|
+
* @keywords position, dropped asset settings
|
|
40491
|
+
*
|
|
40452
40492
|
* @example
|
|
40453
40493
|
* ```ts
|
|
40454
40494
|
* await droppedAsset.updatePosition(100, 200, 100);
|
|
@@ -40468,6 +40508,8 @@ class DroppedAsset extends Asset {
|
|
|
40468
40508
|
/**
|
|
40469
40509
|
* Updates private zone options for a dropped asset.
|
|
40470
40510
|
*
|
|
40511
|
+
* @keywords private, zone, dropped asset settings
|
|
40512
|
+
*
|
|
40471
40513
|
* @example
|
|
40472
40514
|
* ```ts
|
|
40473
40515
|
* await droppedAsset.updatePrivateZone({
|
|
@@ -40491,6 +40533,8 @@ class DroppedAsset extends Asset {
|
|
|
40491
40533
|
/**
|
|
40492
40534
|
* Updates the size of a dropped asset.
|
|
40493
40535
|
*
|
|
40536
|
+
* @keywords size, scale, dropped asset settings
|
|
40537
|
+
*
|
|
40494
40538
|
* @example
|
|
40495
40539
|
* ```ts
|
|
40496
40540
|
* await droppedAsset.assetScale(.5);
|
|
@@ -40509,6 +40553,8 @@ class DroppedAsset extends Asset {
|
|
|
40509
40553
|
/**
|
|
40510
40554
|
* Flip an dropped asset.
|
|
40511
40555
|
*
|
|
40556
|
+
* @keywords flip, layout, dropped asset settings
|
|
40557
|
+
*
|
|
40512
40558
|
* @example
|
|
40513
40559
|
* ```ts
|
|
40514
40560
|
* await droppedAsset.flip(.5);
|
|
@@ -40527,6 +40573,8 @@ class DroppedAsset extends Asset {
|
|
|
40527
40573
|
/**
|
|
40528
40574
|
* Change or remove media embedded in a dropped asset.
|
|
40529
40575
|
*
|
|
40576
|
+
* @keywords media, update, dropped asset settings
|
|
40577
|
+
*
|
|
40530
40578
|
* @example
|
|
40531
40579
|
* ```ts
|
|
40532
40580
|
* await droppedAsset.updateUploadedMediaSelected("LVWyxwNxI96eLjnXWwYO");
|
|
@@ -40545,6 +40593,8 @@ class DroppedAsset extends Asset {
|
|
|
40545
40593
|
/**
|
|
40546
40594
|
* Change or remove top and bottom layers of a dropped asset.
|
|
40547
40595
|
*
|
|
40596
|
+
* @keywords layers, images, urls, dropped asset settings
|
|
40597
|
+
*
|
|
40548
40598
|
* @example
|
|
40549
40599
|
* ```ts
|
|
40550
40600
|
* await droppedAsset.updateWebImageLayers("","https://www.shutterstock.com/image-vector/colorful-illustration-test-word-260nw-1438324490.jpg");
|
|
@@ -40564,6 +40614,8 @@ class DroppedAsset extends Asset {
|
|
|
40564
40614
|
/**
|
|
40565
40615
|
* Add a webhook to a dropped asset
|
|
40566
40616
|
*
|
|
40617
|
+
* @keywords webhook, dropped asset settings
|
|
40618
|
+
*
|
|
40567
40619
|
* @example
|
|
40568
40620
|
* ```ts
|
|
40569
40621
|
* await droppedAsset.addWebhook({
|
|
@@ -40603,6 +40655,8 @@ class DroppedAsset extends Asset {
|
|
|
40603
40655
|
/**
|
|
40604
40656
|
* Set the interactive settings on a dropped asset
|
|
40605
40657
|
*
|
|
40658
|
+
* @keywords interactive, dropped asset settings
|
|
40659
|
+
*
|
|
40606
40660
|
* @example
|
|
40607
40661
|
* ```ts
|
|
40608
40662
|
* await droppedAsset.setInteractiveSettings({
|
|
@@ -40630,6 +40684,8 @@ class DroppedAsset extends Asset {
|
|
|
40630
40684
|
/**
|
|
40631
40685
|
* Retrieve analytics for a dropped asset by day, week, month, quarter, or year
|
|
40632
40686
|
*
|
|
40687
|
+
* @keywords get, fetch, retrieve, load, analytics
|
|
40688
|
+
*
|
|
40633
40689
|
* @example
|
|
40634
40690
|
* ```ts
|
|
40635
40691
|
* const analytics = await droppedAsset.fetchDroppedAssetAnalytics({
|
|
@@ -40721,6 +40777,8 @@ class Ecosystem extends SDKController {
|
|
|
40721
40777
|
/**
|
|
40722
40778
|
* Retrieves the data object for a Topia ecosystem. Requires canUpdateEcosystemDataObjects permission to be set to true for the public key.
|
|
40723
40779
|
*
|
|
40780
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
40781
|
+
*
|
|
40724
40782
|
* @category Data Objects
|
|
40725
40783
|
*
|
|
40726
40784
|
* @example
|
|
@@ -40755,6 +40813,8 @@ class Ecosystem extends SDKController {
|
|
|
40755
40813
|
*
|
|
40756
40814
|
* 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
|
|
40757
40815
|
*
|
|
40816
|
+
* @keywords set, assign, store, save, data, object, state
|
|
40817
|
+
*
|
|
40758
40818
|
* @category Data Objects
|
|
40759
40819
|
*
|
|
40760
40820
|
* @example
|
|
@@ -40785,6 +40845,8 @@ class Ecosystem extends SDKController {
|
|
|
40785
40845
|
*
|
|
40786
40846
|
* 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
|
|
40787
40847
|
*
|
|
40848
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
40849
|
+
*
|
|
40788
40850
|
* @category Data Objects
|
|
40789
40851
|
*
|
|
40790
40852
|
* @example
|
|
@@ -40821,6 +40883,8 @@ class Ecosystem extends SDKController {
|
|
|
40821
40883
|
*
|
|
40822
40884
|
* 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
|
|
40823
40885
|
*
|
|
40886
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
40887
|
+
*
|
|
40824
40888
|
* @category Data Objects
|
|
40825
40889
|
*
|
|
40826
40890
|
* @example
|
|
@@ -40896,6 +40960,8 @@ class Scene extends SDKController {
|
|
|
40896
40960
|
/**
|
|
40897
40961
|
* Retrieves scene details and assigns response data to the instance.
|
|
40898
40962
|
*
|
|
40963
|
+
* @keywords get, fetch, retrieve, load, details, info, information, scene
|
|
40964
|
+
*
|
|
40899
40965
|
* @example
|
|
40900
40966
|
* ```ts
|
|
40901
40967
|
* await scene.fetchSceneById();
|
|
@@ -41003,6 +41069,8 @@ class World extends SDKController {
|
|
|
41003
41069
|
/**
|
|
41004
41070
|
* Retrieves the data object for a world. Must have valid interactive credentials from a visitor in the world.
|
|
41005
41071
|
*
|
|
41072
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
41073
|
+
*
|
|
41006
41074
|
* @category Data Objects
|
|
41007
41075
|
*
|
|
41008
41076
|
* @example
|
|
@@ -41032,6 +41100,8 @@ class World extends SDKController {
|
|
|
41032
41100
|
* @remarks
|
|
41033
41101
|
* 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
|
|
41034
41102
|
*
|
|
41103
|
+
* @keywords set, assign, store, save, data, object, state
|
|
41104
|
+
*
|
|
41035
41105
|
* @category Data Objects
|
|
41036
41106
|
*
|
|
41037
41107
|
* @example
|
|
@@ -41061,6 +41131,8 @@ class World extends SDKController {
|
|
|
41061
41131
|
* @remarks
|
|
41062
41132
|
* 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
|
|
41063
41133
|
*
|
|
41134
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
41135
|
+
*
|
|
41064
41136
|
* @category Data Objects
|
|
41065
41137
|
*
|
|
41066
41138
|
* @example
|
|
@@ -41092,6 +41164,8 @@ class World extends SDKController {
|
|
|
41092
41164
|
/**
|
|
41093
41165
|
* Retrieves details of a world.
|
|
41094
41166
|
*
|
|
41167
|
+
* @keywords get, fetch, retrieve, details, info, information, world
|
|
41168
|
+
*
|
|
41095
41169
|
* @example
|
|
41096
41170
|
* ```ts
|
|
41097
41171
|
* await world.fetchDetails();
|
|
@@ -41112,6 +41186,8 @@ class World extends SDKController {
|
|
|
41112
41186
|
/**
|
|
41113
41187
|
* Update details of a world.
|
|
41114
41188
|
*
|
|
41189
|
+
* @keywords update, modify, change, edit, world, settings, details
|
|
41190
|
+
*
|
|
41115
41191
|
* @example
|
|
41116
41192
|
* ```ts
|
|
41117
41193
|
* await world.updateDetails({
|
|
@@ -41156,6 +41232,8 @@ class World extends SDKController {
|
|
|
41156
41232
|
/**
|
|
41157
41233
|
* Set close world settings
|
|
41158
41234
|
*
|
|
41235
|
+
* @keywords update, modify, change, edit, world, settings, details, close, closed
|
|
41236
|
+
*
|
|
41159
41237
|
* @example
|
|
41160
41238
|
* ```ts
|
|
41161
41239
|
* await world.updateCloseWorldSettings({
|
|
@@ -41195,6 +41273,8 @@ class World extends SDKController {
|
|
|
41195
41273
|
/**
|
|
41196
41274
|
* Retrieve all assets dropped in a world.
|
|
41197
41275
|
*
|
|
41276
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets
|
|
41277
|
+
*
|
|
41198
41278
|
* @category Dropped Assets
|
|
41199
41279
|
*
|
|
41200
41280
|
* @example
|
|
@@ -41225,6 +41305,8 @@ class World extends SDKController {
|
|
|
41225
41305
|
/**
|
|
41226
41306
|
* Retrieve all assets dropped in a world matching uniqueName.
|
|
41227
41307
|
*
|
|
41308
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets, uniqueName
|
|
41309
|
+
*
|
|
41228
41310
|
* @category Dropped Assets
|
|
41229
41311
|
*
|
|
41230
41312
|
* @example
|
|
@@ -41259,6 +41341,8 @@ class World extends SDKController {
|
|
|
41259
41341
|
/**
|
|
41260
41342
|
* Retrieve all assets dropped in a world matching sceneDropId.
|
|
41261
41343
|
*
|
|
41344
|
+
* @keywords get, fetch, retrieve, list, current, dropped assets, sceneDropId
|
|
41345
|
+
*
|
|
41262
41346
|
* @category Dropped Assets
|
|
41263
41347
|
*
|
|
41264
41348
|
* @example
|
|
@@ -41299,6 +41383,8 @@ class World extends SDKController {
|
|
|
41299
41383
|
/**
|
|
41300
41384
|
* Update multiple custom text dropped assets with a single style while preserving text for specified dropped assets only.
|
|
41301
41385
|
*
|
|
41386
|
+
* @keywords update, modify, change, edit, dropped assets, custom text, style, text
|
|
41387
|
+
*
|
|
41302
41388
|
* @category Dropped Assets
|
|
41303
41389
|
*
|
|
41304
41390
|
* @example
|
|
@@ -41330,6 +41416,8 @@ class World extends SDKController {
|
|
|
41330
41416
|
/**
|
|
41331
41417
|
* Retrieve all landmark zone assets dropped in a world.
|
|
41332
41418
|
*
|
|
41419
|
+
* @keywords get, fetch, retrieve, list, landmark, zones, dropped assets
|
|
41420
|
+
*
|
|
41333
41421
|
* @category Dropped Assets
|
|
41334
41422
|
*
|
|
41335
41423
|
* @example
|
|
@@ -41401,6 +41489,8 @@ class World extends SDKController {
|
|
|
41401
41489
|
/**
|
|
41402
41490
|
* Fetch a list of all scene drop ids and dropped assets in a world
|
|
41403
41491
|
*
|
|
41492
|
+
* @keywords get, fetch, retrieve, list, scenes
|
|
41493
|
+
*
|
|
41404
41494
|
* @category Scenes
|
|
41405
41495
|
*
|
|
41406
41496
|
* @example
|
|
@@ -41442,6 +41532,8 @@ class World extends SDKController {
|
|
|
41442
41532
|
/**
|
|
41443
41533
|
* Drops a scene in a world and returns sceneDropId.
|
|
41444
41534
|
*
|
|
41535
|
+
* @keywords drop, add, place, scene
|
|
41536
|
+
*
|
|
41445
41537
|
* @category Scenes
|
|
41446
41538
|
*
|
|
41447
41539
|
* @example
|
|
@@ -41476,6 +41568,8 @@ class World extends SDKController {
|
|
|
41476
41568
|
/**
|
|
41477
41569
|
* Replace the current scene of a world.
|
|
41478
41570
|
*
|
|
41571
|
+
* @keywords replace, change, scene
|
|
41572
|
+
*
|
|
41479
41573
|
* @category Scenes
|
|
41480
41574
|
*
|
|
41481
41575
|
* @example
|
|
@@ -41506,6 +41600,8 @@ class World extends SDKController {
|
|
|
41506
41600
|
/**
|
|
41507
41601
|
* Get all particles available
|
|
41508
41602
|
*
|
|
41603
|
+
* @keywords get, fetch, retrieve, list, particles
|
|
41604
|
+
*
|
|
41509
41605
|
* @category Particles
|
|
41510
41606
|
*
|
|
41511
41607
|
* @example
|
|
@@ -41529,6 +41625,8 @@ class World extends SDKController {
|
|
|
41529
41625
|
/**
|
|
41530
41626
|
* Trigger a particle effect at a position in the world
|
|
41531
41627
|
*
|
|
41628
|
+
* @keywords trigger, start, play, particle, effect
|
|
41629
|
+
*
|
|
41532
41630
|
* @category Particles
|
|
41533
41631
|
*
|
|
41534
41632
|
* @example
|
|
@@ -41565,6 +41663,8 @@ class World extends SDKController {
|
|
|
41565
41663
|
* Add an activity to a world
|
|
41566
41664
|
* excludeFromNotification is an array of visitorIds to exclude from the notification
|
|
41567
41665
|
*
|
|
41666
|
+
* @keywords start, trigger, activity
|
|
41667
|
+
*
|
|
41568
41668
|
* @example
|
|
41569
41669
|
* ```ts
|
|
41570
41670
|
* await world.triggerActivity({ type: "GAME_ON", assetId: "abc123" });
|
|
@@ -41587,6 +41687,8 @@ class World extends SDKController {
|
|
|
41587
41687
|
/**
|
|
41588
41688
|
* Display a message via a toast to all visitors currently in a world.
|
|
41589
41689
|
*
|
|
41690
|
+
* @keywords send, display, show, toast, message, notification
|
|
41691
|
+
*
|
|
41590
41692
|
* @example
|
|
41591
41693
|
* ```ts
|
|
41592
41694
|
* await world.fireToast({
|
|
@@ -41620,6 +41722,8 @@ class World extends SDKController {
|
|
|
41620
41722
|
* @remarks
|
|
41621
41723
|
* 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
|
|
41622
41724
|
*
|
|
41725
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
41726
|
+
*
|
|
41623
41727
|
* @category Data Objects
|
|
41624
41728
|
*
|
|
41625
41729
|
* @example
|
|
@@ -41645,6 +41749,8 @@ class World extends SDKController {
|
|
|
41645
41749
|
/**
|
|
41646
41750
|
* Retrieve all webhooks in a world.
|
|
41647
41751
|
*
|
|
41752
|
+
* @keywords get, fetch, retrieve, list, current, webhooks
|
|
41753
|
+
*
|
|
41648
41754
|
* @category Webhooks
|
|
41649
41755
|
*
|
|
41650
41756
|
* @example
|
|
@@ -41668,6 +41774,8 @@ class World extends SDKController {
|
|
|
41668
41774
|
/**
|
|
41669
41775
|
* Retrieve world analytics by day, week, month, quarter, or year
|
|
41670
41776
|
*
|
|
41777
|
+
* @keywords get, fetch, retrieve, analytics, stats, statistics, data, metrics
|
|
41778
|
+
*
|
|
41671
41779
|
* @category Analytics
|
|
41672
41780
|
*
|
|
41673
41781
|
* @example
|
|
@@ -41783,6 +41891,8 @@ class User extends SDKController {
|
|
|
41783
41891
|
/*
|
|
41784
41892
|
* Verify user has valid interactive credentials
|
|
41785
41893
|
*
|
|
41894
|
+
* @keywords check, verify, validate, credentials, authentication, authorization, interactive
|
|
41895
|
+
*
|
|
41786
41896
|
* @example
|
|
41787
41897
|
* ```ts
|
|
41788
41898
|
* await user.checkInteractiveCredentials();
|
|
@@ -41804,6 +41914,8 @@ class User extends SDKController {
|
|
|
41804
41914
|
/**
|
|
41805
41915
|
* Returns all avatars owned by User
|
|
41806
41916
|
*
|
|
41917
|
+
* @keywords get, fetch, retrieve, list, avatars, characters
|
|
41918
|
+
*
|
|
41807
41919
|
* @category Avatars
|
|
41808
41920
|
*
|
|
41809
41921
|
* @example
|
|
@@ -41827,6 +41939,8 @@ class User extends SDKController {
|
|
|
41827
41939
|
/**
|
|
41828
41940
|
* Add a new avatar
|
|
41829
41941
|
*
|
|
41942
|
+
* @keywords add, create, upload, avatar, character
|
|
41943
|
+
*
|
|
41830
41944
|
* @category Avatars
|
|
41831
41945
|
*
|
|
41832
41946
|
* @example
|
|
@@ -41909,6 +42023,8 @@ class User extends SDKController {
|
|
|
41909
42023
|
/**
|
|
41910
42024
|
* Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
|
|
41911
42025
|
*
|
|
42026
|
+
* @keywords update, modify, change, edit, avatar, character
|
|
42027
|
+
*
|
|
41912
42028
|
* @category Avatars
|
|
41913
42029
|
*
|
|
41914
42030
|
* @example
|
|
@@ -41991,6 +42107,8 @@ class User extends SDKController {
|
|
|
41991
42107
|
/**
|
|
41992
42108
|
* Update avatar and sprite sheet records and upload files to existing sprite sheet and avatar storage buckets
|
|
41993
42109
|
*
|
|
42110
|
+
* @keywords delete, remove, erase, destroy, eliminate, avatar
|
|
42111
|
+
*
|
|
41994
42112
|
* @category Avatars
|
|
41995
42113
|
*
|
|
41996
42114
|
* @example
|
|
@@ -42012,6 +42130,8 @@ class User extends SDKController {
|
|
|
42012
42130
|
/**
|
|
42013
42131
|
* Returns all assets owned by User when an email address is provided.
|
|
42014
42132
|
*
|
|
42133
|
+
* @keywords get, fetch, retrieve, list, user assets, objects
|
|
42134
|
+
*
|
|
42015
42135
|
* @category Assets
|
|
42016
42136
|
*
|
|
42017
42137
|
* @example
|
|
@@ -42042,6 +42162,8 @@ class User extends SDKController {
|
|
|
42042
42162
|
/**
|
|
42043
42163
|
* Returns all platform assets.
|
|
42044
42164
|
*
|
|
42165
|
+
* @keywords get, fetch, retrieve, list, platform assets, objects
|
|
42166
|
+
*
|
|
42045
42167
|
* @category Assets
|
|
42046
42168
|
*
|
|
42047
42169
|
* @example
|
|
@@ -42065,6 +42187,8 @@ class User extends SDKController {
|
|
|
42065
42187
|
/**
|
|
42066
42188
|
* Returns all scenes owned by User.
|
|
42067
42189
|
*
|
|
42190
|
+
* @keywords get, fetch, retrieve, list, user scenes
|
|
42191
|
+
*
|
|
42068
42192
|
* @category Scenes
|
|
42069
42193
|
*
|
|
42070
42194
|
* @example
|
|
@@ -42095,6 +42219,8 @@ class User extends SDKController {
|
|
|
42095
42219
|
/**
|
|
42096
42220
|
* 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.
|
|
42097
42221
|
*
|
|
42222
|
+
* @keywords get, fetch, retrieve, list, user worlds
|
|
42223
|
+
*
|
|
42098
42224
|
* @category Worlds
|
|
42099
42225
|
*
|
|
42100
42226
|
* @example
|
|
@@ -42130,6 +42256,8 @@ class User extends SDKController {
|
|
|
42130
42256
|
/**
|
|
42131
42257
|
* 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.
|
|
42132
42258
|
*
|
|
42259
|
+
* @keywords get, fetch, retrieve, list, admin worlds, user worlds
|
|
42260
|
+
*
|
|
42133
42261
|
* @category Worlds
|
|
42134
42262
|
*
|
|
42135
42263
|
* @example
|
|
@@ -42159,6 +42287,8 @@ class User extends SDKController {
|
|
|
42159
42287
|
/**
|
|
42160
42288
|
* Retrieves ids of all dropped assets in all worlds with a matching interactivePublicKey.
|
|
42161
42289
|
*
|
|
42290
|
+
* @keywords get, fetch, retrieve, list, interactive worlds, public key
|
|
42291
|
+
*
|
|
42162
42292
|
* @category Dropped Assets
|
|
42163
42293
|
*
|
|
42164
42294
|
* @example
|
|
@@ -42183,6 +42313,8 @@ class User extends SDKController {
|
|
|
42183
42313
|
/**
|
|
42184
42314
|
* Send an email
|
|
42185
42315
|
*
|
|
42316
|
+
* @keywords send, email, message, notify
|
|
42317
|
+
*
|
|
42186
42318
|
* @example
|
|
42187
42319
|
* ```ts
|
|
42188
42320
|
* const html = `<p><b>Hello World!</b></p><p>This email is being sent from via SDK.</p>`
|
|
@@ -42206,6 +42338,8 @@ class User extends SDKController {
|
|
|
42206
42338
|
/**
|
|
42207
42339
|
* Get expressions
|
|
42208
42340
|
*
|
|
42341
|
+
* @keywords get, fetch, retrieve, list, expressions, emotes
|
|
42342
|
+
*
|
|
42209
42343
|
* @category Expressions
|
|
42210
42344
|
*
|
|
42211
42345
|
* @example
|
|
@@ -42232,6 +42366,8 @@ class User extends SDKController {
|
|
|
42232
42366
|
/**
|
|
42233
42367
|
* Retrieves the data object for a user.
|
|
42234
42368
|
*
|
|
42369
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
42370
|
+
*
|
|
42235
42371
|
* @category Data Objects
|
|
42236
42372
|
*
|
|
42237
42373
|
* @example
|
|
@@ -42261,6 +42397,8 @@ class User extends SDKController {
|
|
|
42261
42397
|
/**
|
|
42262
42398
|
* Sets the data object for a user.
|
|
42263
42399
|
*
|
|
42400
|
+
* @keywords set, assign, store, save, data, object, state
|
|
42401
|
+
*
|
|
42264
42402
|
* @remarks
|
|
42265
42403
|
* 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
|
|
42266
42404
|
*
|
|
@@ -42295,6 +42433,8 @@ class User extends SDKController {
|
|
|
42295
42433
|
/**
|
|
42296
42434
|
* Updates the data object for a user.
|
|
42297
42435
|
*
|
|
42436
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
42437
|
+
*
|
|
42298
42438
|
* @remarks
|
|
42299
42439
|
* 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
|
|
42300
42440
|
*
|
|
@@ -42327,6 +42467,8 @@ class User extends SDKController {
|
|
|
42327
42467
|
/**
|
|
42328
42468
|
* 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.
|
|
42329
42469
|
*
|
|
42470
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
42471
|
+
*
|
|
42330
42472
|
* @remarks
|
|
42331
42473
|
* 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
|
|
42332
42474
|
*
|
|
@@ -42398,6 +42540,8 @@ class Visitor extends User {
|
|
|
42398
42540
|
/**
|
|
42399
42541
|
* Get a single visitor from a world
|
|
42400
42542
|
*
|
|
42543
|
+
* @keywords get, fetch, retrieve, load, visitor, details
|
|
42544
|
+
*
|
|
42401
42545
|
* @example
|
|
42402
42546
|
* ```ts
|
|
42403
42547
|
* await visitor.fetchVisitor();
|
|
@@ -42431,6 +42575,8 @@ class Visitor extends User {
|
|
|
42431
42575
|
/**
|
|
42432
42576
|
* Teleport or walk a visitor currently in a world to a single set of coordinates.
|
|
42433
42577
|
*
|
|
42578
|
+
* @keywords move, teleport, walk, position, coordinate, location, place
|
|
42579
|
+
*
|
|
42434
42580
|
* @example
|
|
42435
42581
|
* ```ts
|
|
42436
42582
|
* await visitor.moveVisitor({
|
|
@@ -42463,6 +42609,8 @@ class Visitor extends User {
|
|
|
42463
42609
|
/**
|
|
42464
42610
|
* Display a message via a toast to a visitor currently in a world.
|
|
42465
42611
|
*
|
|
42612
|
+
* @keywords toast, message, notification, alert, display, show, popup
|
|
42613
|
+
*
|
|
42466
42614
|
* @example
|
|
42467
42615
|
* ```ts
|
|
42468
42616
|
* await visitor.fireToast({
|
|
@@ -42493,6 +42641,8 @@ class Visitor extends User {
|
|
|
42493
42641
|
/**
|
|
42494
42642
|
* Open an iframe in a drawer or modal for a visitor currently in a world.
|
|
42495
42643
|
*
|
|
42644
|
+
* @keywords open, iframe, drawer, modal, link, url, website, web page
|
|
42645
|
+
*
|
|
42496
42646
|
* @category iframes
|
|
42497
42647
|
*
|
|
42498
42648
|
* @example
|
|
@@ -42527,6 +42677,8 @@ class Visitor extends User {
|
|
|
42527
42677
|
/**
|
|
42528
42678
|
* Reload an iframe for a visitor currently in a world.
|
|
42529
42679
|
*
|
|
42680
|
+
* @keywords reload, iframe, drawer, modal, link, url, website, web page
|
|
42681
|
+
*
|
|
42530
42682
|
* @category iframes
|
|
42531
42683
|
*
|
|
42532
42684
|
* @example
|
|
@@ -42550,6 +42702,8 @@ class Visitor extends User {
|
|
|
42550
42702
|
/**
|
|
42551
42703
|
* Close an iframe for a visitor currently in a world.
|
|
42552
42704
|
*
|
|
42705
|
+
* @keywords close, iframe, drawer, modal
|
|
42706
|
+
*
|
|
42553
42707
|
* @category iframes
|
|
42554
42708
|
*
|
|
42555
42709
|
* @example
|
|
@@ -42573,6 +42727,8 @@ class Visitor extends User {
|
|
|
42573
42727
|
/**
|
|
42574
42728
|
* Mute and turn video off for a visitor currently in a world.
|
|
42575
42729
|
*
|
|
42730
|
+
* @keywords mute, video, av, turn off, disable
|
|
42731
|
+
*
|
|
42576
42732
|
* @example
|
|
42577
42733
|
* ```ts
|
|
42578
42734
|
* await visitor.turnAVOff();
|
|
@@ -42594,6 +42750,8 @@ class Visitor extends User {
|
|
|
42594
42750
|
/**
|
|
42595
42751
|
* Get expressions
|
|
42596
42752
|
*
|
|
42753
|
+
* @keywords get, fetch, retrieve, list, expressions, emotes
|
|
42754
|
+
*
|
|
42597
42755
|
* @category Expressions
|
|
42598
42756
|
*
|
|
42599
42757
|
* @example
|
|
@@ -42619,6 +42777,8 @@ class Visitor extends User {
|
|
|
42619
42777
|
/**
|
|
42620
42778
|
* Grant expression to a visitor by id or name.
|
|
42621
42779
|
*
|
|
42780
|
+
* @keywords grant, give, add, expression, emote
|
|
42781
|
+
*
|
|
42622
42782
|
* @category Expressions
|
|
42623
42783
|
*
|
|
42624
42784
|
* @example
|
|
@@ -42650,6 +42810,8 @@ class Visitor extends User {
|
|
|
42650
42810
|
/**
|
|
42651
42811
|
* Get all particles available
|
|
42652
42812
|
*
|
|
42813
|
+
* @keywords get, fetch, retrieve, list, particles, effects
|
|
42814
|
+
*
|
|
42653
42815
|
* @category Particle Effects
|
|
42654
42816
|
*
|
|
42655
42817
|
* @example
|
|
@@ -42673,6 +42835,8 @@ class Visitor extends User {
|
|
|
42673
42835
|
/**
|
|
42674
42836
|
* Trigger a particle effect on a visitor
|
|
42675
42837
|
*
|
|
42838
|
+
* @keywords trigger, particle, effect, spawn, start, play
|
|
42839
|
+
*
|
|
42676
42840
|
* @category Particle Effects
|
|
42677
42841
|
*
|
|
42678
42842
|
* @example
|
|
@@ -42706,6 +42870,8 @@ class Visitor extends User {
|
|
|
42706
42870
|
/**
|
|
42707
42871
|
* Retrieves the data object for a visitor.
|
|
42708
42872
|
*
|
|
42873
|
+
* @keywords get, fetch, retrieve, load, data, object, state
|
|
42874
|
+
*
|
|
42709
42875
|
* @category Data Objects
|
|
42710
42876
|
*
|
|
42711
42877
|
* @example
|
|
@@ -42735,6 +42901,8 @@ class Visitor extends User {
|
|
|
42735
42901
|
/**
|
|
42736
42902
|
* Sets the data object for a visitor.
|
|
42737
42903
|
*
|
|
42904
|
+
* @keywords set, assign, store, save, data, object, state
|
|
42905
|
+
*
|
|
42738
42906
|
* @remarks
|
|
42739
42907
|
* 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
|
|
42740
42908
|
*
|
|
@@ -42770,6 +42938,8 @@ class Visitor extends User {
|
|
|
42770
42938
|
* @remarks
|
|
42771
42939
|
* 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
|
|
42772
42940
|
*
|
|
42941
|
+
* @keywords update, modify, change, edit, alter, data, object, state
|
|
42942
|
+
*
|
|
42773
42943
|
* @category Data Objects
|
|
42774
42944
|
*
|
|
42775
42945
|
* @example
|
|
@@ -42800,6 +42970,8 @@ class Visitor extends User {
|
|
|
42800
42970
|
* @remarks
|
|
42801
42971
|
* 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
|
|
42802
42972
|
*
|
|
42973
|
+
* @keywords increment, increase, add, count, data, object, state
|
|
42974
|
+
*
|
|
42803
42975
|
* @category Data Objects
|
|
42804
42976
|
*
|
|
42805
42977
|
* @example
|
|
@@ -42824,6 +42996,8 @@ class Visitor extends User {
|
|
|
42824
42996
|
/**
|
|
42825
42997
|
* Update analytics for a given public key. Must have valid interactive credentials from a visitor in the world.
|
|
42826
42998
|
*
|
|
42999
|
+
* @keywords update, modify, change, edit, analytics, analytic, stats, statistics, data
|
|
43000
|
+
*
|
|
42827
43001
|
* @example
|
|
42828
43002
|
* ```ts
|
|
42829
43003
|
* await visitor.updatePublicKeyAnalytics([{ analyticName: "joins", profileId, uniqueKey: profileId, urlSlug }]);
|
|
@@ -42846,6 +43020,8 @@ class Visitor extends User {
|
|
|
42846
43020
|
/**
|
|
42847
43021
|
* Setup signal to visitor
|
|
42848
43022
|
*
|
|
43023
|
+
* @keywords signal, webrtc, answer, connect, p2p
|
|
43024
|
+
*
|
|
42849
43025
|
* @example
|
|
42850
43026
|
* ```ts
|
|
42851
43027
|
* await visitor.sendSignalToVisitor(iceServers);
|
|
@@ -42995,6 +43171,8 @@ class WorldActivity extends SDKController {
|
|
|
42995
43171
|
/**
|
|
42996
43172
|
* Retrieve all visitors currently in a world.
|
|
42997
43173
|
*
|
|
43174
|
+
* @keywords get, fetch, retrieve, list, current, visitors, users, players
|
|
43175
|
+
*
|
|
42998
43176
|
* @category Visitors
|
|
42999
43177
|
*
|
|
43000
43178
|
* @example
|
|
@@ -43018,6 +43196,8 @@ class WorldActivity extends SDKController {
|
|
|
43018
43196
|
/**
|
|
43019
43197
|
* Retrieve all visitors currently in a Landmark Zone.
|
|
43020
43198
|
*
|
|
43199
|
+
* @keywords get, fetch, retrieve, list, zone, area, landmark, visitors, users
|
|
43200
|
+
*
|
|
43021
43201
|
* @category Visitors
|
|
43022
43202
|
*
|
|
43023
43203
|
* @example
|
|
@@ -43047,6 +43227,8 @@ class WorldActivity extends SDKController {
|
|
|
43047
43227
|
* Optionally refetch visitors, teleport or walk visitors to new location,
|
|
43048
43228
|
* and scatter visitors by any number so that they don't all move to the exact same location.
|
|
43049
43229
|
*
|
|
43230
|
+
* @keywords move, teleport, position, coordinate, visitors, users, relocate
|
|
43231
|
+
*
|
|
43050
43232
|
* @category Visitors
|
|
43051
43233
|
*
|
|
43052
43234
|
* @example
|
|
@@ -43083,6 +43265,8 @@ class WorldActivity extends SDKController {
|
|
|
43083
43265
|
/**
|
|
43084
43266
|
* Teleport or walk a list of visitors currently in a world to various coordinates.
|
|
43085
43267
|
*
|
|
43268
|
+
* @keywords move, teleport, position, coordinate, visitor, user, relocate
|
|
43269
|
+
*
|
|
43086
43270
|
* @category Visitors
|
|
43087
43271
|
*
|
|
43088
43272
|
* @example
|
|
@@ -43150,9 +43334,19 @@ _WorldActivity_visitorsMap = new WeakMap();
|
|
|
43150
43334
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43151
43335
|
============================================================================ */
|
|
43152
43336
|
/**
|
|
43337
|
+
* Factory for creating Asset instances. Use this factory to create or upload assets in the Topia platform.
|
|
43338
|
+
*
|
|
43339
|
+
* @remarks
|
|
43340
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43341
|
+
*
|
|
43342
|
+
* @keywords asset, factory, create, upload, instantiate, topia
|
|
43343
|
+
*
|
|
43153
43344
|
* @example
|
|
43154
43345
|
* ```ts
|
|
43155
|
-
*
|
|
43346
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43347
|
+
* import { Topia, AssetFactory } from "@rtsdk/topia";
|
|
43348
|
+
* const topia = new Topia({ config });
|
|
43349
|
+
* export const Asset = new AssetFactory(topia);
|
|
43156
43350
|
* ```
|
|
43157
43351
|
*/
|
|
43158
43352
|
class AssetFactory extends SDKController {
|
|
@@ -43160,11 +43354,32 @@ class AssetFactory extends SDKController {
|
|
|
43160
43354
|
super(topia);
|
|
43161
43355
|
}
|
|
43162
43356
|
/**
|
|
43163
|
-
* Instantiate a new instance of Asset class.
|
|
43357
|
+
* Instantiate a new instance of Asset class with the specified asset ID.
|
|
43358
|
+
*
|
|
43359
|
+
* @remarks
|
|
43360
|
+
* This method creates a new Asset controller instance that can be used to interact with an existing asset.
|
|
43361
|
+
* It does not create a new asset in the database.
|
|
43362
|
+
*
|
|
43363
|
+
* @keywords create, instantiate, asset, initialize, get, instance
|
|
43164
43364
|
*
|
|
43165
43365
|
* @example
|
|
43166
|
-
* ```
|
|
43167
|
-
*
|
|
43366
|
+
* ```ts
|
|
43367
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43368
|
+
* import { Asset } from "utils/topiaInit.ts";
|
|
43369
|
+
*
|
|
43370
|
+
* // Create an Asset instance with credentials
|
|
43371
|
+
* const assetInstance = await Asset.create(assetId, {
|
|
43372
|
+
* credentials: {
|
|
43373
|
+
* interactiveNonce,
|
|
43374
|
+
* interactivePublicKey,
|
|
43375
|
+
* assetId,
|
|
43376
|
+
* urlSlug,
|
|
43377
|
+
* visitorId
|
|
43378
|
+
* }
|
|
43379
|
+
* });
|
|
43380
|
+
*
|
|
43381
|
+
* // Use the instance to interact with the asset
|
|
43382
|
+
* await assetInstance.fetchAssetById();
|
|
43168
43383
|
* ```
|
|
43169
43384
|
*
|
|
43170
43385
|
* @returns {Asset} Returns a new Asset object with the asset id.
|
|
@@ -43173,22 +43388,37 @@ class AssetFactory extends SDKController {
|
|
|
43173
43388
|
return new Asset(this.topia, id, options);
|
|
43174
43389
|
}
|
|
43175
43390
|
/**
|
|
43176
|
-
* Upload a new Asset and return a new instance of Asset class.
|
|
43391
|
+
* Upload a new Asset to the Topia platform and return a new instance of Asset class.
|
|
43392
|
+
*
|
|
43393
|
+
* @remarks
|
|
43394
|
+
* This method both creates a new asset in the database and returns an Asset controller instance.
|
|
43395
|
+
* A valid API key with appropriate permissions is required.
|
|
43396
|
+
*
|
|
43397
|
+
* @keywords upload, create, new, asset, add, store
|
|
43177
43398
|
*
|
|
43178
43399
|
* @example
|
|
43179
|
-
* ```
|
|
43400
|
+
* ```ts
|
|
43401
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43402
|
+
* import { Asset } from "utils/topiaInit.ts";
|
|
43403
|
+
*
|
|
43404
|
+
* // Prepare the asset payload
|
|
43180
43405
|
* const assetPayload = {
|
|
43181
|
-
* assetName: "
|
|
43182
|
-
* bottomLayerURL: "https://example.
|
|
43406
|
+
* assetName: "My Decorative Asset",
|
|
43407
|
+
* bottomLayerURL: "https://example.com/bottom-layer.png",
|
|
43183
43408
|
* creatorTags: { "decorations": true },
|
|
43184
43409
|
* tagJson: "[{"label":"decorations","value":"decorations"}]",
|
|
43185
43410
|
* isPublic: true,
|
|
43186
|
-
* topLayerURL: "https://example.
|
|
43187
|
-
* }
|
|
43411
|
+
* topLayerURL: "https://example.com/top-layer.png"
|
|
43412
|
+
* };
|
|
43413
|
+
*
|
|
43414
|
+
* // Upload the asset using your API key
|
|
43188
43415
|
* const asset = await Asset.upload(assetPayload, apiKey);
|
|
43416
|
+
*
|
|
43417
|
+
* // Access the new asset's properties
|
|
43418
|
+
* console.log(asset.id);
|
|
43189
43419
|
* ```
|
|
43190
43420
|
*
|
|
43191
|
-
* @returns {
|
|
43421
|
+
* @returns {Asset} Returns a new Asset object with the asset details.
|
|
43192
43422
|
*/
|
|
43193
43423
|
upload(assetPayload, apiKey) {
|
|
43194
43424
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43238,9 +43468,19 @@ class AssetFactory extends SDKController {
|
|
|
43238
43468
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43239
43469
|
============================================================================ */
|
|
43240
43470
|
/**
|
|
43471
|
+
* Factory for creating and retrieving DroppedAsset instances. Use this factory to work with assets that have been placed in a Topia world.
|
|
43472
|
+
*
|
|
43473
|
+
* @remarks
|
|
43474
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43475
|
+
*
|
|
43476
|
+
* @keywords dropped asset, factory, create, get, retrieve, instantiate, topia
|
|
43477
|
+
*
|
|
43241
43478
|
* @example
|
|
43242
43479
|
* ```ts
|
|
43243
|
-
*
|
|
43480
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43481
|
+
* import { Topia, DroppedAssetFactory } from "@rtsdk/topia";
|
|
43482
|
+
* const topia = new Topia({ config });
|
|
43483
|
+
* export const DroppedAsset = new DroppedAssetFactory(topia);
|
|
43244
43484
|
* ```
|
|
43245
43485
|
*/
|
|
43246
43486
|
class DroppedAssetFactory extends SDKController {
|
|
@@ -43248,27 +43488,77 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43248
43488
|
super(topia);
|
|
43249
43489
|
}
|
|
43250
43490
|
/**
|
|
43251
|
-
* Instantiate a new instance of DroppedAsset class.
|
|
43491
|
+
* Instantiate a new instance of DroppedAsset class for an existing dropped asset in a world.
|
|
43492
|
+
*
|
|
43493
|
+
* @remarks
|
|
43494
|
+
* This method creates a controller instance for an existing dropped asset but does not fetch its properties.
|
|
43495
|
+
* Use this when you need a lightweight instance and will fetch properties separately if needed or when you already have the properties.
|
|
43496
|
+
*
|
|
43497
|
+
* @keywords create, instantiate, dropped asset, initialize, instance
|
|
43252
43498
|
*
|
|
43253
43499
|
* @example
|
|
43254
|
-
* ```
|
|
43255
|
-
*
|
|
43500
|
+
* ```ts
|
|
43501
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43502
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
43503
|
+
*
|
|
43504
|
+
* // Create a DroppedAsset instance with credentials
|
|
43505
|
+
* const droppedAssetInstance = DroppedAsset.create(
|
|
43506
|
+
* assetId,
|
|
43507
|
+
* urlSlug,
|
|
43508
|
+
* {
|
|
43509
|
+
* credentials: {
|
|
43510
|
+
* interactiveNonce,
|
|
43511
|
+
* interactivePublicKey,
|
|
43512
|
+
* assetId,
|
|
43513
|
+
* urlSlug,
|
|
43514
|
+
* visitorId
|
|
43515
|
+
* }
|
|
43516
|
+
* }
|
|
43517
|
+
* );
|
|
43518
|
+
*
|
|
43519
|
+
* // Later fetch its properties if needed
|
|
43520
|
+
* await droppedAssetInstance.fetchDroppedAssetById();
|
|
43256
43521
|
* ```
|
|
43257
43522
|
*
|
|
43258
|
-
* @returns {DroppedAsset} Returns a new DroppedAsset object.
|
|
43523
|
+
* @returns {DroppedAsset} Returns a new DroppedAsset object without fetching its properties.
|
|
43259
43524
|
*/
|
|
43260
43525
|
create(id, urlSlug, options) {
|
|
43261
43526
|
return new DroppedAsset(this.topia, id, urlSlug, options);
|
|
43262
43527
|
}
|
|
43263
43528
|
/**
|
|
43264
|
-
* Instantiate a new instance of DroppedAsset class and
|
|
43529
|
+
* Instantiate a new instance of DroppedAsset class and automatically fetch all its properties.
|
|
43530
|
+
*
|
|
43531
|
+
* @remarks
|
|
43532
|
+
* This method creates a controller instance and immediately fetches all properties of the dropped asset.
|
|
43533
|
+
* It's a convenience method that combines creating an instance and calling fetchDroppedAssetById().
|
|
43534
|
+
*
|
|
43535
|
+
* @keywords get, fetch, retrieve, dropped asset, load, instance
|
|
43265
43536
|
*
|
|
43266
43537
|
* @example
|
|
43267
|
-
* ```
|
|
43268
|
-
*
|
|
43538
|
+
* ```ts
|
|
43539
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43540
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
43541
|
+
*
|
|
43542
|
+
* // Get a fully populated DroppedAsset instance
|
|
43543
|
+
* const droppedAssetInstance = await DroppedAsset.get(
|
|
43544
|
+
* assetId,
|
|
43545
|
+
* urlSlug,
|
|
43546
|
+
* {
|
|
43547
|
+
* credentials: {
|
|
43548
|
+
* interactiveNonce,
|
|
43549
|
+
* interactivePublicKey,
|
|
43550
|
+
* assetId,
|
|
43551
|
+
* urlSlug,
|
|
43552
|
+
* visitorId
|
|
43553
|
+
* }
|
|
43554
|
+
* }
|
|
43555
|
+
* );
|
|
43556
|
+
*
|
|
43557
|
+
* // The properties are already loaded, so you can use them immediately
|
|
43558
|
+
* console.log(droppedAssetInstance.position);
|
|
43269
43559
|
* ```
|
|
43270
43560
|
*
|
|
43271
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
|
|
43561
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
|
|
43272
43562
|
*/
|
|
43273
43563
|
get(id, urlSlug, options) {
|
|
43274
43564
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43278,17 +43568,36 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43278
43568
|
});
|
|
43279
43569
|
}
|
|
43280
43570
|
/**
|
|
43281
|
-
* Searches
|
|
43571
|
+
* Searches for and retrieves a dropped asset by its unique name within a world.
|
|
43282
43572
|
*
|
|
43283
43573
|
* @remarks
|
|
43284
|
-
* 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.
|
|
43574
|
+
* 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.
|
|
43575
|
+
* Use this when you need to find a dropped asset by its uniqueName rather than its ID.
|
|
43576
|
+
*
|
|
43577
|
+
* @keywords find, search, unique name, retrieve, locate, lookup, dropped asset
|
|
43285
43578
|
*
|
|
43286
43579
|
* @example
|
|
43287
|
-
* ```
|
|
43288
|
-
*
|
|
43580
|
+
* ```ts
|
|
43581
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43582
|
+
* import { DroppedAsset } from "utils/topiaInit.ts";
|
|
43583
|
+
*
|
|
43584
|
+
* // Find and retrieve a dropped asset by its unique name
|
|
43585
|
+
* const droppedAssetInstance = await DroppedAsset.getWithUniqueName(
|
|
43586
|
+
* "banner-sign-northeast",
|
|
43587
|
+
* "my-world-slug",
|
|
43588
|
+
* "your-interactive-secret",
|
|
43589
|
+
* {
|
|
43590
|
+
* apiKey: "your-api-key",
|
|
43591
|
+
* interactivePublicKey: "your-public-key",
|
|
43592
|
+
* // other credentials...
|
|
43593
|
+
* }
|
|
43594
|
+
* );
|
|
43595
|
+
*
|
|
43596
|
+
* // The properties are already loaded, so you can use them immediately
|
|
43597
|
+
* console.log(droppedAssetInstance.position);
|
|
43289
43598
|
* ```
|
|
43290
43599
|
*
|
|
43291
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties.
|
|
43600
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object with all properties already fetched.
|
|
43292
43601
|
*/
|
|
43293
43602
|
getWithUniqueName(uniqueName, urlSlug, interactiveSecret, credentials) {
|
|
43294
43603
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43315,23 +43624,59 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43315
43624
|
/**
|
|
43316
43625
|
* Drops an asset in a world and returns a new instance of DroppedAsset class with all properties.
|
|
43317
43626
|
*
|
|
43627
|
+
* @remarks
|
|
43628
|
+
* This method places an existing Asset into a world at specified coordinates, effectively "dropping" it into the environment.
|
|
43629
|
+
* You can customize various properties of the dropped asset during placement, such as scale, position, interactive settings, and visual layers.
|
|
43630
|
+
*
|
|
43631
|
+
* @keywords drop, place, add, create, position, asset, deploy
|
|
43632
|
+
*
|
|
43318
43633
|
* @example
|
|
43319
|
-
* ```
|
|
43320
|
-
*
|
|
43321
|
-
*
|
|
43322
|
-
|
|
43323
|
-
|
|
43324
|
-
|
|
43325
|
-
|
|
43326
|
-
|
|
43327
|
-
|
|
43328
|
-
|
|
43329
|
-
|
|
43330
|
-
|
|
43331
|
-
|
|
43634
|
+
* ```ts
|
|
43635
|
+
* // Import the pre-initialized factories from your app's initialization file
|
|
43636
|
+
* import { Asset, DroppedAsset } from "utils/topiaInit.ts";
|
|
43637
|
+
*
|
|
43638
|
+
* // First get an asset instance
|
|
43639
|
+
* const assetInstance = Asset.create("asset-id-123", {
|
|
43640
|
+
* credentials: {
|
|
43641
|
+
* interactiveNonce,
|
|
43642
|
+
* interactivePublicKey,
|
|
43643
|
+
* assetId,
|
|
43644
|
+
* urlSlug,
|
|
43645
|
+
* visitorId
|
|
43646
|
+
* }
|
|
43647
|
+
* });
|
|
43648
|
+
*
|
|
43649
|
+
* // Then drop (place) the asset in a world
|
|
43650
|
+
* const droppedAssetInstance = await DroppedAsset.drop(
|
|
43651
|
+
* assetInstance,
|
|
43652
|
+
* {
|
|
43653
|
+
* // Basic positioning and appearance
|
|
43654
|
+
* position: { x: 250, y: 350 },
|
|
43655
|
+
* assetScale: 1.5,
|
|
43656
|
+
* flipped: true,
|
|
43657
|
+
* uniqueName: "welcome-sign",
|
|
43658
|
+
* urlSlug: "my-world-slug",
|
|
43659
|
+
*
|
|
43660
|
+
* // For web images (optional)
|
|
43661
|
+
* layer0: "https://example.com/background.png",
|
|
43662
|
+
* layer1: "https://example.com/foreground.png",
|
|
43663
|
+
*
|
|
43664
|
+
* // For interactive assets (optional)
|
|
43665
|
+
* interactivePublicKey: "your-public-key",
|
|
43666
|
+
* isInteractive: true,
|
|
43667
|
+
*
|
|
43668
|
+
* // For clickable assets (optional)
|
|
43669
|
+
* clickType: "link",
|
|
43670
|
+
* clickableLink: "https://example.com",
|
|
43671
|
+
* clickableLinkTitle: "Visit Example"
|
|
43672
|
+
* }
|
|
43673
|
+
* );
|
|
43674
|
+
*
|
|
43675
|
+
* // The dropped asset is ready to use
|
|
43676
|
+
* console.log(droppedAssetInstance.id);
|
|
43332
43677
|
* ```
|
|
43333
43678
|
*
|
|
43334
|
-
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object
|
|
43679
|
+
* @returns {Promise<DroppedAsset>} Returns a new DroppedAsset object representing the placed asset in the world.
|
|
43335
43680
|
*/
|
|
43336
43681
|
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, }) {
|
|
43337
43682
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43416,9 +43761,20 @@ class DroppedAssetFactory extends SDKController {
|
|
|
43416
43761
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43417
43762
|
============================================================================ */
|
|
43418
43763
|
/**
|
|
43764
|
+
* Factory for creating Ecosystem instances. Use this factory to work with ecosystem-wide data and operations.
|
|
43765
|
+
*
|
|
43766
|
+
* @remarks
|
|
43767
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43768
|
+
* The Ecosystem controller provides methods to interact with data shared across multiple worlds.
|
|
43769
|
+
*
|
|
43770
|
+
* @keywords ecosystem, factory, create, multi-world, global, shared data, platform
|
|
43771
|
+
*
|
|
43419
43772
|
* @example
|
|
43420
43773
|
* ```ts
|
|
43421
|
-
*
|
|
43774
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43775
|
+
* import { Topia, EcosystemFactory } from "@rtsdk/topia";
|
|
43776
|
+
* const topia = new Topia({ config });
|
|
43777
|
+
* export const Ecosystem = new EcosystemFactory(topia);
|
|
43422
43778
|
* ```
|
|
43423
43779
|
*/
|
|
43424
43780
|
class EcosystemFactory {
|
|
@@ -43426,14 +43782,36 @@ class EcosystemFactory {
|
|
|
43426
43782
|
this.topia = topia;
|
|
43427
43783
|
}
|
|
43428
43784
|
/**
|
|
43429
|
-
* Instantiate a new instance of Ecosystem class.
|
|
43785
|
+
* Instantiate a new instance of Ecosystem class for interacting with ecosystem-wide data.
|
|
43786
|
+
*
|
|
43787
|
+
* @remarks
|
|
43788
|
+
* This method creates a controller instance for accessing and managing data that spans multiple worlds.
|
|
43789
|
+
* Use this for cross-world data sharing, global data objects, and ecosystem-wide operations.
|
|
43790
|
+
*
|
|
43791
|
+
* @keywords create, instantiate, ecosystem, initialize, global, shared data, platform
|
|
43430
43792
|
*
|
|
43431
43793
|
* @example
|
|
43432
|
-
* ```
|
|
43433
|
-
*
|
|
43794
|
+
* ```ts
|
|
43795
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43796
|
+
* import { Ecosystem } from "utils/topiaInit.ts";
|
|
43797
|
+
*
|
|
43798
|
+
* // Create an Ecosystem instance with credentials
|
|
43799
|
+
* const ecosystemInstance = Ecosystem.create({
|
|
43800
|
+
* credentials: {
|
|
43801
|
+
* interactiveNonce,
|
|
43802
|
+
* interactivePublicKey,
|
|
43803
|
+
* assetId,
|
|
43804
|
+
* urlSlug,
|
|
43805
|
+
* visitorId
|
|
43806
|
+
* }
|
|
43807
|
+
* });
|
|
43808
|
+
*
|
|
43809
|
+
* // Work with ecosystem-wide data objects
|
|
43810
|
+
* await ecosystemInstance.fetchDataObject("global-leaderboard");
|
|
43811
|
+
* await ecosystemInstance.setDataObject("global-leaderboard", { scores: [...] });
|
|
43434
43812
|
* ```
|
|
43435
43813
|
*
|
|
43436
|
-
* @returns {Ecosystem} Returns a new Ecosystem object.
|
|
43814
|
+
* @returns {Ecosystem} Returns a new Ecosystem object for interacting with ecosystem-wide data.
|
|
43437
43815
|
*/
|
|
43438
43816
|
create(options) {
|
|
43439
43817
|
return new Ecosystem(this.topia, options);
|
|
@@ -43470,9 +43848,20 @@ class EcosystemFactory {
|
|
|
43470
43848
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43471
43849
|
============================================================================ */
|
|
43472
43850
|
/**
|
|
43851
|
+
* Factory for creating Scene instances. Use this factory to work with scenes in the Topia platform.
|
|
43852
|
+
*
|
|
43853
|
+
* @remarks
|
|
43854
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43855
|
+
* Scenes represent the template or blueprint for a world's design and layout.
|
|
43856
|
+
*
|
|
43857
|
+
* @keywords scene, factory, create, template, blueprint, layout, design
|
|
43858
|
+
*
|
|
43473
43859
|
* @example
|
|
43474
43860
|
* ```ts
|
|
43475
|
-
*
|
|
43861
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43862
|
+
* import { Topia, SceneFactory } from "@rtsdk/topia";
|
|
43863
|
+
* const topia = new Topia({ config });
|
|
43864
|
+
* export const Scene = new SceneFactory(topia);
|
|
43476
43865
|
* ```
|
|
43477
43866
|
*/
|
|
43478
43867
|
class SceneFactory {
|
|
@@ -43481,14 +43870,38 @@ class SceneFactory {
|
|
|
43481
43870
|
this.create;
|
|
43482
43871
|
}
|
|
43483
43872
|
/**
|
|
43484
|
-
* Instantiate a new instance of Scene class.
|
|
43873
|
+
* Instantiate a new instance of Scene class for an existing scene in the platform.
|
|
43874
|
+
*
|
|
43875
|
+
* @remarks
|
|
43876
|
+
* This method creates a controller instance for working with a scene but does not fetch its properties.
|
|
43877
|
+
* Use this when you need to interact with a specific scene by its ID.
|
|
43878
|
+
*
|
|
43879
|
+
* @keywords create, instantiate, scene, initialize, instance, template
|
|
43485
43880
|
*
|
|
43486
43881
|
* @example
|
|
43487
|
-
* ```
|
|
43488
|
-
*
|
|
43882
|
+
* ```ts
|
|
43883
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43884
|
+
* import { Scene } from "utils/topiaInit.ts";
|
|
43885
|
+
*
|
|
43886
|
+
* // Create a Scene instance with credentials
|
|
43887
|
+
* const sceneInstance = Scene.create(
|
|
43888
|
+
* "scene-id-123",
|
|
43889
|
+
* {
|
|
43890
|
+
* credentials: {
|
|
43891
|
+
* interactiveNonce,
|
|
43892
|
+
* interactivePublicKey,
|
|
43893
|
+
* assetId,
|
|
43894
|
+
* urlSlug,
|
|
43895
|
+
* visitorId
|
|
43896
|
+
* }
|
|
43897
|
+
* }
|
|
43898
|
+
* );
|
|
43899
|
+
*
|
|
43900
|
+
* // Fetch scene details if needed
|
|
43901
|
+
* await sceneInstance.fetchSceneById();
|
|
43489
43902
|
* ```
|
|
43490
43903
|
*
|
|
43491
|
-
* @returns {Scene} Returns a new Scene object.
|
|
43904
|
+
* @returns {Scene} Returns a new Scene object for interacting with the specified scene.
|
|
43492
43905
|
*/
|
|
43493
43906
|
create(id, options) {
|
|
43494
43907
|
return new Scene(this.topia, id, options);
|
|
@@ -43543,9 +43956,20 @@ class SceneFactory {
|
|
|
43543
43956
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43544
43957
|
============================================================================ */
|
|
43545
43958
|
/**
|
|
43959
|
+
* Factory for creating User instances. Use this factory to work with user data in the Topia platform.
|
|
43960
|
+
*
|
|
43961
|
+
* @remarks
|
|
43962
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
43963
|
+
* The User controller allows you to interact with user-specific information and operations.
|
|
43964
|
+
*
|
|
43965
|
+
* @keywords user, factory, create, account, profile, member, visitor
|
|
43966
|
+
*
|
|
43546
43967
|
* @example
|
|
43547
43968
|
* ```ts
|
|
43548
|
-
*
|
|
43969
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
43970
|
+
* import { Topia, UserFactory } from "@rtsdk/topia";
|
|
43971
|
+
* const topia = new Topia({ config });
|
|
43972
|
+
* export const User = new UserFactory(topia);
|
|
43549
43973
|
* ```
|
|
43550
43974
|
*/
|
|
43551
43975
|
class UserFactory {
|
|
@@ -43553,14 +43977,36 @@ class UserFactory {
|
|
|
43553
43977
|
this.topia = topia;
|
|
43554
43978
|
}
|
|
43555
43979
|
/**
|
|
43556
|
-
* Instantiate a new instance of User class.
|
|
43980
|
+
* Instantiate a new instance of User class for working with user data.
|
|
43981
|
+
*
|
|
43982
|
+
* @remarks
|
|
43983
|
+
* This method creates a controller instance for interacting with user-specific operations.
|
|
43984
|
+
* The User controller doesn't require an ID since it represents the currently authenticated user.
|
|
43985
|
+
*
|
|
43986
|
+
* @keywords create, instantiate, user, initialize, account, profile, member
|
|
43557
43987
|
*
|
|
43558
43988
|
* @example
|
|
43559
|
-
* ```
|
|
43560
|
-
*
|
|
43989
|
+
* ```ts
|
|
43990
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
43991
|
+
* import { User } from "utils/topiaInit.ts";
|
|
43992
|
+
*
|
|
43993
|
+
* // Create a User instance with credentials
|
|
43994
|
+
* const userInstance = User.create({
|
|
43995
|
+
* credentials: {
|
|
43996
|
+
* interactiveNonce,
|
|
43997
|
+
* interactivePublicKey,
|
|
43998
|
+
* assetId,
|
|
43999
|
+
* urlSlug,
|
|
44000
|
+
* visitorId
|
|
44001
|
+
* }
|
|
44002
|
+
* });
|
|
44003
|
+
*
|
|
44004
|
+
* // Use methods on the user instance
|
|
44005
|
+
* await userInstance.checkInteractiveCredentials();
|
|
44006
|
+
* const avatars = await userInstance.fetchAvatars();
|
|
43561
44007
|
* ```
|
|
43562
44008
|
*
|
|
43563
|
-
* @returns {User} Returns a new User object.
|
|
44009
|
+
* @returns {User} Returns a new User object for interacting with user data.
|
|
43564
44010
|
*/
|
|
43565
44011
|
create(options) {
|
|
43566
44012
|
return new User(this.topia, options);
|
|
@@ -43598,9 +44044,20 @@ class UserFactory {
|
|
|
43598
44044
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43599
44045
|
============================================================================ */
|
|
43600
44046
|
/**
|
|
44047
|
+
* Factory for creating Visitor instances. Use this factory to work with visitors in Topia worlds.
|
|
44048
|
+
*
|
|
44049
|
+
* @remarks
|
|
44050
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44051
|
+
* The Visitor controller represents a specific visitor/avatar instance in a world.
|
|
44052
|
+
*
|
|
44053
|
+
* @keywords visitor, factory, create, get, avatar, user, participant
|
|
44054
|
+
*
|
|
43601
44055
|
* @example
|
|
43602
44056
|
* ```ts
|
|
43603
|
-
*
|
|
44057
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44058
|
+
* import { Topia, VisitorFactory } from "@rtsdk/topia";
|
|
44059
|
+
* const topia = new Topia({ config });
|
|
44060
|
+
* export const Visitor = new VisitorFactory(topia);
|
|
43604
44061
|
* ```
|
|
43605
44062
|
*/
|
|
43606
44063
|
class VisitorFactory {
|
|
@@ -43608,27 +44065,78 @@ class VisitorFactory {
|
|
|
43608
44065
|
this.topia = topia;
|
|
43609
44066
|
}
|
|
43610
44067
|
/**
|
|
43611
|
-
* Instantiate a new instance of Visitor class.
|
|
44068
|
+
* Instantiate a new instance of Visitor class for an existing visitor in a world.
|
|
44069
|
+
*
|
|
44070
|
+
* @remarks
|
|
44071
|
+
* This method creates a controller instance for a visitor but does not fetch its properties.
|
|
44072
|
+
* Use this when you need a lightweight instance and will fetch properties separately or when you already have the properties.
|
|
44073
|
+
*
|
|
44074
|
+
* @keywords create, instantiate, visitor, initialize, avatar, instance
|
|
43612
44075
|
*
|
|
43613
44076
|
* @example
|
|
43614
|
-
* ```
|
|
43615
|
-
*
|
|
44077
|
+
* ```ts
|
|
44078
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44079
|
+
* import { Visitor } from "utils/topiaInit.ts";
|
|
44080
|
+
*
|
|
44081
|
+
* // Create a Visitor instance with credentials
|
|
44082
|
+
* const visitorInstance = Visitor.create(
|
|
44083
|
+
* 12345, // visitor ID
|
|
44084
|
+
* "my-world-slug",
|
|
44085
|
+
* {
|
|
44086
|
+
* credentials: {
|
|
44087
|
+
* interactiveNonce,
|
|
44088
|
+
* interactivePublicKey,
|
|
44089
|
+
* assetId,
|
|
44090
|
+
* urlSlug,
|
|
44091
|
+
* visitorId
|
|
44092
|
+
* }
|
|
44093
|
+
* }
|
|
44094
|
+
* );
|
|
44095
|
+
*
|
|
44096
|
+
* // Later fetch visitor properties if needed
|
|
44097
|
+
* await visitorInstance.fetchVisitor();
|
|
43616
44098
|
* ```
|
|
43617
44099
|
*
|
|
43618
|
-
* @returns {Visitor} Returns a new Visitor object.
|
|
44100
|
+
* @returns {Visitor} Returns a new Visitor object without fetching its properties.
|
|
43619
44101
|
*/
|
|
43620
44102
|
create(id, urlSlug, options) {
|
|
43621
44103
|
return new Visitor(this.topia, id, urlSlug, options);
|
|
43622
44104
|
}
|
|
43623
44105
|
/**
|
|
43624
|
-
* Instantiate a new instance of Visitor class and
|
|
44106
|
+
* Instantiate a new instance of Visitor class and automatically fetch all its properties.
|
|
44107
|
+
*
|
|
44108
|
+
* @remarks
|
|
44109
|
+
* This method creates a controller instance and immediately fetches all properties of the visitor.
|
|
44110
|
+
* It's a convenience method that combines creating an instance and calling fetchVisitor().
|
|
44111
|
+
*
|
|
44112
|
+
* @keywords get, fetch, retrieve, visitor, load, avatar, instance
|
|
43625
44113
|
*
|
|
43626
44114
|
* @example
|
|
43627
|
-
* ```
|
|
43628
|
-
*
|
|
44115
|
+
* ```ts
|
|
44116
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44117
|
+
* import { Visitor } from "utils/topiaInit.ts";
|
|
44118
|
+
*
|
|
44119
|
+
* // Get a fully populated Visitor instance
|
|
44120
|
+
* const visitorInstance = await Visitor.get(
|
|
44121
|
+
* 12345, // visitor ID
|
|
44122
|
+
* "my-world-slug",
|
|
44123
|
+
* {
|
|
44124
|
+
* credentials: {
|
|
44125
|
+
* interactiveNonce,
|
|
44126
|
+
* interactivePublicKey,
|
|
44127
|
+
* assetId,
|
|
44128
|
+
* urlSlug,
|
|
44129
|
+
* visitorId
|
|
44130
|
+
* }
|
|
44131
|
+
* }
|
|
44132
|
+
* );
|
|
44133
|
+
*
|
|
44134
|
+
* // The properties are already loaded, so you can use them immediately
|
|
44135
|
+
* console.log(visitorInstance.username);
|
|
44136
|
+
* console.log(visitorInstance.position);
|
|
43629
44137
|
* ```
|
|
43630
44138
|
*
|
|
43631
|
-
* @returns {Promise<Visitor>} Returns a new Visitor object with all properties.
|
|
44139
|
+
* @returns {Promise<Visitor>} Returns a new Visitor object with all properties already fetched.
|
|
43632
44140
|
*/
|
|
43633
44141
|
get(id, urlSlug, options) {
|
|
43634
44142
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43640,9 +44148,20 @@ class VisitorFactory {
|
|
|
43640
44148
|
}
|
|
43641
44149
|
|
|
43642
44150
|
/**
|
|
44151
|
+
* Factory for creating WebRTCConnector instances. Use this factory to establish WebRTC connections for audio/video in Topia worlds.
|
|
44152
|
+
*
|
|
44153
|
+
* @remarks
|
|
44154
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44155
|
+
* The WebRTCConnector provides methods to set up and manage real-time audio/video communication.
|
|
44156
|
+
*
|
|
44157
|
+
* @keywords webrtc, factory, create, audio, video, communication, real-time, conference
|
|
44158
|
+
*
|
|
43643
44159
|
* @example
|
|
43644
44160
|
* ```ts
|
|
43645
|
-
*
|
|
44161
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44162
|
+
* import { Topia, WebRTCConnectorFactory } from "@rtsdk/topia";
|
|
44163
|
+
* const topia = new Topia({ config });
|
|
44164
|
+
* export const WebRTCConnector = new WebRTCConnectorFactory(topia);
|
|
43646
44165
|
* ```
|
|
43647
44166
|
*/
|
|
43648
44167
|
class WebRTCConnectorFactory {
|
|
@@ -43650,14 +44169,41 @@ class WebRTCConnectorFactory {
|
|
|
43650
44169
|
this.topia = topia;
|
|
43651
44170
|
}
|
|
43652
44171
|
/**
|
|
43653
|
-
* Instantiate a new instance of WebRTCConnector class.
|
|
44172
|
+
* Instantiate a new instance of WebRTCConnector class for managing audio/video communication.
|
|
44173
|
+
*
|
|
44174
|
+
* @remarks
|
|
44175
|
+
* This method creates a controller instance for establishing and managing WebRTC connections.
|
|
44176
|
+
* Use this for implementing real-time audio/video communication features in Topia worlds.
|
|
44177
|
+
*
|
|
44178
|
+
* @keywords create, instantiate, webrtc, initialize, audio, video, communication, stream
|
|
43654
44179
|
*
|
|
43655
44180
|
* @example
|
|
43656
|
-
* ```
|
|
43657
|
-
*
|
|
44181
|
+
* ```ts
|
|
44182
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44183
|
+
* import { WebRTCConnector } from "utils/topiaInit.ts";
|
|
44184
|
+
*
|
|
44185
|
+
* // Create a WebRTCConnector instance with credentials and configuration
|
|
44186
|
+
* const webRTCInstance = WebRTCConnector.create(
|
|
44187
|
+
* "my-world-slug",
|
|
44188
|
+
* {
|
|
44189
|
+
* credentials: {
|
|
44190
|
+
* interactiveNonce,
|
|
44191
|
+
* interactivePublicKey,
|
|
44192
|
+
* assetId,
|
|
44193
|
+
* urlSlug,
|
|
44194
|
+
* visitorId
|
|
44195
|
+
* },
|
|
44196
|
+
* twilioConfig: {
|
|
44197
|
+
* // Twilio configuration options
|
|
44198
|
+
* }
|
|
44199
|
+
* }
|
|
44200
|
+
* );
|
|
44201
|
+
*
|
|
44202
|
+
* // Use the instance to establish connections
|
|
44203
|
+
* await webRTCInstance.connect();
|
|
43658
44204
|
* ```
|
|
43659
44205
|
*
|
|
43660
|
-
* @returns {WebRTCConnector} Returns a new WebRTCConnector object.
|
|
44206
|
+
* @returns {WebRTCConnector} Returns a new WebRTCConnector object for managing audio/video communication.
|
|
43661
44207
|
*/
|
|
43662
44208
|
create(urlSlug, options) {
|
|
43663
44209
|
return new WebRTCConnector(this.topia, urlSlug, options);
|
|
@@ -43695,9 +44241,20 @@ class WebRTCConnectorFactory {
|
|
|
43695
44241
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43696
44242
|
============================================================================ */
|
|
43697
44243
|
/**
|
|
44244
|
+
* Factory for creating WorldActivity instances. Use this factory to monitor and manage visitor activity in Topia worlds.
|
|
44245
|
+
*
|
|
44246
|
+
* @remarks
|
|
44247
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44248
|
+
* The WorldActivity controller provides methods to interact with real-time visitor activities and movements.
|
|
44249
|
+
*
|
|
44250
|
+
* @keywords world activity, factory, create, visitors, movement, tracking, presence, real-time
|
|
44251
|
+
*
|
|
43698
44252
|
* @example
|
|
43699
44253
|
* ```ts
|
|
43700
|
-
*
|
|
44254
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44255
|
+
* import { Topia, WorldActivityFactory } from "@rtsdk/topia";
|
|
44256
|
+
* const topia = new Topia({ config });
|
|
44257
|
+
* export const WorldActivity = new WorldActivityFactory(topia);
|
|
43701
44258
|
* ```
|
|
43702
44259
|
*/
|
|
43703
44260
|
class WorldActivityFactory {
|
|
@@ -43705,14 +44262,42 @@ class WorldActivityFactory {
|
|
|
43705
44262
|
this.topia = topia;
|
|
43706
44263
|
}
|
|
43707
44264
|
/**
|
|
43708
|
-
* Instantiate a new instance of WorldActivity class.
|
|
44265
|
+
* Instantiate a new instance of WorldActivity class for monitoring visitor activity in a specific world.
|
|
44266
|
+
*
|
|
44267
|
+
* @remarks
|
|
44268
|
+
* This method creates a controller instance for tracking and managing visitor activity in a world.
|
|
44269
|
+
* Use this to fetch current visitors, move visitors, or monitor specific zones within a world.
|
|
44270
|
+
*
|
|
44271
|
+
* @keywords create, instantiate, world activity, initialize, visitors, tracking, presence
|
|
43709
44272
|
*
|
|
43710
44273
|
* @example
|
|
43711
|
-
* ```
|
|
43712
|
-
*
|
|
44274
|
+
* ```ts
|
|
44275
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44276
|
+
* import { WorldActivity } from "utils/topiaInit.ts";
|
|
44277
|
+
*
|
|
44278
|
+
* // Create a WorldActivity instance with credentials
|
|
44279
|
+
* const worldActivityInstance = WorldActivity.create(
|
|
44280
|
+
* "my-world-slug",
|
|
44281
|
+
* {
|
|
44282
|
+
* credentials: {
|
|
44283
|
+
* interactiveNonce,
|
|
44284
|
+
* interactivePublicKey,
|
|
44285
|
+
* assetId,
|
|
44286
|
+
* urlSlug,
|
|
44287
|
+
* visitorId
|
|
44288
|
+
* }
|
|
44289
|
+
* }
|
|
44290
|
+
* );
|
|
44291
|
+
*
|
|
44292
|
+
* // Get current visitors in the world
|
|
44293
|
+
* const visitors = await worldActivityInstance.currentVisitors();
|
|
44294
|
+
* console.log(`There are ${visitors.length} visitors in the world`);
|
|
44295
|
+
*
|
|
44296
|
+
* // Check visitors in a specific zone
|
|
44297
|
+
* const zoneVisitors = await worldActivityInstance.fetchVisitorsInZone("stage-area");
|
|
43713
44298
|
* ```
|
|
43714
44299
|
*
|
|
43715
|
-
* @returns {WorldActivity} Returns a new WorldActivity object.
|
|
44300
|
+
* @returns {WorldActivity} Returns a new WorldActivity object for tracking and managing visitor activity.
|
|
43716
44301
|
*/
|
|
43717
44302
|
create(urlSlug, options) {
|
|
43718
44303
|
return new WorldActivity(this.topia, urlSlug, options);
|
|
@@ -43750,9 +44335,20 @@ class WorldActivityFactory {
|
|
|
43750
44335
|
Do NOT instantiate factories in controllers. Do NOT invent methods.
|
|
43751
44336
|
============================================================================ */
|
|
43752
44337
|
/**
|
|
44338
|
+
* Factory for creating World instances. Use this factory to interact with Topia worlds.
|
|
44339
|
+
*
|
|
44340
|
+
* @remarks
|
|
44341
|
+
* This factory should be instantiated once per application and reused across your codebase.
|
|
44342
|
+
* The World controller provides methods to manage world settings, retrieve world details, and perform world-level operations.
|
|
44343
|
+
*
|
|
44344
|
+
* @keywords world, factory, create, virtual space, environment, room, topia
|
|
44345
|
+
*
|
|
43753
44346
|
* @example
|
|
43754
44347
|
* ```ts
|
|
43755
|
-
*
|
|
44348
|
+
* // In your initialization file (e.g., utils/topiaInit.ts)
|
|
44349
|
+
* import { Topia, WorldFactory } from "@rtsdk/topia";
|
|
44350
|
+
* const topia = new Topia({ config });
|
|
44351
|
+
* export const World = new WorldFactory(topia);
|
|
43756
44352
|
* ```
|
|
43757
44353
|
*/
|
|
43758
44354
|
class WorldFactory extends SDKController {
|
|
@@ -43760,27 +44356,75 @@ class WorldFactory extends SDKController {
|
|
|
43760
44356
|
super(topia);
|
|
43761
44357
|
}
|
|
43762
44358
|
/**
|
|
43763
|
-
* Instantiate a new instance of World class.
|
|
44359
|
+
* Instantiate a new instance of World class for interacting with a specific Topia world.
|
|
44360
|
+
*
|
|
44361
|
+
* @remarks
|
|
44362
|
+
* This method creates a controller instance for a world identified by its URL slug.
|
|
44363
|
+
* The world controller can be used to fetch details, update world settings, and perform other world-level operations.
|
|
44364
|
+
*
|
|
44365
|
+
* @keywords create, instantiate, world, initialize, virtual space, environment, room
|
|
43764
44366
|
*
|
|
43765
44367
|
* @example
|
|
43766
|
-
* ```
|
|
43767
|
-
*
|
|
44368
|
+
* ```ts
|
|
44369
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44370
|
+
* import { World } from "utils/topiaInit.ts";
|
|
44371
|
+
*
|
|
44372
|
+
* // Create a World instance with credentials
|
|
44373
|
+
* const worldInstance = World.create(
|
|
44374
|
+
* "my-world-slug",
|
|
44375
|
+
* {
|
|
44376
|
+
* credentials: {
|
|
44377
|
+
* interactiveNonce,
|
|
44378
|
+
* interactivePublicKey,
|
|
44379
|
+
* assetId,
|
|
44380
|
+
* urlSlug,
|
|
44381
|
+
* visitorId
|
|
44382
|
+
* }
|
|
44383
|
+
* }
|
|
44384
|
+
* );
|
|
44385
|
+
*
|
|
44386
|
+
* // Fetch world details
|
|
44387
|
+
* await worldInstance.fetchDetails();
|
|
44388
|
+
* console.log(worldInstance.name);
|
|
43768
44389
|
* ```
|
|
43769
44390
|
*
|
|
43770
|
-
* @returns {World} Returns a new World object.
|
|
44391
|
+
* @returns {World} Returns a new World object for interacting with the specified world.
|
|
43771
44392
|
*/
|
|
43772
44393
|
create(urlSlug, options) {
|
|
43773
44394
|
return new World(this.topia, urlSlug, options);
|
|
43774
44395
|
}
|
|
43775
44396
|
/**
|
|
43776
|
-
* Deletes
|
|
44397
|
+
* Deletes multiple dropped assets from a world in a single operation.
|
|
44398
|
+
*
|
|
44399
|
+
* @remarks
|
|
44400
|
+
* This method provides a convenient way to delete multiple dropped assets at once rather than
|
|
44401
|
+
* deleting them one by one. Requires appropriate permissions via interactive credentials.
|
|
44402
|
+
*
|
|
44403
|
+
* @keywords delete, remove, dropped assets, multiple, batch, cleanup, world
|
|
43777
44404
|
*
|
|
43778
44405
|
* @example
|
|
43779
|
-
* ```
|
|
43780
|
-
*
|
|
44406
|
+
* ```ts
|
|
44407
|
+
* // Import the pre-initialized factory from your app's initialization file
|
|
44408
|
+
* import { World } from "utils/topiaInit.ts";
|
|
44409
|
+
*
|
|
44410
|
+
* // Delete multiple dropped assets from a world
|
|
44411
|
+
* const result = await World.deleteDroppedAssets(
|
|
44412
|
+
* "my-world-slug",
|
|
44413
|
+
* ["asset-id-123", "asset-id-456", "asset-id-789"],
|
|
44414
|
+
* "your-interactive-secret",
|
|
44415
|
+
* {
|
|
44416
|
+
* apiKey: "your-api-key",
|
|
44417
|
+
* interactivePublicKey: "your-public-key",
|
|
44418
|
+
* visitorId: 12345
|
|
44419
|
+
* }
|
|
44420
|
+
* );
|
|
44421
|
+
*
|
|
44422
|
+
* if (result.success) {
|
|
44423
|
+
* console.log("Assets successfully deleted");
|
|
44424
|
+
* }
|
|
43781
44425
|
* ```
|
|
43782
44426
|
*
|
|
43783
|
-
* @returns {Promise<{ success: boolean }>} Returns `{ success: true }`
|
|
44427
|
+
* @returns {Promise<{ success: boolean }>} Returns `{ success: true }` if all assets were deleted successfully.
|
|
43784
44428
|
*/
|
|
43785
44429
|
deleteDroppedAssets(urlSlug, droppedAssetIds, interactiveSecret, credentials) {
|
|
43786
44430
|
return __awaiter(this, void 0, void 0, function* () {
|