Files
discord-decomp/_bundle/isAffineMatrixFlat.js
T
2026-11-01 12:12:55 +02:00

455 lines
22 KiB
JavaScript

// Metro module 1648 (f1649).
import * as _Module1617 from "./Module1617";
function $mk102417() {
return (a0) => typeof a0 === "number" ? !isNaN(a0) : typeof a0 === "number";
}
function $mk102418() {
return (a0) => Array.isArray(a0) && a0.length === 4 && a0.every((item) => typeof item === "number" ? !isNaN(item) : typeof item === "number");
}
function $mk102422($env) {
return (a0, a1, a2) => {
const r0 = $env;
return a0 + r0[0][a2] * r0[1][a2];
};
}
function $mk102424($env) {
return (a0, a1) => {
const r0 = $env;
return r0[0][a1] - r0[1][a1];
};
}
function $mk102425($env) {
return (a0) => a0 * $env[0];
}
let isAffineMatrixFlat, isAffineMatrix, flatten, unflatten, maybeFlattenMatrix, norm3d, transposeMatrix, assertVectorsHaveEqualLengths, innerProduct, projection, subtractVectors, scaleVector, gramSchmidtAlgorithm, decomposeMatrix;
const isAffineMatrixFlat2 = function isAffineMatrixFlat(a0) {
return Array.isArray(a0) && a0.length === 16 && a0.every($mk102417());
};
isAffineMatrixFlat2.__closure = {};
isAffineMatrixFlat2.__workletHash = 7766400476414;
isAffineMatrixFlat2.__initData = {
code: "function isAffineMatrixFlat_Pnpm_matrixUtilsTsx1(x){return Array.isArray(x)&&x.length===16&&x.every(function(element){return typeof element==='number'&&!isNaN(element);});}"
};
isAffineMatrixFlat = isAffineMatrixFlat2;
const isAffineMatrix2 = function isAffineMatrix(a0) {
return Array.isArray(a0) && a0.length === 4 && a0.every($mk102418());
};
isAffineMatrix2.__closure = {};
isAffineMatrix2.__workletHash = 3452211777657;
isAffineMatrix2.__initData = {
code: "function isAffineMatrix_Pnpm_matrixUtilsTsx2(x){return Array.isArray(x)&&x.length===4&&x.every(function(row){return Array.isArray(row)&&row.length===4&&row.every(function(element){return typeof element==='number'&&!isNaN(element);});});}"
};
isAffineMatrix = isAffineMatrix2;
const flatten2 = function flatten(a0) {
return a0.flat();
};
flatten2.__closure = {};
flatten2.__workletHash = 9900628528512;
flatten2.__initData = {
code: "function flatten_Pnpm_matrixUtilsTsx3(matrix){return matrix.flat();}"
};
flatten = flatten2;
const unflatten2 = function unflatten(a0) {
return [[a0[0], a0[1], a0[2], a0[3]], [a0[4], a0[5], a0[6], a0[7]], [a0[8], a0[9], a0[10], a0[11]], [a0[12], a0[13], a0[14], a0[15]]];
};
unflatten2.__closure = {};
unflatten2.__workletHash = 17503333305803;
unflatten2.__initData = {
code: "function unflatten_Pnpm_matrixUtilsTsx4(m){return[[m[0],m[1],m[2],m[3]],[m[4],m[5],m[6],m[7]],[m[8],m[9],m[10],m[11]],[m[12],m[13],m[14],m[15]]];}"
};
unflatten = unflatten2;
const maybeFlattenMatrix2 = function maybeFlattenMatrix(a0) {
return Array.isArray(a0) && a0.length === 4 && a0.every($mk102418()) ? a0.flat() : a0;
};
maybeFlattenMatrix2.__closure = {
isAffineMatrix,
flatten
};
maybeFlattenMatrix2.__workletHash = 13544286880330;
maybeFlattenMatrix2.__initData = {
code: "function maybeFlattenMatrix_Pnpm_matrixUtilsTsx5(matrix){const{isAffineMatrix,flatten}=this.__closure;return isAffineMatrix(matrix)?flatten(matrix):matrix;}"
};
maybeFlattenMatrix = maybeFlattenMatrix2;
export function multiplyMatrices(a0, a1) {
return [[a0[0][0] * a1[0][0] + a0[0][1] * a1[1][0] + a0[0][2] * a1[2][0] + a0[0][3] * a1[3][0], a0[0][0] * a1[0][1] + a0[0][1] * a1[1][1] + a0[0][2] * a1[2][1] + a0[0][3] * a1[3][1], a0[0][0] * a1[0][2] + a0[0][1] * a1[1][2] + a0[0][2] * a1[2][2] + a0[0][3] * a1[3][2], a0[0][0] * a1[0][3] + a0[0][1] * a1[1][3] + a0[0][2] * a1[2][3] + a0[0][3] * a1[3][3]], [a0[1][0] * a1[0][0] + a0[1][1] * a1[1][0] + a0[1][2] * a1[2][0] + a0[1][3] * a1[3][0], a0[1][0] * a1[0][1] + a0[1][1] * a1[1][1] + a0[1][2] * a1[2][1] + a0[1][3] * a1[3][1], a0[1][0] * a1[0][2] + a0[1][1] * a1[1][2] + a0[1][2] * a1[2][2] + a0[1][3] * a1[3][2], a0[1][0] * a1[0][3] + a0[1][1] * a1[1][3] + a0[1][2] * a1[2][3] + a0[1][3] * a1[3][3]], [a0[2][0] * a1[0][0] + a0[2][1] * a1[1][0] + a0[2][2] * a1[2][0] + a0[2][3] * a1[3][0], a0[2][0] * a1[0][1] + a0[2][1] * a1[1][1] + a0[2][2] * a1[2][1] + a0[2][3] * a1[3][1], a0[2][0] * a1[0][2] + a0[2][1] * a1[1][2] + a0[2][2] * a1[2][2] + a0[2][3] * a1[3][2], a0[2][0] * a1[0][3] + a0[2][1] * a1[1][3] + a0[2][2] * a1[2][3] + a0[2][3] * a1[3][3]], [a0[3][0] * a1[0][0] + a0[3][1] * a1[1][0] + a0[3][2] * a1[2][0] + a0[3][3] * a1[3][0], a0[3][0] * a1[0][1] + a0[3][1] * a1[1][1] + a0[3][2] * a1[2][1] + a0[3][3] * a1[3][1], a0[3][0] * a1[0][2] + a0[3][1] * a1[1][2] + a0[3][2] * a1[2][2] + a0[3][3] * a1[3][2], a0[3][0] * a1[0][3] + a0[3][1] * a1[1][3] + a0[3][2] * a1[2][3] + a0[3][3] * a1[3][3]]];
}
multiplyMatrices.__closure = {};
multiplyMatrices.__workletHash = 4575994159882;
multiplyMatrices.__initData = {
code: "function multiplyMatrices_Pnpm_matrixUtilsTsx6(a,b){return[[a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0],a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1],a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2],a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3]],[a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0],a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1],a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2],a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3]],[a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0],a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1],a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2],a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3]],[a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0],a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1],a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2],a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3]]];}"
};
export function subtractMatrices(a0, a1) {
const r14 = Array.isArray(a0) && a0.length === 16 && a0.every($mk102417());
const r28 = Array.isArray(a0) && a0.length === 4 && a0.every($mk102418()) ? a0.flat() : a0;
let c24499_0 = r28;
let c24499_1 = Array.isArray(a1) && a1.length === 4 && a1.every($mk102418()) ? a1.flat() : a1;
const r54 = r28.map((item, index) => c24499_0[index] - c24499_1[index]);
return r14 ? r54 : [[r54[0], r54[1], r54[2], r54[3]], [r54[4], r54[5], r54[6], r54[7]], [r54[8], r54[9], r54[10], r54[11]], [r54[12], r54[13], r54[14], r54[15]]];
}
subtractMatrices.__closure = {
isAffineMatrixFlat,
maybeFlattenMatrix,
unflatten
};
subtractMatrices.__workletHash = 12538691088788;
subtractMatrices.__initData = {
code: "function subtractMatrices_Pnpm_matrixUtilsTsx7(maybeFlatA,maybeFlatB){const{isAffineMatrixFlat,maybeFlattenMatrix,unflatten}=this.__closure;const isFlatOnStart=isAffineMatrixFlat(maybeFlatA);const a=maybeFlattenMatrix(maybeFlatA);const b=maybeFlattenMatrix(maybeFlatB);const c=a.map(function(_,i){return a[i]-b[i];});return isFlatOnStart?c:unflatten(c);}"
};
export function addMatrices(a0, a1) {
const r14 = Array.isArray(a0) && a0.length === 16 && a0.every($mk102417());
const r28 = Array.isArray(a0) && a0.length === 4 && a0.every($mk102418()) ? a0.flat() : a0;
let c24500_0 = r28;
let c24500_1 = Array.isArray(a1) && a1.length === 4 && a1.every($mk102418()) ? a1.flat() : a1;
const r54 = r28.map((item, index) => c24500_0[index] + c24500_1[index]);
return r14 ? r54 : [[r54[0], r54[1], r54[2], r54[3]], [r54[4], r54[5], r54[6], r54[7]], [r54[8], r54[9], r54[10], r54[11]], [r54[12], r54[13], r54[14], r54[15]]];
}
addMatrices.__closure = {
isAffineMatrixFlat,
maybeFlattenMatrix,
unflatten
};
addMatrices.__workletHash = 17429737879880;
addMatrices.__initData = {
code: "function addMatrices_Pnpm_matrixUtilsTsx8(maybeFlatA,maybeFlatB){const{isAffineMatrixFlat,maybeFlattenMatrix,unflatten}=this.__closure;const isFlatOnStart=isAffineMatrixFlat(maybeFlatA);const a=maybeFlattenMatrix(maybeFlatA);const b=maybeFlattenMatrix(maybeFlatB);const c=a.map(function(_,i){return a[i]+b[i];});return isFlatOnStart?c:unflatten(c);}"
};
export function scaleMatrix(a0, c24501_0) {
const r13 = Array.isArray(a0) && a0.length === 16 && a0.every($mk102417());
const r37 = (Array.isArray(a0) && a0.length === 4 && a0.every($mk102418()) ? a0.flat() : a0).map((item) => item * c24501_0);
return r13 ? r37 : [[r37[0], r37[1], r37[2], r37[3]], [r37[4], r37[5], r37[6], r37[7]], [r37[8], r37[9], r37[10], r37[11]], [r37[12], r37[13], r37[14], r37[15]]];
}
scaleMatrix.__closure = {
isAffineMatrixFlat,
maybeFlattenMatrix,
unflatten
};
scaleMatrix.__workletHash = 11907224908685;
scaleMatrix.__initData = {
code: "function scaleMatrix_Pnpm_matrixUtilsTsx9(maybeFlatA,scalar){const{isAffineMatrixFlat,maybeFlattenMatrix,unflatten}=this.__closure;const isFlatOnStart=isAffineMatrixFlat(maybeFlatA);const a=maybeFlattenMatrix(maybeFlatA);const b=a.map(function(x){return x*scalar;});return isFlatOnStart?b:unflatten(b);}"
};
export function getRotationMatrix(a0, r5 = "z") {
const r7 = Math.cos(a0);
const r10 = Math.sin(a0);
if (r5 === "z") {
return [[r7, r10, 0, 0], [-r10, r7, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]];
}
if (r5 === "y") {
return [[r7, 0, -r10, 0], [0, 1, 0, 0], [r10, 0, r7, 0], [0, 0, 0, 1]];
}
if (r5 === "x") {
return [[1, 0, 0, 0], [0, r7, r10, 0], [0, -r10, r7, 0], [0, 0, 0, 1]];
}
}
getRotationMatrix.__closure = {};
getRotationMatrix.__workletHash = 14367317296086;
getRotationMatrix.__initData = {
code: "function getRotationMatrix_Pnpm_matrixUtilsTsx10(angle,axis='z'){const cos=Math.cos(angle);const sin=Math.sin(angle);switch(axis){case'z':return[[cos,sin,0,0],[-sin,cos,0,0],[0,0,1,0],[0,0,0,1]];case'y':return[[cos,0,-sin,0],[0,1,0,0],[sin,0,cos,0],[0,0,0,1]];case'x':return[[1,0,0,0],[0,cos,sin,0],[0,-sin,cos,0],[0,0,0,1]];}}"
};
const norm3d2 = function norm3d(a0, a1, a2) {
return Math.sqrt(a0 * a0 + a1 * a1 + a2 * a2);
};
norm3d2.__closure = {};
norm3d2.__workletHash = 3613705554848;
norm3d2.__initData = {
code: "function norm3d_Pnpm_matrixUtilsTsx11(x,y,z){return Math.sqrt(x*x+y*y+z*z);}"
};
norm3d = norm3d2;
const transposeMatrix2 = function transposeMatrix(a0) {
const r2 = a0.flat();
return [[r2[0], r2[4], r2[8], r2[12]], [r2[1], r2[5], r2[9], r2[13]], [r2[2], r2[6], r2[10], r2[14]], [r2[3], r2[7], r2[11], r2[15]]];
};
transposeMatrix2.__closure = {
flatten
};
transposeMatrix2.__workletHash = 17306716053169;
transposeMatrix2.__initData = {
code: "function transposeMatrix_Pnpm_matrixUtilsTsx12(matrix){const{flatten}=this.__closure;const m=flatten(matrix);return[[m[0],m[4],m[8],m[12]],[m[1],m[5],m[9],m[13]],[m[2],m[6],m[10],m[14]],[m[3],m[7],m[11],m[15]]];}"
};
transposeMatrix = transposeMatrix2;
const assertVectorsHaveEqualLengths2 = function assertVectorsHaveEqualLengths(a0, a1) {};
assertVectorsHaveEqualLengths2.__closure = {
__DEV__: false
};
assertVectorsHaveEqualLengths2.__workletHash = 14349158134583;
assertVectorsHaveEqualLengths2.__initData = {
code: "function assertVectorsHaveEqualLengths_Pnpm_matrixUtilsTsx13(a,b){const{__DEV__}=this.__closure;if(__DEV__&&a.length!==b.length){throw new ReanimatedError(\"Cannot calculate inner product of two vectors of different lengths. Length of \"+a.toString()+\" is \"+a.length+\" and length of \"+b.toString()+\" is \"+b.length+\".\");}}"
};
assertVectorsHaveEqualLengths = assertVectorsHaveEqualLengths2;
const innerProduct2 = function innerProduct(a0, a1) {
let env24502;
const r1 = env24502 = {};
env24502[0] = a0;
env24502[1] = a1;
return a0.reduce($mk102422(r1), 0);
};
innerProduct2.__closure = {
assertVectorsHaveEqualLengths
};
innerProduct2.__workletHash = 6022428100775;
innerProduct2.__initData = {
code: "function innerProduct_Pnpm_matrixUtilsTsx14(a,b){const{assertVectorsHaveEqualLengths}=this.__closure;assertVectorsHaveEqualLengths(a,b);return a.reduce(function(acc,_,i){return acc+a[i]*b[i];},0);}"
};
innerProduct = innerProduct2;
const projection2 = function projection(a0, a1) {
let env24503;
const r4 = env24503 = {};
env24503[0] = a0;
env24503[1] = a1;
const r16 = a0.reduce($mk102422(r4), 0);
let env24504;
const r19 = env24504 = {};
env24504[0] = a0;
env24504[1] = a0;
let c24505_0 = r16 / a0.reduce($mk102422(r19), 0);
return a0.map((item) => item * c24505_0);
};
projection2.__closure = {
assertVectorsHaveEqualLengths,
innerProduct
};
projection2.__workletHash = 12191208971941;
projection2.__initData = {
code: "function projection_Pnpm_matrixUtilsTsx15(u,a){const{assertVectorsHaveEqualLengths,innerProduct}=this.__closure;assertVectorsHaveEqualLengths(u,a);const s=innerProduct(u,a)/innerProduct(u,u);return u.map(function(e){return e*s;});}"
};
projection = projection2;
const subtractVectors2 = function subtractVectors(a0, a1) {
let env24506;
const r0 = env24506 = {};
env24506[0] = a0;
env24506[1] = a1;
return a0.map($mk102424(r0));
};
subtractVectors2.__closure = {
assertVectorsHaveEqualLengths
};
subtractVectors2.__workletHash = 9047017498478;
subtractVectors2.__initData = {
code: "function subtractVectors_Pnpm_matrixUtilsTsx16(a,b){const{assertVectorsHaveEqualLengths}=this.__closure;assertVectorsHaveEqualLengths(a,b);return a.map(function(_,i){return a[i]-b[i];});}"
};
subtractVectors = subtractVectors2;
const scaleVector2 = function scaleVector(a0, a1) {
let env24507;
const r0 = env24507 = {};
env24507[0] = a1;
return a0.map($mk102425(r0));
};
scaleVector2.__closure = {};
scaleVector2.__workletHash = 11236256734309;
scaleVector2.__initData = {
code: "function scaleVector_Pnpm_matrixUtilsTsx17(u,a){return u.map(function(e){return e*a;});}"
};
scaleVector = scaleVector2;
const gramSchmidtAlgorithm2 = function gramSchmidtAlgorithm(a0) {
const [r9, r11, r10, r8] = a0;
const r5 = projection(r9, r11);
let env24508;
const r20 = env24508 = {};
env24508[0] = r11;
env24508[1] = r5;
const r12 = r11.map($mk102424(r20));
const r25 = projection(r9, r10);
let env24509;
const r28 = env24509 = {};
env24509[0] = r10;
env24509[1] = r25;
const r14 = r10.map($mk102424(r28));
const r33 = projection(r12, r10);
let env24510;
const r36 = env24510 = {};
env24510[0] = r14;
env24510[1] = r33;
const r41 = r14.map($mk102424(r36));
const r42 = [r9, r12, r41, ,];
const r15 = projection(r9, r8);
let env24511;
const r45 = env24511 = {};
env24511[0] = r8;
env24511[1] = r15;
const r50 = r8.map($mk102424(r45));
const r51 = projection(r12, r8);
let env24512;
const r54 = env24512 = {};
env24512[0] = r50;
env24512[1] = r51;
const r59 = r50.map($mk102424(r54));
const r60 = projection(r41, r8);
let env24513;
const r63 = env24513 = {};
env24513[0] = r59;
env24513[1] = r60;
r42[3] = r59.map($mk102424(r63));
const [r73, r74, r75, r76] = r42.map((item) => {
const r5 = Math;
let env28933;
const r11 = env28933 = {};
env28933[0] = item;
env28933[1] = item;
const r20 = 1 / r5.sqrt(item.reduce($mk102422(r11), 0));
let env28934;
const r23 = env28934 = {};
env28934[0] = r20;
return item.map($mk102425(r23));
});
const r82 = [[r73[0], r74[0], r75[0], r76[0]], [r73[1], r74[1], r75[1], r76[1]], [r73[2], r74[2], r75[2], r76[2]], [r73[3], r74[3], r75[3], r76[3]]];
let env24514;
const r101 = env24514 = {};
env24514[0] = r73;
env24514[1] = r9;
const r108 = [r73.reduce($mk102422(r101), 0), , , ,];
let env24515;
const r111 = env24515 = {};
env24515[0] = r73;
env24515[1] = r11;
r108[1] = r73.reduce($mk102422(r111), 0);
let env24516;
const r119 = env24516 = {};
env24516[0] = r73;
env24516[1] = r10;
r108[2] = r73.reduce($mk102422(r119), 0);
let env24517;
const r127 = env24517 = {};
env24517[0] = r73;
env24517[1] = r8;
r108[3] = r73.reduce($mk102422(r127), 0);
const r133 = [r108, , , ,];
let env24518;
const r136 = env24518 = {};
env24518[0] = r74;
env24518[1] = r11;
const r142 = [0, r74.reduce($mk102422(r136), 0), , ,];
let env24519;
const r145 = env24519 = {};
env24519[0] = r74;
env24519[1] = r10;
r142[2] = r74.reduce($mk102422(r145), 0);
let env24520;
const r153 = env24520 = {};
env24520[0] = r74;
env24520[1] = r8;
r142[3] = r74.reduce($mk102422(r153), 0);
r133[1] = r142;
let env24521;
const r161 = env24521 = {};
env24521[0] = r75;
env24521[1] = r10;
const r167 = [0, 0, r75.reduce($mk102422(r161), 0), ,];
let env24522;
const r170 = env24522 = {};
env24522[0] = r75;
env24522[1] = r8;
r167[3] = r75.reduce($mk102422(r170), 0);
r133[2] = r167;
let env24523;
const r178 = env24523 = {};
env24523[0] = r76;
env24523[1] = r8;
r133[3] = [0, 0, 0, r76.reduce($mk102422(r178), 0)];
const r192 = r82.flat();
const r220 = r133.flat();
return {
rotationMatrix: [[r192[0], r192[4], r192[8], r192[12]], [r192[1], r192[5], r192[9], r192[13]], [r192[2], r192[6], r192[10], r192[14]], [r192[3], r192[7], r192[11], r192[15]]],
skewMatrix: [[r220[0], r220[4], r220[8], r220[12]], [r220[1], r220[5], r220[9], r220[13]], [r220[2], r220[6], r220[10], r220[14]], [r220[3], r220[7], r220[11], r220[15]]]
};
};
gramSchmidtAlgorithm2.__closure = {
subtractVectors,
projection,
scaleVector,
innerProduct,
transposeMatrix
};
gramSchmidtAlgorithm2.__workletHash = 1839555089531;
gramSchmidtAlgorithm2.__initData = {
code: "function gramSchmidtAlgorithm_Pnpm_matrixUtilsTsx18(matrix){const{subtractVectors,projection,scaleVector,innerProduct,transposeMatrix}=this.__closure;const[a0,a1,a2,a3]=matrix;const u0=a0;const u1=subtractVectors(a1,projection(u0,a1));const u2=subtractVectors(subtractVectors(a2,projection(u0,a2)),projection(u1,a2));const u3=subtractVectors(subtractVectors(subtractVectors(a3,projection(u0,a3)),projection(u1,a3)),projection(u2,a3));const[e0,e1,e2,e3]=[u0,u1,u2,u3].map(function(u){return scaleVector(u,1/Math.sqrt(innerProduct(u,u)));});const rotationMatrix=[[e0[0],e1[0],e2[0],e3[0]],[e0[1],e1[1],e2[1],e3[1]],[e0[2],e1[2],e2[2],e3[2]],[e0[3],e1[3],e2[3],e3[3]]];const skewMatrix=[[innerProduct(e0,a0),innerProduct(e0,a1),innerProduct(e0,a2),innerProduct(e0,a3)],[0,innerProduct(e1,a1),innerProduct(e1,a2),innerProduct(e1,a3)],[0,0,innerProduct(e2,a2),innerProduct(e2,a3)],[0,0,0,innerProduct(e3,a3)]];return{rotationMatrix:transposeMatrix(rotationMatrix),skewMatrix:transposeMatrix(skewMatrix)};}"
};
gramSchmidtAlgorithm = gramSchmidtAlgorithm2;
const decomposeMatrix2 = function decomposeMatrix(a0) {
const r25 = Array.isArray(a0) && a0.length === 4 && a0.every($mk102418()) ? a0.flat() : a0;
let c24524_0 = r25;
if (r25[15] === 0) {
throw new _Module1617.ReanimatedError("Invalid transform matrix.");
}
r25.forEach((item, index) => {
const r5 = c24524_0[index] / c24524_0[15];
c24524_0[index] = r5;
return r5;
});
const translationMatrix = [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [r25[12], r25[13], r25[14], 1]];
const r44 = r25[15];
const r13 = r25[0];
const r12 = r25[4];
const r45 = r25[8];
const r54 = r44 * Math.sqrt(r13 * r13 + r12 * r12 + r45 * r45);
const r55 = r25[15];
const r14 = r25[1];
const r56 = r25[5];
const r57 = r25[9];
const r68 = r55 * Math.sqrt(r14 * r14 + r56 * r56 + r57 * r57);
const r69 = r25[15];
const r70 = r25[2];
const r71 = r25[6];
const r72 = r25[10];
const r83 = r69 * Math.sqrt(r70 * r70 + r71 * r71 + r72 * r72);
const scaleMatrix2 = [[r54, 0, 0, 0], [0, r68, 0, 0], [0, 0, r83, 0], [0, 0, 0, 1]];
const r114 = gramSchmidtAlgorithm([[r25[0] / r54, r25[1] / r54, r25[2] / r54, 0], [r25[4] / r68, r25[5] / r68, r25[6] / r68, 0], [r25[8] / r83, r25[9] / r83, r25[10] / r83, 0], [0, 0, 0, 1]]);
return {
translationMatrix,
scaleMatrix: scaleMatrix2,
rotationMatrix: r114.rotationMatrix,
skewMatrix: r114.skewMatrix
};
};
decomposeMatrix2.__closure = {
maybeFlattenMatrix,
norm3d,
gramSchmidtAlgorithm
};
decomposeMatrix2.__workletHash = 244684068165;
decomposeMatrix2.__initData = {
code: "function decomposeMatrix_Pnpm_matrixUtilsTsx19(unknownTypeMatrix){const{maybeFlattenMatrix,norm3d,gramSchmidtAlgorithm}=this.__closure;const matrix=maybeFlattenMatrix(unknownTypeMatrix);if(matrix[15]===0){throw new ReanimatedError('Invalid transform matrix.');}matrix.forEach(function(_,i){return matrix[i]/=matrix[15];});const translationMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[matrix[12],matrix[13],matrix[14],1]];const sx=matrix[15]*norm3d(matrix[0],matrix[4],matrix[8]);const sy=matrix[15]*norm3d(matrix[1],matrix[5],matrix[9]);const sz=matrix[15]*norm3d(matrix[2],matrix[6],matrix[10]);const scaleMatrix=[[sx,0,0,0],[0,sy,0,0],[0,0,sz,0],[0,0,0,1]];const rotationAndSkewMatrix=[[matrix[0]/sx,matrix[1]/sx,matrix[2]/sx,0],[matrix[4]/sy,matrix[5]/sy,matrix[6]/sy,0],[matrix[8]/sz,matrix[9]/sz,matrix[10]/sz,0],[0,0,0,1]];const{rotationMatrix:rotationMatrix,skewMatrix:skewMatrix}=gramSchmidtAlgorithm(rotationAndSkewMatrix);return{translationMatrix:translationMatrix,scaleMatrix:scaleMatrix,rotationMatrix:rotationMatrix,skewMatrix:skewMatrix};}"
};
decomposeMatrix = decomposeMatrix2;
export function decomposeMatrixIntoMatricesAndAngles(a0) {
let rx, rz;
const r15 = decomposeMatrix(a0);
const { scaleMatrix: scaleMatrix2, rotationMatrix, translationMatrix, skewMatrix } = r15;
const r13 = -rotationMatrix[0][2];
let ry = Math.asin(r13);
if (r13 !== 1 && r13 !== -1) {
rz = Math.atan2(rotationMatrix[0][1], rotationMatrix[0][0]);
rx = Math.atan2(rotationMatrix[1][2], rotationMatrix[2][2]);
} else {
rx = Math.atan2(r13 * rotationMatrix[0][1], r13 * rotationMatrix[0][2]);
rz = 0;
}
if (!rx) {
rx = 0;
}
if (!ry) {
ry = 0;
}
if (!rz) {
rz = 0;
}
return {
scaleMatrix: scaleMatrix2,
rotationMatrix,
translationMatrix,
skewMatrix,
rx,
ry,
rz
};
}
decomposeMatrixIntoMatricesAndAngles.__closure = {
decomposeMatrix
};
decomposeMatrixIntoMatricesAndAngles.__workletHash = 633682731757;
decomposeMatrixIntoMatricesAndAngles.__initData = {
code: "function decomposeMatrixIntoMatricesAndAngles_Pnpm_matrixUtilsTsx20(matrix){const{decomposeMatrix}=this.__closure;const{scaleMatrix:scaleMatrix,rotationMatrix:rotationMatrix,translationMatrix:translationMatrix,skewMatrix:skewMatrix}=decomposeMatrix(matrix);const sinRy=-rotationMatrix[0][2];const ry=Math.asin(sinRy);let rx;let rz;if(sinRy===1||sinRy===-1){rz=0;rx=Math.atan2(sinRy*rotationMatrix[0][1],sinRy*rotationMatrix[0][2]);}else{rz=Math.atan2(rotationMatrix[0][1],rotationMatrix[0][0]);rx=Math.atan2(rotationMatrix[1][2],rotationMatrix[2][2]);}return{scaleMatrix:scaleMatrix,rotationMatrix:rotationMatrix,translationMatrix:translationMatrix,skewMatrix:skewMatrix,rx:rx||0,ry:ry||0,rz:rz||0};}"
};
export { isAffineMatrixFlat };
export { isAffineMatrix };
export { flatten };
export { unflatten };
export { decomposeMatrix };