roavatar-renderer 1.4.0 → 1.4.1

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.d.ts CHANGED
@@ -6,14 +6,19 @@ export declare const AbbreviationToFaceControlProperty: {
6
6
  [K in string]: string;
7
7
  };
8
8
 
9
+ /** @category Outfit */
9
10
  export declare const AccessoryAssetTypes: string[];
10
11
 
12
+ /**
13
+ * @category InstanceWrapper
14
+ */
11
15
  export declare class AccessoryDescriptionWrapper extends InstanceWrapper {
12
16
  static className: string;
13
17
  static requiredProperties: string[];
14
18
  setup(): void;
15
19
  }
16
20
 
21
+ /** @category Outfit */
17
22
  export declare const accessoryRefinementLowerBounds: {
18
23
  [K in string]: {
19
24
  "position": {
@@ -28,8 +33,10 @@ export declare const accessoryRefinementLowerBounds: {
28
33
  };
29
34
  };
30
35
 
36
+ /** @category Outfit */
31
37
  export declare const accessoryRefinementTypes: number[];
32
38
 
39
+ /** @category Outfit */
33
40
  export declare const accessoryRefinementUpperBounds: typeof accessoryRefinementLowerBounds;
34
41
 
35
42
  export declare const AccessoryType: {
@@ -55,6 +62,9 @@ export declare const AccessoryType: {
55
62
  Eyelash: number;
56
63
  };
57
64
 
65
+ /**
66
+ * @category InstanceWrapper
67
+ */
58
68
  export declare class AccessoryWrapper extends InstanceWrapper {
59
69
  static className: string;
60
70
  static requiredProperties: string[];
@@ -63,8 +73,12 @@ export declare class AccessoryWrapper extends InstanceWrapper {
63
73
  AccessoryBuildWeld(): void;
64
74
  }
65
75
 
76
+ /** @category Outfit */
66
77
  export declare const ActualBundleTypes: string[];
67
78
 
79
+ /**
80
+ * @category Mesh
81
+ */
68
82
  export declare function add(v0: Vec3, v1: Vec3): Vec3;
69
83
 
70
84
  export declare const AllAccessorySorts: ItemSort[];
@@ -81,8 +95,12 @@ export declare const AllCharacterSorts: ItemSort[];
81
95
 
82
96
  export declare const AllClothingSorts: ItemSort[];
83
97
 
98
+ /** @category Outfit */
84
99
  export declare const AllHeadShapes: string[];
85
100
 
101
+ /**
102
+ * @category DataModel
103
+ */
86
104
  export declare const AllInstances: Instance[];
87
105
 
88
106
  export declare const AlphaMode: {
@@ -91,6 +109,9 @@ export declare const AlphaMode: {
91
109
  TintMask: number;
92
110
  };
93
111
 
112
+ /**
113
+ * @category InstanceWrapper
114
+ */
94
115
  export declare class AnimationConstraintWrapper extends InstanceWrapper {
95
116
  static className: string;
96
117
  static requiredProperties: string[];
@@ -172,6 +193,9 @@ export declare class AnimationTrack {
172
193
 
173
194
  declare type AnimationTrackType = "Sequence" | "Curve";
174
195
 
196
+ /**
197
+ * @category InstanceWrapper
198
+ */
175
199
  export declare class AnimatorWrapper extends InstanceWrapper {
176
200
  static className: string;
177
201
  static requiredProperties: string[];
@@ -180,15 +204,15 @@ export declare class AnimatorWrapper extends InstanceWrapper {
180
204
  get data(): AnimatorWrapperData;
181
205
  updateToolAnimation(rig: Instance): void;
182
206
  updateToolConnections(): void;
183
- _pickRandom(entries: AnimationSetEntry[]): AnimationSetEntry;
184
- _getTrack(id: string): AnimationTrack | undefined;
185
- _switchAnimation(name: string): boolean;
207
+ private _pickRandom;
208
+ private _getTrack;
209
+ private _switchAnimation;
186
210
  stopMoodAnimation(): void;
187
- _switchMoodAnimation(name: string): boolean;
211
+ private _switchMoodAnimation;
188
212
  stopToolAnimation(): void;
189
- _switchToolAnimation(name: string): boolean;
213
+ private _switchToolAnimation;
190
214
  isValidTrackForSet(track: AnimationTrack, name: string): boolean;
191
- _fixUnloaded(): void;
215
+ private _fixUnloaded;
192
216
  restPose(includeMotors?: boolean, includeFACS?: boolean): void;
193
217
  renderAnimation(addTime?: number, forceTime?: number, forceKeyframe?: number): void;
194
218
  getCurrentAnimationTrack(): AnimationTrack | undefined;
@@ -216,6 +240,10 @@ export declare const animNamesR15: AnimationSet;
216
240
 
217
241
  export declare const animNamesR6: AnimationSet;
218
242
 
243
+ /**
244
+ * Contains all API methods
245
+ * @category API
246
+ */
219
247
  export declare const API: {
220
248
  Misc: {
221
249
  startCurrentlyLoadingAssets: () => void;
@@ -320,6 +348,7 @@ export declare const API: {
320
348
 
321
349
  export declare function arrayBufferToBase64(buffer: ArrayBuffer): string;
322
350
 
351
+ /** @category Outfit */
323
352
  export declare class Asset {
324
353
  id: number;
325
354
  name: string;
@@ -335,6 +364,7 @@ export declare class Asset {
335
364
  setOrder(order: number): void;
336
365
  }
337
366
 
367
+ /** @category Outfit */
338
368
  export declare type AssetJson = {
339
369
  id?: number;
340
370
  name?: string;
@@ -344,6 +374,7 @@ export declare type AssetJson = {
344
374
  supportsHeadShapes?: boolean;
345
375
  };
346
376
 
377
+ /** @category Outfit */
347
378
  export declare class AssetMeta {
348
379
  version: number;
349
380
  order?: number;
@@ -359,6 +390,7 @@ export declare class AssetMeta {
359
390
  fromJson(assetMetaJson: AssetMetaJson): void;
360
391
  }
361
392
 
393
+ /** @category Outfit */
362
394
  export declare type AssetMetaJson = {
363
395
  version?: number;
364
396
  position?: VecXYZ | Vecxyz | null;
@@ -370,6 +402,7 @@ export declare type AssetMetaJson = {
370
402
  staticFacialAnimation?: boolean;
371
403
  };
372
404
 
405
+ /** @category Outfit */
373
406
  export declare class AssetType {
374
407
  _id: number;
375
408
  name: string;
@@ -384,13 +417,16 @@ export declare class AssetType {
384
417
  get id(): number;
385
418
  }
386
419
 
420
+ /** @category Outfit */
387
421
  export declare type AssetTypeJson = {
388
422
  id?: number;
389
423
  name?: string;
390
424
  };
391
425
 
426
+ /** @category Outfit */
392
427
  export declare const AssetTypeNameToId: Map<string, number>;
393
428
 
429
+ /** @category Outfit */
394
430
  export declare const AssetTypes: string[];
395
431
 
396
432
  export declare const AssetTypeToAccessoryType: {
@@ -421,6 +457,9 @@ export declare const AssetTypeToMakeupType: {
421
457
  EyeMakeup: number;
422
458
  };
423
459
 
460
+ /**
461
+ * @category InstanceWrapper
462
+ */
424
463
  export declare class AttachmentWrapper extends InstanceWrapper {
425
464
  static className: string;
426
465
  static requiredProperties: string[];
@@ -428,6 +467,7 @@ export declare class AttachmentWrapper extends InstanceWrapper {
428
467
  getWorldCFrame(): CFrame;
429
468
  }
430
469
 
470
+ /** @category API */
431
471
  export declare class Authentication {
432
472
  TOKEN?: string;
433
473
  SessionUUID?: string;
@@ -486,14 +526,22 @@ export declare interface AvatarInventory_Result {
486
526
  nextPageToken: string | null;
487
527
  }
488
528
 
529
+ /** @category Outfit */
489
530
  export declare type AvatarType = "R6" | "R15";
490
531
 
532
+ /** @category Outfit */
491
533
  export declare const AvatarType: {
492
534
  [K in AvatarType]: AvatarType;
493
535
  };
494
536
 
537
+ /**
538
+ * @category Mesh
539
+ */
495
540
  export declare function averageVec3(vecs: Vec3[]): Vec3;
496
541
 
542
+ /**
543
+ * @category Mesh
544
+ */
497
545
  export declare function barycentric(p: Vec3, triangle: Triangle): Vec3;
498
546
 
499
547
  export declare function base64ToArrayBuffer(base64: string): ArrayBuffer;
@@ -511,6 +559,14 @@ declare class BaseKeyframeGroup {
511
559
  getHigherKeyframe(time: number): BaseKeyframe | null;
512
560
  }
513
561
 
562
+ /**
563
+ * @category Outfit
564
+ */
565
+ export declare type BodyColor3Name = "headColor3" | "torsoColor3" | "rightArmColor3" | "leftArmColor3" | "rightLegColor3" | "leftLegColor3";
566
+
567
+ /**
568
+ * @category Outfit
569
+ */
514
570
  export declare class BodyColor3s {
515
571
  colorType: ColorType;
516
572
  headColor3: string;
@@ -543,6 +599,9 @@ declare type BodyColor3sJson = {
543
599
  leftLegColor3?: string;
544
600
  };
545
601
 
602
+ /**
603
+ * @category Outfit
604
+ */
546
605
  export declare class BodyColors {
547
606
  colorType: ColorType;
548
607
  headColorId: number;
@@ -576,6 +635,9 @@ declare type BodyColorsJson = {
576
635
  leftLegColorId?: number;
577
636
  };
578
637
 
638
+ /**
639
+ * @category InstanceWrapper
640
+ */
579
641
  export declare class BodyColorsWrapper extends InstanceWrapper {
580
642
  static className: string;
581
643
  static requiredProperties: string[];
@@ -593,6 +655,9 @@ export declare const BodyPart: {
593
655
  RightLeg: number;
594
656
  };
595
657
 
658
+ /**
659
+ * @category InstanceWrapper
660
+ */
596
661
  export declare class BodyPartDescriptionWrapper extends InstanceWrapper {
597
662
  static className: string;
598
663
  static requiredProperties: string[];
@@ -607,8 +672,12 @@ export declare const BodyPartNameToEnum: {
607
672
  [K in string]: number;
608
673
  };
609
674
 
675
+ /**
676
+ * @category Mesh
677
+ */
610
678
  declare type Bounds = [Vec3, Vec3];
611
679
 
680
+ /** @category Outfit */
612
681
  export declare const BrickColors: {
613
682
  [K in number]: string;
614
683
  };
@@ -619,10 +688,16 @@ export declare function browserSendMessage(data: {
619
688
  [K in string]: string;
620
689
  }): Promise<any>;
621
690
 
691
+ /**
692
+ * @category Mesh
693
+ */
622
694
  export declare function buildFaceKD(mesh: FileMesh): KDNode | null;
623
695
 
624
696
  export declare function BuildJoints(self: RigData): void;
625
697
 
698
+ /**
699
+ * @category Mesh
700
+ */
626
701
  export declare function buildVertKD(mesh: FileMesh): KDNode | null;
627
702
 
628
703
  export declare interface BundleDetails_Result {
@@ -663,6 +738,7 @@ export declare interface BundleDetails_Result {
663
738
  unitsAvailableForConsumption: number;
664
739
  }
665
740
 
741
+ /** @category Outfit */
666
742
  export declare const BundleTypes: string[];
667
743
 
668
744
  export declare const CACHE: {
@@ -678,10 +754,14 @@ export declare const CACHE: {
678
754
  UserInfo: undefined;
679
755
  };
680
756
 
757
+ /**
758
+ * @category Mesh
759
+ */
681
760
  export declare function calculateMagnitude3D(x: number, y: number, z: number): number;
682
761
 
683
762
  export declare function calculateMotor6Doffset(motor: Instance, includeTransform?: boolean): CFrame;
684
763
 
764
+ /** @category Outfit */
685
765
  export declare const CatalogBundleTypes: string[];
686
766
 
687
767
  export declare const CategoryDictionary: {
@@ -692,6 +772,9 @@ export declare const CategoryDictionary: {
692
772
  };
693
773
  };
694
774
 
775
+ /**
776
+ * @category DataModelProperty
777
+ */
695
778
  export declare class CFrame {
696
779
  Position: Vec3;
697
780
  Orientation: Vec3;
@@ -709,6 +792,9 @@ export declare class CFrame {
709
792
  isSame(other: CFrame): boolean;
710
793
  }
711
794
 
795
+ /**
796
+ * @category Mesh
797
+ */
712
798
  export declare function clamp(v0: Vec3, lower: Vec3, higher: Vec3): Vec3;
713
799
 
714
800
  export declare function cleanString(inputString: string): string;
@@ -717,16 +803,21 @@ export declare function clonePrimitiveArray<T>(arr: T[]): any[];
717
803
 
718
804
  export declare function cloneSearch_Payload(data: Search_Payload): Search_Payload;
719
805
 
806
+ /**
807
+ * @category Mesh
808
+ */
720
809
  export declare function closestPointTriangle(p: Vec3, triangle: Triangle): Vec3;
721
810
 
722
- declare type ClothingDiffType = "Shirt" | "Pants" | "GraphicTShirt";
723
-
811
+ /**
812
+ * @category DataModelProperty
813
+ */
724
814
  export declare class Color3 {
725
815
  R: number;
726
816
  G: number;
727
817
  B: number;
728
818
  constructor(R?: number, G?: number, B?: number);
729
819
  clone(): Color3;
820
+ isSame(other: Color3): boolean;
730
821
  toColor3uint8(): Color3uint8;
731
822
  multiply(vec3: Color3): Color3;
732
823
  divide(vec3: Color3): Color3;
@@ -734,6 +825,9 @@ export declare class Color3 {
734
825
  minus(vec3: Color3): Color3;
735
826
  }
736
827
 
828
+ /**
829
+ * @category DataModelProperty
830
+ */
737
831
  export declare class Color3uint8 {
738
832
  R: number;
739
833
  G: number;
@@ -743,24 +837,38 @@ export declare class Color3uint8 {
743
837
  toColor3(): Color3;
744
838
  }
745
839
 
840
+ /**
841
+ * @category DataModelProperty
842
+ */
746
843
  export declare class ColorSequence {
747
844
  keypoints: ColorSequenceKeypoint[];
748
845
  static fromColor(color: Color3): ColorSequence;
749
846
  clone(): ColorSequence;
847
+ isSame(other: ColorSequence): boolean;
750
848
  getLowerKey(time: number): ColorSequenceKeypoint | null;
751
849
  getHigherKey(time: number): ColorSequenceKeypoint | null;
752
850
  getValue(time: number): Color3;
753
851
  }
754
852
 
853
+ /**
854
+ * @category DataModelProperty
855
+ */
755
856
  export declare class ColorSequenceKeypoint {
756
857
  time: number;
757
858
  value: Color3;
758
859
  constructor(time: number, r: number, g: number, b: number);
759
860
  clone(): ColorSequenceKeypoint;
861
+ isSame(other: ColorSequenceKeypoint): boolean;
760
862
  }
761
863
 
864
+ /**
865
+ * @category Outfit
866
+ */
762
867
  export declare type ColorType = "BrickColor" | "Color3";
763
868
 
869
+ /**
870
+ * @category DataModel
871
+ */
764
872
  export declare class Connection {
765
873
  Connected: boolean;
766
874
  _callback: (...args: unknown[]) => unknown;
@@ -769,6 +877,9 @@ export declare class Connection {
769
877
  Disconnect(): void;
770
878
  }
771
879
 
880
+ /**
881
+ * @category DataModelProperty
882
+ */
772
883
  export declare class Content {
773
884
  sourceType: number;
774
885
  uri?: string;
@@ -827,8 +938,14 @@ declare class COREMESH {
827
938
 
828
939
  export declare function createContentMap(): void;
829
940
 
941
+ /**
942
+ * @category Mesh
943
+ */
830
944
  export declare function createWeightsForMeshChunked(mesh: FileMesh, ref_mesh: FileMesh): WeightChunk[];
831
945
 
946
+ /**
947
+ * @category Mesh
948
+ */
832
949
  export declare function cross(a: Vec3, b: Vec3): Vec3;
833
950
 
834
951
  export declare const DataType: {
@@ -861,6 +978,9 @@ export declare const DataType: {
861
978
  NonSerializable: number;
862
979
  };
863
980
 
981
+ /**
982
+ * @category InstanceWrapper
983
+ */
864
984
  export declare class DecalWrapper extends InstanceWrapper {
865
985
  static className: string;
866
986
  static requiredProperties: string[];
@@ -881,8 +1001,10 @@ export declare const DefaultAnimationsR6: typeof DefaultAnimations;
881
1001
 
882
1002
  export declare function DefaultGetWorkerFunc(): Worker;
883
1003
 
1004
+ /** @category Outfit */
884
1005
  export declare const defaultPantAssetIds: number[];
885
1006
 
1007
+ /** @category Outfit */
886
1008
  export declare const defaultPantTemplateAssetIds: number[];
887
1009
 
888
1010
  export declare const DefaultSearchData: {
@@ -891,10 +1013,15 @@ export declare const DefaultSearchData: {
891
1013
  };
892
1014
  };
893
1015
 
1016
+ /** @category Outfit */
894
1017
  export declare const defaultShirtAssetIds: number[];
895
1018
 
1019
+ /** @category Outfit */
896
1020
  export declare const defaultShirtTemplateAssetIds: number[];
897
1021
 
1022
+ /**
1023
+ * @category Mesh
1024
+ */
898
1025
  export declare function deformReferenceToBaseBodyParts(reference: FileMesh, targetCages: FileMesh[], targetSizes: Vector3[], targetCFrames: CFrame[]): number[];
899
1026
 
900
1027
  export declare function deg(radians: number): number;
@@ -908,16 +1035,28 @@ declare class DisposableDesc {
908
1035
 
909
1036
  export declare function disposeMesh(scene: THREE.Scene, mesh: THREE.Mesh): void;
910
1037
 
1038
+ /**
1039
+ * @category Mesh
1040
+ */
911
1041
  export declare function distance(v0: Vec3, v1: Vec3): number;
912
1042
 
1043
+ /**
1044
+ * @category Mesh
1045
+ */
913
1046
  export declare function divide(v0: Vec3, v1: Vec3): Vec3;
914
1047
 
1048
+ /**
1049
+ * @category Mesh
1050
+ */
915
1051
  export declare function dot(v0: Vec3, v1: Vec3): number;
916
1052
 
917
1053
  export declare function download(filename: string, text: string): void;
918
1054
 
919
1055
  export declare const EmitterGroupDescClassTypes: string[];
920
1056
 
1057
+ /**
1058
+ * @category DataModel
1059
+ */
921
1060
  declare class Event_2 {
922
1061
  _callbacks: ((...args: unknown[]) => unknown)[];
923
1062
  Connect(callback: (...args: unknown[]) => unknown): Connection;
@@ -927,16 +1066,31 @@ declare class Event_2 {
927
1066
  }
928
1067
  export { Event_2 as Event }
929
1068
 
1069
+ /**
1070
+ * @category Exposer
1071
+ */
930
1072
  export declare function exposeAPI(): void;
931
1073
 
1074
+ /**
1075
+ * @category Exposer
1076
+ */
932
1077
  export declare function exposeFLAGS(): void;
933
1078
 
1079
+ /**
1080
+ * @category Exposer
1081
+ */
934
1082
  export declare function exposeMesh(): void;
935
1083
 
1084
+ /**
1085
+ * @category Exposer
1086
+ */
936
1087
  export declare function exposeThumbnailGenerator(): void;
937
1088
 
938
1089
  export declare const FaceControlNames: string[];
939
1090
 
1091
+ /**
1092
+ * @category InstanceWrapper
1093
+ */
940
1094
  export declare class FaceControlsWrapper extends InstanceWrapper {
941
1095
  static className: string;
942
1096
  static requiredProperties: string[];
@@ -971,6 +1125,10 @@ declare class FACS {
971
1125
  clone(): FACS;
972
1126
  }
973
1127
 
1128
+ /**
1129
+ * Obtained from a call to API.Asset.GetMesh()
1130
+ * @category Mesh
1131
+ */
974
1132
  export declare class FileMesh {
975
1133
  version: string;
976
1134
  facsDataFormat: number;
@@ -1029,10 +1187,14 @@ export declare class FileMeshSubset {
1029
1187
  clone(): FileMeshSubset;
1030
1188
  }
1031
1189
 
1190
+ /** @category Mesh */
1032
1191
  export declare function fileMeshToTHREEGeometry(mesh: FileMesh, canIncludeSkinning?: boolean, forceVertexColor?: Vector3): THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>;
1033
1192
 
1034
1193
  export declare function FindFirstMatchingAttachment(attachmentName: string, rig: Instance): Instance | null;
1035
1194
 
1195
+ /**
1196
+ * @category FLAGS
1197
+ */
1036
1198
  export declare const FLAGS: {
1037
1199
  HAIR_IS_BODYPART: boolean;
1038
1200
  AVATAR_JOINT_UPGRADE: boolean;
@@ -1102,14 +1264,80 @@ declare class FloatCurveKey {
1102
1264
  rightTangent?: number;
1103
1265
  }
1104
1266
 
1267
+ /**
1268
+ * @category Mesh
1269
+ */
1105
1270
  export declare function floor(v0: Vec3): Vec3;
1106
1271
 
1272
+ /** @category Outfit */
1107
1273
  export declare const FullBodyColors: string[];
1108
1274
 
1275
+ /**
1276
+ * @category Mesh
1277
+ */
1109
1278
  export declare function gaussian_rbf(v0: Vec3, v1: Vec3, sigma?: number): number;
1110
1279
 
1280
+ /**
1281
+ * Generates a 2d or 3d thumbnail of a model/similar instance
1282
+ * @param auth Authentication
1283
+ * @param renderScene Scene to render inside, do note the scene appearance is not populated automaticall, use setupThumbnailScene()
1284
+ * @param model Model to render
1285
+ * @param size Size of the resulting image, ignored for 3d thumbnails
1286
+ * @param type Type of thumbnail, "png" | "webp" | "gltf"
1287
+ * @param quality Quality of image, with 1 being max-
1288
+ * @param gltfAutoDownload Automatically download gltf file
1289
+ * @returns ThumbnailResult, always a string for 2d thumbnails, 3d can be ArrayBuffer (glb, binary) or {[key: string]: unknown} (gltf, json)
1290
+ *
1291
+ * @category ThumbnailGenerator
1292
+ *
1293
+ * @example
1294
+ * **Example of generating thumbnail of accessory**
1295
+ * ```ts
1296
+ * //config
1297
+ * const ASSETID = 1039433
1298
+ *
1299
+ * //code
1300
+ * FLAGS.ANIMATE_SKELETON = false
1301
+ * FLAGS.UPDATE_SKELETON = true
1302
+ *
1303
+ * const rScene = RBXRenderer.addScene()
1304
+ * setupThumbnailScene(rScene)
1305
+ *
1306
+ * const accessoryrbx = await API.Asset.GetRBX(`rbxassetid://${ASSETID}`, {"Roblox-AssetFormat":"avatar_meshpart_accessory"})
1307
+ * const accessory = accessoryrbx.generateTree().GetChildren()[0]
1308
+ * const handle = accessory.FindFirstChildOfClass("MeshPart")
1309
+ * const cf = handle.Prop("CFrame")
1310
+ * if (!accessory.FindFirstChildOfClass("Camera")) cf.Position = [0,0,0]
1311
+ *
1312
+ * const result = await generateModelThumbnail(new Authentication(), rScene, accessory, [1000,1000], "webp", 0.99)
1313
+ * console.log(result)
1314
+ * console.log(result.length)
1315
+ * ```
1316
+ */
1111
1317
  export declare function generateModelThumbnail(auth: Authentication, renderScene: RBXRendererScene, model: Instance, size?: Vec2, type?: ThumbnailType, quality?: number, gltfAutoDownload?: boolean): Promise<ThumbnailResult>;
1112
1318
 
1319
+ /**
1320
+ * Generates a 2d or 3d thumbnail of an outfit
1321
+ * @param auth Authentication
1322
+ * @param outfit Outfit to render
1323
+ * @param size Size of the resulting image, ignored for 3d thumbnails
1324
+ * @param type Type of thumbnail, "png" | "webp" | "gltf"
1325
+ * @param quality Quality of image, with 1 being max
1326
+ * @param gltfAutoDownload Automatically download gltf file
1327
+ * @returns ThumbnailResult, always a string for 2d thumbnails, 3d can be ArrayBuffer (glb, binary) or {[key: string]: unknown} (gltf, json)
1328
+ *
1329
+ * @category ThumbnailGenerator
1330
+ *
1331
+ * @example
1332
+ * **Example on generating 1000x1000 webp thumbnail for blank outfit**
1333
+ * ```ts
1334
+ * const outfit = new Outfit()
1335
+ * FLAGS.RENDERTARGET_TO_CANVASTEXTURE = true //required for gltf export
1336
+ * const result = await generateOutfitThumbnail(new Authentication(), outfit, [1000,1000], "webp", 0.99)
1337
+ * FLAGS.RENDERTARGET_TO_CANVASTEXTURE = false
1338
+ * console.log(result)
1339
+ * ```
1340
+ */
1113
1341
  export declare function generateOutfitThumbnail(auth: Authentication, outfit: Outfit, size?: Vec2, type?: ThumbnailType, quality?: number, gltfAutoDownload?: boolean): Promise<ThumbnailResult>;
1114
1342
 
1115
1343
  export declare function generateUUIDv4(): string;
@@ -1122,6 +1350,9 @@ export declare function getCameraCFrameForHeadshotCustomized(rig: Instance, fov:
1122
1350
 
1123
1351
  export declare function getCameraOffset(fov: number, extentsSize: Vector3): number;
1124
1352
 
1353
+ /**
1354
+ * @category Mesh
1355
+ */
1125
1356
  export declare function getDistIndexArray(ref: FileMesh, dist: FileMesh): (number | undefined)[];
1126
1357
 
1127
1358
  export declare function getExtents(cframe: CFrame, parts: Instance[]): [Vector3, Vector3];
@@ -1144,6 +1375,9 @@ export declare interface GetInfoForId_Result {
1144
1375
  "displayName": string;
1145
1376
  }
1146
1377
 
1378
+ /**
1379
+ * @category Mesh
1380
+ */
1147
1381
  export declare function getOffsetArray(inner: FileMesh, outer: FileMesh): ([Vec3, THREE.Quaternion, number] | undefined)[];
1148
1382
 
1149
1383
  export declare function getOriginalAttachmentOrientation(attachment: Instance): Vector3;
@@ -1194,16 +1428,36 @@ export declare interface GetUserOutfits_Result {
1194
1428
  }[];
1195
1429
  }
1196
1430
 
1431
+ /**
1432
+ * @category Mesh
1433
+ */
1197
1434
  export declare function getUVtoIndexMap(mesh: FileMesh): Map<number, number>;
1198
1435
 
1436
+ /**
1437
+ * @category Mesh
1438
+ */
1199
1439
  export declare function getUVtoIndicesMap(mesh: FileMesh): Map<number, number[]>;
1200
1440
 
1201
1441
  export declare function getWorkerOnMessage(): (event: MessageEvent) => void;
1202
1442
 
1443
+ /**
1444
+ * @category InstanceWrapper
1445
+ */
1446
+ export declare function GetWrapperForInstance(instance: Instance): InstanceWrapper | undefined;
1447
+
1448
+ /**
1449
+ * @category Mesh
1450
+ */
1203
1451
  export declare function hashVec2(x: number, y: number): number;
1204
1452
 
1453
+ /**
1454
+ * @category Mesh
1455
+ */
1205
1456
  export declare function hashVec3(x: number, y: number, z: number, distance: number): number;
1206
1457
 
1458
+ /**
1459
+ * @category Mesh
1460
+ */
1207
1461
  export declare function hashVec3Safe(a: number | bigint, b: number | bigint, c: number | bigint): bigint;
1208
1462
 
1209
1463
  export declare function hasSameVal(instance0: Instance, instance1: Instance, propertyName: string): boolean;
@@ -1218,6 +1472,9 @@ export declare function hexToRgb(hex: string): {
1218
1472
  b: number;
1219
1473
  } | null;
1220
1474
 
1475
+ /**
1476
+ * @category Mesh
1477
+ */
1221
1478
  export declare class HSR {
1222
1479
  rayCount: number;
1223
1480
  rayLength: number;
@@ -1243,6 +1500,9 @@ declare class HSRAVIS {
1243
1500
 
1244
1501
  declare type HumanoidDescriptionDiff = "scale" | "bodyColor" | "animation" | "bodyPart" | "clothing" | "face" | "accessory" | "makeup" | "gear" | "staticFacialAnimation";
1245
1502
 
1503
+ /**
1504
+ * @category InstanceWrapper
1505
+ */
1246
1506
  export declare class HumanoidDescriptionWrapper extends InstanceWrapper {
1247
1507
  static className: string;
1248
1508
  static requiredProperties: string[];
@@ -1266,40 +1526,45 @@ export declare class HumanoidDescriptionWrapper extends InstanceWrapper {
1266
1526
  getBodyPartId(bodyPart: number): bigint;
1267
1527
  getBodyPartHeadShape(bodyPart: number): string;
1268
1528
  createRigData(): RigData | undefined;
1529
+ /**
1530
+ * Update the data of the HumanoidDescription to match that inside an Outfit
1531
+ * @param outfit
1532
+ * @returns HumanoidDescription or Response if it fails
1533
+ */
1269
1534
  fromOutfit(outfit: Outfit): Promise<Instance | Response>;
1270
- _applyScale(humanoid: Instance): void;
1271
- _applyBodyColors(humanoid: Instance): void;
1535
+ private _applyScale;
1536
+ private _applyBodyColors;
1272
1537
  /**
1273
1538
  * @returns undefined on success
1274
1539
  */
1275
- _applyBodyParts(humanoid: Instance, toChange?: number[]): Promise<Response | undefined>;
1540
+ private _applyBodyParts;
1276
1541
  /**
1277
1542
  * @returns undefined on success
1278
1543
  */
1279
- _applyClothing(humanoid: Instance, toChange?: ClothingDiffType[]): Promise<undefined | Response>;
1544
+ private _applyClothing;
1280
1545
  /**
1281
1546
  * @returns undefined on success
1282
1547
  */
1283
- _applyFace(humanoid: Instance): Promise<undefined | Response>;
1548
+ private _applyFace;
1284
1549
  /**
1285
1550
  * @returns undefined on success
1286
1551
  */
1287
- _applyGear(humanoid: Instance): Promise<undefined | Response>;
1288
- _inheritAccessoryReferences(originalW: HumanoidDescriptionWrapper): void;
1289
- _inheritMakeupReferences(originalW: HumanoidDescriptionWrapper): void;
1552
+ private _applyGear;
1553
+ private _inheritAccessoryReferences;
1554
+ private _inheritMakeupReferences;
1290
1555
  /**
1291
1556
  * @returns undefined on success
1292
1557
  */
1293
- _applyAccessories(humanoid: Instance, originalW?: HumanoidDescriptionWrapper, addedIds?: bigint[], removedIds?: bigint[]): Promise<undefined | Response>;
1294
- _applyMakeup(humanoid: Instance, originalW?: HumanoidDescriptionWrapper, addedIds?: bigint[], removedIds?: bigint[]): Promise<undefined | Response>;
1558
+ private _applyAccessories;
1559
+ private _applyMakeup;
1295
1560
  /**
1296
1561
  * @returns undefined on success
1297
1562
  */
1298
- _applyAnimations(humanoid: Instance, toChange?: AnimationProp[]): Promise<undefined | Response>;
1563
+ private _applyAnimations;
1299
1564
  /**
1300
1565
  * @returns undefined on success
1301
1566
  */
1302
- _applyAll(humanoid: Instance): Promise<undefined | Response>;
1567
+ private _applyAll;
1303
1568
  /**
1304
1569
  * @returns Instance on success
1305
1570
  */
@@ -1313,8 +1578,14 @@ export declare const HumanoidRigType: {
1313
1578
 
1314
1579
  export declare function imageUrlToDataUrl(imageUrl: string): Promise<string>;
1315
1580
 
1581
+ /**
1582
+ * @category Mesh
1583
+ */
1316
1584
  export declare function inheritSkeleton(to: FileMesh, from: FileMesh): void;
1317
1585
 
1586
+ /**
1587
+ * @category Mesh
1588
+ */
1318
1589
  export declare function inheritUV(to: FileMesh, from: FileMesh): void;
1319
1590
 
1320
1591
  declare class INST {
@@ -1326,18 +1597,26 @@ declare class INST {
1326
1597
  clone(): INST;
1327
1598
  }
1328
1599
 
1600
+ /**
1601
+ * @category DataModel
1602
+ */
1329
1603
  export declare class Instance {
1330
- _id: number;
1604
+ private _id;
1605
+ /**
1606
+ * @deprecated Use .Prop("Name") instead
1607
+ */
1331
1608
  _name?: string;
1332
1609
  className: string;
1610
+ /**
1611
+ * @deprecated Do not use this directly
1612
+ */
1333
1613
  _properties: Map<string, Property>;
1334
- _referencedBy: Instance[];
1335
- _connectionReferences: Connection[];
1336
- children: Instance[];
1614
+ private _referencedBy;
1615
+ private _connectionReferences;
1616
+ private _children;
1337
1617
  parent?: Instance;
1338
1618
  destroyed: boolean;
1339
- hasWrappered: boolean;
1340
- canGC: boolean;
1619
+ private _hasWrappered;
1341
1620
  classID?: number;
1342
1621
  objectFormat?: number;
1343
1622
  ChildAdded: Event_2;
@@ -1358,7 +1637,21 @@ export declare class Instance {
1358
1637
  fixPropertyName(name: string): string;
1359
1638
  setProperty(name: string, value: unknown, supressEvents?: boolean): void;
1360
1639
  HasProperty(name: string): boolean;
1640
+ /**
1641
+ * Returns the value of a property
1642
+ * @param name Name of property
1643
+ * @returns Property's value
1644
+ *
1645
+ * @throws When property doesn't exist, PropOrDefault is a safer alternative
1646
+ */
1361
1647
  Property(name: string): unknown;
1648
+ /**
1649
+ * Returns the value of a property
1650
+ * @param name Name of property
1651
+ * @returns Property's value
1652
+ *
1653
+ * @throws When property doesn't exist, PropOrDefault is a safer alternative
1654
+ */
1362
1655
  Prop(name: string): unknown;
1363
1656
  PropOrDefault(name: string, def: unknown): unknown;
1364
1657
  PropertyType(name: string): number | undefined;
@@ -1376,7 +1669,13 @@ export declare class Instance {
1376
1669
  preRender(): void;
1377
1670
  }
1378
1671
 
1379
- declare class InstanceWrapper {
1672
+ /**
1673
+ * Virtual class for all instance wrapper's
1674
+ *
1675
+ * @category InstanceWrapper
1676
+ * @virtual
1677
+ */
1678
+ export declare class InstanceWrapper {
1380
1679
  static className: string;
1381
1680
  static requiredProperties: string[];
1382
1681
  instance: Instance;
@@ -1384,8 +1683,17 @@ declare class InstanceWrapper {
1384
1683
  setup(): void;
1385
1684
  static(): typeof InstanceWrapper;
1386
1685
  static register(): void;
1686
+ /**
1687
+ * @virtual
1688
+ */
1387
1689
  created(): void;
1690
+ /**
1691
+ * @virtual
1692
+ */
1388
1693
  destroy(): void;
1694
+ /**
1695
+ * @virtual
1696
+ */
1389
1697
  preRender(): void;
1390
1698
  }
1391
1699
 
@@ -1447,6 +1755,7 @@ export declare interface ItemDetails_Result {
1447
1755
  data: ItemDetail_Result[];
1448
1756
  }
1449
1757
 
1758
+ /** @category Outfit */
1450
1759
  export declare class ItemInfo {
1451
1760
  itemType: ItemType;
1452
1761
  type: string;
@@ -1481,14 +1790,28 @@ declare class KDNode {
1481
1790
  constructor(point: Vec3, index: number, axis: number);
1482
1791
  }
1483
1792
 
1793
+ /**
1794
+ * @deprecated Superseded by RBFDeformerPatch
1795
+ * @category Mesh
1796
+ */
1484
1797
  export declare function layerClothingChunked(mesh: FileMesh, ref_mesh: FileMesh, dist_mesh: FileMesh, cacheId?: string): void;
1485
1798
 
1799
+ /**
1800
+ * @deprecated Superseded by RBFDeformerPatch
1801
+ * @category Mesh
1802
+ */
1486
1803
  export declare function layerClothingChunkedNormals(mesh: FileMesh, ref_mesh: FileMesh, dist_mesh: FileMesh, cacheId?: string): void;
1487
1804
 
1805
+ /**
1806
+ * @deprecated Superseded by RBFDeformerPatch
1807
+ * @category Mesh
1808
+ */
1488
1809
  export declare function layerClothingChunkedNormals2(mesh: FileMesh, ref_mesh: FileMesh, dist_mesh: FileMesh, cacheId?: string): void;
1489
1810
 
1811
+ /** @category Outfit */
1490
1812
  export declare const LayeredAssetTypes: string[];
1491
1813
 
1814
+ /** @category Outfit */
1492
1815
  export declare const LayeredClothingAssetOrder: {
1493
1816
  [K in number]: number;
1494
1817
  };
@@ -1623,10 +1946,17 @@ export declare interface Look_Result {
1623
1946
 
1624
1947
  export declare const magic = "<roblox!";
1625
1948
 
1949
+ /**
1950
+ * @category Mesh
1951
+ */
1626
1952
  export declare function magnitude(v: Vec3): number;
1627
1953
 
1954
+ /** @category Outfit */
1628
1955
  export declare const MakeupAssetTypes: string[];
1629
1956
 
1957
+ /**
1958
+ * @category InstanceWrapper
1959
+ */
1630
1960
  export declare class MakeupDescriptionWrapper extends InstanceWrapper {
1631
1961
  static className: string;
1632
1962
  static requiredProperties: string[];
@@ -1639,6 +1969,9 @@ export declare const MakeupType: {
1639
1969
  Eye: number;
1640
1970
  };
1641
1971
 
1972
+ /**
1973
+ * @category InstanceWrapper
1974
+ */
1642
1975
  export declare class ManualWeldWrapper extends WeldWrapper {
1643
1976
  static className: string;
1644
1977
  }
@@ -1673,28 +2006,41 @@ export declare interface MarketplaceWidgets_Result {
1673
2006
  configuration: unknown;
1674
2007
  }
1675
2008
 
2009
+ /** @category Mesh */
1676
2010
  export declare type Mat3x3 = [number, number, number, number, number, number, number, number, number];
1677
2011
 
2012
+ /** @category Mesh */
1678
2013
  export declare type Mat4x4 = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
1679
2014
 
1680
2015
  export declare function mathRandom(min: number, max: number): number;
1681
2016
 
2017
+ /** @category Outfit */
1682
2018
  export declare const MaxOneOfAssetTypes: string[];
1683
2019
 
1684
2020
  /**
1685
2021
  * @deprecated This is incorrect
2022
+ * @category Outfit
1686
2023
  */
1687
2024
  export declare const MaxPerAsset: {
1688
2025
  [K in string]: number;
1689
2026
  };
1690
2027
 
2028
+ /**
2029
+ * @category Mesh
2030
+ */
1691
2031
  export declare function mergeTargetWithReference(reference: FileMesh, target: FileMesh, targetSize: Vector3, targetCFrame: CFrame, ignoredIndices?: number[]): number[];
1692
2032
 
2033
+ /**
2034
+ * @category Mesh
2035
+ */
1693
2036
  export declare type MeshChunk = {
1694
2037
  pos: Vec3;
1695
2038
  indices: number[];
1696
2039
  };
1697
2040
 
2041
+ /**
2042
+ * @category Mesh
2043
+ */
1698
2044
  declare class MeshCollider {
1699
2045
  mesh: FileMesh;
1700
2046
  octree: OctreeNode<number>;
@@ -1714,10 +2060,17 @@ export declare const MeshType: {
1714
2060
  Wedge: number;
1715
2061
  };
1716
2062
 
2063
+ /** @category Outfit */
1717
2064
  export declare const minimumDeltaEBodyColorDifference = 11.4;
1718
2065
 
2066
+ /**
2067
+ * @category Mesh
2068
+ */
1719
2069
  export declare function minus(v0: Vec3, v1: Vec3): Vec3;
1720
2070
 
2071
+ /**
2072
+ * @category InstanceWrapper
2073
+ */
1721
2074
  export declare class ModelWrapper extends InstanceWrapper {
1722
2075
  static className: string;
1723
2076
  static requiredProperties: string[];
@@ -1725,6 +2078,9 @@ export declare class ModelWrapper extends InstanceWrapper {
1725
2078
  GetModelCFrame(): CFrame;
1726
2079
  }
1727
2080
 
2081
+ /**
2082
+ * @category InstanceWrapper
2083
+ */
1728
2084
  export declare class Motor6DWrapper extends WeldWrapper {
1729
2085
  static className: string;
1730
2086
  static requiredProperties: string[];
@@ -1734,13 +2090,25 @@ export declare class Motor6DWrapper extends WeldWrapper {
1734
2090
  /**
1735
2091
  * @deprecated Use mountElement instead
1736
2092
  * @param container
2093
+ * @category Renderer
1737
2094
  */
1738
2095
  export declare function mount(container: HTMLDivElement): void;
1739
2096
 
2097
+ /**
2098
+ * Mounting function for use with React
2099
+ * @param container Container to mount inside
2100
+ * @category Renderer
2101
+ */
1740
2102
  export declare function mountElement(container: HTMLDivElement): void;
1741
2103
 
2104
+ /**
2105
+ * @category Mesh
2106
+ */
1742
2107
  export declare function multiply(v0: Vec3, v1: Vec3): Vec3;
1743
2108
 
2109
+ /**
2110
+ * @category Mesh
2111
+ */
1744
2112
  export declare function multiplyMatrixVector(m: Mat3x3, v: Vec3): Vec3;
1745
2113
 
1746
2114
  export declare interface NavigationMenuItems {
@@ -1828,8 +2196,14 @@ export declare const NormalId: {
1828
2196
  Front: number;
1829
2197
  };
1830
2198
 
2199
+ /**
2200
+ * @category Mesh
2201
+ */
1831
2202
  export declare function normalize(v: Vec3): Vec3;
1832
2203
 
2204
+ /**
2205
+ * @category DataModelProperty
2206
+ */
1833
2207
  export declare class NumberRange {
1834
2208
  Min: number;
1835
2209
  Max: number;
@@ -1838,21 +2212,29 @@ export declare class NumberRange {
1838
2212
  isSame(other: NumberRange): boolean;
1839
2213
  }
1840
2214
 
2215
+ /**
2216
+ * @category DataModelProperty
2217
+ */
1841
2218
  export declare class NumberSequence {
1842
2219
  keypoints: NumberSequenceKeypoint[];
1843
2220
  constructor(keypoints?: NumberSequenceKeypoint[]);
1844
2221
  clone(): NumberSequence;
2222
+ isSame(other: NumberSequence): boolean;
1845
2223
  getLowerKey(time: number): NumberSequenceKeypoint | null;
1846
2224
  getHigherKey(time: number): NumberSequenceKeypoint | null;
1847
2225
  getValue(time: number, seed: number): number;
1848
2226
  }
1849
2227
 
2228
+ /**
2229
+ * @category DataModelProperty
2230
+ */
1850
2231
  export declare class NumberSequenceKeypoint {
1851
2232
  time: number;
1852
2233
  value: number;
1853
2234
  envelope: number;
1854
2235
  constructor(time: number, value: number, envelope?: number);
1855
2236
  clone(): NumberSequenceKeypoint;
2237
+ isSame(other: NumberSequenceKeypoint): boolean;
1856
2238
  }
1857
2239
 
1858
2240
  export declare const ObjectDescClassTypes: string[];
@@ -1882,10 +2264,20 @@ declare class OctreeNode<T> {
1882
2264
  collideRay(ray: Ray_2): OctreeNode<T>[];
1883
2265
  }
1884
2266
 
2267
+ /**
2268
+ * @category Mesh
2269
+ */
1885
2270
  export declare function offsetMesh(mesh: FileMesh, cframe: CFrame): void;
1886
2271
 
2272
+ /**
2273
+ * @category Mesh
2274
+ */
1887
2275
  export declare function offsetMeshWithRotation(mesh: FileMesh, cframe: CFrame): void;
1888
2276
 
2277
+ /**
2278
+ * Usually obtained from API
2279
+ * @category Outfit
2280
+ */
1889
2281
  export declare class Outfit {
1890
2282
  scale: Scale;
1891
2283
  bodyColors: BodyColors | BodyColor3s;
@@ -1921,7 +2313,9 @@ export declare class Outfit {
1921
2313
  isValid(): boolean;
1922
2314
  getValidationIssues(): ValidationIssue[];
1923
2315
  toHumanoidDescription(): Promise<Document | null>;
2316
+ /** @deprecated */
1924
2317
  fromHumanoidDescription(rootDocument: Document): Promise<void>;
2318
+ /** @deprecated */
1925
2319
  downloadHumanoidDescription(): Promise<void>;
1926
2320
  getAssetsJson(removeNotOwnedAssets?: boolean): AssetJson[];
1927
2321
  containsAsset(assetId: number): boolean;
@@ -1959,12 +2353,17 @@ declare type OutfitJson = {
1959
2353
  scales?: ScaleJson;
1960
2354
  };
1961
2355
 
2356
+ /** @category Outfit */
1962
2357
  export declare type OutfitOrigin = "WebAvatar" | "WebOutfit" | "Other" | "Look";
1963
2358
 
2359
+ /** @category Outfit */
1964
2360
  export declare const OutfitOrigin: {
1965
2361
  [K in OutfitOrigin]: OutfitOrigin;
1966
2362
  };
1967
2363
 
2364
+ /**
2365
+ * @category Renderer
2366
+ */
1968
2367
  export declare class OutfitRenderer {
1969
2368
  auth: Authentication;
1970
2369
  outfit: Outfit;
@@ -2067,6 +2466,9 @@ declare class PROP {
2067
2466
  clone(): PROP;
2068
2467
  }
2069
2468
 
2469
+ /**
2470
+ * @category DataModel
2471
+ */
2070
2472
  export declare class Property {
2071
2473
  name?: string;
2072
2474
  typeID?: number;
@@ -2117,18 +2519,27 @@ declare class QuantizedTransform {
2117
2519
 
2118
2520
  export declare function rad(degrees: number): number;
2119
2521
 
2522
+ /**
2523
+ * @category DataModelProperty
2524
+ */
2120
2525
  export declare class Ray {
2121
2526
  Origin: Vec3;
2122
2527
  Direction: Vec3;
2123
2528
  clone(): Ray;
2124
2529
  }
2125
2530
 
2531
+ /**
2532
+ * @category Mesh
2533
+ */
2126
2534
  declare class Ray_2 {
2127
2535
  origin: Vec3;
2128
2536
  end: Vec3;
2129
2537
  constructor(origin: Vec3, end: Vec3);
2130
2538
  }
2131
2539
 
2540
+ /**
2541
+ * @category Mesh
2542
+ */
2132
2543
  export declare class RBFDeformerPatch {
2133
2544
  mesh: FileMesh;
2134
2545
  refVerts: Float32Array;
@@ -2160,6 +2571,10 @@ declare function RBLXPatch(url: string, auth: Authentication, body: any, attempt
2160
2571
 
2161
2572
  declare function RBLXPost(url: string, auth: Authentication | undefined, body: any, attempt?: number, method?: string): Promise<Response>;
2162
2573
 
2574
+ /**
2575
+ * Obtained from a call to API.Asset.GetRBX()
2576
+ * @category DataModel
2577
+ */
2163
2578
  export declare class RBX {
2164
2579
  classCount: number;
2165
2580
  instanceCount: number;
@@ -2187,9 +2602,18 @@ export declare class RBX {
2187
2602
  fromXML(xml: Document): void;
2188
2603
  fromBuffer(buffer: ArrayBuffer): void;
2189
2604
  fromInstance(root: Instance): ArrayBuffer;
2605
+ /**
2606
+ * Generates if needed hierarchy and returns root instance
2607
+ * @returns Root instance
2608
+ */
2190
2609
  generateTree(): Instance;
2191
2610
  }
2192
2611
 
2612
+ /**
2613
+ * A singleton, intialized by calling RBXRenderer.fullSetup()
2614
+ *
2615
+ * @category Renderer
2616
+ */
2193
2617
  export declare class RBXRenderer {
2194
2618
  static orbitControlsTarget: Vec3;
2195
2619
  static scenes: RBXRendererScene[];
@@ -2289,6 +2713,10 @@ export declare class RBXRenderer {
2289
2713
  static exportScene(renderScene?: RBXRendererScene): void;
2290
2714
  }
2291
2715
 
2716
+ /**
2717
+ * Created by calling RBXRenderer.addScene()
2718
+ * @category Renderer
2719
+ */
2292
2720
  export declare class RBXRendererScene {
2293
2721
  scene: THREE.Scene;
2294
2722
  camera: THREE.PerspectiveCamera;
@@ -2313,7 +2741,9 @@ export declare class RBXRendererScene {
2313
2741
  ambientLight?: THREE.AmbientLight;
2314
2742
  directionalLight?: THREE.DirectionalLight;
2315
2743
  directionalLight2?: THREE.DirectionalLight;
2744
+ /** Forces viewport to be within bounds */
2316
2745
  setRect(bounds: DOMRect): void;
2746
+ /** Makes viewport size 0x0, invisible */
2317
2747
  noRect(): void;
2318
2748
  destroy(): void;
2319
2749
  exportGLTF(name?: string, autoDownload?: boolean): Promise<ArrayBuffer | {
@@ -2358,6 +2788,7 @@ declare class RBXSimpleView {
2358
2788
 
2359
2789
  export declare function RegisterWrappers(): void;
2360
2790
 
2791
+ /** @category Outfit */
2361
2792
  export declare const RegularBodyColors: string[];
2362
2793
 
2363
2794
  /**
@@ -2371,6 +2802,8 @@ declare class RenderDesc extends DisposableDesc {
2371
2802
  isSame(_other: RenderDesc): boolean;
2372
2803
  needsRegeneration(_other: RenderDesc): boolean;
2373
2804
  fromRenderDesc(other: RenderDesc): void;
2805
+ transferFrom(other: RenderDesc): void;
2806
+ virtualTransferFrom(_other: RenderDesc): void;
2374
2807
  virtualFromRenderDesc(_other: RenderDesc): void;
2375
2808
  fromInstance(_child: Instance): void;
2376
2809
  compileResults(_renderer: THREE.WebGLRenderer, _scene: THREE.Scene): Promise<THREE.Mesh[] | Response | undefined>;
@@ -2442,6 +2875,9 @@ export declare type SaleLocationType = "ShopOnly" | "ShopAndAllExperiences" | "E
2442
2875
 
2443
2876
  export declare function saveByteArray(data: BlobPart[] | undefined, name: string): void;
2444
2877
 
2878
+ /**
2879
+ * @category Outfit
2880
+ */
2445
2881
  export declare class Scale {
2446
2882
  height: number;
2447
2883
  width: number;
@@ -2478,10 +2914,19 @@ declare type ScaleJson = {
2478
2914
  bodyType?: number;
2479
2915
  };
2480
2916
 
2917
+ /**
2918
+ * @category Mesh
2919
+ */
2481
2920
  export declare function scaleMesh(mesh: FileMesh, scale: Vector3): void;
2482
2921
 
2922
+ /**
2923
+ * @category Outfit
2924
+ */
2483
2925
  export declare type ScaleName = "height" | "width" | "head" | "depth" | "proportion" | "bodyType";
2484
2926
 
2927
+ /**
2928
+ * @category InstanceWrapper
2929
+ */
2485
2930
  export declare class ScriptWrapper extends InstanceWrapper {
2486
2931
  static className: string;
2487
2932
  static requiredProperties: string[];
@@ -2548,6 +2993,12 @@ export declare interface Search_Result {
2548
2993
  }[];
2549
2994
  }
2550
2995
 
2996
+ /**
2997
+ * Gives a scene the default appearance for thumbnails
2998
+ * @param renderScene RBXRenderScene to setup
2999
+ *
3000
+ * @category ThumbnailGenerator
3001
+ */
2551
3002
  export declare function setupThumbnailScene(renderScene: RBXRendererScene): void;
2552
3003
 
2553
3004
  declare class SimpleView {
@@ -2609,6 +3060,9 @@ export declare const SortTypes: {
2609
3060
  [K in string]: number | undefined;
2610
3061
  };
2611
3062
 
3063
+ /**
3064
+ * @category InstanceWrapper
3065
+ */
2612
3066
  export declare class SoundWrapper extends InstanceWrapper {
2613
3067
  static className: string;
2614
3068
  static requiredProperties: string[];
@@ -2635,6 +3089,7 @@ export declare class SpecialInfo {
2635
3089
  constructor(type: string);
2636
3090
  }
2637
3091
 
3092
+ /** @category Outfit */
2638
3093
  export declare const SpecialLayeredAssetTypes: string[];
2639
3094
 
2640
3095
  export declare const StringBufferProperties: string[];
@@ -2669,6 +3124,9 @@ export declare interface ThumbnailsCustomization_Payload {
2669
3124
 
2670
3125
  export declare type ThumbnailType = "png" | "webp" | "gltf";
2671
3126
 
3127
+ /**
3128
+ * @category InstanceWrapper
3129
+ */
2672
3130
  export declare class ToolWrapper extends InstanceWrapper {
2673
3131
  static className: string;
2674
3132
  static requiredProperties: string[];
@@ -2677,6 +3135,7 @@ export declare class ToolWrapper extends InstanceWrapper {
2677
3135
  createWeld(): void;
2678
3136
  }
2679
3137
 
3138
+ /** @category Outfit */
2680
3139
  export declare const ToRemoveBeforeBundleType: {
2681
3140
  DynamicHead: string[];
2682
3141
  Shoes: string[];
@@ -2685,18 +3144,28 @@ export declare const ToRemoveBeforeBundleType: {
2685
3144
  MakeupLook: string[];
2686
3145
  };
2687
3146
 
3147
+ /**
3148
+ * @category Mesh
3149
+ */
2688
3150
  export declare function transferSkeleton(to: FileMesh, from: FileMesh): void;
2689
3151
 
2690
3152
  export declare function traverseRigCFrame(instance: Instance, includeTransform?: boolean, applyRoot?: boolean): CFrame;
2691
3153
 
2692
3154
  export declare function traverseRigInstance(instance: Instance): Instance[];
2693
3155
 
3156
+ /** @category Mesh */
2694
3157
  export declare type Triangle = [Vec3, Vec3, Vec3];
2695
3158
 
3159
+ /**
3160
+ * @category Mesh
3161
+ */
2696
3162
  export declare function triangleNormal(triangle: Triangle): Vec3;
2697
3163
 
2698
3164
  declare type TwoPoseCorrective = Vec2;
2699
3165
 
3166
+ /**
3167
+ * @category DataModelProperty
3168
+ */
2700
3169
  export declare class UDim {
2701
3170
  Scale: number;
2702
3171
  Offset: number;
@@ -2704,6 +3173,9 @@ export declare class UDim {
2704
3173
  clone(): UDim;
2705
3174
  }
2706
3175
 
3176
+ /**
3177
+ * @category DataModelProperty
3178
+ */
2707
3179
  export declare class UDim2 {
2708
3180
  X: UDim;
2709
3181
  Y: UDim;
@@ -2765,12 +3237,18 @@ declare type ValidationIssue = {
2765
3237
 
2766
3238
  declare type ValidationIssueType = "AccessoryLimit" | "LayeredLimit" | "OneOfTypeLimit" | "DuplicateId" | "NotWearable" | "MissingLayeredMeta" | "InvalidAsset" | "MakeupLimit";
2767
3239
 
3240
+ /** @category Mesh */
2768
3241
  export declare type Vec2 = [number, number];
2769
3242
 
3243
+ /** @category Mesh */
2770
3244
  export declare type Vec3 = [number, number, number];
2771
3245
 
3246
+ /** @category Mesh */
2772
3247
  export declare type Vec4 = [number, number, number, number];
2773
3248
 
3249
+ /**
3250
+ * @category DataModelProperty
3251
+ */
2774
3252
  export declare class Vector2 {
2775
3253
  X: number;
2776
3254
  Y: number;
@@ -2779,6 +3257,9 @@ export declare class Vector2 {
2779
3257
  isSame(other: Vector2): boolean;
2780
3258
  }
2781
3259
 
3260
+ /**
3261
+ * @category DataModelProperty
3262
+ */
2782
3263
  export declare class Vector3 {
2783
3264
  X: number;
2784
3265
  Y: number;
@@ -2811,21 +3292,34 @@ declare type Vecxyz = {
2811
3292
 
2812
3293
  export declare function versionToNumber(version: string): number;
2813
3294
 
3295
+ /**
3296
+ * @category Mesh
3297
+ */
2814
3298
  export declare function vertPosToChunkPos(pos: Vec3, meshSize: Vec3, widthSplit: number, heightSplit: number, depthSplit: number): Vec3;
2815
3299
 
2816
3300
  export declare function Wait(time: number): Promise<unknown>;
2817
3301
 
3302
+ /** @category Outfit */
2818
3303
  export declare const WearableAssetTypes: string[];
2819
3304
 
3305
+ /**
3306
+ * @category Mesh
3307
+ */
2820
3308
  export declare type WeightChunk = {
2821
3309
  meshChunk: MeshChunk;
2822
3310
  weights: number[];
2823
3311
  };
2824
3312
 
3313
+ /**
3314
+ * @category Mesh
3315
+ */
2825
3316
  export declare type WeightChunk3 = WeightChunk & {
2826
3317
  weights: Vec3[];
2827
3318
  };
2828
3319
 
3320
+ /**
3321
+ * @category InstanceWrapper
3322
+ */
2829
3323
  export declare class WeldWrapper extends InstanceWrapper {
2830
3324
  static className: string;
2831
3325
  static requiredProperties: string[];