roavatar-renderer 1.4.4 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,9 +1,7 @@
1
1
  # Renderer for RoAvatar
2
2
  The Roblox Avatar renderer used by https://github.com/steinann/RoAvatar
3
3
 
4
- Links: [npm](https://www.npmjs.com/package/roavatar-renderer) | [GitHub](https://github.com/steinann/RoAvatar-Renderer)
5
-
6
- Docs: [Documentation](https://steinann.github.io/RoAvatar-Renderer/)
4
+ Links: [npm](https://www.npmjs.com/package/roavatar-renderer) | [GitHub](https://github.com/steinann/RoAvatar-Renderer) | [docs](https://steinann.github.io/RoAvatar-Renderer/)
7
5
 
8
6
  > **IMPORTANT** <br>
9
7
  > Assets are *NOT* included in the npm module or this repository, you have to get them from the main RoAvatar repository OR set
package/dist/index.d.ts CHANGED
@@ -39,6 +39,7 @@ export declare const accessoryRefinementTypes: number[];
39
39
  /** @category Outfit */
40
40
  export declare const accessoryRefinementUpperBounds: typeof accessoryRefinementLowerBounds;
41
41
 
42
+ /**@category DataModelEnum */
42
43
  export declare const AccessoryType: {
43
44
  Unknown: number;
44
45
  Hat: number;
@@ -103,6 +104,7 @@ export declare const AllHeadShapes: string[];
103
104
  */
104
105
  export declare const AllInstances: Instance[];
105
106
 
107
+ /**@category DataModelEnum */
106
108
  export declare const AlphaMode: {
107
109
  Overlay: number;
108
110
  Transparency: number;
@@ -232,7 +234,14 @@ export declare class AnimatorWrapper extends InstanceWrapper {
232
234
  */
233
235
  getCurrentAnimationTrack(): AnimationTrack | undefined;
234
236
  /**
235
- * Loads a new animation
237
+ * Loads an animation (not to be confused with an avatar animation like those found on the catalog)
238
+ * @param id
239
+ * @param forceLoop Forces animation track to loop
240
+ * @returns AnimationTrack on success
241
+ */
242
+ loadAnimation(id: bigint, forceLoop?: boolean): Promise<AnimationTrack | Response | undefined>;
243
+ /**
244
+ * Loads a new avatar animation (catalog run animation or emote, not to be confused with a creator store animation)
236
245
  * @param id
237
246
  * @param isEmote
238
247
  * @param forceLoop Forces animation track to loop
@@ -241,7 +250,7 @@ export declare class AnimatorWrapper extends InstanceWrapper {
241
250
  loadAvatarAnimation(id: bigint, isEmote?: boolean, forceLoop?: boolean): Promise<Response | undefined>;
242
251
  /**
243
252
  * Switches to new animation
244
- * @param name Animation name, such as "idle", "walk" or "emote.1234"
253
+ * @param name Animation name, such as "idle", "walk", "emote.1234" or "id.1234"
245
254
  * @param type
246
255
  * @returns If animation sucessfully played
247
256
  */
@@ -274,12 +283,14 @@ export declare const animNamesR6: AnimationSet;
274
283
  */
275
284
  export declare const API: {
276
285
  Misc: {
277
- startCurrentlyLoadingAssets: () => void;
278
- stopCurrentlyLoadingAssets: () => void;
286
+ startCurrentlyLoadingAssets: (label: string) => void;
287
+ stopCurrentlyLoadingAssets: (label: string) => void;
279
288
  idFromStr: (str: string) => number;
280
289
  parseAssetString: (str: string) => string;
281
290
  getCDNURLFromAssetDelivery: (url: string, headers?: any) => Promise<string | Response>;
282
291
  assetURLToCDNURL: (url: string | number | bigint, headers?: any, extraStr?: string) => Promise<string | Response>;
292
+ getCurrentlyLoading: () => boolean;
293
+ getCurrentlyLoadingLabels: () => string[];
283
294
  };
284
295
  Events: {
285
296
  OnLoadingAssets: Event_2;
@@ -515,6 +526,7 @@ export declare class Authentication {
515
526
  getSessionUUID(): string;
516
527
  }
517
528
 
529
+ /**@category API */
518
530
  export declare interface AvatarInventory_Result {
519
531
  avatarInventoryItems: {
520
532
  itemId: number;
@@ -567,6 +579,21 @@ export declare const AvatarType: {
567
579
  */
568
580
  export declare function averageVec3(vecs: Vec3[]): Vec3;
569
581
 
582
+ /**
583
+ *
584
+ * @param promise
585
+ * @param time
586
+ */
587
+ export declare function awaitTimeout<T>(promise: Promise<T>, time?: number): Promise<T | Response>;
588
+
589
+ /**
590
+ *
591
+ * @param promise
592
+ * @param time
593
+ * @throws
594
+ */
595
+ export declare function awaitTimeoutThrows<T>(promise: Promise<T>, time?: number): Promise<T>;
596
+
570
597
  /**
571
598
  * @category Mesh
572
599
  */
@@ -587,14 +614,10 @@ declare class BaseKeyframeGroup {
587
614
  getHigherKeyframe(time: number): BaseKeyframe | null;
588
615
  }
589
616
 
590
- /**
591
- * @category Outfit
592
- */
617
+ /**@category Outfit */
593
618
  export declare type BodyColor3Name = "headColor3" | "torsoColor3" | "rightArmColor3" | "leftArmColor3" | "rightLegColor3" | "leftLegColor3";
594
619
 
595
- /**
596
- * @category Outfit
597
- */
620
+ /**@category Outfit */
598
621
  export declare class BodyColor3s {
599
622
  colorType: ColorType;
600
623
  headColor3: string;
@@ -618,6 +641,7 @@ export declare class BodyColor3s {
618
641
  fromJson(bodyColorsJson: BodyColor3sJson): void;
619
642
  }
620
643
 
644
+ /**@category Outfit */
621
645
  export declare type BodyColor3sJson = {
622
646
  headColor3?: string;
623
647
  torsoColor3?: string;
@@ -627,9 +651,7 @@ export declare type BodyColor3sJson = {
627
651
  leftLegColor3?: string;
628
652
  };
629
653
 
630
- /**
631
- * @category Outfit
632
- */
654
+ /**@category Outfit */
633
655
  export declare class BodyColors {
634
656
  colorType: ColorType;
635
657
  headColorId: number;
@@ -654,6 +676,7 @@ export declare class BodyColors {
654
676
  toColor3(): BodyColor3s;
655
677
  }
656
678
 
679
+ /**@category Outfit */
657
680
  export declare type BodyColorsJson = {
658
681
  headColorId?: number;
659
682
  torsoColorId?: number;
@@ -674,6 +697,7 @@ export declare class BodyColorsWrapper extends InstanceWrapper {
674
697
  update(): void;
675
698
  }
676
699
 
700
+ /**@category DataModelEnum */
677
701
  export declare const BodyPart: {
678
702
  Head: number;
679
703
  Torso: number;
@@ -728,6 +752,7 @@ export declare function BuildJoints(self: RigData): void;
728
752
  */
729
753
  export declare function buildVertKD(mesh: FileMesh): KDNode | null;
730
754
 
755
+ /**@category API */
731
756
  export declare interface BundleDetails_Result {
732
757
  bundleType: number;
733
758
  bundledItems: {
@@ -829,6 +854,7 @@ export declare function cleanString(inputString: string): string;
829
854
 
830
855
  export declare function clonePrimitiveArray<T>(arr: T[]): any[];
831
856
 
857
+ /**@category API */
832
858
  export declare function cloneSearch_Payload(data: Search_Payload): Search_Payload;
833
859
 
834
860
  /**
@@ -889,9 +915,7 @@ export declare class ColorSequenceKeypoint {
889
915
  isSame(other: ColorSequenceKeypoint): boolean;
890
916
  }
891
917
 
892
- /**
893
- * @category Outfit
894
- */
918
+ /**@category Outfit */
895
919
  export declare type ColorType = "BrickColor" | "Color3";
896
920
 
897
921
  /**
@@ -917,7 +941,10 @@ export declare class Content {
917
941
 
918
942
  export declare const ContentMap: Map<string, string>;
919
943
 
920
- declare class COREMESH {
944
+ /**
945
+ * Class inside FileMesh that contains core data
946
+ * @category Mesh */
947
+ export declare class COREMESH {
921
948
  private _numverts;
922
949
  private _positions;
923
950
  private _normals;
@@ -976,6 +1003,8 @@ export declare function createWeightsForMeshChunked(mesh: FileMesh, ref_mesh: Fi
976
1003
  */
977
1004
  export declare function cross(a: Vec3, b: Vec3): Vec3;
978
1005
 
1006
+ export declare type CurrentlyLoadingUpdateType = "start" | "finish";
1007
+
979
1008
  export declare const DataType: {
980
1009
  String: number;
981
1010
  Bool: number;
@@ -1144,7 +1173,10 @@ declare class FaceKeyframeGroup extends BaseKeyframeGroup {
1144
1173
  getLowerKeyframe(time: number): FaceKeyframe | null;
1145
1174
  }
1146
1175
 
1147
- declare class FACS {
1176
+ /**
1177
+ * Class inside FileMesh that contains facial animation data
1178
+ * @category Mesh */
1179
+ export declare class FACS {
1148
1180
  faceBoneNames: string[];
1149
1181
  faceControlNames: string[];
1150
1182
  quantizedTransforms?: QuantizedTransform;
@@ -1189,7 +1221,10 @@ export declare class FileMesh {
1189
1221
  getValidationIssue(): "subsetLengthMismatch" | undefined;
1190
1222
  }
1191
1223
 
1192
- declare class FileMeshBone {
1224
+ /**
1225
+ * Bone inside SKINNING in FileMesh
1226
+ * @category Mesh */
1227
+ export declare class FileMeshBone {
1193
1228
  boneNameIndex: number;
1194
1229
  parentIndex: number;
1195
1230
  lodParentIndex: number;
@@ -1199,12 +1234,18 @@ declare class FileMeshBone {
1199
1234
  clone(): FileMeshBone;
1200
1235
  }
1201
1236
 
1237
+ /**
1238
+ * Contains bone weights for a single vert
1239
+ * @category Mesh */
1202
1240
  export declare class FileMeshSkinning {
1203
1241
  subsetIndices: Vec4;
1204
1242
  boneWeights: Vec4;
1205
1243
  clone(): FileMeshSkinning;
1206
1244
  }
1207
1245
 
1246
+ /**
1247
+ * Section of mesh inside SKINNING in FileMesh
1248
+ * @category Mesh */
1208
1249
  export declare class FileMeshSubset {
1209
1250
  facesBegin: number;
1210
1251
  facesLength: number;
@@ -1298,7 +1339,7 @@ export declare const FLAGS: {
1298
1339
  AUTO_RESTORE_CONTEXT: boolean;
1299
1340
  /**RenderTarget textures are converted to CanvasTextures which can be exported */
1300
1341
  RENDERTARGET_TO_CANVASTEXTURE: boolean;
1301
- /**Amount of time thumbnail generator will wait after no assets are being loaded to resolve */
1342
+ /**Amount of time thumbnail generator will wait after no assets are being loaded to resolve, should be a little time at least so particles can render */
1302
1343
  THUMBNAIL_TIMEOUT: number;
1303
1344
  /**shows ThreeJS SkeletonHelper */
1304
1345
  SHOW_SKELETON_HELPER: boolean;
@@ -1364,7 +1405,7 @@ export declare function gaussian_rbf(v0: Vec3, v1: Vec3, sigma?: number): number
1364
1405
  /**
1365
1406
  * Generates a 2d or 3d thumbnail of a model/similar instance
1366
1407
  * @param auth Authentication
1367
- * @param renderScene Scene to render inside, do note the scene appearance is not populated automaticall, use setupThumbnailScene()
1408
+ * @param renderScene Scene to render inside, do note the scene appearance is not populated automatically, use setupThumbnailScene()
1368
1409
  * @param model Model to render
1369
1410
  * @param size Size of the resulting image, ignored for 3d thumbnails
1370
1411
  * @param type Type of thumbnail, "png" | "webp" | "gltf"
@@ -1428,26 +1469,44 @@ export declare function generateUUIDv4(): string;
1428
1469
 
1429
1470
  export declare function GetAttachedPart(accessory: Instance, rig: Instance): Instance | undefined;
1430
1471
 
1472
+ /**
1473
+ * @deprecated Use getThumbnailCameraCFrame instead
1474
+ * @param rig
1475
+ * @returns
1476
+ */
1431
1477
  export declare function getCameraCFrameForAvatarNonCustomized(rig: Instance): CFrame | undefined;
1432
1478
 
1479
+ /**
1480
+ * Calculates the CFrame the camera should be at when generating a customized headshot thumbnail
1481
+ * @param rig Character
1482
+ * @param fov Customized fov
1483
+ * @param yRot Customized yRot
1484
+ * @param distance Customized distanceScale
1485
+ * @returns Thumbnail camera cframe
1486
+ * @category ThumbnailGenerator
1487
+ */
1433
1488
  export declare function getCameraCFrameForHeadshotCustomized(rig: Instance, fov: number, yRot: number, distance: number): CFrame | undefined;
1434
1489
 
1435
- export declare function getCameraOffset(fov: number, extentsSize: Vector3): number;
1436
-
1437
1490
  /**
1438
1491
  * @category Mesh
1439
1492
  */
1440
1493
  export declare function getDistIndexArray(ref: FileMesh, dist: FileMesh): (number | undefined)[];
1441
1494
 
1495
+ /**@category ThumbnailGenerator */
1442
1496
  export declare function getExtents(cframe: CFrame, parts: Instance[]): [Vector3, Vector3];
1443
1497
 
1498
+ /**@category ThumbnailGenerator */
1444
1499
  export declare function getExtentsCenter(extents: [Vector3, Vector3]): Vector3;
1445
1500
 
1446
- /**@deprecated this is SO broken */
1501
+ /**
1502
+ * @deprecated this is SO broken
1503
+ * @category ThumbnailGenerator
1504
+ * */
1447
1505
  export declare function getExtentsForParts(parts: Instance[], includeTransform?: boolean): [Vector3, Vector3];
1448
1506
 
1449
1507
  export declare function getHeadExtents(rig: Instance): [Vector3, Vector3] | undefined;
1450
1508
 
1509
+ /**@category API */
1451
1510
  export declare interface GetInfoForId_Result {
1452
1511
  "description": string;
1453
1512
  "created": string;
@@ -1474,6 +1533,7 @@ export declare function getRandomBetweenInclusive(min: number, max: number): num
1474
1533
 
1475
1534
  export declare function getRigExtentsWorld(rig: Instance): [Vector3, Vector3];
1476
1535
 
1536
+ /**@category API */
1477
1537
  export declare interface GetSubscription_Result {
1478
1538
  "subscriptionProductModel": {
1479
1539
  "premiumFeatureId": number;
@@ -1489,12 +1549,22 @@ export declare interface GetSubscription_Result {
1489
1549
  };
1490
1550
  }
1491
1551
 
1552
+ /**
1553
+ * Calculates the CFrame the camera should be at when generating a thumbnail
1554
+ * @param model The model-like instance to get thumbnail camera for
1555
+ * @returns Thumbnail camera cframe
1556
+ * @category ThumbnailGenerator
1557
+ */
1558
+ export declare function getThumbnailCameraCFrame(model: Instance): CFrame | undefined;
1559
+
1560
+ /**@category API */
1492
1561
  export declare interface GetTopics_Payload {
1493
1562
  items: unknown[];
1494
1563
  maxResult: 40;
1495
1564
  selectTopics: string[];
1496
1565
  }
1497
1566
 
1567
+ /**@category API */
1498
1568
  export declare interface GetTopics_Result {
1499
1569
  error: null | unknown;
1500
1570
  topics: {
@@ -1503,6 +1573,7 @@ export declare interface GetTopics_Result {
1503
1573
  }[];
1504
1574
  }
1505
1575
 
1576
+ /**@category API */
1506
1577
  export declare interface GetUserOutfits_Result {
1507
1578
  data: {
1508
1579
  id: number;
@@ -1557,6 +1628,7 @@ export declare function hexToRgb(hex: string): {
1557
1628
  } | null;
1558
1629
 
1559
1630
  /**
1631
+ * The main class for the process of HSR (Hidden Surface Removal)
1560
1632
  * @category Mesh
1561
1633
  */
1562
1634
  export declare class HSR {
@@ -1577,7 +1649,10 @@ export declare class HSR {
1577
1649
  calculateCloseToCageThreshold(): void;
1578
1650
  }
1579
1651
 
1580
- declare class HSRAVIS {
1652
+ /**
1653
+ * Class inside FileMesh that contains HSR Always Visible data (unused?)
1654
+ * @category Mesh */
1655
+ export declare class HSRAVIS {
1581
1656
  bitFlags: boolean[];
1582
1657
  clone(): HSRAVIS;
1583
1658
  }
@@ -1641,6 +1716,7 @@ export declare class HumanoidDescriptionWrapper extends InstanceWrapper {
1641
1716
  */
1642
1717
  private _applyAccessories;
1643
1718
  private _applyMakeup;
1719
+ private _loadDefaultAnimation;
1644
1720
  /**
1645
1721
  * @returns undefined on success
1646
1722
  */
@@ -1655,6 +1731,7 @@ export declare class HumanoidDescriptionWrapper extends InstanceWrapper {
1655
1731
  applyDescription(humanoid: Instance): Promise<Instance | Response | undefined>;
1656
1732
  }
1657
1733
 
1734
+ /**@category DataModelEnum */
1658
1735
  export declare const HumanoidRigType: {
1659
1736
  R6: number;
1660
1737
  R15: number;
@@ -1712,7 +1789,7 @@ export declare class Instance {
1712
1789
  get id(): string;
1713
1790
  set name(value: string);
1714
1791
  get name(): string;
1715
- createWrapper(): void;
1792
+ createWrapper(): InstanceWrapper | undefined;
1716
1793
  addConnectionReference(connection: Connection): void;
1717
1794
  removeConnectionReference(connection: Connection): void;
1718
1795
  addReferencedBy(instance: Instance): void;
@@ -1781,6 +1858,7 @@ export declare class InstanceWrapper {
1781
1858
  preRender(): void;
1782
1859
  }
1783
1860
 
1861
+ /**@category API */
1784
1862
  export declare interface Inventory_Result {
1785
1863
  data: {
1786
1864
  assetId: number;
@@ -1809,6 +1887,7 @@ export declare function isSameFloat(num0: number, num1: number): boolean;
1809
1887
 
1810
1888
  export declare function isSameVector3(vec0: Vector3, vec1: Vector3): boolean;
1811
1889
 
1890
+ /**@category API */
1812
1891
  export declare interface ItemDetail_Result {
1813
1892
  assetType: number;
1814
1893
  bundledItems: [];
@@ -1835,6 +1914,7 @@ export declare interface ItemDetail_Result {
1835
1914
  };
1836
1915
  }
1837
1916
 
1917
+ /**@category API */
1838
1918
  export declare interface ItemDetails_Result {
1839
1919
  data: ItemDetail_Result[];
1840
1920
  }
@@ -1906,6 +1986,8 @@ export declare function lerpCFrame(oldCFrame: CFrame, newCFrame: CFrame, easedTi
1906
1986
 
1907
1987
  export declare function lerpVec3(a: Vector3, b: Vector3, t: number): Vector3;
1908
1988
 
1989
+ export declare const LightDescClassTypes: string[];
1990
+
1909
1991
  export declare class LocalOutfit {
1910
1992
  name: string;
1911
1993
  id: number;
@@ -1929,7 +2011,10 @@ export declare interface LocalOutfitJson {
1929
2011
  buffer: string;
1930
2012
  }
1931
2013
 
1932
- declare class LODS {
2014
+ /**
2015
+ * Class inside FileMesh that contains LOD metadata
2016
+ * @category Mesh */
2017
+ export declare class LODS {
1933
2018
  lodType: number;
1934
2019
  numHighQualityLODs: number;
1935
2020
  numLodOffsets: number;
@@ -1937,6 +2022,7 @@ declare class LODS {
1937
2022
  clone(): LODS;
1938
2023
  }
1939
2024
 
2025
+ /**@category API */
1940
2026
  export declare interface Look_Result {
1941
2027
  look: {
1942
2028
  avatarProperties: {
@@ -2047,6 +2133,7 @@ export declare class MakeupDescriptionWrapper extends InstanceWrapper {
2047
2133
  setup(): void;
2048
2134
  }
2049
2135
 
2136
+ /**@category DataModelEnum */
2050
2137
  export declare const MakeupType: {
2051
2138
  Face: number;
2052
2139
  Lip: number;
@@ -2062,6 +2149,7 @@ export declare class ManualWeldWrapper extends WeldWrapper {
2062
2149
 
2063
2150
  export declare function mapNum(x: number, in_min: number, in_max: number, out_min: number, out_max: number): number;
2064
2151
 
2152
+ /**@category API */
2065
2153
  export declare interface MarketplaceWidget {
2066
2154
  id: string;
2067
2155
  type: string;
@@ -2083,6 +2171,7 @@ export declare interface MarketplaceWidget {
2083
2171
  };
2084
2172
  }
2085
2173
 
2174
+ /**@category API */
2086
2175
  export declare interface MarketplaceWidgets_Result {
2087
2176
  widgets: {
2088
2177
  [K in number]: MarketplaceWidget;
@@ -2134,6 +2223,7 @@ declare class MeshCollider {
2134
2223
  raycast(ray: Ray_2): boolean;
2135
2224
  }
2136
2225
 
2226
+ /**@category DataModelEnum */
2137
2227
  export declare const MeshType: {
2138
2228
  Brick: number;
2139
2229
  Cylinder: number;
@@ -2203,6 +2293,7 @@ export declare function multiply(v0: Vec3, v1: Vec3): Vec3;
2203
2293
  */
2204
2294
  export declare function multiplyMatrixVector(m: Mat3x3, v: Vec3): Vec3;
2205
2295
 
2296
+ /**@category API */
2206
2297
  export declare interface NavigationMenuItems {
2207
2298
  categories: {
2208
2299
  category: string;
@@ -2279,6 +2370,7 @@ export declare interface NavigationMenuItems {
2279
2370
 
2280
2371
  export declare const NeverLayeredAccessoryTypes: number[];
2281
2372
 
2373
+ /**@category DataModelEnum */
2282
2374
  export declare const NormalId: {
2283
2375
  Right: number;
2284
2376
  Top: number;
@@ -2436,6 +2528,7 @@ export declare class Outfit {
2436
2528
  toBuffer(): ArrayBuffer;
2437
2529
  }
2438
2530
 
2531
+ /**@category Outfit */
2439
2532
  export declare type OutfitJson = {
2440
2533
  scale?: ScaleJson;
2441
2534
  playerAvatarType?: AvatarType;
@@ -2525,12 +2618,14 @@ declare class PartCurve {
2525
2618
  rotation?: FloatCurve3;
2526
2619
  }
2527
2620
 
2621
+ /**@category DataModelEnum */
2528
2622
  export declare const ParticleEmitterShapeInOut: {
2529
2623
  Outward: number;
2530
2624
  Inward: number;
2531
2625
  InAndOut: number;
2532
2626
  };
2533
2627
 
2628
+ /**@category DataModelEnum */
2534
2629
  export declare const ParticleOrientation: {
2535
2630
  FacingCamera: number;
2536
2631
  FacingCameraWorldUp: number;
@@ -2657,6 +2752,7 @@ export declare class RBFDeformerPatch {
2657
2752
  patchCount: number;
2658
2753
  epsilon: number;
2659
2754
  affectBones: boolean;
2755
+ hasSolved: boolean;
2660
2756
  id: number;
2661
2757
  /**
2662
2758
  * Creates the deformer and prepares for deformation
@@ -2932,7 +3028,7 @@ export declare const RegularBodyColors: string[];
2932
3028
  */
2933
3029
  declare class RenderDesc extends DisposableDesc {
2934
3030
  renderScene: RBXRendererScene;
2935
- results?: THREE.Mesh[];
3031
+ results?: THREE.Object3D[];
2936
3032
  instance?: Instance;
2937
3033
  constructor(renderScene: RBXRendererScene);
2938
3034
  isSame(_other: RenderDesc): boolean;
@@ -2942,7 +3038,7 @@ declare class RenderDesc extends DisposableDesc {
2942
3038
  virtualTransferFrom(_other: RenderDesc): void;
2943
3039
  virtualFromRenderDesc(_other: RenderDesc): void;
2944
3040
  fromInstance(_child: Instance): void;
2945
- compileResults(_renderer: THREE.WebGLRenderer, _scene: THREE.Scene): Promise<THREE.Mesh[] | Response | undefined>;
3041
+ compileResults(_renderer: THREE.WebGLRenderer, _scene: THREE.Scene): Promise<THREE.Object3D[] | Response | undefined>;
2946
3042
  updateResults(): void;
2947
3043
  }
2948
3044
 
@@ -3007,13 +3103,12 @@ export declare class RoAvatarVersions {
3007
3103
 
3008
3104
  export declare function rotationMatrixToEulerAngles(te: number[], order?: string): Vec3;
3009
3105
 
3106
+ /**@category API */
3010
3107
  export declare type SaleLocationType = "ShopOnly" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | string;
3011
3108
 
3012
3109
  export declare function saveByteArray(data: BlobPart[] | undefined, name: string): void;
3013
3110
 
3014
- /**
3015
- * @category Outfit
3016
- */
3111
+ /**@category Outfit */
3017
3112
  export declare class Scale {
3018
3113
  height: number;
3019
3114
  width: number;
@@ -3041,6 +3136,7 @@ export declare function ScaleAccessoryForRig(accessory: Instance, rig: Instance,
3041
3136
 
3042
3137
  export declare function ScaleCharacter(rig: Instance, outfit: Outfit, humanoidDescription: Instance): RigData | undefined;
3043
3138
 
3139
+ /**@category Outfit */
3044
3140
  export declare type ScaleJson = {
3045
3141
  height?: number;
3046
3142
  width?: number;
@@ -3055,9 +3151,7 @@ export declare type ScaleJson = {
3055
3151
  */
3056
3152
  export declare function scaleMesh(mesh: FileMesh, scale: Vector3): void;
3057
3153
 
3058
- /**
3059
- * @category Outfit
3060
- */
3154
+ /**@category Outfit */
3061
3155
  export declare type ScaleName = "height" | "width" | "head" | "depth" | "proportion" | "bodyType";
3062
3156
 
3063
3157
  /**
@@ -3077,6 +3171,7 @@ declare class ScriptWrapperData {
3077
3171
  shouldStop: boolean;
3078
3172
  }
3079
3173
 
3174
+ /**@category API */
3080
3175
  export declare interface Search_Payload {
3081
3176
  taxonomy: string;
3082
3177
  salesTypeFilter: number;
@@ -3091,6 +3186,7 @@ export declare interface Search_Payload {
3091
3186
  limit?: number;
3092
3187
  }
3093
3188
 
3189
+ /**@category API */
3094
3190
  export declare interface Search_Result {
3095
3191
  keyword: string | null;
3096
3192
  previousPageCursor: string | null;
@@ -3167,7 +3263,10 @@ declare class SimpleView {
3167
3263
  readUint8(): number;
3168
3264
  }
3169
3265
 
3170
- declare class SKINNING {
3266
+ /**
3267
+ * Class inside FileMesh that contains skinning data
3268
+ * @category Mesh */
3269
+ export declare class SKINNING {
3171
3270
  numSkinnings: number;
3172
3271
  skinnings: FileMeshSkinning[];
3173
3272
  numBones: number;
@@ -3206,6 +3305,7 @@ export declare class SoundWrapper extends InstanceWrapper {
3206
3305
  get data(): SoundWrapperData;
3207
3306
  created(): void;
3208
3307
  _updateVolume(): void;
3308
+ setPlaying(value: boolean): void;
3209
3309
  playSource(): void;
3210
3310
  Play(): void;
3211
3311
  Stop(): void;
@@ -3232,6 +3332,7 @@ export declare const StringBufferProperties: string[];
3232
3332
 
3233
3333
  declare type ThreePoseCorrective = Vec3;
3234
3334
 
3335
+ /**@category API */
3235
3336
  export declare interface ThumbnailCustomizations_Result {
3236
3337
  "avatarThumbnailCustomizations": {
3237
3338
  "thumbnailType": number;
@@ -3244,10 +3345,12 @@ export declare interface ThumbnailCustomizations_Result {
3244
3345
  }[];
3245
3346
  }
3246
3347
 
3348
+ /**@category ThumbnailGenerator */
3247
3349
  export declare type ThumbnailResult = ArrayBuffer | {
3248
3350
  [key: string]: unknown;
3249
3351
  } | string | undefined;
3250
3352
 
3353
+ /**@category API */
3251
3354
  export declare interface ThumbnailsCustomization_Payload {
3252
3355
  thumbnailType: number;
3253
3356
  emoteAssetId: number;
@@ -3258,6 +3361,7 @@ export declare interface ThumbnailsCustomization_Payload {
3258
3361
  };
3259
3362
  }
3260
3363
 
3364
+ /**@category ThumbnailGenerator */
3261
3365
  export declare type ThumbnailType = "png" | "webp" | "gltf";
3262
3366
 
3263
3367
  /**
@@ -3324,6 +3428,7 @@ declare type UserInfo = {
3324
3428
  displayName: string;
3325
3429
  };
3326
3430
 
3431
+ /**@category API */
3327
3432
  export declare interface UserLooks_Result {
3328
3433
  data: {
3329
3434
  assets: {
@@ -3349,6 +3454,7 @@ export declare interface UserLooks_Result {
3349
3454
  previousCursor: string | null;
3350
3455
  }
3351
3456
 
3457
+ /**@category API */
3352
3458
  export declare interface UserOmniSearch_Result {
3353
3459
  "searchResults": {
3354
3460
  "contentGroupType": "User";
@@ -3365,12 +3471,14 @@ export declare interface UserOmniSearch_Result {
3365
3471
  "nextPageToken": string;
3366
3472
  }
3367
3473
 
3474
+ /**@category Outfit */
3368
3475
  export declare type ValidationIssue = {
3369
3476
  type: ValidationIssueType;
3370
3477
  text: string;
3371
3478
  assetIndex?: number;
3372
3479
  };
3373
3480
 
3481
+ /**@category Outfit */
3374
3482
  export declare type ValidationIssueType = "AccessoryLimit" | "LayeredLimit" | "OneOfTypeLimit" | "DuplicateId" | "NotWearable" | "MissingLayeredMeta" | "InvalidAsset" | "MakeupLimit";
3375
3483
 
3376
3484
  /** @category Mesh */
@@ -3476,6 +3584,7 @@ export declare const WorkerTypeToFunction: {
3476
3584
  [K in string]: Function;
3477
3585
  };
3478
3586
 
3587
+ /**@category DataModelEnum */
3479
3588
  export declare const WrapLayerAutoSkin: {
3480
3589
  Disabled: number;
3481
3590
  EnabledPreserve: number;
@@ -3484,8 +3593,27 @@ export declare const WrapLayerAutoSkin: {
3484
3593
 
3485
3594
  export declare const xmlMagic = "<roblox ";
3486
3595
 
3487
- export declare function zoomExtents(cameraCFrame: CFrame, modelCFrame: CFrame, modelSize: Vector3, targetFOV: number, distanceScale: number): void;
3596
+ export declare function zoomExtents(cameraCFrame: CFrame, modelCFrame: CFrame, modelSize: Vector3, targetFOV: number, distanceScale: number, sizeType?: ZoomExtentsSizeType): void;
3597
+
3598
+ /**
3599
+ * Makes model fit inside camera
3600
+ * @param cameraCFrame Original camera cframe
3601
+ * @param modelCFrame Model cframe
3602
+ * @param modelSize Model extents size
3603
+ * @param targetFOV Camera fov
3604
+ * @param distanceScale Distance is multiplied by this
3605
+ * @category ThumbnailGenerator
3606
+ */
3607
+ export declare type ZoomExtentsSizeType = "largestAxis" | "calculate";
3488
3608
 
3609
+ /**
3610
+ * @deprecated Use zoomExtents instead
3611
+ * @param cameraCFrame
3612
+ * @param modelCFrame
3613
+ * @param modelSize
3614
+ * @param fov
3615
+ * @category ThumbnailGenerator
3616
+ */
3489
3617
  export declare function zoomToExtents(cameraCFrame: CFrame, modelCFrame: CFrame, modelSize: Vector3, fov?: number): void;
3490
3618
 
3491
3619
  export { }