roavatar-renderer 1.2.3 → 1.2.4

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 +97 -10
  2. package/dist/index.js +11633 -10837
  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
  }
@@ -931,17 +943,25 @@ export declare const FLAGS: {
931
943
  INFLATE_LAYERED_CLOTHING: number;
932
944
  LAYERED_CLOTHING_ALGORITHM: "linear" | "linearnormal" | "linearnormal2" | "rbf";
933
945
  RBF_PATCH_COUNT: number;
934
- RBF_PATCH_DETAIL_SAMPLES: 48;
935
- RBF_PATCH_SHAPE_SAMPLES: 32;
946
+ RBF_PATCH_DETAIL_SAMPLES: number;
947
+ RBF_PATCH_SHAPE_SAMPLES: number;
936
948
  USE_VERTEX_COLOR: boolean;
937
949
  USE_POST_PROCESSING: boolean;
938
950
  POST_PROCESSING_IS_DOUBLE_SIZE: boolean;
939
951
  GEAR_ENABLED: boolean;
952
+ AUDIO_ENABLED: boolean;
953
+ LEGACY_WELD_BEHAVIOR: boolean;
940
954
  SHOW_SKELETON_HELPER: boolean;
941
955
  UPDATE_SKELETON: boolean;
942
956
  ANIMATE_SKELETON: boolean;
943
957
  AUTO_SKIN_EVERYTHING: boolean;
944
958
  USE_LOCAL_SKELETONDESC: boolean;
959
+ ENABLE_HSR: boolean;
960
+ HSR_SHOW_RAY: boolean;
961
+ HIDE_LAYERED_CLOTHING: boolean;
962
+ HSR_RAY_COUNT: number;
963
+ HSR_RAY_LENGTH: number;
964
+ CACHE_HSR_HITS: boolean;
945
965
  SEARCH_FOR_STRING: string | undefined;
946
966
  LOAD_TEST_PLACE: string | undefined;
947
967
  };
@@ -1013,12 +1033,16 @@ export declare interface GetTopics_Result {
1013
1033
  }[];
1014
1034
  }
1015
1035
 
1036
+ export declare function getUVtoIndexMap(mesh: FileMesh): Map<number, number>;
1037
+
1016
1038
  export declare function getUVtoVertMap(mesh: FileMesh): Map<number, FileMeshVertex[]>;
1017
1039
 
1018
1040
  export declare function hashVec2(x: number, y: number): number;
1019
1041
 
1020
1042
  export declare function hashVec3(x: number, y: number, z: number, distance: number): number;
1021
1043
 
1044
+ export declare function hashVec3Safe(a: number | bigint, b: number | bigint, c: number | bigint): bigint;
1045
+
1022
1046
  export declare function hasSameVal(instance0: Instance, instance1: Instance, propertyName: string): boolean;
1023
1047
 
1024
1048
  export declare function hasSameValFloat(instance0: Instance, instance1: Instance, propertyName: string): boolean;
@@ -1031,6 +1055,24 @@ export declare function hexToRgb(hex: string): {
1031
1055
  b: number;
1032
1056
  } | null;
1033
1057
 
