@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/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
- * const Asset = new AssetFactory(myTopiaInstance);
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
- * const assetInstance = await Asset.create(id, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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: "exampleAssetName"
43182
- * bottomLayerURL: "https://example.bottomLayerURL"
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.topLayerURL"
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 {AssetType} Returns a new Asset object with the asset details.
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
- * const DroppedAsset = new DroppedAssetFactory(myTopiaInstance);
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
- * const droppedAssetInstance = await DroppedAsset.create(assetId, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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 retrieve all properties.
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
- * const droppedAssetInstance = await DroppedAsset.get(assetId, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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 dropped assets within a world by a provide `uniqueName`. If a single match is found, a new instance of DroppedAsset class is returned all properties.
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
- * const droppedAssetInstance = await DroppedAsset.getWithUniqueName("exampleUniqueName", urlSlug, interactiveSecret, credentials);
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
- * const assetInstance = await Asset.create(id, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
43321
- * const droppedAssetInstance = await DroppedAsset.get(assetInstance, {
43322
- assetScale: 1.5,
43323
- flipped: true,
43324
- layer0: "",
43325
- layer1: "https://pathtoimage.png",
43326
- interactivePublicKey,
43327
- isInteractive: true,
43328
- position: { x: 0, y: 0 },
43329
- uniqueName: "exampleUniqueName",
43330
- urlSlug,
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 with all properties.
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
- * const Ecosystem = new EcosystemFactory(myTopiaInstance);
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
- * const ecosystemInstance = await Ecosystem.create({ credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId }});
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
- * const Scene = new SceneFactory(myTopiaInstance);
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
- * const sceneInstance = await Scene.create(id, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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
- * const User = new UserFactory(myTopiaInstance);
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
- * const userInstance = await User.create({ credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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
- * const Visitor = new VisitorFactory(myTopiaInstance);
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
- * const visitorInstance = await Visitor.create(id, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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 retrieve all properties.
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
- * const visitorInstance = await Visitor.get(id, urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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
- * const WebRTCConnector = new WebRTCConnectorFactory(myTopiaInstance);
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
- * const webRTCInstance = await WebRTCConnector.create({ credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId }, twilioConfig: {} });
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
- * const WorldActivity = new WorldActivityFactory(myTopiaInstance);
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
- * const worldActivityInstance = await WorldActivity.create(urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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
- * const World = new WorldFactory(myTopiaInstance);
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
- * const worldInstance = await World.create(urlSlug, { credentials: { interactiveNonce, interactivePublicKey, assetId, urlSlug, visitorId } });
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 an array of Dropped Assets from within a world and returns success: true
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
- * await World.deleteDroppedAssets(urlSlug, ["exampleDroppedAssetId1", "exampleDroppedAssetId2"], interactiveSecret, credentials);
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 }` or an error.
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* () {