Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

three-render-objects

Package Overview
Dependencies
Maintainers
1
Versions
116
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

three-render-objects - npm Package Compare versions

Comparing version 1.12.2 to 1.12.3

7

dist/three-render-objects.common.js

@@ -43,4 +43,4 @@ 'use strict';

var css = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}";
styleInject(css);
var css_248z = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}";
styleInject(css_248z);

@@ -151,3 +151,4 @@ var three = window.THREE ? window.THREE // Prefer consumption from global THREE, if exists

var raycaster = new three.Raycaster();
raycaster.linePrecision = state.lineHoverPrecision;
raycaster.params.Line.threshold = state.lineHoverPrecision; // set linePrecision
raycaster.setFromCamera(state.mousePos, state.camera);

@@ -154,0 +155,0 @@ var intersects = raycaster.intersectObjects(state.objects, true).map(function (_ref) {

@@ -1,2 +0,2 @@

// Version 1.12.2 three-render-objects - https://github.com/vasturiano/three-render-objects
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("three")):"function"==typeof define&&define.amd?define(["three"],t):(e=e||self).ThreeRenderObjects=t(e.THREE)}(this,(function(e){"use strict";var t="default"in e?e.default:e;!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}");var n,o=window.THREE||t,a=n=function(e,t){var n=this,a=-1,r=0,i=1,s=2,c=3,u=4;this.object=e,this.domElement=void 0!==t?t:document,this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=[65,83,68],this.target=new o.Vector3;var l=new o.Vector3,d=a,h=a,p=new o.Vector3,f=new o.Vector2,m=new o.Vector2,g=new o.Vector3,b=0,v=new o.Vector2,y=new o.Vector2,w=0,E=0,k=new o.Vector2,S=new o.Vector2;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone();var _={type:"change"},P={type:"start"},O={type:"end"};this.handleResize=function(){if(this.domElement===document)this.screen.left=0,this.screen.top=0,this.screen.width=window.innerWidth,this.screen.height=window.innerHeight;else{var e=this.domElement.getBoundingClientRect(),t=this.domElement.ownerDocument.documentElement;this.screen.left=e.left+window.pageXOffset-t.clientLeft,this.screen.top=e.top+window.pageYOffset-t.clientTop,this.screen.width=e.width,this.screen.height=e.height}},this.handleEvent=function(e){"function"==typeof this[e.type]&&this[e.type](e)};var C,x,j,T,R,L,I,M,D,V,F,A=(C=new o.Vector2,function(e,t){return C.set((e-n.screen.left)/n.screen.width,(t-n.screen.top)/n.screen.height),C}),z=function(){var e=new o.Vector2;return function(t,o){return e.set((t-.5*n.screen.width-n.screen.left)/(.5*n.screen.width),(n.screen.height+2*(n.screen.top-o))/n.screen.width),e}}();function U(e,t){return Array.isArray(e)?-1!==e.indexOf(t):e===t}function N(e){!1!==n.enabled&&(window.removeEventListener("keydown",N),h=d,d===a&&(U(n.keys[r],e.keyCode)&&!n.noRotate?d=r:U(n.keys[i],e.keyCode)&&!n.noZoom?d=i:U(n.keys[s],e.keyCode)&&!n.noPan&&(d=s)))}function Y(e){!1!==n.enabled&&(d=h,window.addEventListener("keydown",N,!1))}function H(e){!1!==n.enabled&&(e.preventDefault(),e.stopPropagation(),d===a&&(d=e.button),d!==r||n.noRotate?d!==i||n.noZoom?d!==s||n.noPan||(k.copy(A(e.pageX,e.pageY)),S.copy(k)):(v.copy(A(e.pageX,e.pageY)),y.copy(v)):(m.copy(z(e.pageX,e.pageY)),f.copy(m)),document.addEventListener("mousemove",X,!1),document.addEventListener("mouseup",q,!1),n.dispatchEvent(P))}function X(e){!1!==n.enabled&&(e.preventDefault(),e.stopPropagation(),d!==r||n.noRotate?d!==i||n.noZoom?d!==s||n.noPan||S.copy(A(e.pageX,e.pageY)):y.copy(A(e.pageX,e.pageY)):(f.copy(m),m.copy(z(e.pageX,e.pageY))))}function q(e){!1!==n.enabled&&(e.preventDefault(),e.stopPropagation(),d=a,document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",q),n.dispatchEvent(O))}function Z(e){if(!1!==n.enabled){switch(e.preventDefault(),e.stopPropagation(),e.deltaMode){case 2:v.y-=.025*e.deltaY;break;case 1:v.y-=.01*e.deltaY;break;default:v.y-=25e-5*e.deltaY}n.dispatchEvent(P),n.dispatchEvent(O)}}function B(e){if(!1!==n.enabled){switch(e.touches.length){case 1:d=c,m.copy(z(e.touches[0].pageX,e.touches[0].pageY)),f.copy(m);break;default:d=u;var t=e.touches[0].pageX-e.touches[1].pageX,o=e.touches[0].pageY-e.touches[1].pageY;E=w=Math.sqrt(t*t+o*o);var a=(e.touches[0].pageX+e.touches[1].pageX)/2,r=(e.touches[0].pageY+e.touches[1].pageY)/2;k.copy(A(a,r)),S.copy(k)}n.dispatchEvent(P)}}function Q(e){if(!1!==n.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:f.copy(m),m.copy(z(e.touches[0].pageX,e.touches[0].pageY));break;default:var t=e.touches[0].pageX-e.touches[1].pageX,o=e.touches[0].pageY-e.touches[1].pageY;E=Math.sqrt(t*t+o*o);var a=(e.touches[0].pageX+e.touches[1].pageX)/2,r=(e.touches[0].pageY+e.touches[1].pageY)/2;S.copy(A(a,r))}}function G(e){if(!1!==n.enabled){switch(e.touches.length){case 0:d=a;break;case 1:d=c,m.copy(z(e.touches[0].pageX,e.touches[0].pageY)),f.copy(m)}n.dispatchEvent(O)}}function W(e){!1!==n.enabled&&e.preventDefault()}this.rotateCamera=(j=new o.Vector3,T=new o.Quaternion,R=new o.Vector3,L=new o.Vector3,I=new o.Vector3,M=new o.Vector3,function(){M.set(m.x-f.x,m.y-f.y,0),(x=M.length())?(p.copy(n.object.position).sub(n.target),R.copy(p).normalize(),L.copy(n.object.up).normalize(),I.crossVectors(L,R).normalize(),L.setLength(m.y-f.y),I.setLength(m.x-f.x),M.copy(L.add(I)),j.crossVectors(M,p).normalize(),x*=n.rotateSpeed,T.setFromAxisAngle(j,x),p.applyQuaternion(T),n.object.up.applyQuaternion(T),g.copy(j),b=x):!n.staticMoving&&b&&(b*=Math.sqrt(1-n.dynamicDampingFactor),p.copy(n.object.position).sub(n.target),T.setFromAxisAngle(g,b),p.applyQuaternion(T),n.object.up.applyQuaternion(T)),f.copy(m)}),this.zoomCamera=function(){var e;d===u?(e=w/E,w=E,p.multiplyScalar(e)):(1!==(e=1+(y.y-v.y)*n.zoomSpeed)&&e>0&&p.multiplyScalar(e),n.staticMoving?v.copy(y):v.y+=(y.y-v.y)*this.dynamicDampingFactor)},this.panCamera=(D=new o.Vector2,V=new o.Vector3,F=new o.Vector3,function(){D.copy(S).sub(k),D.lengthSq()&&(D.multiplyScalar(p.length()*n.panSpeed),F.copy(p).cross(n.object.up).setLength(D.x),F.add(V.copy(n.object.up).setLength(D.y)),n.object.position.add(F),n.target.add(F),n.staticMoving?k.copy(S):k.add(D.subVectors(S,k).multiplyScalar(n.dynamicDampingFactor)))}),this.checkDistances=function(){n.noZoom&&n.noPan||(p.lengthSq()>n.maxDistance*n.maxDistance&&(n.object.position.addVectors(n.target,p.setLength(n.maxDistance)),v.copy(y)),p.lengthSq()<n.minDistance*n.minDistance&&(n.object.position.addVectors(n.target,p.setLength(n.minDistance)),v.copy(y)))},this.update=function(){p.subVectors(n.object.position,n.target),n.noRotate||n.rotateCamera(),n.noZoom||n.zoomCamera(),n.noPan||n.panCamera(),n.object.position.addVectors(n.target,p),n.checkDistances(),n.object.lookAt(n.target),l.distanceToSquared(n.object.position)>1e-6&&(n.dispatchEvent(_),l.copy(n.object.position))},this.reset=function(){d=a,h=a,n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.up.copy(n.up0),p.subVectors(n.object.position,n.target),n.object.lookAt(n.target),n.dispatchEvent(_),l.copy(n.object.position)},this.dispose=function(){this.domElement.removeEventListener("contextmenu",W,!1),this.domElement.removeEventListener("mousedown",H,!1),this.domElement.removeEventListener("wheel",Z,!1),this.domElement.removeEventListener("touchstart",B,!1),this.domElement.removeEventListener("touchend",G,!1),this.domElement.removeEventListener("touchmove",Q,!1),document.removeEventListener("mousemove",X,!1),document.removeEventListener("mouseup",q,!1),window.removeEventListener("keydown",N,!1),window.removeEventListener("keyup",Y,!1)},this.domElement.addEventListener("contextmenu",W,!1),this.domElement.addEventListener("mousedown",H,!1),this.domElement.addEventListener("wheel",Z,!1),this.domElement.addEventListener("touchstart",B,!1),this.domElement.addEventListener("touchend",G,!1),this.domElement.addEventListener("touchmove",Q,!1),window.addEventListener("keydown",N,!1),window.addEventListener("keyup",Y,!1),this.handleResize(),this.update()};n.prototype=Object.create(o.EventDispatcher.prototype);function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function l(e,t,n){return(l=u()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var a=new(Function.bind.apply(e,o));return n&&c(a,n.prototype),a}).apply(null,arguments)}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return l(e,arguments,s(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),c(o,e)})(e)}var h={1:"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",2:"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",3:"Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",4:"Couldn't generate valid rgb string from %s, it returned %s.\n\n",5:"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",6:"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",7:"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",8:"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",9:"Please provide a number of steps to the modularScale helper.\n\n",10:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",11:'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n',12:'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n',13:'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n',14:'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',15:'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',16:"You must provide a template to this method.\n\n",17:"You passed an unsupported selector state to this method.\n\n",18:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",19:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",20:"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:"fontFace expects a name of a font-family.\n\n",24:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",25:"fontFace expects localFonts to be an array.\n\n",26:"fontFace expects fileFormats to be an array.\n\n",27:"radialGradient requries at least 2 color-stops to properly render.\n\n",28:"Please supply a filename to retinaImage() as the first argument.\n\n",29:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",32:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",33:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",34:"borderRadius expects a radius value as a string or number as the second argument.\n\n",35:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',36:"Property must be a string value.\n\n",37:"Syntax Error at %s.\n\n",38:"Formula contains a function that needs parentheses at %s.\n\n",39:"Formula is missing closing parenthesis at %s.\n\n",40:"Formula has too many closing parentheses at %s.\n\n",41:"All values in a formula must have the same unit or be unitless.\n\n",42:"Please provide a number of steps to the modularScale helper.\n\n",43:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",44:"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",45:"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",46:"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",47:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",48:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",49:"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",50:"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",51:"Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",52:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",53:"fontFace expects localFonts to be an array.\n\n",54:"fontFace expects fileFormats to be an array.\n\n",55:"fontFace expects a name of a font-family.\n\n",56:"linearGradient requries at least 2 color-stops to properly render.\n\n",57:"radialGradient requries at least 2 color-stops to properly render.\n\n",58:"Please supply a filename to retinaImage() as the first argument.\n\n",59:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:"Property must be a string value.\n\n",62:"borderRadius expects a radius value as a string or number as the second argument.\n\n",63:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',64:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",65:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",66:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",67:"You must provide a template to this method.\n\n",68:"You passed an unsupported selector state to this method.\n\n",69:'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n',70:'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n',71:'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n',72:'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n'};function p(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o,a=t[0],r=[];for(o=1;o<t.length;o+=1)r.push(t[o]);return r.forEach((function(e){a=a.replace(/%[a-z]/,e)})),a}var f=function(e){var t,n;function o(t){var n;if("production"===process.env.NODE_ENV)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/master/src/internalHelpers/errors.md#"+t+" for more information.")||this;else{for(var o=arguments.length,a=new Array(o>1?o-1:0),r=1;r<o;r++)a[r-1]=arguments[r];n=e.call(this,p.apply(void 0,[h[t]].concat(a)))||this}return i(n)}return n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,o}(d(Error));function m(e){return Math.round(255*e)}function g(e,t,n){return m(e)+","+m(t)+","+m(n)}function b(e,t,n,o){if(void 0===o&&(o=g),0===t)return o(n,n,n);var a=(e%360+360)%360/60,r=(1-Math.abs(2*n-1))*t,i=r*(1-Math.abs(a%2-1)),s=0,c=0,u=0;a>=0&&a<1?(s=r,c=i):a>=1&&a<2?(s=i,c=r):a>=2&&a<3?(c=r,u=i):a>=3&&a<4?(c=i,u=r):a>=4&&a<5?(s=i,u=r):a>=5&&a<6&&(s=r,u=i);var l=n-r/2;return o(s+l,c+l,u+l)}var v={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var y=/^#[a-fA-F0-9]{6}$/,w=/^#[a-fA-F0-9]{8}$/,E=/^#[a-fA-F0-9]{3}$/,k=/^#[a-fA-F0-9]{4}$/,S=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,_=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,P=/^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,O=/^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i;function C(e){if("string"!=typeof e)throw new f(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return v[t]?"#"+v[t]:e}(e);if(t.match(y))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(w)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(E))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(k)){var o=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:o}}var a=S.exec(t);if(a)return{red:parseInt(""+a[1],10),green:parseInt(""+a[2],10),blue:parseInt(""+a[3],10)};var r=_.exec(t);if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10),alpha:parseFloat(""+r[4])};var i=P.exec(t);if(i){var s="rgb("+b(parseInt(""+i[1],10),parseInt(""+i[2],10)/100,parseInt(""+i[3],10)/100)+")",c=S.exec(s);if(!c)throw new f(4,t,s);return{red:parseInt(""+c[1],10),green:parseInt(""+c[2],10),blue:parseInt(""+c[3],10)}}var u=O.exec(t);if(u){var l="rgb("+b(parseInt(""+u[1],10),parseInt(""+u[2],10)/100,parseInt(""+u[3],10)/100)+")",d=S.exec(l);if(!d)throw new f(4,t,l);return{red:parseInt(""+d[1],10),green:parseInt(""+d[2],10),blue:parseInt(""+d[3],10),alpha:parseFloat(""+u[4])}}throw new f(5)}var x=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function j(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function T(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return x("#"+j(e)+j(t)+j(n));if("object"==typeof e&&void 0===t&&void 0===n)return x("#"+j(e.red)+j(e.green)+j(e.blue));throw new f(6)}function R(e){return function e(t,n,o){return function(){var a=o.concat(Array.prototype.slice.call(arguments));return a.length>=n?t.apply(this,a):e(t,n,a)}}(e,e.length,[])}function L(e,t){if("transparent"===t)return t;var n,o,a,i=C(t),s="number"==typeof i.alpha?i.alpha:1;return function(e,t,n,o){if("string"==typeof e&&"number"==typeof t){var a=C(e);return"rgba("+a.red+","+a.green+","+a.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof o)return o>=1?T(e,t,n):"rgba("+e+","+t+","+n+","+o+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===o)return e.alpha>=1?T(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new f(7)}(r({},i,{alpha:(n=0,o=1,a=(100*s+100*parseFloat(e))/100,Math.max(n,Math.min(o,a)))}))}var I=R(L),M=function(){this._tweens={},this._tweensAddedDuringUpdate={}};M.prototype={getAll:function(){return Object.keys(this._tweens).map(function(e){return this._tweens[e]}.bind(this))},removeAll:function(){this._tweens={}},add:function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},remove:function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},update:function(e,t){var n=Object.keys(this._tweens);if(0===n.length)return!1;for(e=void 0!==e?e:V.now();n.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<n.length;o++){var a=this._tweens[n[o]];a&&!1===a.update(e)&&(a._isPlaying=!1,t||delete this._tweens[n[o]])}n=Object.keys(this._tweensAddedDuringUpdate)}return!0}};var D,V=new M;V.Group=M,V._nextId=0,V.nextId=function(){return V._nextId++},"undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?V.now=function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?V.now=self.performance.now.bind(self.performance):void 0!==Date.now?V.now=Date.now:V.now=function(){return(new Date).getTime()},V.Tween=function(e,t){this._isPaused=!1,this._pauseStart=null,this._object=e,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._repeat=0,this._repeatDelayTime=void 0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=null,this._easingFunction=V.Easing.Linear.None,this._interpolationFunction=V.Interpolation.Linear,this._chainedTweens=[],this._onStartCallback=null,this._onStartCallbackFired=!1,this._onUpdateCallback=null,this._onRepeatCallback=null,this._onCompleteCallback=null,this._onStopCallback=null,this._group=t||V,this._id=V.nextId()},V.Tween.prototype={getId:function(){return this._id},isPlaying:function(){return this._isPlaying},isPaused:function(){return this._isPaused},to:function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},duration:function(e){return this._duration=e,this},start:function(e){for(var t in this._group.add(this),this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._startTime=void 0!==e?"string"==typeof e?V.now()+parseFloat(e):e:V.now(),this._startTime+=this._delayTime,this._valuesEnd){if(this._valuesEnd[t]instanceof Array){if(0===this._valuesEnd[t].length)continue;this._valuesEnd[t]=[this._object[t]].concat(this._valuesEnd[t])}void 0!==this._object[t]&&(void 0===this._valuesStart[t]&&(this._valuesStart[t]=this._object[t]),this._valuesStart[t]instanceof Array==!1&&(this._valuesStart[t]*=1),this._valuesStartRepeat[t]=this._valuesStart[t]||0)}return this},stop:function(){return this._isPlaying?(this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,null!==this._onStopCallback&&this._onStopCallback(this._object),this.stopChainedTweens(),this):this},end:function(){return this.update(1/0),this},pause:function(e){return this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=void 0===e?V.now():e,this._group.remove(this),this)},resume:function(e){return this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=(void 0===e?V.now():e)-this._pauseStart,this._pauseStart=0,this._group.add(this),this):this},stopChainedTweens:function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop()},group:function(e){return this._group=e,this},delay:function(e){return this._delayTime=e,this},repeat:function(e){return this._repeat=e,this},repeatDelay:function(e){return this._repeatDelayTime=e,this},yoyo:function(e){return this._yoyo=e,this},easing:function(e){return this._easingFunction=e,this},interpolation:function(e){return this._interpolationFunction=e,this},chain:function(){return this._chainedTweens=arguments,this},onStart:function(e){return this._onStartCallback=e,this},onUpdate:function(e){return this._onUpdateCallback=e,this},onRepeat:function(e){return this._onRepeatCallback=e,this},onComplete:function(e){return this._onCompleteCallback=e,this},onStop:function(e){return this._onStopCallback=e,this},update:function(e){var t,n,o;if(e<this._startTime)return!0;for(t in!1===this._onStartCallbackFired&&(null!==this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),n=(e-this._startTime)/this._duration,n=0===this._duration||n>1?1:n,o=this._easingFunction(n),this._valuesEnd)if(void 0!==this._valuesStart[t]){var a=this._valuesStart[t]||0,r=this._valuesEnd[t];r instanceof Array?this._object[t]=this._interpolationFunction(r,o):("string"==typeof r&&(r="+"===r.charAt(0)||"-"===r.charAt(0)?a+parseFloat(r):parseFloat(r)),"number"==typeof r&&(this._object[t]=a+(r-a)*o))}if(null!==this._onUpdateCallback&&this._onUpdateCallback(this._object,n),1===n){if(this._repeat>0){for(t in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat){if("string"==typeof this._valuesEnd[t]&&(this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(this._valuesEnd[t])),this._yoyo){var i=this._valuesStartRepeat[t];this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=i}this._valuesStart[t]=this._valuesStartRepeat[t]}return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,null!==this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}null!==this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var s=0,c=this._chainedTweens.length;s<c;s++)this._chainedTweens[s].start(this._startTime+this._duration);return!1}return!0}},V.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-V.Easing.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*V.Easing.Bounce.In(2*e):.5*V.Easing.Bounce.Out(2*e-1)+.5}}},V.Interpolation={Linear:function(e,t){var n=e.length-1,o=n*t,a=Math.floor(o),r=V.Interpolation.Utils.Linear;return t<0?r(e[0],e[1],o):t>1?r(e[n],e[n-1],n-o):r(e[a],e[a+1>n?n:a+1],o-a)},Bezier:function(e,t){for(var n=0,o=e.length-1,a=Math.pow,r=V.Interpolation.Utils.Bernstein,i=0;i<=o;i++)n+=a(1-t,o-i)*a(t,i)*e[i]*r(o,i);return n},CatmullRom:function(e,t){var n=e.length-1,o=n*t,a=Math.floor(o),r=V.Interpolation.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(a=Math.floor(o=n*(1+t))),r(e[(a-1+n)%n],e[a],e[(a+1)%n],e[(a+2)%n],o-a)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-o)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],o-n)-e[n]):r(e[a?a-1:0],e[a],e[n<a+1?n:a+1],e[n<a+2?n:a+2],o-a)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=V.Interpolation.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:(D=[1],function(e){var t=1;if(D[e])return D[e];for(var n=e;n>1;n--)t*=n;return D[e]=t,t}),CatmullRom:function(e,t,n,o,a){var r=.5*(n-e),i=.5*(o-t),s=a*a;return(2*t-2*n+r+i)*(a*s)+(-3*t+3*n-2*r-i)*s+r*a+t}}},V.version="18.5.0";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var F,A=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){e.exports=function(e){function t(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){var o,a,r;a=[e,t],void 0!==(r="function"==typeof(o=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e instanceof Function?e:"string"==typeof e?function(t){return t[e]}:function(t){return e}},e.exports=t.default})?o.apply(t,a):o)&&(e.exports=r)}])})),z=(F=A)&&F.__esModule&&Object.prototype.hasOwnProperty.call(F,"default")?F.default:F;A.accessorFn;function U(e,t,n){var o,a,r,i,s;function c(){var u=Date.now()-i;u<t&&u>=0?o=setTimeout(c,t-u):(o=null,n||(s=e.apply(r,a),r=a=null))}null==t&&(t=100);var u=function(){r=this,a=arguments,i=Date.now();var u=n&&!o;return o||(o=setTimeout(c,t)),u&&(s=e.apply(r,a),r=a=null),s};return u.clear=function(){o&&(clearTimeout(o),o=null)},u.flush=function(){o&&(s=e.apply(r,a),r=a=null,clearTimeout(o),o=null)},u}U.debounce=U;var N=U;function Y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],o=!0,a=!1,r=void 0;try{for(var i,s=e[Symbol.iterator]();!(o=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);o=!0);}catch(e){a=!0,r=e}finally{try{o||null==s.return||s.return()}finally{if(a)throw r}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var H=function e(t,n){var o=n.default,a=void 0===o?null:o,r=n.triggerUpdate,i=void 0===r||r,s=n.onChange,c=void 0===s?function(e,t){}:s;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.defaultVal=a,this.triggerUpdate=i,this.onChange=c};var X=window.THREE?window.THREE:{WebGLRenderer:e.WebGLRenderer,Scene:e.Scene,PerspectiveCamera:e.PerspectiveCamera,Raycaster:e.Raycaster,TextureLoader:e.TextureLoader,Vector2:e.Vector2,Vector3:e.Vector3,Color:e.Color,Mesh:e.Mesh,SphereGeometry:e.SphereGeometry,MeshBasicMaterial:e.MeshBasicMaterial,BackSide:e.BackSide,EventDispatcher:e.EventDispatcher,MOUSE:e.MOUSE,Quaternion:e.Quaternion,Spherical:e.Spherical},q=function(e){function t(t,n){var o,a,r,i,s;this.object=t,this.domElement=void 0!==n?n:document,this.enabled=!0,this.target=new e.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:e.MOUSE.LEFT,ZOOM:e.MOUSE.MIDDLE,PAN:e.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return m.phi},this.getAzimuthalAngle=function(){return m.theta},this.reset=function(){c.target.copy(c.target0),c.object.position.copy(c.position0),c.object.zoom=c.zoom0,c.object.updateProjectionMatrix(),c.dispatchEvent(u),c.update(),p=h.NONE},this.update=(o=new e.Vector3,a=(new e.Quaternion).setFromUnitVectors(t.up,new e.Vector3(0,1,0)),r=a.clone().inverse(),i=new e.Vector3,s=new e.Quaternion,function(){var e=c.object.position;return o.copy(e).sub(c.target),o.applyQuaternion(a),m.setFromVector3(o),c.autoRotate&&p===h.NONE&&T(2*Math.PI/60/60*c.autoRotateSpeed),m.theta+=g.theta,m.phi+=g.phi,m.theta=Math.max(c.minAzimuthAngle,Math.min(c.maxAzimuthAngle,m.theta)),m.phi=Math.max(c.minPolarAngle,Math.min(c.maxPolarAngle,m.phi)),m.makeSafe(),m.radius*=b,m.radius=Math.max(c.minDistance,Math.min(c.maxDistance,m.radius)),c.target.add(v),o.setFromSpherical(m),o.applyQuaternion(r),e.copy(c.target).add(o),c.object.lookAt(c.target),!0===c.enableDamping?(g.theta*=1-c.dampingFactor,g.phi*=1-c.dampingFactor):g.set(0,0,0),b=1,v.set(0,0,0),!!(y||i.distanceToSquared(c.object.position)>f||8*(1-s.dot(c.object.quaternion))>f)&&(c.dispatchEvent(u),i.copy(c.object.position),s.copy(c.object.quaternion),y=!1,!0)}),this.dispose=function(){c.domElement.removeEventListener("contextmenu",Z,!1),c.domElement.removeEventListener("mousedown",A,!1),c.domElement.removeEventListener("wheel",N,!1),c.domElement.removeEventListener("touchstart",H,!1),c.domElement.removeEventListener("touchend",q,!1),c.domElement.removeEventListener("touchmove",X,!1),document.removeEventListener("mousemove",z,!1),document.removeEventListener("mouseup",U,!1),window.removeEventListener("keydown",Y,!1)};var c=this,u={type:"change"},l={type:"start"},d={type:"end"},h={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},p=h.NONE,f=1e-6,m=new e.Spherical,g=new e.Spherical,b=1,v=new e.Vector3,y=!1,w=new e.Vector2,E=new e.Vector2,k=new e.Vector2,S=new e.Vector2,_=new e.Vector2,P=new e.Vector2,O=new e.Vector2,C=new e.Vector2,x=new e.Vector2;function j(){return Math.pow(.95,c.zoomSpeed)}function T(e){g.theta-=e}function R(e){g.phi-=e}var L,I=(L=new e.Vector3,function(e,t){L.setFromMatrixColumn(t,0),L.multiplyScalar(-e),v.add(L)}),M=function(){var t=new e.Vector3;return function(e,n){t.setFromMatrixColumn(n,1),t.multiplyScalar(e),v.add(t)}}(),D=function(){var t=new e.Vector3;return function(n,o){var a=c.domElement===document?c.domElement.body:c.domElement;if(c.object instanceof e.PerspectiveCamera){var r=c.object.position;t.copy(r).sub(c.target);var i=t.length();i*=Math.tan(c.object.fov/2*Math.PI/180),I(2*n*i/a.clientHeight,c.object.matrix),M(2*o*i/a.clientHeight,c.object.matrix)}else c.object instanceof e.OrthographicCamera?(I(n*(c.object.right-c.object.left)/c.object.zoom/a.clientWidth,c.object.matrix),M(o*(c.object.top-c.object.bottom)/c.object.zoom/a.clientHeight,c.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),c.enablePan=!1)}}();function V(t){c.object instanceof e.PerspectiveCamera?b/=t:c.object instanceof e.OrthographicCamera?(c.object.zoom=Math.max(c.minZoom,Math.min(c.maxZoom,c.object.zoom*t)),c.object.updateProjectionMatrix(),y=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),c.enableZoom=!1)}function F(t){c.object instanceof e.PerspectiveCamera?b*=t:c.object instanceof e.OrthographicCamera?(c.object.zoom=Math.max(c.minZoom,Math.min(c.maxZoom,c.object.zoom/t)),c.object.updateProjectionMatrix(),y=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),c.enableZoom=!1)}function A(e){if(!1!==c.enabled){if(e.preventDefault(),e.button===c.mouseButtons.ORBIT){if(!1===c.enableRotate)return;!function(e){w.set(e.clientX,e.clientY)}(e),p=h.ROTATE}else if(e.button===c.mouseButtons.ZOOM){if(!1===c.enableZoom)return;!function(e){O.set(e.clientX,e.clientY)}(e),p=h.DOLLY}else if(e.button===c.mouseButtons.PAN){if(!1===c.enablePan)return;!function(e){S.set(e.clientX,e.clientY)}(e),p=h.PAN}p!==h.NONE&&(document.addEventListener("mousemove",z,!1),document.addEventListener("mouseup",U,!1),c.dispatchEvent(l))}}function z(e){if(!1!==c.enabled)if(e.preventDefault(),p===h.ROTATE){if(!1===c.enableRotate)return;!function(e){E.set(e.clientX,e.clientY),k.subVectors(E,w);var t=c.domElement===document?c.domElement.body:c.domElement;T(2*Math.PI*k.x/t.clientWidth*c.rotateSpeed),R(2*Math.PI*k.y/t.clientHeight*c.rotateSpeed),w.copy(E),c.update()}(e)}else if(p===h.DOLLY){if(!1===c.enableZoom)return;!function(e){C.set(e.clientX,e.clientY),x.subVectors(C,O),x.y>0?V(j()):x.y<0&&F(j()),O.copy(C),c.update()}(e)}else if(p===h.PAN){if(!1===c.enablePan)return;!function(e){_.set(e.clientX,e.clientY),P.subVectors(_,S),D(P.x,P.y),S.copy(_),c.update()}(e)}}function U(e){!1!==c.enabled&&(document.removeEventListener("mousemove",z,!1),document.removeEventListener("mouseup",U,!1),c.dispatchEvent(d),p=h.NONE)}function N(e){!1===c.enabled||!1===c.enableZoom||p!==h.NONE&&p!==h.ROTATE||(e.preventDefault(),e.stopPropagation(),function(e){e.deltaY<0?F(j()):e.deltaY>0&&V(j()),c.update()}(e),c.dispatchEvent(l),c.dispatchEvent(d))}function Y(e){!1!==c.enabled&&!1!==c.enableKeys&&!1!==c.enablePan&&function(e){switch(e.keyCode){case c.keys.UP:D(0,c.keyPanSpeed),c.update();break;case c.keys.BOTTOM:D(0,-c.keyPanSpeed),c.update();break;case c.keys.LEFT:D(c.keyPanSpeed,0),c.update();break;case c.keys.RIGHT:D(-c.keyPanSpeed,0),c.update()}}(e)}function H(e){if(!1!==c.enabled){switch(e.touches.length){case 1:if(!1===c.enableRotate)return;!function(e){w.set(e.touches[0].pageX,e.touches[0].pageY)}(e),p=h.TOUCH_ROTATE;break;case 2:if(!1===c.enableZoom)return;!function(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(t*t+n*n);O.set(0,o)}(e),p=h.TOUCH_DOLLY;break;case 3:if(!1===c.enablePan)return;!function(e){S.set(e.touches[0].pageX,e.touches[0].pageY)}(e),p=h.TOUCH_PAN;break;default:p=h.NONE}p!==h.NONE&&c.dispatchEvent(l)}}function X(e){if(!1!==c.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:if(!1===c.enableRotate)return;if(p!==h.TOUCH_ROTATE)return;!function(e){E.set(e.touches[0].pageX,e.touches[0].pageY),k.subVectors(E,w);var t=c.domElement===document?c.domElement.body:c.domElement;T(2*Math.PI*k.x/t.clientWidth*c.rotateSpeed),R(2*Math.PI*k.y/t.clientHeight*c.rotateSpeed),w.copy(E),c.update()}(e);break;case 2:if(!1===c.enableZoom)return;if(p!==h.TOUCH_DOLLY)return;!function(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(t*t+n*n);C.set(0,o),x.subVectors(C,O),x.y>0?F(j()):x.y<0&&V(j()),O.copy(C),c.update()}(e);break;case 3:if(!1===c.enablePan)return;if(p!==h.TOUCH_PAN)return;!function(e){_.set(e.touches[0].pageX,e.touches[0].pageY),P.subVectors(_,S),D(P.x,P.y),S.copy(_),c.update()}(e);break;default:p=h.NONE}}function q(e){!1!==c.enabled&&(c.dispatchEvent(d),p=h.NONE)}function Z(e){e.preventDefault()}c.domElement.addEventListener("contextmenu",Z,!1),c.domElement.addEventListener("mousedown",A,!1),c.domElement.addEventListener("wheel",N,!1),c.domElement.addEventListener("touchstart",H,!1),c.domElement.addEventListener("touchend",q,!1),c.domElement.addEventListener("touchmove",X,!1),window.addEventListener("keydown",Y,!1),this.update()}return t.prototype=Object.create(e.EventDispatcher.prototype),t.prototype.constructor=t,Object.defineProperties(t.prototype,{center:{get:function(){return console.warn("THREE.OrbitControls: .center has been renamed to .target"),this.target}},noZoom:{get:function(){return console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),!this.enableZoom},set:function(e){console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),this.enableZoom=!e}},noRotate:{get:function(){return console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),!this.enableRotate},set:function(e){console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),this.enableRotate=!e}},noPan:{get:function(){return console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),!this.enablePan},set:function(e){console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),this.enablePan=!e}},noKeys:{get:function(){return console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),!this.enableKeys},set:function(e){console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),this.enableKeys=!e}},staticMoving:{get:function(){return console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),!this.enableDamping},set:function(e){console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),this.enableDamping=!e}},dynamicDampingFactor:{get:function(){return console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor},set:function(e){console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor=e}}}),t}(X),Z=(function(e){e.FlyControls=function(t,n,o){this.object=t,o=o||{},this.domElement=void 0!==n?n:document,n&&this.domElement.setAttribute("tabindex",-1),this.movementSpeed=void 0===o.movementSpeed?1:o.movementSpeed,this.rollSpeed=void 0===o.rollSpeed?.005:o.rollSpeed,this.dragToLook=!0,this.autoForward=!1,this.tmpQuaternion=new e.Quaternion,this.mouseStatus=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new e.Vector3(0,0,0),this.rotationVector=new e.Vector3(0,0,0);var a=Date.now();function r(e,t){return function(){t.apply(e,arguments)}}this.handleEvent=function(e){"function"==typeof this[e.type]&&this[e.type](e)},this.keydown=function(e){if(!e.altKey){switch(e.keyCode){case 16:this.movementSpeedMultiplier=.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}[38,40,37,39].indexOf(e.keyCode)>-1&&e.preventDefault(),this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(e){switch(e.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;case 69:this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()},this.mousedown=function(e){if(this.domElement!==document&&this.domElement.focus(),e.preventDefault(),e.stopPropagation(),this.dragToLook)this.mouseStatus++;else{switch(e.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}},this.mousemove=function(e){if(!this.dragToLook||this.mouseStatus>0){var t=this.getContainerDimensions(),n=t.size[0]/2,o=t.size[1]/2;this.moveState.yawLeft=-(e.pageX-t.offset[0]-n)/n,this.moveState.pitchDown=(e.pageY-t.offset[1]-o)/o,this.updateRotationVector()}},this.mouseout=function(e){e.preventDefault(),e.stopPropagation(),this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.updateRotationVector(),this.updateMovementVector()},this.mouseup=function(e){if(e.preventDefault(),e.stopPropagation(),this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(e.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()},this.update=function(e){var t=Date.now(),n=(e=(t-a)/10)*this.movementSpeed,o=e*this.rollSpeed;this.object.translateX(this.moveVector.x*n),this.object.translateY(this.moveVector.y*n),this.object.translateZ(this.moveVector.z*n),this.tmpQuaternion.set(this.rotationVector.x*o,this.rotationVector.y*o,this.rotationVector.z*o,1).normalize(),this.object.quaternion.multiply(this.tmpQuaternion),this.object.rotation.setFromQuaternion(this.object.quaternion,this.object.rotation.order),a=t},this.updateMovementVector=function(){var e=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-e+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.domElement.addEventListener("contextmenu",(function(e){e.preventDefault()}),!1),this.domElement.addEventListener("mousemove",r(this,this.mousemove),!1),this.domElement.addEventListener("mousedown",r(this,this.mousedown),!1),this.domElement.addEventListener("mouseup",r(this,this.mouseup),!1),this.domElement.addEventListener("mouseout",r(this,this.mouseout),!1),this.domElement.addEventListener("keydown",r(this,this.keydown),!1),this.domElement.addEventListener("keyup",r(this,this.keyup),!1),this.updateMovementVector(),this.updateRotationVector()}}(X),X.FlyControls);return function(e){var t=e.stateInit,n=void 0===t?function(){return{}}:t,o=e.props,a=void 0===o?{}:o,r=e.methods,i=void 0===r?{}:r,s=e.aliases,c=void 0===s?{}:s,u=e.init,l=void 0===u?function(){}:u,d=e.update,h=void 0===d?function(){}:d,p=Object.keys(a).map((function(e){return new H(e,a[e])}));return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},n instanceof Function?n(e):n,{initialised:!1}),o={};function a(t){return r(t,e),s(),a}var r=function(e,n){l.call(a,e,t,n),t.initialised=!0},s=N((function(){t.initialised&&(h.call(a,t,o),o={})}),1);return p.forEach((function(e){a[e.name]=function(e){var n=e.name,r=e.triggerUpdate,i=void 0!==r&&r,c=e.onChange,u=void 0===c?function(e,t){}:c,l=e.defaultVal,d=void 0===l?null:l;return function(e){var r=t[n];if(!arguments.length)return r;var c=void 0===e?d:e;return t[n]=c,u.call(a,c,t,r),!o.hasOwnProperty(n)&&(o[n]=r),i&&s(),a}}(e)})),Object.keys(i).forEach((function(e){a[e]=function(){for(var n,o=arguments.length,r=new Array(o),s=0;s<o;s++)r[s]=arguments[s];return(n=i[e]).call.apply(n,[a,t].concat(r))}})),Object.entries(c).forEach((function(e){var t=Y(e,2),n=t[0],o=t[1];return a[n]=a[o]})),a.resetProps=function(){return p.forEach((function(e){a[e.name](e.defaultVal)})),a},a.resetProps(),t._rerender=s,a}}({props:{width:{default:window.innerWidth,onChange:function(e,t,n){isNaN(e)&&(t.width=n)}},height:{default:window.innerHeight,onChange:function(e,t,n){isNaN(e)&&(t.height=n)}},backgroundColor:{default:"#000011"},backgroundImageUrl:{},onBackgroundImageLoaded:{},showNavInfo:{default:!0},skyRadius:{default:5e4},objects:{default:[]},postProcessingComposer:{triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null,t.toolTipElem&&(t.toolTipElem.innerHTML="")},triggerUpdate:!1},lineHoverPrecision:{default:1,triggerUpdate:!1},hoverOrderComparator:{default:function(){return-1},triggerUpdate:!1},tooltipContent:{triggerUpdate:!1},hoverDuringDrag:{default:!1,triggerUpdate:!1},onHover:{default:function(){},triggerUpdate:!1},onClick:{default:function(){},triggerUpdate:!1},onRightClick:{triggerUpdate:!1}},methods:{tick:function(e){if(e.initialised){if(e.controls.update&&e.controls.update(),e.postProcessingComposer?e.postProcessingComposer.render():e.renderer.render(e.scene,e.camera),e.enablePointerInteraction){var t=null;if(e.hoverDuringDrag||!e.controlsDragging){var n=new X.Raycaster;n.linePrecision=e.lineHoverPrecision,n.setFromCamera(e.mousePos,e.camera);var o=n.intersectObjects(e.objects,!0).map((function(e){return e.object})).sort(e.hoverOrderComparator);t=o.length?o[0]:null}t!==e.hoverObj&&(e.onHover(t,e.hoverObj),e.toolTipElem.innerHTML=t&&z(e.tooltipContent)(t)||"",e.hoverObj=t)}V.update()}return this},cameraPosition:function(e,t,n,o){var a=e.camera;if(t&&e.initialised){var r=t,i=n||{x:0,y:0,z:0};if(o){var s=Object.assign({},a.position),c=d();new V.Tween(s).to(r,o).easing(V.Easing.Quadratic.Out).onUpdate(u).start(),new V.Tween(c).to(i,o/3).easing(V.Easing.Quadratic.Out).onUpdate(l).start()}else u(r),l(i);return this}return Object.assign({},a.position,{lookAt:d()});function u(e){var t=e.x,n=e.y,o=e.z;void 0!==t&&(a.position.x=t),void 0!==n&&(a.position.y=n),void 0!==o&&(a.position.z=o)}function l(t){e.controls.target=new X.Vector3(t.x,t.y,t.z)}function d(){return Object.assign(new X.Vector3(0,0,-1e3).applyQuaternion(a.quaternion).add(a.position))}},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new X.Scene,camera:new X.PerspectiveCamera}},init:function(e,t,n){var o=n.controlType,r=void 0===o?"trackball":o,i=n.rendererConfig,s=void 0===i?{}:i,c=n.waitForLoadComplete,u=void 0===c||c;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[r]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.toolTipElem=document.createElement("div"),t.toolTipElem.classList.add("scene-tooltip"),t.container.appendChild(t.toolTipElem),t.mousePos=new X.Vector2,t.mousePos.x=-2,t.mousePos.y=-2,t.container.addEventListener("mousemove",(function(e){if(t.enablePointerInteraction){var n=(a=t.container,r=a.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop,{top:r.top+s,left:r.left+i}),o={x:e.pageX-n.left,y:e.pageY-n.top};t.mousePos.x=o.x/t.width*2-1,t.mousePos.y=-o.y/t.height*2+1,t.toolTipElem.style.top="".concat(o.y,"px"),t.toolTipElem.style.left="".concat(o.x,"px"),t.toolTipElem.style.transform="translate(-".concat(o.x/t.width*100,"%, 21px)")}var a,r,i,s}),!1),t.container.addEventListener("click",(function(e){t.ignoreOneClick?t.ignoreOneClick=!1:t.onClick(t.hoverObj||null,e)}),!1),t.container.addEventListener("mouseup",(function(e){if(2===e.button&&t.onRightClick){if(t.ignoreOneClick)return void(t.ignoreOneClick=!1);t.onRightClick(t.hoverObj||null,e)}}),!1),t.renderer=new X.WebGLRenderer(Object.assign({antialias:!0,alpha:!0},s)),t.renderer.setPixelRatio(window.devicePixelRatio),t.container.appendChild(t.renderer.domElement),t.controls=new{trackball:a,orbit:q,fly:Z}[r](t.camera,t.renderer.domElement),"fly"===r&&(t.controls.movementSpeed=2.5),"trackball"!==r&&"orbit"!==r||(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",(function(){return t.controlsEngaged=!0})),t.controls.addEventListener("change",(function(){t.controlsEngaged&&(t.controlsDragging=!0,t.ignoreOneClick=!0)})),t.controls.addEventListener("end",(function(){t.controlsEngaged=!1,t.controlsDragging=!1}))),t.renderer.setSize(t.width,t.height),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new X.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!u,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&(e.container.style.width=e.width,e.container.style.height=e.height,e.renderer.setSize(e.width,e.height),e.camera.aspect=e.width/e.height,e.camera.updateProjectionMatrix()),t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=e.skyRadius),e.camera.far=2.5*e.skyRadius,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new X.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var n=C(e.backgroundColor).alpha;void 0===n&&(n=1),e.renderer.setClearColor(new X.Color(I(1,e.backgroundColor)),n)}function o(){e.loadComplete=e.scene.visible=!0}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?(new X.TextureLoader).load(e.backgroundImageUrl,(function(t){e.skysphere.material=new X.MeshBasicMaterial({map:t,side:X.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&o()})):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&o())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("objects")&&((t.objects||[]).forEach((function(t){return e.scene.remove(t)})),e.objects.forEach((function(t){return e.scene.add(t)})))}})}));
// Version 1.12.3 three-render-objects - https://github.com/vasturiano/three-render-objects
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("three")):"function"==typeof define&&define.amd?define(["three"],t):(e=e||self).ThreeRenderObjects=t(e.THREE)}(this,(function(e){"use strict";var t="default"in e?e.default:e;!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}");var n,o=window.THREE||t,a=n=function(e,t){var n=this,a=-1,r=0,i=1,s=2,c=3,u=4;this.object=e,this.domElement=void 0!==t?t:document,this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=[65,83,68],this.target=new o.Vector3;var l=new o.Vector3,d=a,h=a,p=new o.Vector3,f=new o.Vector2,m=new o.Vector2,g=new o.Vector3,b=0,v=new o.Vector2,y=new o.Vector2,w=0,E=0,k=new o.Vector2,S=new o.Vector2;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone();var _={type:"change"},P={type:"start"},O={type:"end"};this.handleResize=function(){if(this.domElement===document)this.screen.left=0,this.screen.top=0,this.screen.width=window.innerWidth,this.screen.height=window.innerHeight;else{var e=this.domElement.getBoundingClientRect(),t=this.domElement.ownerDocument.documentElement;this.screen.left=e.left+window.pageXOffset-t.clientLeft,this.screen.top=e.top+window.pageYOffset-t.clientTop,this.screen.width=e.width,this.screen.height=e.height}},this.handleEvent=function(e){"function"==typeof this[e.type]&&this[e.type](e)};var C,x,j,T,R,L,I,M,D,V,F,A=(C=new o.Vector2,function(e,t){return C.set((e-n.screen.left)/n.screen.width,(t-n.screen.top)/n.screen.height),C}),z=function(){var e=new o.Vector2;return function(t,o){return e.set((t-.5*n.screen.width-n.screen.left)/(.5*n.screen.width),(n.screen.height+2*(n.screen.top-o))/n.screen.width),e}}();function U(e,t){return Array.isArray(e)?-1!==e.indexOf(t):e===t}function N(e){!1!==n.enabled&&(window.removeEventListener("keydown",N),h=d,d===a&&(U(n.keys[r],e.keyCode)&&!n.noRotate?d=r:U(n.keys[i],e.keyCode)&&!n.noZoom?d=i:U(n.keys[s],e.keyCode)&&!n.noPan&&(d=s)))}function Y(e){!1!==n.enabled&&(d=h,window.addEventListener("keydown",N,!1))}function H(e){!1!==n.enabled&&(e.preventDefault(),e.stopPropagation(),d===a&&(d=e.button),d!==r||n.noRotate?d!==i||n.noZoom?d!==s||n.noPan||(k.copy(A(e.pageX,e.pageY)),S.copy(k)):(v.copy(A(e.pageX,e.pageY)),y.copy(v)):(m.copy(z(e.pageX,e.pageY)),f.copy(m)),document.addEventListener("mousemove",X,!1),document.addEventListener("mouseup",q,!1),n.dispatchEvent(P))}function X(e){!1!==n.enabled&&(e.preventDefault(),e.stopPropagation(),d!==r||n.noRotate?d!==i||n.noZoom?d!==s||n.noPan||S.copy(A(e.pageX,e.pageY)):y.copy(A(e.pageX,e.pageY)):(f.copy(m),m.copy(z(e.pageX,e.pageY))))}function q(e){!1!==n.enabled&&(e.preventDefault(),e.stopPropagation(),d=a,document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",q),n.dispatchEvent(O))}function Z(e){if(!1!==n.enabled){switch(e.preventDefault(),e.stopPropagation(),e.deltaMode){case 2:v.y-=.025*e.deltaY;break;case 1:v.y-=.01*e.deltaY;break;default:v.y-=25e-5*e.deltaY}n.dispatchEvent(P),n.dispatchEvent(O)}}function B(e){if(!1!==n.enabled){switch(e.touches.length){case 1:d=c,m.copy(z(e.touches[0].pageX,e.touches[0].pageY)),f.copy(m);break;default:d=u;var t=e.touches[0].pageX-e.touches[1].pageX,o=e.touches[0].pageY-e.touches[1].pageY;E=w=Math.sqrt(t*t+o*o);var a=(e.touches[0].pageX+e.touches[1].pageX)/2,r=(e.touches[0].pageY+e.touches[1].pageY)/2;k.copy(A(a,r)),S.copy(k)}n.dispatchEvent(P)}}function Q(e){if(!1!==n.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:f.copy(m),m.copy(z(e.touches[0].pageX,e.touches[0].pageY));break;default:var t=e.touches[0].pageX-e.touches[1].pageX,o=e.touches[0].pageY-e.touches[1].pageY;E=Math.sqrt(t*t+o*o);var a=(e.touches[0].pageX+e.touches[1].pageX)/2,r=(e.touches[0].pageY+e.touches[1].pageY)/2;S.copy(A(a,r))}}function G(e){if(!1!==n.enabled){switch(e.touches.length){case 0:d=a;break;case 1:d=c,m.copy(z(e.touches[0].pageX,e.touches[0].pageY)),f.copy(m)}n.dispatchEvent(O)}}function W(e){!1!==n.enabled&&e.preventDefault()}this.rotateCamera=(j=new o.Vector3,T=new o.Quaternion,R=new o.Vector3,L=new o.Vector3,I=new o.Vector3,M=new o.Vector3,function(){M.set(m.x-f.x,m.y-f.y,0),(x=M.length())?(p.copy(n.object.position).sub(n.target),R.copy(p).normalize(),L.copy(n.object.up).normalize(),I.crossVectors(L,R).normalize(),L.setLength(m.y-f.y),I.setLength(m.x-f.x),M.copy(L.add(I)),j.crossVectors(M,p).normalize(),x*=n.rotateSpeed,T.setFromAxisAngle(j,x),p.applyQuaternion(T),n.object.up.applyQuaternion(T),g.copy(j),b=x):!n.staticMoving&&b&&(b*=Math.sqrt(1-n.dynamicDampingFactor),p.copy(n.object.position).sub(n.target),T.setFromAxisAngle(g,b),p.applyQuaternion(T),n.object.up.applyQuaternion(T)),f.copy(m)}),this.zoomCamera=function(){var e;d===u?(e=w/E,w=E,p.multiplyScalar(e)):(1!==(e=1+(y.y-v.y)*n.zoomSpeed)&&e>0&&p.multiplyScalar(e),n.staticMoving?v.copy(y):v.y+=(y.y-v.y)*this.dynamicDampingFactor)},this.panCamera=(D=new o.Vector2,V=new o.Vector3,F=new o.Vector3,function(){D.copy(S).sub(k),D.lengthSq()&&(D.multiplyScalar(p.length()*n.panSpeed),F.copy(p).cross(n.object.up).setLength(D.x),F.add(V.copy(n.object.up).setLength(D.y)),n.object.position.add(F),n.target.add(F),n.staticMoving?k.copy(S):k.add(D.subVectors(S,k).multiplyScalar(n.dynamicDampingFactor)))}),this.checkDistances=function(){n.noZoom&&n.noPan||(p.lengthSq()>n.maxDistance*n.maxDistance&&(n.object.position.addVectors(n.target,p.setLength(n.maxDistance)),v.copy(y)),p.lengthSq()<n.minDistance*n.minDistance&&(n.object.position.addVectors(n.target,p.setLength(n.minDistance)),v.copy(y)))},this.update=function(){p.subVectors(n.object.position,n.target),n.noRotate||n.rotateCamera(),n.noZoom||n.zoomCamera(),n.noPan||n.panCamera(),n.object.position.addVectors(n.target,p),n.checkDistances(),n.object.lookAt(n.target),l.distanceToSquared(n.object.position)>1e-6&&(n.dispatchEvent(_),l.copy(n.object.position))},this.reset=function(){d=a,h=a,n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.up.copy(n.up0),p.subVectors(n.object.position,n.target),n.object.lookAt(n.target),n.dispatchEvent(_),l.copy(n.object.position)},this.dispose=function(){this.domElement.removeEventListener("contextmenu",W,!1),this.domElement.removeEventListener("mousedown",H,!1),this.domElement.removeEventListener("wheel",Z,!1),this.domElement.removeEventListener("touchstart",B,!1),this.domElement.removeEventListener("touchend",G,!1),this.domElement.removeEventListener("touchmove",Q,!1),document.removeEventListener("mousemove",X,!1),document.removeEventListener("mouseup",q,!1),window.removeEventListener("keydown",N,!1),window.removeEventListener("keyup",Y,!1)},this.domElement.addEventListener("contextmenu",W,!1),this.domElement.addEventListener("mousedown",H,!1),this.domElement.addEventListener("wheel",Z,!1),this.domElement.addEventListener("touchstart",B,!1),this.domElement.addEventListener("touchend",G,!1),this.domElement.addEventListener("touchmove",Q,!1),window.addEventListener("keydown",N,!1),window.addEventListener("keyup",Y,!1),this.handleResize(),this.update()};n.prototype=Object.create(o.EventDispatcher.prototype);function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function l(e,t,n){return(l=u()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var a=new(Function.bind.apply(e,o));return n&&c(a,n.prototype),a}).apply(null,arguments)}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return l(e,arguments,s(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),c(o,e)})(e)}var h={1:"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",2:"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",3:"Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",4:"Couldn't generate valid rgb string from %s, it returned %s.\n\n",5:"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",6:"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",7:"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",8:"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",9:"Please provide a number of steps to the modularScale helper.\n\n",10:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",11:'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n',12:'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n',13:'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n',14:'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',15:'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',16:"You must provide a template to this method.\n\n",17:"You passed an unsupported selector state to this method.\n\n",18:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",19:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",20:"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:"fontFace expects a name of a font-family.\n\n",24:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",25:"fontFace expects localFonts to be an array.\n\n",26:"fontFace expects fileFormats to be an array.\n\n",27:"radialGradient requries at least 2 color-stops to properly render.\n\n",28:"Please supply a filename to retinaImage() as the first argument.\n\n",29:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",32:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",33:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",34:"borderRadius expects a radius value as a string or number as the second argument.\n\n",35:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',36:"Property must be a string value.\n\n",37:"Syntax Error at %s.\n\n",38:"Formula contains a function that needs parentheses at %s.\n\n",39:"Formula is missing closing parenthesis at %s.\n\n",40:"Formula has too many closing parentheses at %s.\n\n",41:"All values in a formula must have the same unit or be unitless.\n\n",42:"Please provide a number of steps to the modularScale helper.\n\n",43:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",44:"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",45:"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",46:"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",47:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",48:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",49:"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",50:"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",51:"Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",52:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",53:"fontFace expects localFonts to be an array.\n\n",54:"fontFace expects fileFormats to be an array.\n\n",55:"fontFace expects a name of a font-family.\n\n",56:"linearGradient requries at least 2 color-stops to properly render.\n\n",57:"radialGradient requries at least 2 color-stops to properly render.\n\n",58:"Please supply a filename to retinaImage() as the first argument.\n\n",59:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:"Property must be a string value.\n\n",62:"borderRadius expects a radius value as a string or number as the second argument.\n\n",63:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',64:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",65:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",66:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",67:"You must provide a template to this method.\n\n",68:"You passed an unsupported selector state to this method.\n\n",69:'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n',70:'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n',71:'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n',72:'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n'};function p(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o,a=t[0],r=[];for(o=1;o<t.length;o+=1)r.push(t[o]);return r.forEach((function(e){a=a.replace(/%[a-z]/,e)})),a}var f=function(e){var t,n;function o(t){var n;if("production"===process.env.NODE_ENV)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/master/src/internalHelpers/errors.md#"+t+" for more information.")||this;else{for(var o=arguments.length,a=new Array(o>1?o-1:0),r=1;r<o;r++)a[r-1]=arguments[r];n=e.call(this,p.apply(void 0,[h[t]].concat(a)))||this}return i(n)}return n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,o}(d(Error));function m(e){return Math.round(255*e)}function g(e,t,n){return m(e)+","+m(t)+","+m(n)}function b(e,t,n,o){if(void 0===o&&(o=g),0===t)return o(n,n,n);var a=(e%360+360)%360/60,r=(1-Math.abs(2*n-1))*t,i=r*(1-Math.abs(a%2-1)),s=0,c=0,u=0;a>=0&&a<1?(s=r,c=i):a>=1&&a<2?(s=i,c=r):a>=2&&a<3?(c=r,u=i):a>=3&&a<4?(c=i,u=r):a>=4&&a<5?(s=i,u=r):a>=5&&a<6&&(s=r,u=i);var l=n-r/2;return o(s+l,c+l,u+l)}var v={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var y=/^#[a-fA-F0-9]{6}$/,w=/^#[a-fA-F0-9]{8}$/,E=/^#[a-fA-F0-9]{3}$/,k=/^#[a-fA-F0-9]{4}$/,S=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,_=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,P=/^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,O=/^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i;function C(e){if("string"!=typeof e)throw new f(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return v[t]?"#"+v[t]:e}(e);if(t.match(y))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(w)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(E))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(k)){var o=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:o}}var a=S.exec(t);if(a)return{red:parseInt(""+a[1],10),green:parseInt(""+a[2],10),blue:parseInt(""+a[3],10)};var r=_.exec(t);if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10),alpha:parseFloat(""+r[4])};var i=P.exec(t);if(i){var s="rgb("+b(parseInt(""+i[1],10),parseInt(""+i[2],10)/100,parseInt(""+i[3],10)/100)+")",c=S.exec(s);if(!c)throw new f(4,t,s);return{red:parseInt(""+c[1],10),green:parseInt(""+c[2],10),blue:parseInt(""+c[3],10)}}var u=O.exec(t);if(u){var l="rgb("+b(parseInt(""+u[1],10),parseInt(""+u[2],10)/100,parseInt(""+u[3],10)/100)+")",d=S.exec(l);if(!d)throw new f(4,t,l);return{red:parseInt(""+d[1],10),green:parseInt(""+d[2],10),blue:parseInt(""+d[3],10),alpha:parseFloat(""+u[4])}}throw new f(5)}var x=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function j(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function T(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return x("#"+j(e)+j(t)+j(n));if("object"==typeof e&&void 0===t&&void 0===n)return x("#"+j(e.red)+j(e.green)+j(e.blue));throw new f(6)}function R(e){return function e(t,n,o){return function(){var a=o.concat(Array.prototype.slice.call(arguments));return a.length>=n?t.apply(this,a):e(t,n,a)}}(e,e.length,[])}function L(e,t){if("transparent"===t)return t;var n,o,a,i=C(t),s="number"==typeof i.alpha?i.alpha:1;return function(e,t,n,o){if("string"==typeof e&&"number"==typeof t){var a=C(e);return"rgba("+a.red+","+a.green+","+a.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof o)return o>=1?T(e,t,n):"rgba("+e+","+t+","+n+","+o+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===o)return e.alpha>=1?T(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new f(7)}(r({},i,{alpha:(n=0,o=1,a=(100*s+100*parseFloat(e))/100,Math.max(n,Math.min(o,a)))}))}var I=R(L),M=function(){this._tweens={},this._tweensAddedDuringUpdate={}};M.prototype={getAll:function(){return Object.keys(this._tweens).map(function(e){return this._tweens[e]}.bind(this))},removeAll:function(){this._tweens={}},add:function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},remove:function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},update:function(e,t){var n=Object.keys(this._tweens);if(0===n.length)return!1;for(e=void 0!==e?e:V.now();n.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<n.length;o++){var a=this._tweens[n[o]];a&&!1===a.update(e)&&(a._isPlaying=!1,t||delete this._tweens[n[o]])}n=Object.keys(this._tweensAddedDuringUpdate)}return!0}};var D,V=new M;V.Group=M,V._nextId=0,V.nextId=function(){return V._nextId++},"undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?V.now=function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?V.now=self.performance.now.bind(self.performance):void 0!==Date.now?V.now=Date.now:V.now=function(){return(new Date).getTime()},V.Tween=function(e,t){this._isPaused=!1,this._pauseStart=null,this._object=e,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._repeat=0,this._repeatDelayTime=void 0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=null,this._easingFunction=V.Easing.Linear.None,this._interpolationFunction=V.Interpolation.Linear,this._chainedTweens=[],this._onStartCallback=null,this._onStartCallbackFired=!1,this._onUpdateCallback=null,this._onRepeatCallback=null,this._onCompleteCallback=null,this._onStopCallback=null,this._group=t||V,this._id=V.nextId()},V.Tween.prototype={getId:function(){return this._id},isPlaying:function(){return this._isPlaying},isPaused:function(){return this._isPaused},to:function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},duration:function(e){return this._duration=e,this},start:function(e){for(var t in this._group.add(this),this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._startTime=void 0!==e?"string"==typeof e?V.now()+parseFloat(e):e:V.now(),this._startTime+=this._delayTime,this._valuesEnd){if(this._valuesEnd[t]instanceof Array){if(0===this._valuesEnd[t].length)continue;this._valuesEnd[t]=[this._object[t]].concat(this._valuesEnd[t])}void 0!==this._object[t]&&(void 0===this._valuesStart[t]&&(this._valuesStart[t]=this._object[t]),this._valuesStart[t]instanceof Array==!1&&(this._valuesStart[t]*=1),this._valuesStartRepeat[t]=this._valuesStart[t]||0)}return this},stop:function(){return this._isPlaying?(this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,null!==this._onStopCallback&&this._onStopCallback(this._object),this.stopChainedTweens(),this):this},end:function(){return this.update(1/0),this},pause:function(e){return this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=void 0===e?V.now():e,this._group.remove(this)),this},resume:function(e){return this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=(void 0===e?V.now():e)-this._pauseStart,this._pauseStart=0,this._group.add(this),this):this},stopChainedTweens:function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop()},group:function(e){return this._group=e,this},delay:function(e){return this._delayTime=e,this},repeat:function(e){return this._repeat=e,this},repeatDelay:function(e){return this._repeatDelayTime=e,this},yoyo:function(e){return this._yoyo=e,this},easing:function(e){return this._easingFunction=e,this},interpolation:function(e){return this._interpolationFunction=e,this},chain:function(){return this._chainedTweens=arguments,this},onStart:function(e){return this._onStartCallback=e,this},onUpdate:function(e){return this._onUpdateCallback=e,this},onRepeat:function(e){return this._onRepeatCallback=e,this},onComplete:function(e){return this._onCompleteCallback=e,this},onStop:function(e){return this._onStopCallback=e,this},update:function(e){var t,n,o;if(e<this._startTime)return!0;for(t in!1===this._onStartCallbackFired&&(null!==this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),n=(e-this._startTime)/this._duration,n=0===this._duration||n>1?1:n,o=this._easingFunction(n),this._valuesEnd)if(void 0!==this._valuesStart[t]){var a=this._valuesStart[t]||0,r=this._valuesEnd[t];r instanceof Array?this._object[t]=this._interpolationFunction(r,o):("string"==typeof r&&(r="+"===r.charAt(0)||"-"===r.charAt(0)?a+parseFloat(r):parseFloat(r)),"number"==typeof r&&(this._object[t]=a+(r-a)*o))}if(null!==this._onUpdateCallback&&this._onUpdateCallback(this._object,n),1===n){if(this._repeat>0){for(t in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat){if("string"==typeof this._valuesEnd[t]&&(this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(this._valuesEnd[t])),this._yoyo){var i=this._valuesStartRepeat[t];this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=i}this._valuesStart[t]=this._valuesStartRepeat[t]}return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,null!==this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}null!==this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var s=0,c=this._chainedTweens.length;s<c;s++)this._chainedTweens[s].start(this._startTime+this._duration);return!1}return!0}},V.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-V.Easing.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*V.Easing.Bounce.In(2*e):.5*V.Easing.Bounce.Out(2*e-1)+.5}}},V.Interpolation={Linear:function(e,t){var n=e.length-1,o=n*t,a=Math.floor(o),r=V.Interpolation.Utils.Linear;return t<0?r(e[0],e[1],o):t>1?r(e[n],e[n-1],n-o):r(e[a],e[a+1>n?n:a+1],o-a)},Bezier:function(e,t){for(var n=0,o=e.length-1,a=Math.pow,r=V.Interpolation.Utils.Bernstein,i=0;i<=o;i++)n+=a(1-t,o-i)*a(t,i)*e[i]*r(o,i);return n},CatmullRom:function(e,t){var n=e.length-1,o=n*t,a=Math.floor(o),r=V.Interpolation.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(a=Math.floor(o=n*(1+t))),r(e[(a-1+n)%n],e[a],e[(a+1)%n],e[(a+2)%n],o-a)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-o)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],o-n)-e[n]):r(e[a?a-1:0],e[a],e[n<a+1?n:a+1],e[n<a+2?n:a+2],o-a)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=V.Interpolation.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:(D=[1],function(e){var t=1;if(D[e])return D[e];for(var n=e;n>1;n--)t*=n;return D[e]=t,t}),CatmullRom:function(e,t,n,o,a){var r=.5*(n-e),i=.5*(o-t),s=a*a;return(2*t-2*n+r+i)*(a*s)+(-3*t+3*n-2*r-i)*s+r*a+t}}},V.version="18.5.0";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var F,A=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){e.exports=function(e){function t(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){var o,a,r;a=[e,t],void 0!==(r="function"==typeof(o=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e instanceof Function?e:"string"==typeof e?function(t){return t[e]}:function(t){return e}},e.exports=t.default})?o.apply(t,a):o)&&(e.exports=r)}])})),z=(F=A)&&F.__esModule&&Object.prototype.hasOwnProperty.call(F,"default")?F.default:F;A.accessorFn;function U(e,t,n){var o,a,r,i,s;function c(){var u=Date.now()-i;u<t&&u>=0?o=setTimeout(c,t-u):(o=null,n||(s=e.apply(r,a),r=a=null))}null==t&&(t=100);var u=function(){r=this,a=arguments,i=Date.now();var u=n&&!o;return o||(o=setTimeout(c,t)),u&&(s=e.apply(r,a),r=a=null),s};return u.clear=function(){o&&(clearTimeout(o),o=null)},u.flush=function(){o&&(s=e.apply(r,a),r=a=null,clearTimeout(o),o=null)},u}U.debounce=U;var N=U;function Y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],o=!0,a=!1,r=void 0;try{for(var i,s=e[Symbol.iterator]();!(o=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);o=!0);}catch(e){a=!0,r=e}finally{try{o||null==s.return||s.return()}finally{if(a)throw r}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var H=function e(t,n){var o=n.default,a=void 0===o?null:o,r=n.triggerUpdate,i=void 0===r||r,s=n.onChange,c=void 0===s?function(e,t){}:s;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.defaultVal=a,this.triggerUpdate=i,this.onChange=c};var X=window.THREE?window.THREE:{WebGLRenderer:e.WebGLRenderer,Scene:e.Scene,PerspectiveCamera:e.PerspectiveCamera,Raycaster:e.Raycaster,TextureLoader:e.TextureLoader,Vector2:e.Vector2,Vector3:e.Vector3,Color:e.Color,Mesh:e.Mesh,SphereGeometry:e.SphereGeometry,MeshBasicMaterial:e.MeshBasicMaterial,BackSide:e.BackSide,EventDispatcher:e.EventDispatcher,MOUSE:e.MOUSE,Quaternion:e.Quaternion,Spherical:e.Spherical},q=function(e){function t(t,n){var o,a,r,i,s;this.object=t,this.domElement=void 0!==n?n:document,this.enabled=!0,this.target=new e.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:e.MOUSE.LEFT,ZOOM:e.MOUSE.MIDDLE,PAN:e.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return m.phi},this.getAzimuthalAngle=function(){return m.theta},this.reset=function(){c.target.copy(c.target0),c.object.position.copy(c.position0),c.object.zoom=c.zoom0,c.object.updateProjectionMatrix(),c.dispatchEvent(u),c.update(),p=h.NONE},this.update=(o=new e.Vector3,a=(new e.Quaternion).setFromUnitVectors(t.up,new e.Vector3(0,1,0)),r=a.clone().inverse(),i=new e.Vector3,s=new e.Quaternion,function(){var e=c.object.position;return o.copy(e).sub(c.target),o.applyQuaternion(a),m.setFromVector3(o),c.autoRotate&&p===h.NONE&&T(2*Math.PI/60/60*c.autoRotateSpeed),m.theta+=g.theta,m.phi+=g.phi,m.theta=Math.max(c.minAzimuthAngle,Math.min(c.maxAzimuthAngle,m.theta)),m.phi=Math.max(c.minPolarAngle,Math.min(c.maxPolarAngle,m.phi)),m.makeSafe(),m.radius*=b,m.radius=Math.max(c.minDistance,Math.min(c.maxDistance,m.radius)),c.target.add(v),o.setFromSpherical(m),o.applyQuaternion(r),e.copy(c.target).add(o),c.object.lookAt(c.target),!0===c.enableDamping?(g.theta*=1-c.dampingFactor,g.phi*=1-c.dampingFactor):g.set(0,0,0),b=1,v.set(0,0,0),!!(y||i.distanceToSquared(c.object.position)>f||8*(1-s.dot(c.object.quaternion))>f)&&(c.dispatchEvent(u),i.copy(c.object.position),s.copy(c.object.quaternion),y=!1,!0)}),this.dispose=function(){c.domElement.removeEventListener("contextmenu",Z,!1),c.domElement.removeEventListener("mousedown",A,!1),c.domElement.removeEventListener("wheel",N,!1),c.domElement.removeEventListener("touchstart",H,!1),c.domElement.removeEventListener("touchend",q,!1),c.domElement.removeEventListener("touchmove",X,!1),document.removeEventListener("mousemove",z,!1),document.removeEventListener("mouseup",U,!1),window.removeEventListener("keydown",Y,!1)};var c=this,u={type:"change"},l={type:"start"},d={type:"end"},h={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},p=h.NONE,f=1e-6,m=new e.Spherical,g=new e.Spherical,b=1,v=new e.Vector3,y=!1,w=new e.Vector2,E=new e.Vector2,k=new e.Vector2,S=new e.Vector2,_=new e.Vector2,P=new e.Vector2,O=new e.Vector2,C=new e.Vector2,x=new e.Vector2;function j(){return Math.pow(.95,c.zoomSpeed)}function T(e){g.theta-=e}function R(e){g.phi-=e}var L,I=(L=new e.Vector3,function(e,t){L.setFromMatrixColumn(t,0),L.multiplyScalar(-e),v.add(L)}),M=function(){var t=new e.Vector3;return function(e,n){t.setFromMatrixColumn(n,1),t.multiplyScalar(e),v.add(t)}}(),D=function(){var t=new e.Vector3;return function(n,o){var a=c.domElement===document?c.domElement.body:c.domElement;if(c.object instanceof e.PerspectiveCamera){var r=c.object.position;t.copy(r).sub(c.target);var i=t.length();i*=Math.tan(c.object.fov/2*Math.PI/180),I(2*n*i/a.clientHeight,c.object.matrix),M(2*o*i/a.clientHeight,c.object.matrix)}else c.object instanceof e.OrthographicCamera?(I(n*(c.object.right-c.object.left)/c.object.zoom/a.clientWidth,c.object.matrix),M(o*(c.object.top-c.object.bottom)/c.object.zoom/a.clientHeight,c.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),c.enablePan=!1)}}();function V(t){c.object instanceof e.PerspectiveCamera?b/=t:c.object instanceof e.OrthographicCamera?(c.object.zoom=Math.max(c.minZoom,Math.min(c.maxZoom,c.object.zoom*t)),c.object.updateProjectionMatrix(),y=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),c.enableZoom=!1)}function F(t){c.object instanceof e.PerspectiveCamera?b*=t:c.object instanceof e.OrthographicCamera?(c.object.zoom=Math.max(c.minZoom,Math.min(c.maxZoom,c.object.zoom/t)),c.object.updateProjectionMatrix(),y=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),c.enableZoom=!1)}function A(e){if(!1!==c.enabled){if(e.preventDefault(),e.button===c.mouseButtons.ORBIT){if(!1===c.enableRotate)return;!function(e){w.set(e.clientX,e.clientY)}(e),p=h.ROTATE}else if(e.button===c.mouseButtons.ZOOM){if(!1===c.enableZoom)return;!function(e){O.set(e.clientX,e.clientY)}(e),p=h.DOLLY}else if(e.button===c.mouseButtons.PAN){if(!1===c.enablePan)return;!function(e){S.set(e.clientX,e.clientY)}(e),p=h.PAN}p!==h.NONE&&(document.addEventListener("mousemove",z,!1),document.addEventListener("mouseup",U,!1),c.dispatchEvent(l))}}function z(e){if(!1!==c.enabled)if(e.preventDefault(),p===h.ROTATE){if(!1===c.enableRotate)return;!function(e){E.set(e.clientX,e.clientY),k.subVectors(E,w);var t=c.domElement===document?c.domElement.body:c.domElement;T(2*Math.PI*k.x/t.clientWidth*c.rotateSpeed),R(2*Math.PI*k.y/t.clientHeight*c.rotateSpeed),w.copy(E),c.update()}(e)}else if(p===h.DOLLY){if(!1===c.enableZoom)return;!function(e){C.set(e.clientX,e.clientY),x.subVectors(C,O),x.y>0?V(j()):x.y<0&&F(j()),O.copy(C),c.update()}(e)}else if(p===h.PAN){if(!1===c.enablePan)return;!function(e){_.set(e.clientX,e.clientY),P.subVectors(_,S),D(P.x,P.y),S.copy(_),c.update()}(e)}}function U(e){!1!==c.enabled&&(document.removeEventListener("mousemove",z,!1),document.removeEventListener("mouseup",U,!1),c.dispatchEvent(d),p=h.NONE)}function N(e){!1===c.enabled||!1===c.enableZoom||p!==h.NONE&&p!==h.ROTATE||(e.preventDefault(),e.stopPropagation(),function(e){e.deltaY<0?F(j()):e.deltaY>0&&V(j()),c.update()}(e),c.dispatchEvent(l),c.dispatchEvent(d))}function Y(e){!1!==c.enabled&&!1!==c.enableKeys&&!1!==c.enablePan&&function(e){switch(e.keyCode){case c.keys.UP:D(0,c.keyPanSpeed),c.update();break;case c.keys.BOTTOM:D(0,-c.keyPanSpeed),c.update();break;case c.keys.LEFT:D(c.keyPanSpeed,0),c.update();break;case c.keys.RIGHT:D(-c.keyPanSpeed,0),c.update()}}(e)}function H(e){if(!1!==c.enabled){switch(e.touches.length){case 1:if(!1===c.enableRotate)return;!function(e){w.set(e.touches[0].pageX,e.touches[0].pageY)}(e),p=h.TOUCH_ROTATE;break;case 2:if(!1===c.enableZoom)return;!function(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(t*t+n*n);O.set(0,o)}(e),p=h.TOUCH_DOLLY;break;case 3:if(!1===c.enablePan)return;!function(e){S.set(e.touches[0].pageX,e.touches[0].pageY)}(e),p=h.TOUCH_PAN;break;default:p=h.NONE}p!==h.NONE&&c.dispatchEvent(l)}}function X(e){if(!1!==c.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:if(!1===c.enableRotate)return;if(p!==h.TOUCH_ROTATE)return;!function(e){E.set(e.touches[0].pageX,e.touches[0].pageY),k.subVectors(E,w);var t=c.domElement===document?c.domElement.body:c.domElement;T(2*Math.PI*k.x/t.clientWidth*c.rotateSpeed),R(2*Math.PI*k.y/t.clientHeight*c.rotateSpeed),w.copy(E),c.update()}(e);break;case 2:if(!1===c.enableZoom)return;if(p!==h.TOUCH_DOLLY)return;!function(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(t*t+n*n);C.set(0,o),x.subVectors(C,O),x.y>0?F(j()):x.y<0&&V(j()),O.copy(C),c.update()}(e);break;case 3:if(!1===c.enablePan)return;if(p!==h.TOUCH_PAN)return;!function(e){_.set(e.touches[0].pageX,e.touches[0].pageY),P.subVectors(_,S),D(P.x,P.y),S.copy(_),c.update()}(e);break;default:p=h.NONE}}function q(e){!1!==c.enabled&&(c.dispatchEvent(d),p=h.NONE)}function Z(e){e.preventDefault()}c.domElement.addEventListener("contextmenu",Z,!1),c.domElement.addEventListener("mousedown",A,!1),c.domElement.addEventListener("wheel",N,!1),c.domElement.addEventListener("touchstart",H,!1),c.domElement.addEventListener("touchend",q,!1),c.domElement.addEventListener("touchmove",X,!1),window.addEventListener("keydown",Y,!1),this.update()}return t.prototype=Object.create(e.EventDispatcher.prototype),t.prototype.constructor=t,Object.defineProperties(t.prototype,{center:{get:function(){return console.warn("THREE.OrbitControls: .center has been renamed to .target"),this.target}},noZoom:{get:function(){return console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),!this.enableZoom},set:function(e){console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),this.enableZoom=!e}},noRotate:{get:function(){return console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),!this.enableRotate},set:function(e){console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),this.enableRotate=!e}},noPan:{get:function(){return console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),!this.enablePan},set:function(e){console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),this.enablePan=!e}},noKeys:{get:function(){return console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),!this.enableKeys},set:function(e){console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),this.enableKeys=!e}},staticMoving:{get:function(){return console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),!this.enableDamping},set:function(e){console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),this.enableDamping=!e}},dynamicDampingFactor:{get:function(){return console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor},set:function(e){console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor=e}}}),t}(X),Z=(function(e){e.FlyControls=function(t,n,o){this.object=t,o=o||{},this.domElement=void 0!==n?n:document,n&&this.domElement.setAttribute("tabindex",-1),this.movementSpeed=void 0===o.movementSpeed?1:o.movementSpeed,this.rollSpeed=void 0===o.rollSpeed?.005:o.rollSpeed,this.dragToLook=!0,this.autoForward=!1,this.tmpQuaternion=new e.Quaternion,this.mouseStatus=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new e.Vector3(0,0,0),this.rotationVector=new e.Vector3(0,0,0);var a=Date.now();function r(e,t){return function(){t.apply(e,arguments)}}this.handleEvent=function(e){"function"==typeof this[e.type]&&this[e.type](e)},this.keydown=function(e){if(!e.altKey){switch(e.keyCode){case 16:this.movementSpeedMultiplier=.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}[38,40,37,39].indexOf(e.keyCode)>-1&&e.preventDefault(),this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(e){switch(e.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;case 69:this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()},this.mousedown=function(e){if(this.domElement!==document&&this.domElement.focus(),e.preventDefault(),e.stopPropagation(),this.dragToLook)this.mouseStatus++;else{switch(e.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}},this.mousemove=function(e){if(!this.dragToLook||this.mouseStatus>0){var t=this.getContainerDimensions(),n=t.size[0]/2,o=t.size[1]/2;this.moveState.yawLeft=-(e.pageX-t.offset[0]-n)/n,this.moveState.pitchDown=(e.pageY-t.offset[1]-o)/o,this.updateRotationVector()}},this.mouseout=function(e){e.preventDefault(),e.stopPropagation(),this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.updateRotationVector(),this.updateMovementVector()},this.mouseup=function(e){if(e.preventDefault(),e.stopPropagation(),this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(e.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()},this.update=function(e){var t=Date.now(),n=(e=(t-a)/10)*this.movementSpeed,o=e*this.rollSpeed;this.object.translateX(this.moveVector.x*n),this.object.translateY(this.moveVector.y*n),this.object.translateZ(this.moveVector.z*n),this.tmpQuaternion.set(this.rotationVector.x*o,this.rotationVector.y*o,this.rotationVector.z*o,1).normalize(),this.object.quaternion.multiply(this.tmpQuaternion),this.object.rotation.setFromQuaternion(this.object.quaternion,this.object.rotation.order),a=t},this.updateMovementVector=function(){var e=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-e+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.domElement.addEventListener("contextmenu",(function(e){e.preventDefault()}),!1),this.domElement.addEventListener("mousemove",r(this,this.mousemove),!1),this.domElement.addEventListener("mousedown",r(this,this.mousedown),!1),this.domElement.addEventListener("mouseup",r(this,this.mouseup),!1),this.domElement.addEventListener("mouseout",r(this,this.mouseout),!1),this.domElement.addEventListener("keydown",r(this,this.keydown),!1),this.domElement.addEventListener("keyup",r(this,this.keyup),!1),this.updateMovementVector(),this.updateRotationVector()}}(X),X.FlyControls);return function(e){var t=e.stateInit,n=void 0===t?function(){return{}}:t,o=e.props,a=void 0===o?{}:o,r=e.methods,i=void 0===r?{}:r,s=e.aliases,c=void 0===s?{}:s,u=e.init,l=void 0===u?function(){}:u,d=e.update,h=void 0===d?function(){}:d,p=Object.keys(a).map((function(e){return new H(e,a[e])}));return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},n instanceof Function?n(e):n,{initialised:!1}),o={};function a(t){return r(t,e),s(),a}var r=function(e,n){l.call(a,e,t,n),t.initialised=!0},s=N((function(){t.initialised&&(h.call(a,t,o),o={})}),1);return p.forEach((function(e){a[e.name]=function(e){var n=e.name,r=e.triggerUpdate,i=void 0!==r&&r,c=e.onChange,u=void 0===c?function(e,t){}:c,l=e.defaultVal,d=void 0===l?null:l;return function(e){var r=t[n];if(!arguments.length)return r;var c=void 0===e?d:e;return t[n]=c,u.call(a,c,t,r),!o.hasOwnProperty(n)&&(o[n]=r),i&&s(),a}}(e)})),Object.keys(i).forEach((function(e){a[e]=function(){for(var n,o=arguments.length,r=new Array(o),s=0;s<o;s++)r[s]=arguments[s];return(n=i[e]).call.apply(n,[a,t].concat(r))}})),Object.entries(c).forEach((function(e){var t=Y(e,2),n=t[0],o=t[1];return a[n]=a[o]})),a.resetProps=function(){return p.forEach((function(e){a[e.name](e.defaultVal)})),a},a.resetProps(),t._rerender=s,a}}({props:{width:{default:window.innerWidth,onChange:function(e,t,n){isNaN(e)&&(t.width=n)}},height:{default:window.innerHeight,onChange:function(e,t,n){isNaN(e)&&(t.height=n)}},backgroundColor:{default:"#000011"},backgroundImageUrl:{},onBackgroundImageLoaded:{},showNavInfo:{default:!0},skyRadius:{default:5e4},objects:{default:[]},postProcessingComposer:{triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null,t.toolTipElem&&(t.toolTipElem.innerHTML="")},triggerUpdate:!1},lineHoverPrecision:{default:1,triggerUpdate:!1},hoverOrderComparator:{default:function(){return-1},triggerUpdate:!1},tooltipContent:{triggerUpdate:!1},hoverDuringDrag:{default:!1,triggerUpdate:!1},onHover:{default:function(){},triggerUpdate:!1},onClick:{default:function(){},triggerUpdate:!1},onRightClick:{triggerUpdate:!1}},methods:{tick:function(e){if(e.initialised){if(e.controls.update&&e.controls.update(),e.postProcessingComposer?e.postProcessingComposer.render():e.renderer.render(e.scene,e.camera),e.enablePointerInteraction){var t=null;if(e.hoverDuringDrag||!e.controlsDragging){var n=new X.Raycaster;n.params.Line.threshold=e.lineHoverPrecision,n.setFromCamera(e.mousePos,e.camera);var o=n.intersectObjects(e.objects,!0).map((function(e){return e.object})).sort(e.hoverOrderComparator);t=o.length?o[0]:null}t!==e.hoverObj&&(e.onHover(t,e.hoverObj),e.toolTipElem.innerHTML=t&&z(e.tooltipContent)(t)||"",e.hoverObj=t)}V.update()}return this},cameraPosition:function(e,t,n,o){var a=e.camera;if(t&&e.initialised){var r=t,i=n||{x:0,y:0,z:0};if(o){var s=Object.assign({},a.position),c=d();new V.Tween(s).to(r,o).easing(V.Easing.Quadratic.Out).onUpdate(u).start(),new V.Tween(c).to(i,o/3).easing(V.Easing.Quadratic.Out).onUpdate(l).start()}else u(r),l(i);return this}return Object.assign({},a.position,{lookAt:d()});function u(e){var t=e.x,n=e.y,o=e.z;void 0!==t&&(a.position.x=t),void 0!==n&&(a.position.y=n),void 0!==o&&(a.position.z=o)}function l(t){e.controls.target=new X.Vector3(t.x,t.y,t.z)}function d(){return Object.assign(new X.Vector3(0,0,-1e3).applyQuaternion(a.quaternion).add(a.position))}},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new X.Scene,camera:new X.PerspectiveCamera}},init:function(e,t,n){var o=n.controlType,r=void 0===o?"trackball":o,i=n.rendererConfig,s=void 0===i?{}:i,c=n.waitForLoadComplete,u=void 0===c||c;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[r]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.toolTipElem=document.createElement("div"),t.toolTipElem.classList.add("scene-tooltip"),t.container.appendChild(t.toolTipElem),t.mousePos=new X.Vector2,t.mousePos.x=-2,t.mousePos.y=-2,t.container.addEventListener("mousemove",(function(e){if(t.enablePointerInteraction){var n=(a=t.container,r=a.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop,{top:r.top+s,left:r.left+i}),o={x:e.pageX-n.left,y:e.pageY-n.top};t.mousePos.x=o.x/t.width*2-1,t.mousePos.y=-o.y/t.height*2+1,t.toolTipElem.style.top="".concat(o.y,"px"),t.toolTipElem.style.left="".concat(o.x,"px"),t.toolTipElem.style.transform="translate(-".concat(o.x/t.width*100,"%, 21px)")}var a,r,i,s}),!1),t.container.addEventListener("click",(function(e){t.ignoreOneClick?t.ignoreOneClick=!1:t.onClick(t.hoverObj||null,e)}),!1),t.container.addEventListener("mouseup",(function(e){if(2===e.button&&t.onRightClick){if(t.ignoreOneClick)return void(t.ignoreOneClick=!1);t.onRightClick(t.hoverObj||null,e)}}),!1),t.renderer=new X.WebGLRenderer(Object.assign({antialias:!0,alpha:!0},s)),t.renderer.setPixelRatio(window.devicePixelRatio),t.container.appendChild(t.renderer.domElement),t.controls=new{trackball:a,orbit:q,fly:Z}[r](t.camera,t.renderer.domElement),"fly"===r&&(t.controls.movementSpeed=2.5),"trackball"!==r&&"orbit"!==r||(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",(function(){return t.controlsEngaged=!0})),t.controls.addEventListener("change",(function(){t.controlsEngaged&&(t.controlsDragging=!0,t.ignoreOneClick=!0)})),t.controls.addEventListener("end",(function(){t.controlsEngaged=!1,t.controlsDragging=!1}))),t.renderer.setSize(t.width,t.height),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new X.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!u,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&(e.container.style.width=e.width,e.container.style.height=e.height,e.renderer.setSize(e.width,e.height),e.camera.aspect=e.width/e.height,e.camera.updateProjectionMatrix()),t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=e.skyRadius),e.camera.far=2.5*e.skyRadius,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new X.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var n=C(e.backgroundColor).alpha;void 0===n&&(n=1),e.renderer.setClearColor(new X.Color(I(1,e.backgroundColor)),n)}function o(){e.loadComplete=e.scene.visible=!0}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?(new X.TextureLoader).load(e.backgroundImageUrl,(function(t){e.skysphere.material=new X.MeshBasicMaterial({map:t,side:X.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&o()})):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&o())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("objects")&&((t.objects||[]).forEach((function(t){return e.scene.remove(t)})),e.objects.forEach((function(t){return e.scene.add(t)})))}})}));

@@ -39,4 +39,4 @@ import { WebGLRenderer, Scene, PerspectiveCamera, Raycaster, TextureLoader, Vector2, Vector3, Color, Mesh, SphereGeometry, MeshBasicMaterial, BackSide, EventDispatcher, MOUSE, Quaternion, Spherical } from 'three';

var css = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}";
styleInject(css);
var css_248z = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}";
styleInject(css_248z);