1058
+ export declare class HSR {
1059
+ rayCount: number;
1060
+ rayLength: number;
1061
+ cullType: "front" | "back";
1062
+ phiAngle: number;
1063
+ mesh: FileMesh;
1064
+ inner: FileMesh;
1065
+ outer: FileMesh;
1066
+ meshCollider: MeshCollider;
1067
+ meshFaceKD?: KDNode | null;
1068
+ outerThresholds?: number[];
1069
+ innerHits?: number[];
1070
+ constructor(mesh: FileMesh, inner: FileMesh, outer: FileMesh);
1071
+ getRays(mesh: FileMesh, index: number): Ray_2[];
1072
+ calculateInnerHits(): number[];
1073
+ calculateCloseToCageThreshold(): void;
1074
+ }
1075
+
1034
1076
  declare class HSRAVIS {
1035
1077
  bitFlags: boolean[];
1036
1078
  clone(): HSRAVIS;
@@ -1166,6 +1208,7 @@ export declare class Instance {
1166
1208
  FindFirstChildOfClass(className: string): Instance | undefined;
1167
1209
  FindLastChildOfClass(className: string): Instance | undefined;
1168
1210
  AccessoryBuildWeld(): void;
1211
+ preRender(): void;
1169
1212
  }
1170
1213
 
1171
1214
  declare class InstanceWrapper {
@@ -1178,6 +1221,7 @@ declare class InstanceWrapper {
1178
1221
  static register(): void;
1179
1222
  created(): void;
1180
1223
  destroy(): void;
1224
+ preRender(): void;
1181
1225
  }
1182
1226
 
1183
1227
  export declare interface Inventory_Result {
@@ -1466,13 +1510,22 @@ export declare const MaxPerAsset: {
1466
1510
  [K in string]: number;
1467
1511
  };
1468
1512
 
1469
- export declare function mergeTargetWithReference(reference: FileMesh, target: FileMesh, targetSize: Vector3, targetCFrame: CFrame): number[];
1513
+ export declare function mergeTargetWithReference(reference: FileMesh, target: FileMesh, targetSize: Vector3, targetCFrame: CFrame, ignoredIndices?: number[]): number[];
1470
1514
 
1471
1515
  export declare type MeshChunk = {
1472
1516
  pos: Vec3;
1473
1517
  indices: number[];
1474
1518
  };
1475
1519
 
1520
+ declare class MeshCollider {
1521
+ mesh: FileMesh;
1522
+ octree: OctreeNode<number>;
1523
+ faceBounds: Bounds[];
1524
+ cullType: "front" | "back";
1525
+ constructor(mesh: FileMesh, octdepth?: number);
1526
+ raycast(ray: Ray_2): boolean;
1527
+ }
1528
+
1476
1529
  export declare const MeshType: {
1477
1530
  Brick: number;
1478
1531
  Cylinder: number;
@@ -1505,6 +1558,8 @@ export declare function mountElement(container: HTMLDivElement): void;
1505
1558
 
1506
1559
  export declare function multiply(v0: Vec3, v1: Vec3): Vec3;
1507
1560
 
1561
+ export declare function multiplyMatrixVector(m: Mat3x3, v: Vec3): Vec3;
1562
+
1508
1563
  export declare interface NavigationMenuItems {
1509
1564
  categories: {
1510
1565
  category: string;
@@ -1619,6 +1674,31 @@ export declare class NumberSequenceKeypoint {
1619
1674
 
1620
1675
  export declare const ObjectDescClassTypes: string[];
1621
1676
 
1677
+ declare class OctreeChild<T> {
1678
+ bounds: Bounds;
1679
+ data: T;
1680
+ constructor(bounds: Bounds, data: T);
1681
+ }
1682
+
1683
+ declare class OctreeNode<T> {
1684
+ bounds: Bounds;
1685
+ children: OctreeChild<T>[];
1686
+ isEnd: boolean;
1687
+ ufr?: OctreeNode<T>;
1688
+ ufl?: OctreeNode<T>;
1689
+ ubr?: OctreeNode<T>;
1690
+ ubl?: OctreeNode<T>;
1691
+ lfr?: OctreeNode<T>;
1692
+ lfl?: OctreeNode<T>;
1693
+ lbr?: OctreeNode<T>;
1694
+ lbl?: OctreeNode<T>;
1695
+ constructor(bounds: Bounds);
1696
+ getDivisions(): (OctreeNode<T> | undefined)[];
1697
+ divide(): void;
1698
+ collide(func: (a: Bounds) => boolean): OctreeNode<T>[];
1699
+ collideRay(ray: Ray_2): OctreeNode<T>[];
1700
+ }
1701
+
1622
1702
  export declare function offsetMesh(mesh: FileMesh, cframe: CFrame): void;
1623
1703
 
1624
1704
  export declare function offsetMeshWithRotation(mesh: FileMesh, cframe: CFrame): void;
@@ -1864,7 +1944,11 @@ export declare class Ray {
1864
1944
  clone(): Ray;
1865
1945
  }
1866
1946
 
1867
- export declare function ray_intersects_triangle(ray_origin: Vec3, ray_vector: Vec3, triangle: Triangle): Vec3 | null;
1947
+ declare class Ray_2 {
1948
+ origin: Vec3;
1949
+ end: Vec3;
1950
+ constructor(origin: Vec3, end: Vec3);
1951
+ }
1868
1952
 
1869
1953
  /**
1870
1954
  * This is a naive (think thats what its called) implementation of the RBF deformer, it is extremely slow
@@ -1889,14 +1973,13 @@ export declare class RBFDeformerPatch {
1889
1973
  patchKD: KDNode | null;
1890
1974
  patches: Patch[];
1891
1975
  patchCenters: Vec3[];
1892
- patchCenterIndices: number[];
1893
1976
  nearestPatch: Uint16Array;
1894
1977
  K: number;
1895
1978
  patchCount: number;
1896
1979
  epsilon: number;
1897
1980
  affectBones: boolean;
1898
1981
  id: number;
1899
- constructor(refMesh: FileMesh, distMesh: FileMesh, mesh: FileMesh, ignoredIndices?: number[], patchCount?: number, detailsCount?: 48, importantsCount?: 32);
1982
+ constructor(refMesh: FileMesh, distMesh: FileMesh, mesh: FileMesh, ignoredIndices?: number[], patchCount?: number, detailsCount?: number, importantsCount?: number);
1900
1983
  solveAsync(): Promise<void>;
1901
1984
  deform(i: number): Vec3;
1902
1985
  deformMesh(): void;
@@ -2288,12 +2371,16 @@ export declare class SoundWrapper extends InstanceWrapper {
2288
2371
  get data(): SoundWrapperData;
2289
2372
  created(): void;
2290
2373
  _updateVolume(): void;
2374
+ playSource(): void;
2291
2375
  Play(): void;
2292
2376
  Stop(): void;
2293
2377
  }
2294
2378
 
2295
2379
  declare class SoundWrapperData {
2296
- audio: HTMLAudioElement | undefined;
2380
+ audioContext: AudioContext | undefined;
2381
+ gainNode: GainNode | undefined;
2382
+ buffer: AudioBuffer | undefined;
2383
+ playingSource: AudioBufferSourceNode | undefined;
2297
2384
  }
2298
2385
 
2299
2386
  export declare function specialClamp(value: number, min: number, max: number): number;
@@ -2336,7 +2423,7 @@ export declare const ToRemoveBeforeBundleType: {
2336
2423
 
2337
2424
  export declare function transferSkeleton(to: FileMesh, from: FileMesh): void;
2338
2425
 
2339
- export declare function traverseRigCFrame(instance: Instance): CFrame;
2426
+ export declare function traverseRigCFrame(instance: Instance, includeTransform?: boolean, applyRoot?: boolean): CFrame;
2340
2427
 
2341
2428
  export declare function traverseRigInstance(instance: Instance): Instance[];
2342
2429