UNPKG

p5.xr

Version:

A library for p5.js that allows coders to easily render p5.js sketches in AR/VR using WebXR

1,231 lines (1,214 loc) 192 kB
(() => { function $parcel$export(e, n, v, s) { Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); } "use strict"; var $a3fb7264ba745879$exports = {}; "use strict"; Object.defineProperty($a3fb7264ba745879$exports, "__esModule", { value: true }); const $a3fb7264ba745879$var$LEFT = $a3fb7264ba745879$exports.LEFT = "left"; const $a3fb7264ba745879$var$RIGHT = $a3fb7264ba745879$exports.RIGHT = "right"; /** * One of the four possible values of a an XR session (AR, VR, AR_BUTTON or VR_BUTTON) * AR and VR attempt to launch the session without user action * @property {String} AR * @final */ const $a3fb7264ba745879$var$AR = $a3fb7264ba745879$exports.AR = "AR"; /** * One of the four possible values of a an XR session (AR, VR, AR_BUTTON or VR_BUTTON) * AR and VR attempt to launch the session without user action * @property {String} VR * @final */ const $a3fb7264ba745879$var$VR = $a3fb7264ba745879$exports.VR = "VR"; /** * One of the four possible values of a an XR session (AR, VR, AR_BUTTON or VR_BUTTON) * AR_BUTTON and VR_BUTTON do not attempt to launch the session without user action * @property {String} AR_BUTTON * @final */ const $a3fb7264ba745879$var$AR_BUTTON = $a3fb7264ba745879$exports.AR_BUTTON = "AR_BUTTON"; /** * One of the four possible values of a an XR session (AR, VR, AR_BUTTON or VR_BUTTON) * AR_BUTTON and VR_BUTTON do not attempt to launch the session without user action * @property {String} VR_BUTTON * @final */ const $a3fb7264ba745879$var$VR_BUTTON = $a3fb7264ba745879$exports.VR_BUTTON = "VR_BUTTON"; var $fa42706b76f7ad67$var$constants = $fa42706b76f7ad67$var$_interopRequireWildcard($a3fb7264ba745879$exports); "use strict"; var $647c4a7e10297529$var$constants = $647c4a7e10297529$var$_interopRequireWildcard($a3fb7264ba745879$exports); var $cd6c3cdb54bdf8d0$exports = {}; "use strict"; Object.defineProperty($cd6c3cdb54bdf8d0$exports, "__esModule", { value: true }); var $fa5b9f15c1d6b18d$exports = {}; $parcel$export($fa5b9f15c1d6b18d$exports, "create", () => $fa5b9f15c1d6b18d$export$185802fd694ee1f5); $parcel$export($fa5b9f15c1d6b18d$exports, "fromMat4", () => $fa5b9f15c1d6b18d$export$b4ad467060d346fe); $parcel$export($fa5b9f15c1d6b18d$exports, "clone", () => $fa5b9f15c1d6b18d$export$9cd59f9826255e47); $parcel$export($fa5b9f15c1d6b18d$exports, "copy", () => $fa5b9f15c1d6b18d$export$784d13d8ee351f07); $parcel$export($fa5b9f15c1d6b18d$exports, "fromValues", () => $fa5b9f15c1d6b18d$export$a82be99ed2a44a7d); $parcel$export($fa5b9f15c1d6b18d$exports, "set", () => $fa5b9f15c1d6b18d$export$adaa4cf7ef1b65be); $parcel$export($fa5b9f15c1d6b18d$exports, "identity", () => $fa5b9f15c1d6b18d$export$f0954fd7d5368655); $parcel$export($fa5b9f15c1d6b18d$exports, "transpose", () => $fa5b9f15c1d6b18d$export$9cb09a71b7d66923); $parcel$export($fa5b9f15c1d6b18d$exports, "invert", () => $fa5b9f15c1d6b18d$export$6897c284b6f9f4dc); $parcel$export($fa5b9f15c1d6b18d$exports, "adjoint", () => $fa5b9f15c1d6b18d$export$33f3c024b4ae00a1); $parcel$export($fa5b9f15c1d6b18d$exports, "determinant", () => $fa5b9f15c1d6b18d$export$a04698f914c55ed9); $parcel$export($fa5b9f15c1d6b18d$exports, "multiply", () => $fa5b9f15c1d6b18d$export$2060d2db72cce88f); $parcel$export($fa5b9f15c1d6b18d$exports, "translate", () => $fa5b9f15c1d6b18d$export$d73ee8ef04f5226a); $parcel$export($fa5b9f15c1d6b18d$exports, "rotate", () => $fa5b9f15c1d6b18d$export$bb628a54ab399bc9); $parcel$export($fa5b9f15c1d6b18d$exports, "scale", () => $fa5b9f15c1d6b18d$export$dcdf75081b88279d); $parcel$export($fa5b9f15c1d6b18d$exports, "fromTranslation", () => $fa5b9f15c1d6b18d$export$bc9e79e74e9fddf6); $parcel$export($fa5b9f15c1d6b18d$exports, "fromRotation", () => $fa5b9f15c1d6b18d$export$926fc125ff3c666c); $parcel$export($fa5b9f15c1d6b18d$exports, "fromScaling", () => $fa5b9f15c1d6b18d$export$832ca188ffb1955d); $parcel$export($fa5b9f15c1d6b18d$exports, "fromMat2d", () => $fa5b9f15c1d6b18d$export$68f5977575fae9bf); $parcel$export($fa5b9f15c1d6b18d$exports, "fromQuat", () => $fa5b9f15c1d6b18d$export$2ff2bbe382249af7); $parcel$export($fa5b9f15c1d6b18d$exports, "normalFromMat4", () => $fa5b9f15c1d6b18d$export$966b25ab6dc1b1f9); $parcel$export($fa5b9f15c1d6b18d$exports, "projection", () => $fa5b9f15c1d6b18d$export$b74061472fe7c07); $parcel$export($fa5b9f15c1d6b18d$exports, "str", () => $fa5b9f15c1d6b18d$export$42d51816ce590c93); $parcel$export($fa5b9f15c1d6b18d$exports, "frob", () => $fa5b9f15c1d6b18d$export$326827e8268e9cdb); $parcel$export($fa5b9f15c1d6b18d$exports, "add", () => $fa5b9f15c1d6b18d$export$e16d8520af44a096); $parcel$export($fa5b9f15c1d6b18d$exports, "subtract", () => $fa5b9f15c1d6b18d$export$4e2d2ead65e5f7e3); $parcel$export($fa5b9f15c1d6b18d$exports, "multiplyScalar", () => $fa5b9f15c1d6b18d$export$c697bed75648cdb7); $parcel$export($fa5b9f15c1d6b18d$exports, "multiplyScalarAndAdd", () => $fa5b9f15c1d6b18d$export$553579f63bdd7137); $parcel$export($fa5b9f15c1d6b18d$exports, "exactEquals", () => $fa5b9f15c1d6b18d$export$f2599a5cf1109d8); $parcel$export($fa5b9f15c1d6b18d$exports, "equals", () => $fa5b9f15c1d6b18d$export$e9bab7fafb253603); $parcel$export($fa5b9f15c1d6b18d$exports, "mul", () => $fa5b9f15c1d6b18d$export$6e3a27864ab166fe); $parcel$export($fa5b9f15c1d6b18d$exports, "sub", () => $fa5b9f15c1d6b18d$export$f93b5905241a7cca); var $01de35b489c2b37a$export$fd293b15f47e270 = 0.000001; var $01de35b489c2b37a$export$b67359430d3b1b2 = typeof Float32Array !== "undefined" ? Float32Array : Array; var $01de35b489c2b37a$export$5ada478c8a628231 = Math.random; function $01de35b489c2b37a$export$cb2c0eb57f5e532c(type) { $01de35b489c2b37a$export$b67359430d3b1b2 = type; } var $01de35b489c2b37a$var$degree = Math.PI / 180; function $01de35b489c2b37a$export$408b8ee5959eefd5(a) { return a * $01de35b489c2b37a$var$degree; } function $01de35b489c2b37a$export$e9bab7fafb253603(a, b) { return Math.abs(a - b) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a), Math.abs(b)); } if (!Math.hypot) Math.hypot = function() { var y = 0, i = arguments.length; while(i--)y += arguments[i] * arguments[i]; return Math.sqrt(y); }; function $fa5b9f15c1d6b18d$export$185802fd694ee1f5() { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(9); if ($01de35b489c2b37a$export$b67359430d3b1b2 != Float32Array) { out[1] = 0; out[2] = 0; out[3] = 0; out[5] = 0; out[6] = 0; out[7] = 0; } out[0] = 1; out[4] = 1; out[8] = 1; return out; } function $fa5b9f15c1d6b18d$export$b4ad467060d346fe(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[4]; out[4] = a[5]; out[5] = a[6]; out[6] = a[8]; out[7] = a[9]; out[8] = a[10]; return out; } function $fa5b9f15c1d6b18d$export$9cd59f9826255e47(a) { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(9); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; return out; } function $fa5b9f15c1d6b18d$export$784d13d8ee351f07(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; return out; } function $fa5b9f15c1d6b18d$export$a82be99ed2a44a7d(m00, m01, m02, m10, m11, m12, m20, m21, m22) { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(9); out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m10; out[4] = m11; out[5] = m12; out[6] = m20; out[7] = m21; out[8] = m22; return out; } function $fa5b9f15c1d6b18d$export$adaa4cf7ef1b65be(out, m00, m01, m02, m10, m11, m12, m20, m21, m22) { out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m10; out[4] = m11; out[5] = m12; out[6] = m20; out[7] = m21; out[8] = m22; return out; } function $fa5b9f15c1d6b18d$export$f0954fd7d5368655(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 1; out[5] = 0; out[6] = 0; out[7] = 0; out[8] = 1; return out; } function $fa5b9f15c1d6b18d$export$9cb09a71b7d66923(out, a) { // If we are transposing ourselves we can skip a few steps but have to cache some values if (out === a) { var a01 = a[1], a02 = a[2], a12 = a[5]; out[1] = a[3]; out[2] = a[6]; out[3] = a01; out[5] = a[7]; out[6] = a02; out[7] = a12; } else { out[0] = a[0]; out[1] = a[3]; out[2] = a[6]; out[3] = a[1]; out[4] = a[4]; out[5] = a[7]; out[6] = a[2]; out[7] = a[5]; out[8] = a[8]; } return out; } function $fa5b9f15c1d6b18d$export$6897c284b6f9f4dc(out, a) { var a00 = a[0], a01 = a[1], a02 = a[2]; var a10 = a[3], a11 = a[4], a12 = a[5]; var a20 = a[6], a21 = a[7], a22 = a[8]; var b01 = a22 * a11 - a12 * a21; var b11 = -a22 * a10 + a12 * a20; var b21 = a21 * a10 - a11 * a20; // Calculate the determinant var det = a00 * b01 + a01 * b11 + a02 * b21; if (!det) return null; det = 1.0 / det; out[0] = b01 * det; out[1] = (-a22 * a01 + a02 * a21) * det; out[2] = (a12 * a01 - a02 * a11) * det; out[3] = b11 * det; out[4] = (a22 * a00 - a02 * a20) * det; out[5] = (-a12 * a00 + a02 * a10) * det; out[6] = b21 * det; out[7] = (-a21 * a00 + a01 * a20) * det; out[8] = (a11 * a00 - a01 * a10) * det; return out; } function $fa5b9f15c1d6b18d$export$33f3c024b4ae00a1(out, a) { var a00 = a[0], a01 = a[1], a02 = a[2]; var a10 = a[3], a11 = a[4], a12 = a[5]; var a20 = a[6], a21 = a[7], a22 = a[8]; out[0] = a11 * a22 - a12 * a21; out[1] = a02 * a21 - a01 * a22; out[2] = a01 * a12 - a02 * a11; out[3] = a12 * a20 - a10 * a22; out[4] = a00 * a22 - a02 * a20; out[5] = a02 * a10 - a00 * a12; out[6] = a10 * a21 - a11 * a20; out[7] = a01 * a20 - a00 * a21; out[8] = a00 * a11 - a01 * a10; return out; } function $fa5b9f15c1d6b18d$export$a04698f914c55ed9(a) { var a00 = a[0], a01 = a[1], a02 = a[2]; var a10 = a[3], a11 = a[4], a12 = a[5]; var a20 = a[6], a21 = a[7], a22 = a[8]; return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20); } function $fa5b9f15c1d6b18d$export$2060d2db72cce88f(out, a, b) { var a00 = a[0], a01 = a[1], a02 = a[2]; var a10 = a[3], a11 = a[4], a12 = a[5]; var a20 = a[6], a21 = a[7], a22 = a[8]; var b00 = b[0], b01 = b[1], b02 = b[2]; var b10 = b[3], b11 = b[4], b12 = b[5]; var b20 = b[6], b21 = b[7], b22 = b[8]; out[0] = b00 * a00 + b01 * a10 + b02 * a20; out[1] = b00 * a01 + b01 * a11 + b02 * a21; out[2] = b00 * a02 + b01 * a12 + b02 * a22; out[3] = b10 * a00 + b11 * a10 + b12 * a20; out[4] = b10 * a01 + b11 * a11 + b12 * a21; out[5] = b10 * a02 + b11 * a12 + b12 * a22; out[6] = b20 * a00 + b21 * a10 + b22 * a20; out[7] = b20 * a01 + b21 * a11 + b22 * a21; out[8] = b20 * a02 + b21 * a12 + b22 * a22; return out; } function $fa5b9f15c1d6b18d$export$d73ee8ef04f5226a(out, a, v) { var a00 = a[0], a01 = a[1], a02 = a[2], a10 = a[3], a11 = a[4], a12 = a[5], a20 = a[6], a21 = a[7], a22 = a[8], x = v[0], y = v[1]; out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a10; out[4] = a11; out[5] = a12; out[6] = x * a00 + y * a10 + a20; out[7] = x * a01 + y * a11 + a21; out[8] = x * a02 + y * a12 + a22; return out; } function $fa5b9f15c1d6b18d$export$bb628a54ab399bc9(out, a, rad) { var a00 = a[0], a01 = a[1], a02 = a[2], a10 = a[3], a11 = a[4], a12 = a[5], a20 = a[6], a21 = a[7], a22 = a[8], s = Math.sin(rad), c = Math.cos(rad); out[0] = c * a00 + s * a10; out[1] = c * a01 + s * a11; out[2] = c * a02 + s * a12; out[3] = c * a10 - s * a00; out[4] = c * a11 - s * a01; out[5] = c * a12 - s * a02; out[6] = a20; out[7] = a21; out[8] = a22; return out; } function $fa5b9f15c1d6b18d$export$dcdf75081b88279d(out, a, v) { var x = v[0], y = v[1]; out[0] = x * a[0]; out[1] = x * a[1]; out[2] = x * a[2]; out[3] = y * a[3]; out[4] = y * a[4]; out[5] = y * a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; return out; } function $fa5b9f15c1d6b18d$export$bc9e79e74e9fddf6(out, v) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 1; out[5] = 0; out[6] = v[0]; out[7] = v[1]; out[8] = 1; return out; } function $fa5b9f15c1d6b18d$export$926fc125ff3c666c(out, rad) { var s = Math.sin(rad), c = Math.cos(rad); out[0] = c; out[1] = s; out[2] = 0; out[3] = -s; out[4] = c; out[5] = 0; out[6] = 0; out[7] = 0; out[8] = 1; return out; } function $fa5b9f15c1d6b18d$export$832ca188ffb1955d(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = v[1]; out[5] = 0; out[6] = 0; out[7] = 0; out[8] = 1; return out; } function $fa5b9f15c1d6b18d$export$68f5977575fae9bf(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = 0; out[3] = a[2]; out[4] = a[3]; out[5] = 0; out[6] = a[4]; out[7] = a[5]; out[8] = 1; return out; } function $fa5b9f15c1d6b18d$export$2ff2bbe382249af7(out, q) { var x = q[0], y = q[1], z = q[2], w = q[3]; var x2 = x + x; var y2 = y + y; var z2 = z + z; var xx = x * x2; var yx = y * x2; var yy = y * y2; var zx = z * x2; var zy = z * y2; var zz = z * z2; var wx = w * x2; var wy = w * y2; var wz = w * z2; out[0] = 1 - yy - zz; out[3] = yx - wz; out[6] = zx + wy; out[1] = yx + wz; out[4] = 1 - xx - zz; out[7] = zy - wx; out[2] = zx - wy; out[5] = zy + wx; out[8] = 1 - xx - yy; return out; } function $fa5b9f15c1d6b18d$export$966b25ab6dc1b1f9(out, a) { var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; var b00 = a00 * a11 - a01 * a10; var b01 = a00 * a12 - a02 * a10; var b02 = a00 * a13 - a03 * a10; var b03 = a01 * a12 - a02 * a11; var b04 = a01 * a13 - a03 * a11; var b05 = a02 * a13 - a03 * a12; var b06 = a20 * a31 - a21 * a30; var b07 = a20 * a32 - a22 * a30; var b08 = a20 * a33 - a23 * a30; var b09 = a21 * a32 - a22 * a31; var b10 = a21 * a33 - a23 * a31; var b11 = a22 * a33 - a23 * a32; // Calculate the determinant var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; if (!det) return null; det = 1.0 / det; out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det; out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det; out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det; out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det; out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det; out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det; out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det; out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det; out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det; return out; } function $fa5b9f15c1d6b18d$export$b74061472fe7c07(out, width, height) { out[0] = 2 / width; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = -2 / height; out[5] = 0; out[6] = -1; out[7] = 1; out[8] = 1; return out; } function $fa5b9f15c1d6b18d$export$42d51816ce590c93(a) { return "mat3(" + a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ", " + a[4] + ", " + a[5] + ", " + a[6] + ", " + a[7] + ", " + a[8] + ")"; } function $fa5b9f15c1d6b18d$export$326827e8268e9cdb(a) { return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]); } function $fa5b9f15c1d6b18d$export$e16d8520af44a096(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; out[4] = a[4] + b[4]; out[5] = a[5] + b[5]; out[6] = a[6] + b[6]; out[7] = a[7] + b[7]; out[8] = a[8] + b[8]; return out; } function $fa5b9f15c1d6b18d$export$4e2d2ead65e5f7e3(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; out[4] = a[4] - b[4]; out[5] = a[5] - b[5]; out[6] = a[6] - b[6]; out[7] = a[7] - b[7]; out[8] = a[8] - b[8]; return out; } function $fa5b9f15c1d6b18d$export$c697bed75648cdb7(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; out[4] = a[4] * b; out[5] = a[5] * b; out[6] = a[6] * b; out[7] = a[7] * b; out[8] = a[8] * b; return out; } function $fa5b9f15c1d6b18d$export$553579f63bdd7137(out, a, b, scale1) { out[0] = a[0] + b[0] * scale1; out[1] = a[1] + b[1] * scale1; out[2] = a[2] + b[2] * scale1; out[3] = a[3] + b[3] * scale1; out[4] = a[4] + b[4] * scale1; out[5] = a[5] + b[5] * scale1; out[6] = a[6] + b[6] * scale1; out[7] = a[7] + b[7] * scale1; out[8] = a[8] + b[8] * scale1; return out; } function $fa5b9f15c1d6b18d$export$f2599a5cf1109d8(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8]; } function $fa5b9f15c1d6b18d$export$e9bab7fafb253603(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5], a6 = a[6], a7 = a[7], a8 = a[8]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8]; return Math.abs(a0 - b0) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a8), Math.abs(b8)); } var $fa5b9f15c1d6b18d$export$6e3a27864ab166fe = $fa5b9f15c1d6b18d$export$2060d2db72cce88f; var $fa5b9f15c1d6b18d$export$f93b5905241a7cca = $fa5b9f15c1d6b18d$export$4e2d2ead65e5f7e3; var $d9f65603c21f6244$exports = {}; $parcel$export($d9f65603c21f6244$exports, "create", () => $d9f65603c21f6244$export$185802fd694ee1f5); $parcel$export($d9f65603c21f6244$exports, "identity", () => $d9f65603c21f6244$export$f0954fd7d5368655); $parcel$export($d9f65603c21f6244$exports, "setAxisAngle", () => $d9f65603c21f6244$export$4286ddefc8f49512); $parcel$export($d9f65603c21f6244$exports, "getAxisAngle", () => $d9f65603c21f6244$export$3f70be5e7d7dc51); $parcel$export($d9f65603c21f6244$exports, "getAngle", () => $d9f65603c21f6244$export$b363da9ded343252); $parcel$export($d9f65603c21f6244$exports, "dot", () => $d9f65603c21f6244$export$94132a0e348806d4); $parcel$export($d9f65603c21f6244$exports, "multiply", () => $d9f65603c21f6244$export$2060d2db72cce88f); $parcel$export($d9f65603c21f6244$exports, "rotateX", () => $d9f65603c21f6244$export$a59c8716592e09af); $parcel$export($d9f65603c21f6244$exports, "rotateY", () => $d9f65603c21f6244$export$cf71e4d4ca4d1cfd); $parcel$export($d9f65603c21f6244$exports, "rotateZ", () => $d9f65603c21f6244$export$ea6eae3365de5b9c); $parcel$export($d9f65603c21f6244$exports, "calculateW", () => $d9f65603c21f6244$export$fb72b72e8d764d4e); $parcel$export($d9f65603c21f6244$exports, "exp", () => $d9f65603c21f6244$export$b310ec824aaee37f); $parcel$export($d9f65603c21f6244$exports, "ln", () => $d9f65603c21f6244$export$876cb1b29620556f); $parcel$export($d9f65603c21f6244$exports, "pow", () => $d9f65603c21f6244$export$9c297f60e22e3389); $parcel$export($d9f65603c21f6244$exports, "scale", () => $d9f65603c21f6244$export$dcdf75081b88279d); $parcel$export($d9f65603c21f6244$exports, "slerp", () => $d9f65603c21f6244$export$1544d9bc2995de08); $parcel$export($d9f65603c21f6244$exports, "random", () => $d9f65603c21f6244$export$4385e60b38654f68); $parcel$export($d9f65603c21f6244$exports, "invert", () => $d9f65603c21f6244$export$6897c284b6f9f4dc); $parcel$export($d9f65603c21f6244$exports, "conjugate", () => $d9f65603c21f6244$export$7679f47e72c62560); $parcel$export($d9f65603c21f6244$exports, "fromMat3", () => $d9f65603c21f6244$export$272a1eb8e5a4b55b); $parcel$export($d9f65603c21f6244$exports, "fromEuler", () => $d9f65603c21f6244$export$7a404a587ea85af); $parcel$export($d9f65603c21f6244$exports, "str", () => $d9f65603c21f6244$export$42d51816ce590c93); $parcel$export($d9f65603c21f6244$exports, "clone", () => $d9f65603c21f6244$export$9cd59f9826255e47); $parcel$export($d9f65603c21f6244$exports, "fromValues", () => $d9f65603c21f6244$export$a82be99ed2a44a7d); $parcel$export($d9f65603c21f6244$exports, "copy", () => $d9f65603c21f6244$export$784d13d8ee351f07); $parcel$export($d9f65603c21f6244$exports, "set", () => $d9f65603c21f6244$export$adaa4cf7ef1b65be); $parcel$export($d9f65603c21f6244$exports, "add", () => $d9f65603c21f6244$export$e16d8520af44a096); $parcel$export($d9f65603c21f6244$exports, "mul", () => $d9f65603c21f6244$export$6e3a27864ab166fe); $parcel$export($d9f65603c21f6244$exports, "lerp", () => $d9f65603c21f6244$export$3a89f8d6f6bf6c9f); $parcel$export($d9f65603c21f6244$exports, "length", () => $d9f65603c21f6244$export$f24224f1c91d8156); $parcel$export($d9f65603c21f6244$exports, "len", () => $d9f65603c21f6244$export$fc1400facf92c78); $parcel$export($d9f65603c21f6244$exports, "squaredLength", () => $d9f65603c21f6244$export$ab44e1323ffc8376); $parcel$export($d9f65603c21f6244$exports, "sqrLen", () => $d9f65603c21f6244$export$99d8dd3f32a3435); $parcel$export($d9f65603c21f6244$exports, "normalize", () => $d9f65603c21f6244$export$a3295358bff77e); $parcel$export($d9f65603c21f6244$exports, "exactEquals", () => $d9f65603c21f6244$export$f2599a5cf1109d8); $parcel$export($d9f65603c21f6244$exports, "equals", () => $d9f65603c21f6244$export$e9bab7fafb253603); $parcel$export($d9f65603c21f6244$exports, "rotationTo", () => $d9f65603c21f6244$export$72d66f5842c00904); $parcel$export($d9f65603c21f6244$exports, "sqlerp", () => $d9f65603c21f6244$export$699b0866ca50f6cb); $parcel$export($d9f65603c21f6244$exports, "setAxes", () => $d9f65603c21f6244$export$937ca0a544b2d712); var $05f70edae4a71625$exports = {}; $parcel$export($05f70edae4a71625$exports, "create", () => $05f70edae4a71625$export$185802fd694ee1f5); $parcel$export($05f70edae4a71625$exports, "clone", () => $05f70edae4a71625$export$9cd59f9826255e47); $parcel$export($05f70edae4a71625$exports, "length", () => $05f70edae4a71625$export$f24224f1c91d8156); $parcel$export($05f70edae4a71625$exports, "fromValues", () => $05f70edae4a71625$export$a82be99ed2a44a7d); $parcel$export($05f70edae4a71625$exports, "copy", () => $05f70edae4a71625$export$784d13d8ee351f07); $parcel$export($05f70edae4a71625$exports, "set", () => $05f70edae4a71625$export$adaa4cf7ef1b65be); $parcel$export($05f70edae4a71625$exports, "add", () => $05f70edae4a71625$export$e16d8520af44a096); $parcel$export($05f70edae4a71625$exports, "subtract", () => $05f70edae4a71625$export$4e2d2ead65e5f7e3); $parcel$export($05f70edae4a71625$exports, "multiply", () => $05f70edae4a71625$export$2060d2db72cce88f); $parcel$export($05f70edae4a71625$exports, "divide", () => $05f70edae4a71625$export$cd007d971a5a2143); $parcel$export($05f70edae4a71625$exports, "ceil", () => $05f70edae4a71625$export$803ce6b71a0a94b2); $parcel$export($05f70edae4a71625$exports, "floor", () => $05f70edae4a71625$export$a3fe094919f356fd); $parcel$export($05f70edae4a71625$exports, "min", () => $05f70edae4a71625$export$96ec731ed4dcb222); $parcel$export($05f70edae4a71625$exports, "max", () => $05f70edae4a71625$export$8960430cfd85939f); $parcel$export($05f70edae4a71625$exports, "round", () => $05f70edae4a71625$export$2077e0241d6afd3c); $parcel$export($05f70edae4a71625$exports, "scale", () => $05f70edae4a71625$export$dcdf75081b88279d); $parcel$export($05f70edae4a71625$exports, "scaleAndAdd", () => $05f70edae4a71625$export$19cedf1da84ba854); $parcel$export($05f70edae4a71625$exports, "distance", () => $05f70edae4a71625$export$9f17032d917177de); $parcel$export($05f70edae4a71625$exports, "squaredDistance", () => $05f70edae4a71625$export$88e6ebb4fe54f538); $parcel$export($05f70edae4a71625$exports, "squaredLength", () => $05f70edae4a71625$export$ab44e1323ffc8376); $parcel$export($05f70edae4a71625$exports, "negate", () => $05f70edae4a71625$export$aef51622e549b8b0); $parcel$export($05f70edae4a71625$exports, "inverse", () => $05f70edae4a71625$export$70ae2c07e401031b); $parcel$export($05f70edae4a71625$exports, "normalize", () => $05f70edae4a71625$export$a3295358bff77e); $parcel$export($05f70edae4a71625$exports, "dot", () => $05f70edae4a71625$export$94132a0e348806d4); $parcel$export($05f70edae4a71625$exports, "cross", () => $05f70edae4a71625$export$bb646b20bb93d339); $parcel$export($05f70edae4a71625$exports, "lerp", () => $05f70edae4a71625$export$3a89f8d6f6bf6c9f); $parcel$export($05f70edae4a71625$exports, "hermite", () => $05f70edae4a71625$export$ae8865616f30561c); $parcel$export($05f70edae4a71625$exports, "bezier", () => $05f70edae4a71625$export$b9c5f84610baddaf); $parcel$export($05f70edae4a71625$exports, "random", () => $05f70edae4a71625$export$4385e60b38654f68); $parcel$export($05f70edae4a71625$exports, "transformMat4", () => $05f70edae4a71625$export$5ffbd13800309d59); $parcel$export($05f70edae4a71625$exports, "transformMat3", () => $05f70edae4a71625$export$f0bfa0a0024626ee); $parcel$export($05f70edae4a71625$exports, "transformQuat", () => $05f70edae4a71625$export$c32adef9e939ce85); $parcel$export($05f70edae4a71625$exports, "rotateX", () => $05f70edae4a71625$export$a59c8716592e09af); $parcel$export($05f70edae4a71625$exports, "rotateY", () => $05f70edae4a71625$export$cf71e4d4ca4d1cfd); $parcel$export($05f70edae4a71625$exports, "rotateZ", () => $05f70edae4a71625$export$ea6eae3365de5b9c); $parcel$export($05f70edae4a71625$exports, "angle", () => $05f70edae4a71625$export$944b09d2ad10b378); $parcel$export($05f70edae4a71625$exports, "zero", () => $05f70edae4a71625$export$7f9972325ebfd559); $parcel$export($05f70edae4a71625$exports, "str", () => $05f70edae4a71625$export$42d51816ce590c93); $parcel$export($05f70edae4a71625$exports, "exactEquals", () => $05f70edae4a71625$export$f2599a5cf1109d8); $parcel$export($05f70edae4a71625$exports, "equals", () => $05f70edae4a71625$export$e9bab7fafb253603); $parcel$export($05f70edae4a71625$exports, "sub", () => $05f70edae4a71625$export$f93b5905241a7cca); $parcel$export($05f70edae4a71625$exports, "mul", () => $05f70edae4a71625$export$6e3a27864ab166fe); $parcel$export($05f70edae4a71625$exports, "div", () => $05f70edae4a71625$export$159d9494db57879b); $parcel$export($05f70edae4a71625$exports, "dist", () => $05f70edae4a71625$export$6c4a311cc157c764); $parcel$export($05f70edae4a71625$exports, "sqrDist", () => $05f70edae4a71625$export$2422cd6c492a8b3a); $parcel$export($05f70edae4a71625$exports, "len", () => $05f70edae4a71625$export$fc1400facf92c78); $parcel$export($05f70edae4a71625$exports, "sqrLen", () => $05f70edae4a71625$export$99d8dd3f32a3435); $parcel$export($05f70edae4a71625$exports, "forEach", () => $05f70edae4a71625$export$4b80e395e36b5a56); function $05f70edae4a71625$export$185802fd694ee1f5() { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(3); if ($01de35b489c2b37a$export$b67359430d3b1b2 != Float32Array) { out[0] = 0; out[1] = 0; out[2] = 0; } return out; } function $05f70edae4a71625$export$9cd59f9826255e47(a) { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(3); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; return out; } function $05f70edae4a71625$export$f24224f1c91d8156(a) { var x = a[0]; var y = a[1]; var z = a[2]; return Math.hypot(x, y, z); } function $05f70edae4a71625$export$a82be99ed2a44a7d(x, y, z) { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(3); out[0] = x; out[1] = y; out[2] = z; return out; } function $05f70edae4a71625$export$784d13d8ee351f07(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; return out; } function $05f70edae4a71625$export$adaa4cf7ef1b65be(out, x, y, z) { out[0] = x; out[1] = y; out[2] = z; return out; } function $05f70edae4a71625$export$e16d8520af44a096(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; return out; } function $05f70edae4a71625$export$4e2d2ead65e5f7e3(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; return out; } function $05f70edae4a71625$export$2060d2db72cce88f(out, a, b) { out[0] = a[0] * b[0]; out[1] = a[1] * b[1]; out[2] = a[2] * b[2]; return out; } function $05f70edae4a71625$export$cd007d971a5a2143(out, a, b) { out[0] = a[0] / b[0]; out[1] = a[1] / b[1]; out[2] = a[2] / b[2]; return out; } function $05f70edae4a71625$export$803ce6b71a0a94b2(out, a) { out[0] = Math.ceil(a[0]); out[1] = Math.ceil(a[1]); out[2] = Math.ceil(a[2]); return out; } function $05f70edae4a71625$export$a3fe094919f356fd(out, a) { out[0] = Math.floor(a[0]); out[1] = Math.floor(a[1]); out[2] = Math.floor(a[2]); return out; } function $05f70edae4a71625$export$96ec731ed4dcb222(out, a, b) { out[0] = Math.min(a[0], b[0]); out[1] = Math.min(a[1], b[1]); out[2] = Math.min(a[2], b[2]); return out; } function $05f70edae4a71625$export$8960430cfd85939f(out, a, b) { out[0] = Math.max(a[0], b[0]); out[1] = Math.max(a[1], b[1]); out[2] = Math.max(a[2], b[2]); return out; } function $05f70edae4a71625$export$2077e0241d6afd3c(out, a) { out[0] = Math.round(a[0]); out[1] = Math.round(a[1]); out[2] = Math.round(a[2]); return out; } function $05f70edae4a71625$export$dcdf75081b88279d(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; return out; } function $05f70edae4a71625$export$19cedf1da84ba854(out, a, b, scale1) { out[0] = a[0] + b[0] * scale1; out[1] = a[1] + b[1] * scale1; out[2] = a[2] + b[2] * scale1; return out; } function $05f70edae4a71625$export$9f17032d917177de(a, b) { var x = b[0] - a[0]; var y = b[1] - a[1]; var z = b[2] - a[2]; return Math.hypot(x, y, z); } function $05f70edae4a71625$export$88e6ebb4fe54f538(a, b) { var x = b[0] - a[0]; var y = b[1] - a[1]; var z = b[2] - a[2]; return x * x + y * y + z * z; } function $05f70edae4a71625$export$ab44e1323ffc8376(a) { var x = a[0]; var y = a[1]; var z = a[2]; return x * x + y * y + z * z; } function $05f70edae4a71625$export$aef51622e549b8b0(out, a) { out[0] = -a[0]; out[1] = -a[1]; out[2] = -a[2]; return out; } function $05f70edae4a71625$export$70ae2c07e401031b(out, a) { out[0] = 1.0 / a[0]; out[1] = 1.0 / a[1]; out[2] = 1.0 / a[2]; return out; } function $05f70edae4a71625$export$a3295358bff77e(out, a) { var x = a[0]; var y = a[1]; var z = a[2]; var len1 = x * x + y * y + z * z; if (len1 > 0) //TODO: evaluate use of glm_invsqrt here? len1 = 1 / Math.sqrt(len1); out[0] = a[0] * len1; out[1] = a[1] * len1; out[2] = a[2] * len1; return out; } function $05f70edae4a71625$export$94132a0e348806d4(a, b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; } function $05f70edae4a71625$export$bb646b20bb93d339(out, a, b) { var ax = a[0], ay = a[1], az = a[2]; var bx = b[0], by = b[1], bz = b[2]; out[0] = ay * bz - az * by; out[1] = az * bx - ax * bz; out[2] = ax * by - ay * bx; return out; } function $05f70edae4a71625$export$3a89f8d6f6bf6c9f(out, a, b, t) { var ax = a[0]; var ay = a[1]; var az = a[2]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); out[2] = az + t * (b[2] - az); return out; } function $05f70edae4a71625$export$ae8865616f30561c(out, a, b, c, d, t) { var factorTimes2 = t * t; var factor1 = factorTimes2 * (2 * t - 3) + 1; var factor2 = factorTimes2 * (t - 2) + t; var factor3 = factorTimes2 * (t - 1); var factor4 = factorTimes2 * (3 - 2 * t); out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4; out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4; out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4; return out; } function $05f70edae4a71625$export$b9c5f84610baddaf(out, a, b, c, d, t) { var inverseFactor = 1 - t; var inverseFactorTimesTwo = inverseFactor * inverseFactor; var factorTimes2 = t * t; var factor1 = inverseFactorTimesTwo * inverseFactor; var factor2 = 3 * t * inverseFactorTimesTwo; var factor3 = 3 * factorTimes2 * inverseFactor; var factor4 = factorTimes2 * t; out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4; out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4; out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4; return out; } function $05f70edae4a71625$export$4385e60b38654f68(out, scale2) { scale2 = scale2 || 1.0; var r = $01de35b489c2b37a$export$5ada478c8a628231() * 2.0 * Math.PI; var z = $01de35b489c2b37a$export$5ada478c8a628231() * 2.0 - 1.0; var zScale = Math.sqrt(1.0 - z * z) * scale2; out[0] = Math.cos(r) * zScale; out[1] = Math.sin(r) * zScale; out[2] = z * scale2; return out; } function $05f70edae4a71625$export$5ffbd13800309d59(out, a, m) { var x = a[0], y = a[1], z = a[2]; var w = m[3] * x + m[7] * y + m[11] * z + m[15]; w = w || 1.0; out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w; out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w; out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w; return out; } function $05f70edae4a71625$export$f0bfa0a0024626ee(out, a, m) { var x = a[0], y = a[1], z = a[2]; out[0] = x * m[0] + y * m[3] + z * m[6]; out[1] = x * m[1] + y * m[4] + z * m[7]; out[2] = x * m[2] + y * m[5] + z * m[8]; return out; } function $05f70edae4a71625$export$c32adef9e939ce85(out, a, q) { // benchmarks: https://jsperf.com/quaternion-transform-vec3-implementations-fixed var qx = q[0], qy = q[1], qz = q[2], qw = q[3]; var x = a[0], y = a[1], z = a[2]; // var qvec = [qx, qy, qz]; // var uv = vec3.cross([], qvec, a); var uvx = qy * z - qz * y, uvy = qz * x - qx * z, uvz = qx * y - qy * x; // var uuv = vec3.cross([], qvec, uv); var uuvx = qy * uvz - qz * uvy, uuvy = qz * uvx - qx * uvz, uuvz = qx * uvy - qy * uvx; // vec3.scale(uv, uv, 2 * w); var w2 = qw * 2; uvx *= w2; uvy *= w2; uvz *= w2; // vec3.scale(uuv, uuv, 2); uuvx *= 2; uuvy *= 2; uuvz *= 2; // return vec3.add(out, a, vec3.add(out, uv, uuv)); out[0] = x + uvx + uuvx; out[1] = y + uvy + uuvy; out[2] = z + uvz + uuvz; return out; } function $05f70edae4a71625$export$a59c8716592e09af(out, a, b, rad) { var p = [], r = []; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[0]; r[1] = p[1] * Math.cos(rad) - p[2] * Math.sin(rad); r[2] = p[1] * Math.sin(rad) + p[2] * Math.cos(rad); //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } function $05f70edae4a71625$export$cf71e4d4ca4d1cfd(out, a, b, rad) { var p = [], r = []; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[2] * Math.sin(rad) + p[0] * Math.cos(rad); r[1] = p[1]; r[2] = p[2] * Math.cos(rad) - p[0] * Math.sin(rad); //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } function $05f70edae4a71625$export$ea6eae3365de5b9c(out, a, b, rad) { var p = [], r = []; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[0] * Math.cos(rad) - p[1] * Math.sin(rad); r[1] = p[0] * Math.sin(rad) + p[1] * Math.cos(rad); r[2] = p[2]; //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } function $05f70edae4a71625$export$944b09d2ad10b378(a, b) { var ax = a[0], ay = a[1], az = a[2], bx = b[0], by = b[1], bz = b[2], mag1 = Math.sqrt(ax * ax + ay * ay + az * az), mag2 = Math.sqrt(bx * bx + by * by + bz * bz), mag = mag1 * mag2, cosine = mag && $05f70edae4a71625$export$94132a0e348806d4(a, b) / mag; return Math.acos(Math.min(Math.max(cosine, -1), 1)); } function $05f70edae4a71625$export$7f9972325ebfd559(out) { out[0] = 0.0; out[1] = 0.0; out[2] = 0.0; return out; } function $05f70edae4a71625$export$42d51816ce590c93(a) { return "vec3(" + a[0] + ", " + a[1] + ", " + a[2] + ")"; } function $05f70edae4a71625$export$f2599a5cf1109d8(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2]; } function $05f70edae4a71625$export$e9bab7fafb253603(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2]; var b0 = b[0], b1 = b[1], b2 = b[2]; return Math.abs(a0 - b0) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a2), Math.abs(b2)); } var $05f70edae4a71625$export$f93b5905241a7cca = $05f70edae4a71625$export$4e2d2ead65e5f7e3; var $05f70edae4a71625$export$6e3a27864ab166fe = $05f70edae4a71625$export$2060d2db72cce88f; var $05f70edae4a71625$export$159d9494db57879b = $05f70edae4a71625$export$cd007d971a5a2143; var $05f70edae4a71625$export$6c4a311cc157c764 = $05f70edae4a71625$export$9f17032d917177de; var $05f70edae4a71625$export$2422cd6c492a8b3a = $05f70edae4a71625$export$88e6ebb4fe54f538; var $05f70edae4a71625$export$fc1400facf92c78 = $05f70edae4a71625$export$f24224f1c91d8156; var $05f70edae4a71625$export$99d8dd3f32a3435 = $05f70edae4a71625$export$ab44e1323ffc8376; var $05f70edae4a71625$export$4b80e395e36b5a56 = function() { var vec = $05f70edae4a71625$export$185802fd694ee1f5(); return function(a, stride, offset, count, fn, arg) { var i, l; if (!stride) stride = 3; if (!offset) offset = 0; if (count) l = Math.min(count * stride + offset, a.length); else l = a.length; for(i = offset; i < l; i += stride){ vec[0] = a[i]; vec[1] = a[i + 1]; vec[2] = a[i + 2]; fn(vec, vec, arg); a[i] = vec[0]; a[i + 1] = vec[1]; a[i + 2] = vec[2]; } return a; }; }(); function $a2882d13ce126e7b$export$185802fd694ee1f5() { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(4); if ($01de35b489c2b37a$export$b67359430d3b1b2 != Float32Array) { out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 0; } return out; } function $a2882d13ce126e7b$export$9cd59f9826255e47(a) { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(4); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } function $a2882d13ce126e7b$export$a82be99ed2a44a7d(x, y, z, w) { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(4); out[0] = x; out[1] = y; out[2] = z; out[3] = w; return out; } function $a2882d13ce126e7b$export$784d13d8ee351f07(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } function $a2882d13ce126e7b$export$adaa4cf7ef1b65be(out, x, y, z, w) { out[0] = x; out[1] = y; out[2] = z; out[3] = w; return out; } function $a2882d13ce126e7b$export$e16d8520af44a096(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; return out; } function $a2882d13ce126e7b$export$4e2d2ead65e5f7e3(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; return out; } function $a2882d13ce126e7b$export$2060d2db72cce88f(out, a, b) { out[0] = a[0] * b[0]; out[1] = a[1] * b[1]; out[2] = a[2] * b[2]; out[3] = a[3] * b[3]; return out; } function $a2882d13ce126e7b$export$cd007d971a5a2143(out, a, b) { out[0] = a[0] / b[0]; out[1] = a[1] / b[1]; out[2] = a[2] / b[2]; out[3] = a[3] / b[3]; return out; } function $a2882d13ce126e7b$export$803ce6b71a0a94b2(out, a) { out[0] = Math.ceil(a[0]); out[1] = Math.ceil(a[1]); out[2] = Math.ceil(a[2]); out[3] = Math.ceil(a[3]); return out; } function $a2882d13ce126e7b$export$a3fe094919f356fd(out, a) { out[0] = Math.floor(a[0]); out[1] = Math.floor(a[1]); out[2] = Math.floor(a[2]); out[3] = Math.floor(a[3]); return out; } function $a2882d13ce126e7b$export$96ec731ed4dcb222(out, a, b) { out[0] = Math.min(a[0], b[0]); out[1] = Math.min(a[1], b[1]); out[2] = Math.min(a[2], b[2]); out[3] = Math.min(a[3], b[3]); return out; } function $a2882d13ce126e7b$export$8960430cfd85939f(out, a, b) { out[0] = Math.max(a[0], b[0]); out[1] = Math.max(a[1], b[1]); out[2] = Math.max(a[2], b[2]); out[3] = Math.max(a[3], b[3]); return out; } function $a2882d13ce126e7b$export$2077e0241d6afd3c(out, a) { out[0] = Math.round(a[0]); out[1] = Math.round(a[1]); out[2] = Math.round(a[2]); out[3] = Math.round(a[3]); return out; } function $a2882d13ce126e7b$export$dcdf75081b88279d(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; return out; } function $a2882d13ce126e7b$export$19cedf1da84ba854(out, a, b, scale1) { out[0] = a[0] + b[0] * scale1; out[1] = a[1] + b[1] * scale1; out[2] = a[2] + b[2] * scale1; out[3] = a[3] + b[3] * scale1; return out; } function $a2882d13ce126e7b$export$9f17032d917177de(a, b) { var x = b[0] - a[0]; var y = b[1] - a[1]; var z = b[2] - a[2]; var w = b[3] - a[3]; return Math.hypot(x, y, z, w); } function $a2882d13ce126e7b$export$88e6ebb4fe54f538(a, b) { var x = b[0] - a[0]; var y = b[1] - a[1]; var z = b[2] - a[2]; var w = b[3] - a[3]; return x * x + y * y + z * z + w * w; } function $a2882d13ce126e7b$export$f24224f1c91d8156(a) { var x = a[0]; var y = a[1]; var z = a[2]; var w = a[3]; return Math.hypot(x, y, z, w); } function $a2882d13ce126e7b$export$ab44e1323ffc8376(a) { var x = a[0]; var y = a[1]; var z = a[2]; var w = a[3]; return x * x + y * y + z * z + w * w; } function $a2882d13ce126e7b$export$aef51622e549b8b0(out, a) { out[0] = -a[0]; out[1] = -a[1]; out[2] = -a[2]; out[3] = -a[3]; return out; } function $a2882d13ce126e7b$export$70ae2c07e401031b(out, a) { out[0] = 1.0 / a[0]; out[1] = 1.0 / a[1]; out[2] = 1.0 / a[2]; out[3] = 1.0 / a[3]; return out; } function $a2882d13ce126e7b$export$a3295358bff77e(out, a) { var x = a[0]; var y = a[1]; var z = a[2]; var w = a[3]; var len1 = x * x + y * y + z * z + w * w; if (len1 > 0) len1 = 1 / Math.sqrt(len1); out[0] = x * len1; out[1] = y * len1; out[2] = z * len1; out[3] = w * len1; return out; } function $a2882d13ce126e7b$export$94132a0e348806d4(a, b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; } function $a2882d13ce126e7b$export$bb646b20bb93d339(out, u, v, w) { var A = v[0] * w[1] - v[1] * w[0], B = v[0] * w[2] - v[2] * w[0], C = v[0] * w[3] - v[3] * w[0], D = v[1] * w[2] - v[2] * w[1], E = v[1] * w[3] - v[3] * w[1], F = v[2] * w[3] - v[3] * w[2]; var G = u[0]; var H = u[1]; var I = u[2]; var J = u[3]; out[0] = H * F - I * E + J * D; out[1] = -(G * F) + I * C - J * B; out[2] = G * E - H * C + J * A; out[3] = -(G * D) + H * B - I * A; return out; } function $a2882d13ce126e7b$export$3a89f8d6f6bf6c9f(out, a, b, t) { var ax = a[0]; var ay = a[1]; var az = a[2]; var aw = a[3]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); out[2] = az + t * (b[2] - az); out[3] = aw + t * (b[3] - aw); return out; } function $a2882d13ce126e7b$export$4385e60b38654f68(out, scale2) { scale2 = scale2 || 1.0; // Marsaglia, George. Choosing a Point from the Surface of a // Sphere. Ann. Math. Statist. 43 (1972), no. 2, 645--646. // http://projecteuclid.org/euclid.aoms/1177692644; var v1, v2, v3, v4; var s1, s2; do { v1 = $01de35b489c2b37a$export$5ada478c8a628231() * 2 - 1; v2 = $01de35b489c2b37a$export$5ada478c8a628231() * 2 - 1; s1 = v1 * v1 + v2 * v2; }while (s1 >= 1); do { v3 = $01de35b489c2b37a$export$5ada478c8a628231() * 2 - 1; v4 = $01de35b489c2b37a$export$5ada478c8a628231() * 2 - 1; s2 = v3 * v3 + v4 * v4; }while (s2 >= 1); var d = Math.sqrt((1 - s1) / s2); out[0] = scale2 * v1; out[1] = scale2 * v2; out[2] = scale2 * v3 * d; out[3] = scale2 * v4 * d; return out; } function $a2882d13ce126e7b$export$5ffbd13800309d59(out, a, m) { var x = a[0], y = a[1], z = a[2], w = a[3]; out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w; out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w; out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w; out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w; return out; } function $a2882d13ce126e7b$export$c32adef9e939ce85(out, a, q) { var x = a[0], y = a[1], z = a[2]; var qx = q[0], qy = q[1], qz = q[2], qw = q[3]; // calculate quat * vec var ix = qw * x + qy * z - qz * y; var iy = qw * y + qz * x - qx * z; var iz = qw * z + qx * y - qy * x; var iw = -qx * x - qy * y - qz * z; // calculate result * inverse quat out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; out[3] = a[3]; return out; } function $a2882d13ce126e7b$export$7f9972325ebfd559(out) { out[0] = 0.0; out[1] = 0.0; out[2] = 0.0; out[3] = 0.0; return out; } function $a2882d13ce126e7b$export$42d51816ce590c93(a) { return "vec4(" + a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ")"; } function $a2882d13ce126e7b$export$f2599a5cf1109d8(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3]; } function $a2882d13ce126e7b$export$e9bab7fafb253603(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; return Math.abs(a0 - b0) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= $01de35b489c2b37a$export$fd293b15f47e270 * Math.max(1.0, Math.abs(a3), Math.abs(b3)); } var $a2882d13ce126e7b$export$f93b5905241a7cca = $a2882d13ce126e7b$export$4e2d2ead65e5f7e3; var $a2882d13ce126e7b$export$6e3a27864ab166fe = $a2882d13ce126e7b$export$2060d2db72cce88f; var $a2882d13ce126e7b$export$159d9494db57879b = $a2882d13ce126e7b$export$cd007d971a5a2143; var $a2882d13ce126e7b$export$6c4a311cc157c764 = $a2882d13ce126e7b$export$9f17032d917177de; var $a2882d13ce126e7b$export$2422cd6c492a8b3a = $a2882d13ce126e7b$export$88e6ebb4fe54f538; var $a2882d13ce126e7b$export$fc1400facf92c78 = $a2882d13ce126e7b$export$f24224f1c91d8156; var $a2882d13ce126e7b$export$99d8dd3f32a3435 = $a2882d13ce126e7b$export$ab44e1323ffc8376; var $a2882d13ce126e7b$export$4b80e395e36b5a56 = function() { var vec = $a2882d13ce126e7b$export$185802fd694ee1f5(); return function(a, stride, offset, count, fn, arg) { var i, l; if (!stride) stride = 4; if (!offset) offset = 0; if (count) l = Math.min(count * stride + offset, a.length); else l = a.length; for(i = offset; i < l; i += stride){ vec[0] = a[i]; vec[1] = a[i + 1]; vec[2] = a[i + 2]; vec[3] = a[i + 3]; fn(vec, vec, arg); a[i] = vec[0]; a[i + 1] = vec[1]; a[i + 2] = vec[2]; a[i + 3] = vec[3]; } return a; }; }(); function $d9f65603c21f6244$export$185802fd694ee1f5() { var out = new $01de35b489c2b37a$export$b67359430d3b1b2(4); if ($01de35b489c2b37a$export$b67359430d3b1b2 != Float32Array) { out[0] = 0; out[1] = 0; out[2] = 0; } out[3] = 1; return out; } function $d9f65603c21f6244$export$f0954fd7d5368655(out) { out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 1; return out; } function $d9f65603c21f6244$export$4286ddefc8f49512(out, axis, rad) { rad = rad * 0.5; var s = Math.sin(rad); out[0] = s * axis[0]; out[1] = s * axis[1]; out[2] = s * axis[2]; out[3] = Ma