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
JavaScript
(() => {
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