@@ -147,3 +147,4 @@ var three = window.THREE ? window.THREE // Prefer consumption from global THREE, if exists

var raycaster = new three.Raycaster();
raycaster.linePrecision = state.lineHoverPrecision;
raycaster.params.Line.threshold = state.lineHoverPrecision; // set linePrecision
raycaster.setFromCamera(state.mousePos, state.camera);

@@ -150,0 +151,0 @@ var intersects = raycaster.intersectObjects(state.objects, true).map(function (_ref) {

{
"name": "three-render-objects",
"version": "1.12.2",
"version": "1.12.3",
"description": "Easy way to render ThreeJS objects with built-in interaction defaults",

@@ -52,16 +52,16 @@ "license": "MIT",

"devDependencies": {
"@babel/core": "^7.8.4",
"@babel/core": "^7.8.7",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.8.3",
"@babel/preset-env": "^7.8.4",
"@babel/preset-env": "^7.8.7",
"postcss-nested": "^4.2.1",
"postcss-simple-vars": "^5.0.2",
"rimraf": "^3.0.1",
"rollup": "^1.31.0",
"rollup-plugin-babel": "^4.3.3",
"rimraf": "^3.0.2",
"rollup": "^2.0.3",
"rollup-plugin-babel": "^4.4.0",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-postcss": "^2.0.6",
"terser": "^4.6.3"
"rollup-plugin-postcss": "^2.4.1",
"terser": "^4.6.6"
}
}

@@ -73,3 +73,3 @@ three-render-objects

| <b>cameraPosition</b>([<i>{x,y,z}</i>], [<i>lookAt</i>], [<i>ms</i>]) | Getter/setter for the camera position, in terms of `x`, `y`, `z` coordinates. Each of the coordinates is optional, allowing for motion in just some dimensions. The optional second argument can be used to define the direction that the camera should aim at, in terms of an `{x,y,z}` point in the 3D space at the distance of `1000` away from the camera. The 3rd optional argument defines the duration of the transition (in <i>ms</i>) to animate the camera motion. A value of `0` (default) moves the camera immediately to the final position. | By default the camera will face the center of the graph at a `z` distance of `1000`. |
| <b>postProcessingComposer</b>() | Getter/setter for the [postprocessing composer](https://threejs.org/docs/#examples/en/postprocessing/EffectComposer). If an effect composer is defined, only the output of this composer is rendered, instead of the regular `renderer`. | `null` |
| <b>postProcessingComposer</b>([EffectComposer]) | Getter/setter for the [postprocessing composer](https://threejs.org/docs/#examples/en/postprocessing/EffectComposer). If an effect composer is defined, only the output of this composer is rendered, instead of the regular `renderer`. | `null` |
| <b>renderer</b>() | Access the [WebGL renderer](https://threejs.org/docs/#api/renderers/WebGLRenderer) object. ||

@@ -76,0 +76,0 @@ | <b>camera</b>() | Access the [perspective camera](https://threejs.org/docs/#api/cameras/PerspectiveCamera) object. ||

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc