roavatar-renderer 1.2.3 → 1.2.5

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +99 -10
  2. package/dist/index.js +11648 -10825
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -108,6 +108,7 @@ export declare class AnimationTrack {
108
108
  looped: boolean;
109
109
  priority: number;
110
110
  shouldUpdateMotors: boolean;
111
+ updateFaceControls: boolean;
111
112
  pOriginalWeight: number;
112
113
  pTargetWeight: number;
113
114
  pSpeed: number;
@@ -315,6 +316,7 @@ export declare class AssetMeta {
315
316
  rotation?: VecXYZ;
316
317
  scale?: VecXYZ;
317
318
  headShape?: number;
319
+ staticFacialAnimation?: boolean;
318
320
  constructor();
319
321
  clone(): AssetMeta;
320
322
  toJson(): AssetMetaJson;
@@ -329,6 +331,7 @@ export declare type AssetMetaJson = {
329
331
  order?: number | null;
330
332
  puffiness?: number | null;
331
333
  headShape?: "Invalid" | number;
334
+ staticFacialAnimation?: boolean;
332
335
  };
333
336
 
334
337
  export declare class AssetType {
@@ -443,6 +446,8 @@ export declare const AvatarType: {
443
446
  [K in AvatarType]: AvatarType;
444
447
  };
445
448
 
449
+ export declare function averageVec3(vecs: Vec3[]): Vec3;
450
+
446
451
  export declare function barycentric(p: Vec3, triangle: Triangle): Vec3;
447
452
 
448
453
  export declare function base64ToArrayBuffer(base64: string): ArrayBuffer;
@@ -548,6 +553,8 @@ export declare const BodyPartNameToEnum: {
548
553
  [K in string]: number;
549
554
  };
550
555
 
556
+ declare type Bounds = [Vec3, Vec3];
557
+
551
558
  export declare const BrickColors: {
552
559
  [K in number]: string;
553
560
  };
@@ -558,8 +565,12 @@ export declare function browserSendMessage(data: {
558
565
  [K in string]: string;
559
566
  }): Promise<any>;
560
567
 
568
+ export declare function buildFaceKD(mesh: FileMesh): KDNode | null;
569
+
561
570
  export declare function BuildJoints(self: RigData): void;
562
571
 
572
+ export declare function buildVertKD(mesh: FileMesh): KDNode | null;
573
+
563
574
  export declare interface BundleDetails_Result {
564
575
  bundleType: number;
565
576
  bundledItems: {
@@ -845,9 +856,9 @@ export declare class FileMesh {
845
856
  skinning: SKINNING;
846
857
  facs?: FACS;
847
858
  hsrAvis?: HSRAVIS;
848
- _bounds?: [Vec3, Vec3];
859
+ _bounds?: Bounds;
849
860
  _size?: Vec3;
850
- get bounds(): [Vec3, Vec3];
861
+ get bounds(): Bounds;
851
862
  get size(): Vec3;
852
863
  constructor();
853
864
  clone(): FileMesh;
@@ -868,6 +879,7 @@ export declare class FileMesh {
868
879
  */
869
880
  deleteVert(i: number): void;
870
881
  removeDuplicateVertices(distance?: number): number;
882
+ removeFace(index: number): void;
871
883
  basicSkin(boneNames: string[]): void;
872
884
  getValidationIssue(): "subsetLengthMismatch" | undefined;
873
885
  }
@@ -930,18 +942,28 @@ export declare const FLAGS: {
930
942
  ENABLE_LC_WEIGHT_CACHE: boolean;
931
943
  INFLATE_LAYERED_CLOTHING: number;
932
944
  LAYERED_CLOTHING_ALGORITHM: "linear" | "linearnormal" | "linearnormal2" | "rbf";
945
+ SHOW_CAGE: boolean;
933
946
  RBF_PATCH_COUNT: number;
934
- RBF_PATCH_DETAIL_SAMPLES: 48;
935
- RBF_PATCH_SHAPE_SAMPLES: 32;
947
+ RBF_PATCH_DETAIL_SAMPLES: number;
948
+ RBF_PATCH_SHAPE_SAMPLES: number;
936
949
  USE_VERTEX_COLOR: boolean;
937
950
  USE_POST_PROCESSING: boolean;
938
951
  POST_PROCESSING_IS_DOUBLE_SIZE: boolean;
939
952
  GEAR_ENABLED: boolean;
953
+ AUDIO_ENABLED: boolean;
954
+ LEGACY_WELD_BEHAVIOR: boolean;
955
+ USE_RENDERTARGET: boolean;
940
956
  SHOW_SKELETON_HELPER: boolean;
941
957
  UPDATE_SKELETON: boolean;
942
958
  ANIMATE_SKELETON: boolean;
943
959
  AUTO_SKIN_EVERYTHING: boolean;
944
960
  USE_LOCAL_SKELETONDESC: boolean;
961
+ ENABLE_HSR: boolean;
962
+ HSR_SHOW_RAY: boolean;
963
+ HIDE_LAYERED_CLOTHING: boolean;
964
+ HSR_RAY_COUNT: number;
965
+ HSR_RAY_LENGTH: number;
966
+ CACHE_HSR_HITS: boolean;
945
967
  SEARCH_FOR_STRING: string | undefined;
946
968
  LOAD_TEST_PLACE: string | undefined;
947
969
  };
@@ -1013,12 +1035,16 @@ export declare interface GetTopics_Result {
1013
1035
  }[];
1014
1036
  }
1015
1037
 
1038
+ export declare function getUVtoIndexMap(mesh: FileMesh): Map<number, number>;
1039
+
1016
1040
  export declare function getUVtoVertMap(mesh: FileMesh): Map<number, FileMeshVertex[]>;
1017
1041
 
1018
1042
  export declare function hashVec2(x: number, y: number): number;
1019
1043
 
1020
1044
  export declare function hashVec3(x: number, y: number, z: number, distance: number): number;
1021
1045
 
1046
+ export declare function hashVec3Safe(a: number | bigint, b: number | bigint, c: number | bigint): bigint;
1047
+
1022
1048
  export declare function hasSameVal(instance0: Instance, instance1: Instance, propertyName: string): boolean;
1023
1049
 
1024
1050
  export declare function hasSameValFloat(instance0: Instance, instance1: Instance, propertyName: string): boolean;
@@ -1031,6 +1057,24 @@ export declare function hexToRgb(hex: string): {
1031
1057
  b: number;
1032
1058
  } | null;
1033
1059
 
1060
+ export declare class HSR {
1061
+ rayCount: number;
1062
+ rayLength: number;
1063
+ cullType: "front" | "back";
1064
+ phiAngle: number;
1065
+ mesh: FileMesh;
1066
+ inner: FileMesh;
1067
+ outer: FileMesh;
1068
+ meshCollider: MeshCollider;
1069
+ meshFaceKD?: KDNode | null;
1070
+ outerThresholds?: number[];
1071
+ innerHits?: number[];
1072
+ constructor(mesh: FileMesh, inner: FileMesh, outer: FileMesh);
1073
+ getRays(mesh: FileMesh, index: number): Ray_2[];
1074
+ calculateInnerHits(): number[];
1075
+ calculateCloseToCageThreshold(): void;
1076
+ }
1077
+
1034
1078
  declare class HSRAVIS {
1035
1079
  bitFlags: boolean[];
1036
1080
  clone(): HSRAVIS;
@@ -1166,6 +1210,7 @@ export declare class Instance {
1166
1210
  FindFirstChildOfClass(className: string): Instance | undefined;
1167
1211
  FindLastChildOfClass(className: string): Instance | undefined;
1168
1212
  AccessoryBuildWeld(): void;
1213
+ preRender(): void;
1169
1214
  }
1170
1215
 
1171
1216
  declare class InstanceWrapper {
@@ -1178,6 +1223,7 @@ declare class InstanceWrapper {
1178
1223
  static register(): void;
1179
1224
  created(): void;
1180
1225
  destroy(): void;
1226
+ preRender(): void;
1181
1227
  }
1182
1228
 
1183
1229
  export declare interface Inventory_Result {
@@ -1466,13 +1512,22 @@ export declare const MaxPerAsset: {
1466
1512
  [K in string]: number;
1467
1513
  };
1468
1514
 
1469
- export declare function mergeTargetWithReference(reference: FileMesh, target: FileMesh, targetSize: Vector3, targetCFrame: CFrame): number[];
1515
+ export declare function mergeTargetWithReference(reference: FileMesh, target: FileMesh, targetSize: Vector3, targetCFrame: CFrame, ignoredIndices?: number[]): number[];
1470
1516
 
1471
1517
  export declare type MeshChunk = {
1472
1518
  pos: Vec3;
1473
1519
  indices: number[];
1474
1520
  };
1475
1521
 
1522
+ declare class MeshCollider {
1523
+ mesh: FileMesh;
1524
+ octree: OctreeNode<number>;
1525
+ faceBounds: Bounds[];
1526
+ cullType: "front" | "back";
1527
+ constructor(mesh: FileMesh, octdepth?: number);
1528
+ raycast(ray: Ray_2): boolean;
1529
+ }
1530
+
1476
1531
  export declare const MeshType: {
1477
1532
  Brick: number;
1478
1533
  Cylinder: number;
@@ -1505,6 +1560,8 @@ export declare function mountElement(container: HTMLDivElement): void;
1505
1560
 
1506
1561
  export declare function multiply(v0: Vec3, v1: Vec3): Vec3;
1507
1562
 
1563
+ export declare function multiplyMatrixVector(m: Mat3x3, v: Vec3): Vec3;
1564
+
1508
1565
  export declare interface NavigationMenuItems {
1509
1566
  categories: {
1510
1567
  category: string;
@@ -1619,6 +1676,31 @@ export declare class NumberSequenceKeypoint {
1619
1676
 
1620
1677
  export declare const ObjectDescClassTypes: string[];
1621
1678
 
1679
+ declare class OctreeChild<T> {
1680
+ bounds: Bounds;
1681
+ data: T;
1682
+ constructor(bounds: Bounds, data: T);
1683
+ }
1684
+
1685
+ declare class OctreeNode<T> {
1686
+ bounds: Bounds;
1687
+ children: OctreeChild<T>[];
1688
+ isEnd: boolean;
1689
+ ufr?: OctreeNode<T>;
1690
+ ufl?: OctreeNode<T>;
1691
+ ubr?: OctreeNode<T>;
1692
+ ubl?: OctreeNode<T>;
1693
+ lfr?: OctreeNode<T>;
1694
+ lfl?: OctreeNode<T>;
1695
+ lbr?: OctreeNode<T>;
1696
+ lbl?: OctreeNode<T>;
1697
+ constructor(bounds: Bounds);
1698
+ getDivisions(): (OctreeNode<T> | undefined)[];
1699
+ divide(): void;
1700
+ collide(func: (a: Bounds) => boolean): OctreeNode<T>[];
1701
+ collideRay(ray: Ray_2): OctreeNode<T>[];
1702
+ }
1703
+
1622
1704
  export declare function offsetMesh(mesh: FileMesh, cframe: CFrame): void;
1623
1705
 
1624
1706
  export declare function offsetMeshWithRotation(mesh: FileMesh, cframe: CFrame): void;
@@ -1864,7 +1946,11 @@ export declare class Ray {
1864
1946
  clone(): Ray;
1865
1947
  }
1866
1948
 
1867
- export declare function ray_intersects_triangle(ray_origin: Vec3, ray_vector: Vec3, triangle: Triangle): Vec3 | null;
1949
+ declare class Ray_2 {
1950
+ origin: Vec3;
1951
+ end: Vec3;
1952
+ constructor(origin: Vec3, end: Vec3);
1953
+ }
1868
1954
 
1869
1955
  /**
1870
1956
  * This is a naive (think thats what its called) implementation of the RBF deformer, it is extremely slow
@@ -1889,14 +1975,13 @@ export declare class RBFDeformerPatch {
1889
1975
  patchKD: KDNode | null;
1890
1976
  patches: Patch[];
1891
1977
  patchCenters: Vec3[];
1892
- patchCenterIndices: number[];
1893
1978
  nearestPatch: Uint16Array;
1894
1979
  K: number;
1895
1980
  patchCount: number;
1896
1981
  epsilon: number;
1897
1982
  affectBones: boolean;
1898
1983
  id: number;
1899
- constructor(refMesh: FileMesh, distMesh: FileMesh, mesh: FileMesh, ignoredIndices?: number[], patchCount?: number, detailsCount?: 48, importantsCount?: 32);
1984
+ constructor(refMesh: FileMesh, distMesh: FileMesh, mesh: FileMesh, ignoredIndices?: number[], patchCount?: number, detailsCount?: number, importantsCount?: number);
1900
1985
  solveAsync(): Promise<void>;
1901
1986
  deform(i: number): Vec3;
1902
1987
  deformMesh(): void;
@@ -2288,12 +2373,16 @@ export declare class SoundWrapper extends InstanceWrapper {
2288
2373
  get data(): SoundWrapperData;
2289
2374
  created(): void;
2290
2375
  _updateVolume(): void;
2376
+ playSource(): void;
2291
2377
  Play(): void;
2292
2378
  Stop(): void;
2293
2379
  }
2294
2380
 
2295
2381
  declare class SoundWrapperData {
2296
- audio: HTMLAudioElement | undefined;
2382
+ audioContext: AudioContext | undefined;
2383
+ gainNode: GainNode | undefined;
2384
+ buffer: AudioBuffer | undefined;
2385
+ playingSource: AudioBufferSourceNode | undefined;
2297
2386
  }
2298
2387
 
2299
2388
  export declare function specialClamp(value: number, min: number, max: number): number;
@@ -2336,7 +2425,7 @@ export declare const ToRemoveBeforeBundleType: {
2336
2425
 
2337
2426
  export declare function transferSkeleton(to: FileMesh, from: FileMesh): void;
2338
2427
 
2339
- export declare function traverseRigCFrame(instance: Instance): CFrame;
2428
+ export declare function traverseRigCFrame(instance: Instance, includeTransform?: boolean, applyRoot?: boolean): CFrame;
2340
2429
 
2341
2430
  export declare function traverseRigInstance(instance: Instance): Instance[];
2342
2431