From ecd44279002a05b81d3831973541b26eb5fca0f8 Mon Sep 17 00:00:00 2001 From: Silvio Paganini Date: Fri, 13 Jan 2017 13:00:13 +0000 Subject: [PATCH] lighting --- tiltbrush/js/bundle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiltbrush/js/bundle.js b/tiltbrush/js/bundle.js index 9972c5d..f432f47 100644 --- a/tiltbrush/js/bundle.js +++ b/tiltbrush/js/bundle.js @@ -21,6 +21,6 @@ case"boolean":return Yn;case"string":return Xn}throw new Error("Unsupported type if(0>l&&(a=t[o],c=-c,s=t[r],l=-l),e.ys.y)continue;if(e.y===a.y){if(e.x===a.x)return!0}else{var h=l*(e.x-a.x)-c*(e.y-a.y);if(0===h)return!0;if(0>h)continue;i=!i}}else{if(e.y!==a.y)continue;if(s.x<=e.x&&e.x<=a.x||a.x<=e.x&&e.x<=s.x)return!0}}return i}var r=ul.isClockWise,o=this.subPaths;if(0===o.length)return[];if(t===!0)return n(o);var a,s,c,l=[];if(1===o.length)return s=o[0],c=new li,c.curves=s.curves,l.push(c),l;var h=!r(o[0].getPoints());h=e?!h:h;var u,d=[],p=[],f=[],m=0;p[m]=void 0,f[m]=[];for(var g=0,v=o.length;v>g;g++)s=o[g],u=s.getPoints(),a=r(u),a=e?!a:a,a?(!h&&p[m]&&m++,p[m]={s:new li,p:u},p[m].s.curves=s.curves,h&&m++,f[m]=[]):f[m].push({h:s,p:u[0]});if(!p[0])return n(o);if(p.length>1){for(var y=!1,_=[],x=0,b=p.length;b>x;x++)d[x]=[];for(var x=0,b=p.length;b>x;x++)for(var w=f[x],M=0;M0&&(y||(f=d))}for(var A,g=0,L=p.length;L>g;g++){c=p[g].s,l.push(c),A=f[g];for(var R=0,C=A.length;C>R;R++)c.holes.push(A[R].h)}return l}},Object.assign(di.prototype,{isFont:!0,generateShapes:function(e,t,n){function i(e){for(var n=String(e).split(""),i=t/o.resolution,a=0,s=[],c=0;cw;){var E=b[w++];switch(E){case"m":a=b[w++]*t+i,s=b[w++]*t,v.moveTo(a,s);break;case"l":a=b[w++]*t+i,s=b[w++]*t,v.lineTo(a,s);break;case"q":if(c=b[w++]*t+i,l=b[w++]*t,d=b[w++]*t+i,p=b[w++]*t,v.quadraticCurveTo(d,p,c,l),g=y[y.length-1]){h=g.x,u=g.y;for(var S=1;n>=S;S++){var T=S/n;_(T,h,d,c),_(T,u,p,l)}}break;case"b":if(c=b[w++]*t+i,l=b[w++]*t,d=b[w++]*t+i,p=b[w++]*t,f=b[w++]*t+i,m=b[w++]*t,v.bezierCurveTo(d,p,f,m,c,l),g=y[y.length-1]){h=g.x,u=g.y;for(var S=1;n>=S;S++){var T=S/n;x(T,h,d,f,c),x(T,u,p,m,l)}}}}return{offset:r.ha*t,path:v}}}void 0===t&&(t=100),void 0===n&&(n=4);for(var o=this.data,a=i(e),s=[],c=0,l=a.length;l>c;c++)Array.prototype.push.apply(s,a[c].toShapes());return s}}),Object.assign(pi.prototype,{load:function(e,t,n,i){var r=this,o=new wn(this.manager);o.load(e,function(e){var n;try{n=JSON.parse(e)}catch(i){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),n=JSON.parse(e.substring(65,e.length-2))}var o=r.parse(n);t&&t(o)},n,i)},parse:function(e){return new di(e)}});var bl,wl={getContext:function(){return void 0===bl&&(bl=new(window.AudioContext||window.webkitAudioContext)),bl},setContext:function(e){bl=e}};Object.assign(fi.prototype,{load:function(e,t,n,i){var r=new wn(this.manager);r.setResponseType("arraybuffer"),r.load(e,function(e){var n=wl.getContext();n.decodeAudioData(e,function(e){t(e)})},n,i)}}),mi.prototype=Object.assign(Object.create(Ln.prototype),{constructor:mi,isRectAreaLight:!0,copy:function(e){return Ln.prototype.copy.call(this,e),this.width=e.width,this.height=e.height,this}}),Object.assign(gi.prototype,{update:function(){var e,t,n,i,r,o,a,s=new l,c=new l;return function(l){var h=e!==this||t!==l.focus||n!==l.fov||i!==l.aspect*this.aspect||r!==l.near||o!==l.far||a!==l.zoom;if(h){e=this,t=l.focus,n=l.fov,i=l.aspect*this.aspect,r=l.near,o=l.far,a=l.zoom;var u,d,p=l.projectionMatrix.clone(),f=this.eyeSep/2,m=f*r/t,g=r*Math.tan(Ka.DEG2RAD*n*.5)/a;c.elements[12]=-f,s.elements[12]=f,u=-g*i+m,d=g*i+m,p.elements[0]=2*r/(d-u),p.elements[8]=(d+u)/(d-u),this.cameraL.projectionMatrix.copy(p),u=-g*i-m,d=g*i-m,p.elements[0]=2*r/(d-u),p.elements[8]=(d+u)/(d-u),this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(l.matrixWorld).multiply(c),this.cameraR.matrixWorld.copy(l.matrixWorld).multiply(s)}}()}),vi.prototype=Object.create(ce.prototype),vi.prototype.constructor=vi,yi.prototype=Object.assign(Object.create(ce.prototype),{constructor:yi,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null)},getFilter:function(){return this.filter},setFilter:function(e){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination)},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(e){this.gain.gain.value=e},updateMatrixWorld:function(){var e=new c,t=new s,n=new c,i=new c;return function(r){ce.prototype.updateMatrixWorld.call(this,r);var o=this.context.listener,a=this.up;this.matrixWorld.decompose(e,t,n),i.set(0,0,-1).applyQuaternion(t),o.positionX?(o.positionX.setValueAtTime(e.x,this.context.currentTime),o.positionY.setValueAtTime(e.y,this.context.currentTime),o.positionZ.setValueAtTime(e.z,this.context.currentTime),o.forwardX.setValueAtTime(i.x,this.context.currentTime),o.forwardY.setValueAtTime(i.y,this.context.currentTime),o.forwardZ.setValueAtTime(i.z,this.context.currentTime),o.upX.setValueAtTime(a.x,this.context.currentTime),o.upY.setValueAtTime(a.y,this.context.currentTime),o.upZ.setValueAtTime(a.z,this.context.currentTime)):(o.setPosition(e.x,e.y,e.z),o.setOrientation(i.x,i.y,i.z,a.x,a.y,a.z))}}()}),_i.prototype=Object.assign(Object.create(ce.prototype),{constructor:_i,getOutput:function(){return this.gain},setNodeSource:function(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this},setBuffer:function(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(this.isPlaying===!0)return void console.warn("THREE.Audio: Audio is already playing.");if(this.hasPlaybackControl===!1)return void console.warn("THREE.Audio: this Audio has no playback control.");var e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.onended=this.onEnded.bind(this),e.playbackRate.setValueAtTime(this.playbackRate,this.startTime),e.start(0,this.startTime),this.isPlaying=!0,this.source=e,this.connect()},pause:function(){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.source.stop(),this.startTime=this.context.currentTime,this.isPlaying=!1,this)},stop:function(){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.source.stop(),this.startTime=0,this.isPlaying=!1,this)},connect:function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var e=1,t=this.filters.length;t>e;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(var e=1,t=this.filters.length;t>e;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(e){return e||(e=[]),this.isPlaying===!0?(this.disconnect(),this.filters=e,this.connect()):this.filters=e,this},getFilter:function(){return this.getFilters()[0]},setFilter:function(e){return this.setFilters(e?[e]:[])},setPlaybackRate:function(e){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.playbackRate=e,this.isPlaying===!0&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this)},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return this.hasPlaybackControl===!1?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(e){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.loop=e,this.isPlaying===!0&&(this.source.loop=this.loop),this)},getVolume:function(){return this.gain.gain.value},setVolume:function(e){return this.gain.gain.value=e,this}}),xi.prototype=Object.assign(Object.create(_i.prototype),{constructor:xi,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(e){this.panner.refDistance=e},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(e){this.panner.rolloffFactor=e},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(e){this.panner.distanceModel=e},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(e){this.panner.maxDistance=e},updateMatrixWorld:function(){var e=new c;return function(t){ce.prototype.updateMatrixWorld.call(this,t),e.setFromMatrixPosition(this.matrixWorld),this.panner.setPosition(e.x,e.y,e.z)}}()}),Object.assign(bi.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var e=0,t=this.getFrequencyData(),n=0;nr){var a=3*t;this._mixBufferRegion(n,i,a,1-r,t)}for(var s=t,c=t+t;s!==c;++s)if(n[s]!==n[s+t]){o.setValue(n,i);break}},saveOriginalState:function(){var e=this.binding,t=this.buffer,n=this.valueSize,i=3*n;e.getValue(t,i);for(var r=n,o=i;r!==o;++r)t[r]=t[i+r%n];this.cumulativeWeight=0},restoreOriginalState:function(){var e=3*this.valueSize;this.binding.setValue(this.buffer,e)},_select:function(e,t,n,i,r){if(i>=.5)for(var o=0;o!==r;++o)e[t+o]=e[n+o]},_slerp:function(e,t,n,i){s.slerpFlat(e,t,e,t,e,n,i)},_lerp:function(e,t,n,i,r){for(var o=1-i,a=0;a!==r;++a){var s=t+a;e[s]=e[s]*o+e[n+a]*i}}},Mi.prototype={constructor:Mi,getValue:function(e,t){this.bind(),this.getValue(e,t)},setValue:function(e,t){this.bind(),this.setValue(e,t)},bind:function(){var e=this.node,t=this.parsedPath,n=t.objectName,i=t.propertyName,r=t.propertyIndex;if(e||(e=Mi.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e)return void console.error(" trying to update node for track: "+this.path+" but it wasn't found.");if(n){var o=t.objectIndex;switch(n){case"materials":if(!e.material)return void console.error(" can not bind to material as node does not have a material",this);if(!e.material.materials)return void console.error(" can not bind to material.materials as node.material does not have a materials array",this);e=e.material.materials;break;case"bones":if(!e.skeleton)return void console.error(" can not bind to bones as node does not have a skeleton",this);e=e.skeleton.bones;for(var a=0;ad){p=e[d];var g=--n,v=e[g];i[v.uuid]=d,e[d]=v,i[u]=g,e[g]=h;for(var f=0,m=s;f!==m;++f){var y=a[f],_=y[g],x=y[d];y[d]=_,void 0===x&&(x=new Mi(h,r[f],o[f])),y[g]=x}}else e[d]!==p&&console.error("Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes...")}this.nCachedObjects_=n},remove:function(){for(var e=this._objects,t=this.nCachedObjects_,n=this._indicesByUUID,i=this._bindings,r=i.length,o=0,a=arguments.length;o!==a;++o){var s=arguments[o],c=s.uuid,l=n[c];if(void 0!==l&&l>=t){var h=t++,u=e[h];n[u.uuid]=l,e[l]=u,n[c]=h,e[h]=s;for(var d=0,p=r;d!==p;++d){var f=i[d],m=f[h],g=f[l];f[l]=m,f[h]=g}}}this.nCachedObjects_=t},uncache:function(){for(var e=this._objects,t=e.length,n=this.nCachedObjects_,i=this._indicesByUUID,r=this._bindings,o=r.length,a=0,s=arguments.length;a!==s;++a){var c=arguments[a],l=c.uuid,h=i[l];if(void 0!==h)if(delete i[l],n>h){var u=--n,d=e[u],p=--t,f=e[p];i[d.uuid]=h,e[h]=d,i[f.uuid]=u,e[u]=f,e.pop();for(var m=0,g=o;m!==g;++m){var v=r[m],y=v[u],_=v[p];v[h]=y,v[u]=_,v.pop()}}else{var p=--t,f=e[p];i[f.uuid]=h,e[h]=f,e.pop();for(var m=0,g=o;m!==g;++m){var v=r[m];v[h]=v[p],v.pop()}}}this.nCachedObjects_=n},subscribe_:function(e,t){var n=this._bindingsIndicesByPath,i=n[e],r=this._bindings;if(void 0!==i)return r[i];var o=this._paths,a=this._parsedPaths,s=this._objects,c=s.length,l=this.nCachedObjects_,h=new Array(c);i=r.length,n[e]=i,o.push(e),a.push(t),r.push(h);for(var u=l,d=s.length;u!==d;++u){var p=s[u];h[u]=new Mi(p,e,t)}return h},unsubscribe_:function(e){var t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){var i=this._paths,r=this._parsedPaths,o=this._bindings,a=o.length-1,s=o[a],c=e[a];t[c]=n,o[n]=s,o.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}},Si.prototype={constructor:Si,play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(e){return this._startTime=e,this},setLoop:function(e,t){return this.loop=e,this.repetitions=t,this},setEffectiveWeight:function(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(e){return this._scheduleFading(e,0,1)},fadeOut:function(e){return this._scheduleFading(e,1,0)},crossFadeFrom:function(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){var i=this._clip.duration,r=e._clip.duration,o=r/i,a=i/r;e.warp(1,o,t),this.warp(a,1,t)}return this},crossFadeTo:function(e,t,n){return e.crossFadeFrom(this,t,n)},stopFading:function(){var e=this._weightInterpolant;return null!==e&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},setEffectiveTimeScale:function(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(e){return this.timeScale=this._clip.duration/e,this.stopWarping()},syncWith:function(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()},halt:function(e){return this.warp(this._effectiveTimeScale,0,e)},warp:function(e,t,n){var i=this._mixer,r=i.time,o=this._timeScaleInterpolant,a=this.timeScale;null===o&&(o=i._lendControlInterpolant(),this._timeScaleInterpolant=o);var s=o.parameterPositions,c=o.sampleValues;return s[0]=r,s[1]=r+n,c[0]=e/a,c[1]=t/a,this},stopWarping:function(){var e=this._timeScaleInterpolant;return null!==e&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(e,t,n,i){var r=this._startTime;if(null!==r){var o=(e-r)*n;if(0>o||0===n)return;this._startTime=null,t=n*o}t*=this._updateTimeScale(e);var a=this._updateTime(t),s=this._updateWeight(e);if(s>0)for(var c=this._interpolants,l=this._propertyBindings,h=0,u=c.length;h!==u;++h)c[h].evaluate(a),l[h].accumulate(i,s)},_updateWeight:function(e){var t=0;if(this.enabled){t=this.weight;var n=this._weightInterpolant;if(null!==n){var i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=t,t},_updateTimeScale:function(e){var t=0;if(!this.paused){t=this.timeScale;var n=this._timeScaleInterpolant;if(null!==n){var i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t},_updateTime:function(e){var t=this.time+e;if(0===e)return t;var n=this._clip.duration,i=this.loop,r=this._loopCount;if(i===Ra){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(t>=n)t=n;else{if(!(0>t))break e;t=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:"finished",action:this,direction:0>e?-1:1})}}else{var o=i===Pa;if(-1===r&&(e>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),t>=n||0>t){var a=Math.floor(t/n);t-=n*a,r+=Math.abs(a);var s=this.repetitions-r;if(0>s)this.clampWhenFinished?this.paused=!0:this.enabled=!1,t=e>0?n:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(0===s){var c=0>e;this._setEndings(c,!c,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}if(o&&1===(1&r))return this.time=t,n-t}return this.time=t,t},_setEndings:function(e,t,n){var i=this._interpolantSettings;n?(i.endingStart=Na,i.endingEnd=Na):(i.endingStart=e?this.zeroSlopeAtStart?Na:Da:Fa,i.endingEnd=t?this.zeroSlopeAtEnd?Na:Da:Fa)},_scheduleFading:function(e,t,n){var i=this._mixer,r=i.time,o=this._weightInterpolant;null===o&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=r,s[0]=t,a[1]=r+e,s[1]=n,this}},Object.assign(Ti.prototype,t.prototype,{clipAction:function(e,t){var n=t||this._root,i=n.uuid,r="string"==typeof e?Jn.findByName(n,e):e,o=null!==r?r.uuid:e,a=this._actionsByClip[o],s=null;if(void 0!==a){var c=a.actionByRoot[i];if(void 0!==c)return c;s=a.knownActions[0],null===r&&(r=s._clip)}if(null===r)return null;var l=new Si(this,r,t);return this._bindAction(l,s),this._addInactiveAction(l,o,i),l},existingAction:function(e,t){var n=t||this._root,i=n.uuid,r="string"==typeof e?Jn.findByName(n,e):e,o=r?r.uuid:e,a=this._actionsByClip[o];return void 0!==a?a.actionByRoot[i]||null:null},stopAllAction:function(){var e=this._actions,t=this._nActiveActions,n=this._bindings,i=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var r=0;r!==t;++r)e[r].reset();for(var r=0;r!==i;++r)n[r].useCount=0;return this},update:function(e){e*=this.timeScale;for(var t=this._actions,n=this._nActiveActions,i=this.time+=e,r=Math.sign(e),o=this._accuIndex^=1,a=0;a!==n;++a){var s=t[a];s.enabled&&s._update(i,e,r,o)}for(var c=this._bindings,l=this._nActiveBindings,a=0;a!==l;++a)c[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(e){var t=this._actions,n=e.uuid,i=this._actionsByClip,r=i[n];if(void 0!==r){for(var o=r.knownActions,a=0,s=o.length;a!==s;++a){var c=o[a];this._deactivateAction(c);var l=c._cacheIndex,h=t[t.length-1];c._cacheIndex=null,c._byClipCacheIndex=null,h._cacheIndex=l,t[l]=h,t.pop(),this._removeInactiveBindingsForAction(c)}delete i[n]}},uncacheRoot:function(e){var t=e.uuid,n=this._actionsByClip;for(var i in n){var r=n[i].actionByRoot,o=r[t];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var a=this._bindingsByRootAndName,s=a[t];if(void 0!==s)for(var c in s){var l=s[c];l.restoreOriginalState(),this._removeInactiveBinding(l)}},uncacheAction:function(e,t){var n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}}),Object.assign(Ti.prototype,{_bindAction:function(e,t){var n=e._localRoot||this._root,i=e._clip.tracks,r=i.length,o=e._propertyBindings,a=e._interpolants,s=n.uuid,c=this._bindingsByRootAndName,l=c[s];void 0===l&&(l={},c[s]=l);for(var h=0;h!==r;++h){var u=i[h],d=u.name,p=l[d];if(void 0!==p)o[h]=p;else{if(p=o[h],void 0!==p){null===p._cacheIndex&&(++p.referenceCount,this._addInactiveBinding(p,s,d));continue}var f=t&&t._propertyBindings[h].binding.parsedPath;p=new wi(Mi.create(n,d,f),u.ValueTypeName,u.getValueSize()),++p.referenceCount,this._addInactiveBinding(p,s,d),o[h]=p}a[h].resultBuffer=p.buffer}},_activateAction:function(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){var t=(e._localRoot||this._root).uuid,n=e._clip.uuid,i=this._actionsByClip[n];this._bindAction(e,i&&i.knownActions[0]),this._addInactiveAction(e,n,t)}for(var r=e._propertyBindings,o=0,a=r.length;o!==a;++o){var s=r[o];0===s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}},_deactivateAction:function(e){if(this._isActiveAction(e)){for(var t=e._propertyBindings,n=0,i=t.length;n!==i;++n){var r=t[n];0===--r.useCount&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(e)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}},_isActiveAction:function(e){var t=e._cacheIndex;return null!==t&&ta;a++){var c=o[a];this.addGroup(c.start,c.count,c.materialIndex)}return this},Ri.prototype={constructor:Ri,isInterleavedBufferAttribute:!0,get count(){return this.data.count},get array(){return this.data.array},setX:function(e,t){return this.data.array[e*this.data.stride+this.offset]=t,this},setY:function(e,t){return this.data.array[e*this.data.stride+this.offset+1]=t,this},setZ:function(e,t){return this.data.array[e*this.data.stride+this.offset+2]=t,this},setW:function(e,t){return this.data.array[e*this.data.stride+this.offset+3]=t,this},getX:function(e){return this.data.array[e*this.data.stride+this.offset]},getY:function(e){return this.data.array[e*this.data.stride+this.offset+1]},getZ:function(e){return this.data.array[e*this.data.stride+this.offset+2]},getW:function(e){return this.data.array[e*this.data.stride+this.offset+3]},setXY:function(e,t,n){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this},setXYZ:function(e,t,n,i){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this},setXYZW:function(e,t,n,i,r){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this.data.array[e+3]=r,this}},Ci.prototype={constructor:Ci,isInterleavedBuffer:!0,set needsUpdate(e){e===!0&&this.version++},setArray:function(e){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.count=void 0!==e?e.length/this.stride:0,this.array=e},setDynamic:function(e){return this.dynamic=e,this},copy:function(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.dynamic=e.dynamic,this},copyAt:function(e,t,n){e*=this.stride,n*=t.stride;for(var i=0,r=this.stride;r>i;i++)this.array[e+i]=t.array[n+i];return this},set:function(e,t){return void 0===t&&(t=0),this.array.set(e,t),this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(e){return this.onUploadCallback=e,this}},Pi.prototype=Object.create(Ci.prototype),Pi.prototype.constructor=Pi,Pi.prototype.isInstancedInterleavedBuffer=!0,Pi.prototype.copy=function(e){return Ci.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this},Oi.prototype=Object.create(pe.prototype),Oi.prototype.constructor=Oi,Oi.prototype.isInstancedBufferAttribute=!0,Oi.prototype.copy=function(e){return pe.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this},Ii.prototype={constructor:Ii,linePrecision:1,set:function(e,t){this.ray.set(e,t)},setFromCamera:function(e,t){t&&t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld), this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize()):t&&t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(e,t){var n=[];return Di(e,this,n,t),n.sort(Ui),n},intersectObjects:function(e,t){var n=[];if(Array.isArray(e)===!1)return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),n;for(var i=0,r=e.length;r>i;i++)Di(e[i],this,n,t);return n.sort(Ui),n}},Ni.prototype={constructor:Ni,start:function(){this.startTime=(performance||Date).now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.running=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var e=0;if(this.autoStart&&!this.running&&this.start(),this.running){var t=(performance||Date).now();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}},zi.prototype={constructor:zi,set:function(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this},makeSafe:function(){var e=1e-6;return this.phi=Math.max(e,Math.min(Math.PI-e,this.phi)),this},setFromVector3:function(e){return this.radius=e.length(),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e.x,e.z),this.phi=Math.acos(Ka.clamp(e.y/this.radius,-1,1))),this}},Bi.prototype={constructor:Bi,set:function(e,t,n){return this.radius=e,this.theta=t,this.y=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this},setFromVector3:function(e){return this.radius=Math.sqrt(e.x*e.x+e.z*e.z),this.theta=Math.atan2(e.x,e.z),this.y=e.y,this}},ki.prototype=Object.create(Ae.prototype),ki.prototype.constructor=ki,ki.prototype.createAnimation=function(e,t,n,i){var r={start:t,end:n,length:n-t+1,fps:i,duration:(n-t)/i,lastFrame:0,currentFrame:0,active:!1,time:0,direction:1,weight:1,directionBackwards:!1,mirroredLoop:!1};this.animationsMap[e]=r,this.animationsList.push(r)},ki.prototype.autoCreateAnimations=function(e){for(var t,n=/([a-z]+)_?(\d+)/i,i={},r=this.geometry,o=0,a=r.morphTargets.length;a>o;o++){var s=r.morphTargets[o],c=s.name.match(n);if(c&&c.length>1){var l=c[1];i[l]||(i[l]={start:1/0,end:-(1/0)});var h=i[l];oh.end&&(h.end=o),t||(t=l)}}for(var l in i){var h=i[l];this.createAnimation(l,h.start,h.end,e)}this.firstAnimation=t},ki.prototype.setAnimationDirectionForward=function(e){var t=this.animationsMap[e];t&&(t.direction=1,t.directionBackwards=!1)},ki.prototype.setAnimationDirectionBackward=function(e){var t=this.animationsMap[e];t&&(t.direction=-1,t.directionBackwards=!0)},ki.prototype.setAnimationFPS=function(e,t){var n=this.animationsMap[e];n&&(n.fps=t,n.duration=(n.end-n.start)/n.fps)},ki.prototype.setAnimationDuration=function(e,t){var n=this.animationsMap[e];n&&(n.duration=t,n.fps=(n.end-n.start)/n.duration)},ki.prototype.setAnimationWeight=function(e,t){var n=this.animationsMap[e];n&&(n.weight=t)},ki.prototype.setAnimationTime=function(e,t){var n=this.animationsMap[e];n&&(n.time=t)},ki.prototype.getAnimationTime=function(e){var t=0,n=this.animationsMap[e];return n&&(t=n.time),t},ki.prototype.getAnimationDuration=function(e){var t=-1,n=this.animationsMap[e];return n&&(t=n.duration),t},ki.prototype.playAnimation=function(e){var t=this.animationsMap[e];t?(t.time=0,t.active=!0):console.warn("THREE.MorphBlendMesh: animation["+e+"] undefined in .playAnimation()")},ki.prototype.stopAnimation=function(e){var t=this.animationsMap[e];t&&(t.active=!1)},ki.prototype.update=function(e){for(var t=0,n=this.animationsList.length;n>t;t++){var i=this.animationsList[t];if(i.active){var r=i.duration/i.length;i.time+=i.direction*e,i.mirroredLoop?(i.time>i.duration||i.time<0)&&(i.direction*=-1,i.time>i.duration&&(i.time=i.duration,i.directionBackwards=!0),i.time<0&&(i.time=0,i.directionBackwards=!1)):(i.time=i.time%i.duration,i.time<0&&(i.time+=i.duration));var o=i.start+Ka.clamp(Math.floor(i.time/r),0,i.length-1),a=i.weight;o!==i.currentFrame&&(this.morphTargetInfluences[i.lastFrame]=0,this.morphTargetInfluences[i.currentFrame]=1*a,this.morphTargetInfluences[o]=0,i.lastFrame=i.currentFrame,i.currentFrame=o);var s=i.time%r/r;i.directionBackwards&&(s=1-s),i.currentFrame!==i.lastFrame?(this.morphTargetInfluences[i.currentFrame]=s*a,this.morphTargetInfluences[i.lastFrame]=(1-s)*a):this.morphTargetInfluences[i.currentFrame]=a}}},Gi.prototype=Object.create(ce.prototype),Gi.prototype.constructor=Gi,Gi.prototype.isImmediateRenderObject=!0,Hi.prototype=Object.create(yt.prototype),Hi.prototype.constructor=Hi,Hi.prototype.update=function(){var e=new c,t=new c,n=new te;return function(){var i=["a","b","c"];this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);var r=this.object.matrixWorld,o=this.geometry.attributes.position,a=this.object.geometry;if(a&&a.isGeometry)for(var s=a.vertices,c=a.faces,l=0,h=0,u=c.length;u>h;h++)for(var d=c[h],p=0,f=d.vertexNormals.length;f>p;p++){var m=s[d[i[p]]],g=d.vertexNormals[p];e.copy(m).applyMatrix4(r),t.copy(g).applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),o.setXYZ(l,e.x,e.y,e.z),l+=1,o.setXYZ(l,t.x,t.y,t.z),l+=1}else if(a&&a.isBufferGeometry)for(var v=a.attributes.position,y=a.attributes.normal,l=0,p=0,f=v.count;f>p;p++)e.set(v.getX(p),v.getY(p),v.getZ(p)).applyMatrix4(r),t.set(y.getX(p),y.getY(p),y.getZ(p)),t.applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),o.setXYZ(l,e.x,e.y,e.z),l+=1,o.setXYZ(l,t.x,t.y,t.z),l+=1;return o.needsUpdate=!0,this}}(),ji.prototype=Object.create(ce.prototype),ji.prototype.constructor=ji,ji.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},ji.prototype.update=function(){var e=new c,t=new c;return function(){var n=this.light.distance?this.light.distance:1e3,i=n*Math.tan(this.light.angle);this.cone.scale.set(i,i,n),e.setFromMatrixPosition(this.light.matrixWorld),t.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(t.sub(e)),this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}(),Vi.prototype=Object.create(yt.prototype),Vi.prototype.constructor=Vi,Vi.prototype.getBoneList=function(e){var t=[];e&&e.isBone&&t.push(e);for(var n=0;no;o++){var s=a/2>o?t:n;r.setXYZ(o,s.r,s.g,s.b)}i.lookAt(e.setFromMatrixPosition(this.light.matrixWorld).negate()),r.needsUpdate=!0}}(),qi.prototype=Object.create(yt.prototype),qi.prototype.constructor=qi,Zi.prototype=Object.create(yt.prototype),Zi.prototype.constructor=Zi,Ji.prototype=Object.create(yt.prototype),Ji.prototype.constructor=Ji,Ji.prototype.update=function(){var e=new c,t=new c,n=new te;return function(){this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);for(var i=this.object.matrixWorld,r=this.geometry.attributes.position,o=this.object.geometry,a=o.vertices,s=o.faces,c=0,l=0,h=s.length;h>l;l++){var u=s[l],d=u.normal;e.copy(a[u.a]).add(a[u.b]).add(a[u.c]).divideScalar(3).applyMatrix4(i),t.copy(d).applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),r.setXYZ(c,e.x,e.y,e.z),c+=1,r.setXYZ(c,t.x,t.y,t.z),c+=1}return r.needsUpdate=!0,this}}(),Ki.prototype=Object.create(ce.prototype),Ki.prototype.constructor=Ki,Ki.prototype.dispose=function(){var e=this.children[0],t=this.children[1];e.geometry.dispose(),e.material.dispose(),t.geometry.dispose(),t.material.dispose()},Ki.prototype.update=function(){var e=new c,t=new c,n=new c;return function(){e.setFromMatrixPosition(this.light.matrixWorld),t.setFromMatrixPosition(this.light.target.matrixWorld),n.subVectors(t,e);var i=this.children[0],r=this.children[1];i.lookAt(n),i.material.color.copy(this.light.color).multiplyScalar(this.light.intensity),r.lookAt(n),r.scale.z=n.length()}}(),Qi.prototype=Object.create(yt.prototype),Qi.prototype.constructor=Qi,Qi.prototype.update=function(){function e(e,o,a,s){i.set(o,a,s).unproject(r);var c=n[e];if(void 0!==c)for(var l=t.getAttribute("position"),h=0,u=c.length;u>h;h++)l.setXYZ(c[h],i.x,i.y,i.z)}var t,n,i=new c,r=new Ce;return function(){t=this.geometry,n=this.pointMap;var i=1,o=1;r.projectionMatrix.copy(this.camera.projectionMatrix),e("c",0,0,-1),e("t",0,0,1),e("n1",-i,-o,-1),e("n2",i,-o,-1),e("n3",-i,o,-1),e("n4",i,o,-1),e("f1",-i,-o,1),e("f2",i,-o,1),e("f3",-i,o,1),e("f4",i,o,1),e("u1",.7*i,1.1*o,-1),e("u2",.7*-i,1.1*o,-1),e("u3",0,2*o,-1),e("cf1",-i,0,1),e("cf2",i,0,1),e("cf3",0,-o,1),e("cf4",0,o,1),e("cn1",-i,0,-1),e("cn2",i,0,-1),e("cn3",0,-o,-1),e("cn4",0,o,-1),t.getAttribute("position").needsUpdate=!0}}(),$i.prototype=Object.create(yt.prototype),$i.prototype.constructor=$i,$i.prototype.update=function(){var e=new $;return function(t){if(t&&t.isBox3?e.copy(t):e.setFromObject(t),!e.isEmpty()){var n=e.min,i=e.max,r=this.geometry.attributes.position,o=r.array;o[0]=i.x,o[1]=i.y,o[2]=i.z,o[3]=n.x,o[4]=i.y,o[5]=i.z,o[6]=n.x,o[7]=n.y,o[8]=i.z,o[9]=i.x,o[10]=n.y,o[11]=i.z,o[12]=i.x,o[13]=i.y,o[14]=n.z,o[15]=n.x,o[16]=i.y,o[17]=n.z,o[18]=n.x,o[19]=n.y,o[20]=n.z,o[21]=i.x,o[22]=n.y,o[23]=n.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}();var Ml=new Te;Ml.addAttribute("position",new be([0,0,0,0,1,0],3));var El=new rn(0,.5,1,5,1);El.translate(0,-.5,0),er.prototype=Object.create(ce.prototype),er.prototype.constructor=er,er.prototype.setDirection=function(){var e,t=new c;return function(n){n.y>.99999?this.quaternion.set(0,0,0,1):n.y<-.99999?this.quaternion.set(1,0,0,0):(t.set(n.z,0,-n.x).normalize(),e=Math.acos(n.y),this.quaternion.setFromAxisAngle(t,e))}}(),er.prototype.setLength=function(e,t,n){void 0===t&&(t=.2*e),void 0===n&&(n=.2*t),this.line.scale.set(1,Math.max(0,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()},er.prototype.setColor=function(e){this.line.material.color.copy(e),this.cone.material.color.copy(e)},tr.prototype=Object.create(yt.prototype),tr.prototype.constructor=tr;var Sl=function(){function e(){}var t=new c,n=new e,i=new e,r=new e;return e.prototype.init=function(e,t,n,i){this.c0=e,this.c1=n,this.c2=-3*e+3*t-2*n-i,this.c3=2*e-2*t+n+i},e.prototype.initNonuniformCatmullRom=function(e,t,n,i,r,o,a){var s=(t-e)/r-(n-e)/(r+o)+(n-t)/o,c=(n-t)/o-(i-t)/(o+a)+(i-n)/a;s*=o,c*=o,this.init(t,n,s,c)},e.prototype.initCatmullRom=function(e,t,n,i,r){this.init(t,n,r*(n-e),r*(i-t))},e.prototype.calc=function(e){var t=e*e,n=t*e;return this.c0+this.c1*e+this.c2*t+this.c3*n},ni.create(function(e){this.points=e||[],this.closed=!1},function(e){var o,a,s,l,h=this.points;l=h.length,2>l&&console.log("duh, you need at least 2 points"),o=(l-(this.closed?0:1))*e,a=Math.floor(o),s=o-a,this.closed?a+=a>0?0:(Math.floor(Math.abs(a)/h.length)+1)*h.length:0===s&&a===l-1&&(a=l-2,s=1);var u,d,p,f;if(this.closed||a>0?u=h[(a-1)%l]:(t.subVectors(h[0],h[1]).add(h[0]),u=t),d=h[a%l],p=h[(a+1)%l],this.closed||l>a+2?f=h[(a+2)%l]:(t.subVectors(h[l-1],h[l-2]).add(h[l-1]),f=t),void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var m="chordal"===this.type?.5:.25,g=Math.pow(u.distanceToSquared(d),m),v=Math.pow(d.distanceToSquared(p),m),y=Math.pow(p.distanceToSquared(f),m);1e-4>v&&(v=1),1e-4>g&&(g=v),1e-4>y&&(y=v),n.initNonuniformCatmullRom(u.x,d.x,p.x,f.x,g,v,y),i.initNonuniformCatmullRom(u.y,d.y,p.y,f.y,g,v,y),r.initNonuniformCatmullRom(u.z,d.z,p.z,f.z,g,v,y)}else if("catmullrom"===this.type){var _=void 0!==this.tension?this.tension:.5;n.initCatmullRom(u.x,d.x,p.x,f.x,_),i.initCatmullRom(u.y,d.y,p.y,f.y,_),r.initCatmullRom(u.z,d.z,p.z,f.z,_)}var x=new c(n.calc(s),i.calc(s),r.calc(s));return x})}(),Tl=ni.create(function(e){console.warn("THREE.SplineCurve3 will be deprecated. Please use THREE.CatmullRomCurve3"),this.points=void 0===e?[]:e},function(e){var t=this.points,n=(t.length-1)*e,i=Math.floor(n),r=n-i,o=t[0==i?i:i-1],a=t[i],s=t[i>t.length-2?t.length-1:i+1],l=t[i>t.length-3?t.length-1:i+2],h=_l.interpolate;return new c(h(o.x,a.x,s.x,l.x,r),h(o.y,a.y,s.y,l.y,r),h(o.z,a.z,s.z,l.z,r))}),Al=ni.create(function(e,t,n,i){this.v0=e,this.v1=t,this.v2=n,this.v3=i},function(e){var t=ul.b3;return new c(t(e,this.v0.x,this.v1.x,this.v2.x,this.v3.x),t(e,this.v0.y,this.v1.y,this.v2.y,this.v3.y),t(e,this.v0.z,this.v1.z,this.v2.z,this.v3.z))}),Ll=ni.create(function(e,t,n){this.v0=e,this.v1=t,this.v2=n},function(e){var t=ul.b2;return new c(t(e,this.v0.x,this.v1.x,this.v2.x),t(e,this.v0.y,this.v1.y,this.v2.y),t(e,this.v0.z,this.v1.z,this.v2.z))}),Rl=ni.create(function(e,t){this.v1=e,this.v2=t},function(e){if(1===e)return this.v2.clone();var t=new c;return t.subVectors(this.v2,this.v1),t.multiplyScalar(e),t.add(this.v1),t});nr.prototype=Object.create(oi.prototype),nr.prototype.constructor=nr;var Cl={createMultiMaterialObject:function(e,t){for(var n=new bt,i=0,r=t.length;r>i;i++)n.add(new Ae(e,t[i]));return n},detach:function(e,t,n){e.applyMatrix(t.matrixWorld),t.remove(e),n.add(e)},attach:function(e,t,n){var i=new l;i.getInverse(n.matrixWorld),e.applyMatrix(i),t.remove(e),n.add(e)}},Pl=0,Ol=1;wr.prototype=Object.create(Sl.prototype),qi.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},Object.assign(Y.prototype,{center:function(e){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},size:function(e){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(e)}}),Object.assign($.prototype,{center:function(e){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionSphere:function(e){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)},size:function(e){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(e)}}),le.prototype.center=function(e){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(e)},Ka.random16=function(){return console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead."),Math.random()},Object.assign(te.prototype,{flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},multiplyVector3:function(e){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),e.applyMatrix3(this)},multiplyVector3Array:function(e){return console.warn("THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead."),this.applyToVector3Array(e)},applyToBuffer:function(e){return console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(e)}}),Object.assign(l.prototype,{extractPosition:function(e){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(e)},flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},getPosition:function(){var e;return function(){return void 0===e&&(e=new c),console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),e.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(e){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(e)},multiplyVector3:function(e){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) or vector.applyProjection( matrix ) instead."),e.applyProjection(this)},multiplyVector4:function(e){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},multiplyVector3Array:function(e){return console.warn("THREE.Matrix4: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead."),this.applyToVector3Array(e)},rotateAxis:function(e){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),e.transformDirection(this)},crossVector:function(e){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(e){return console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(e)}}),ne.prototype.isIntersectionLine=function(e){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(e)},s.prototype.multiplyVector3=function(e){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),e.applyQuaternion(this)},Object.assign(oe.prototype,{isIntersectionBox:function(e){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionPlane:function(e){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(e)},isIntersectionSphere:function(e){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)}}),Object.assign(li.prototype,{extrude:function(e){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Wt(this,e)},makeGeometry:function(e){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new tn(this,e)}}),Object.assign(c.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(e){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(e)},getScaleFromMatrix:function(e){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(e)},getColumnFromMatrix:function(e,t){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(t,e)}}),Ee.prototype.computeTangents=function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")},Object.assign(ce.prototype,{getChildByName:function(e){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(e)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(e,t){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(t,e)}}),Object.defineProperties(ce.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(e){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=e}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Object.defineProperties(dt.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Pe.prototype.setLens=function(e,t){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==t&&(this.filmGauge=t),this.setFocalLength(e)},Object.defineProperties(Ln.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(e){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(e){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(e){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=e}}}),Object.defineProperties(pe.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}}}),Object.assign(Te.prototype,{addIndex:function(e){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(e)},addDrawCall:function(e,t,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(e,t)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}}),Object.defineProperties(Te.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.defineProperties(Ai.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(J.prototype,{wrapAround:{get:function(){console.warn("THREE."+this.type+": .wrapAround has been removed.")},set:function(){console.warn("THREE."+this.type+": .wrapAround has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE."+this.type+": .wrapRGB has been removed."),new W}}}),Object.defineProperties(gn.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(K.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(e){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=e}}}),t.prototype=Object.assign(Object.create({constructor:t,apply:function(e){console.warn("THREE.EventDispatcher: .apply is deprecated, just inherit or Object.assign the prototype to mix-in."),Object.assign(e,this)}}),t.prototype),Object.assign(ot.prototype,{supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(e){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(e)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}}),Object.defineProperties(ot.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=e}},shadowMapCullFace:{get:function(){return this.shadowMap.cullFace},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace."),this.shadowMap.cullFace=e}}}),Object.defineProperties(re.prototype,{cullFace:{get:function(){return this.renderReverseSided?Ir:Or},set:function(e){var t=e!==Or;console.warn("WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to "+t+"."),this.renderReverseSided=t}}}),Object.defineProperties(o.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=e}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=e}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=e}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=e; -}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(e){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=e}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(e){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=e}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(e){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=e}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(e){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=e}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(e){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=e}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(e){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=e}}}),_i.prototype.load=function(e){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var t=this,n=new fi;return n.load(e,function(e){t.setBuffer(e)}),this},bi.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()};var Il={merge:function(e,t,n){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");var i;t.isMesh&&(t.matrixAutoUpdate&&t.updateMatrix(),i=t.matrix,t=t.geometry),e.merge(t,i,n)},center:function(e){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),e.center()}},Ul={crossOrigin:void 0,loadTexture:function(e,t,n,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var r=new An;r.setCrossOrigin(this.crossOrigin);var o=r.load(e,n,void 0,i);return t&&(o.mapping=t),o},loadTextureCube:function(e,t,n,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var r=new Tn;r.setCrossOrigin(this.crossOrigin);var o=r.load(e,n,void 0,i);return t&&(o.mapping=t),o},loadCompressedTexture:function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},loadCompressedTextureCube:function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")}};e.WebGLRenderTargetCube=a,e.WebGLRenderTarget=o,e.WebGLRenderer=ot,e.ShaderLib=al,e.UniformsLib=ol,e.UniformsUtils=rs,e.ShaderChunk=il,e.FogExp2=at,e.Fog=st,e.Scene=ct,e.LensFlare=lt,e.Sprite=ut,e.LOD=dt,e.SkinnedMesh=mt,e.Skeleton=pt,e.Bone=ft,e.Mesh=Ae,e.LineSegments=yt,e.Line=vt,e.Points=xt,e.Group=bt,e.VideoTexture=wt,e.DataTexture=X,e.CompressedTexture=Mt,e.CubeTexture=h,e.CanvasTexture=Et,e.DepthTexture=St,e.Texture=i,e.CompressedTextureLoader=Mn,e.BinaryTextureLoader=En,e.DataTextureLoader=gl,e.CubeTextureLoader=Tn,e.TextureLoader=An,e.ObjectLoader=ti,e.MaterialLoader=Kn,e.BufferGeometryLoader=Qn,e.DefaultLoadingManager=ml,e.LoadingManager=bn,e.JSONLoader=ei,e.ImageLoader=Sn,e.FontLoader=pi,e.FileLoader=wn,e.Loader=$n,e.Cache=fl,e.AudioLoader=fi,e.SpotLightShadow=Pn,e.SpotLight=On,e.PointLight=In,e.RectAreaLight=mi,e.HemisphereLight=Rn,e.DirectionalLightShadow=Un,e.DirectionalLight=Dn,e.AmbientLight=Nn,e.LightShadow=Cn,e.Light=Ln,e.StereoCamera=gi,e.PerspectiveCamera=Pe,e.OrthographicCamera=Oe,e.CubeCamera=vi,e.Camera=Ce,e.AudioListener=yi,e.PositionalAudio=xi,e.AudioContext=wl,e.AudioAnalyser=bi,e.Audio=_i,e.VectorKeyframeTrack=Hn,e.StringKeyframeTrack=Xn,e.QuaternionKeyframeTrack=Vn,e.NumberKeyframeTrack=Wn,e.ColorKeyframeTrack=qn,e.BooleanKeyframeTrack=Yn,e.PropertyMixer=wi,e.PropertyBinding=Mi,e.KeyframeTrack=Zn,e.AnimationUtils=vl,e.AnimationObjectGroup=Ei,e.AnimationMixer=Ti,e.AnimationClip=Jn,e.Uniform=Ai,e.InstancedBufferGeometry=Li,e.BufferGeometry=Te,e.GeometryIdCount=Se,e.Geometry=Ee,e.InterleavedBufferAttribute=Ri,e.InstancedInterleavedBuffer=Pi,e.InterleavedBuffer=Ci,e.InstancedBufferAttribute=Oi,e.Face3=ue,e.Object3D=ce,e.Raycaster=Ii,e.Layers=se,e.EventDispatcher=t,e.Clock=Ni,e.QuaternionLinearInterpolant=jn,e.LinearInterpolant=Bn,e.DiscreteInterpolant=kn,e.CubicInterpolant=zn,e.Interpolant=Fn,e.Triangle=he,e.Spline=Fi,e.Math=Ka,e.Spherical=zi,e.Cylindrical=Bi,e.Plane=ne,e.Frustum=ie,e.Sphere=ee,e.Ray=oe,e.Matrix4=l,e.Matrix3=te,e.Box3=$,e.Box2=Y,e.Line3=le,e.Euler=ae,e.Vector4=r,e.Vector3=c,e.Vector2=n,e.Quaternion=s,e.Color=W,e.MorphBlendMesh=ki,e.ImmediateRenderObject=Gi,e.VertexNormalsHelper=Hi,e.SpotLightHelper=ji,e.SkeletonHelper=Vi,e.PointLightHelper=Wi,e.RectAreaLightHelper=Xi,e.HemisphereLightHelper=Yi,e.GridHelper=qi,e.PolarGridHelper=Zi,e.FaceNormalsHelper=Ji,e.DirectionalLightHelper=Ki,e.CameraHelper=Qi,e.BoxHelper=$i,e.ArrowHelper=er,e.AxisHelper=tr,e.CatmullRomCurve3=Sl,e.SplineCurve3=Tl,e.CubicBezierCurve3=Al,e.QuadraticBezierCurve3=Ll,e.LineCurve3=Rl,e.ArcCurve=nr,e.EllipseCurve=oi,e.SplineCurve=ai,e.CubicBezierCurve=si,e.QuadraticBezierCurve=ci,e.LineCurve=ii,e.Shape=li,e.ShapePath=ui,e.Path=hi,e.Font=di,e.CurvePath=ri,e.Curve=ni,e.ShapeUtils=ul,e.SceneUtils=Cl,e.CurveUtils=_l,e.WireframeGeometry=Tt,e.ParametricGeometry=Lt,e.ParametricBufferGeometry=At,e.TetrahedronGeometry=Pt,e.TetrahedronBufferGeometry=Ct,e.OctahedronGeometry=It,e.OctahedronBufferGeometry=Ot,e.IcosahedronGeometry=Dt,e.IcosahedronBufferGeometry=Ut,e.DodecahedronGeometry=Ft,e.DodecahedronBufferGeometry=Nt,e.PolyhedronGeometry=zt,e.PolyhedronBufferGeometry=Rt,e.TubeGeometry=kt,e.TubeBufferGeometry=Bt,e.TorusKnotGeometry=Ht,e.TorusKnotBufferGeometry=Gt,e.TorusGeometry=Vt,e.TorusBufferGeometry=jt,e.TextGeometry=Xt,e.SphereBufferGeometry=Yt,e.SphereGeometry=qt,e.RingGeometry=Jt,e.RingBufferGeometry=Zt,e.PlaneBufferGeometry=Re,e.PlaneGeometry=Kt,e.LatheGeometry=$t,e.LatheBufferGeometry=Qt,e.ShapeGeometry=tn,e.ShapeBufferGeometry=en,e.ExtrudeGeometry=Wt,e.EdgesGeometry=nn,e.ConeGeometry=an,e.ConeBufferGeometry=sn,e.CylinderGeometry=on,e.CylinderBufferGeometry=rn,e.CircleBufferGeometry=cn,e.CircleGeometry=ln,e.BoxBufferGeometry=Le,e.BoxGeometry=hn,e.ShadowMaterial=un,e.SpriteMaterial=ht,e.RawShaderMaterial=dn,e.ShaderMaterial=K,e.PointsMaterial=_t,e.MultiMaterial=pn,e.MeshPhysicalMaterial=mn,e.MeshStandardMaterial=fn,e.MeshPhongMaterial=gn,e.MeshToonMaterial=vn,e.MeshNormalMaterial=yn,e.MeshLambertMaterial=_n,e.MeshDepthMaterial=Q,e.MeshBasicMaterial=de,e.LineDashedMaterial=xn,e.LineBasicMaterial=gt,e.Material=J,e.Float64BufferAttribute=we,e.Float32BufferAttribute=be,e.Uint32BufferAttribute=xe,e.Int32BufferAttribute=_e,e.Uint16BufferAttribute=ye,e.Int16BufferAttribute=ve,e.Uint8ClampedBufferAttribute=ge,e.Uint8BufferAttribute=me,e.Int8BufferAttribute=fe,e.BufferAttribute=pe,e.REVISION=Rr,e.MOUSE=Cr,e.CullFaceNone=Pr,e.CullFaceBack=Or,e.CullFaceFront=Ir,e.CullFaceFrontBack=Ur,e.FrontFaceDirectionCW=Dr,e.FrontFaceDirectionCCW=Nr,e.BasicShadowMap=Fr,e.PCFShadowMap=zr,e.PCFSoftShadowMap=Br,e.FrontSide=kr,e.BackSide=Gr,e.DoubleSide=Hr,e.FlatShading=jr,e.SmoothShading=Vr,e.NoColors=Wr,e.FaceColors=Xr,e.VertexColors=Yr,e.NoBlending=qr,e.NormalBlending=Zr,e.AdditiveBlending=Jr,e.SubtractiveBlending=Kr,e.MultiplyBlending=Qr,e.CustomBlending=$r,e.BlendingMode=eo,e.AddEquation=to,e.SubtractEquation=no,e.ReverseSubtractEquation=io,e.MinEquation=ro,e.MaxEquation=oo,e.ZeroFactor=ao,e.OneFactor=so,e.SrcColorFactor=co,e.OneMinusSrcColorFactor=lo,e.SrcAlphaFactor=ho,e.OneMinusSrcAlphaFactor=uo,e.DstAlphaFactor=po,e.OneMinusDstAlphaFactor=fo,e.DstColorFactor=mo,e.OneMinusDstColorFactor=go,e.SrcAlphaSaturateFactor=vo,e.NeverDepth=yo,e.AlwaysDepth=_o,e.LessDepth=xo,e.LessEqualDepth=bo,e.EqualDepth=wo,e.GreaterEqualDepth=Mo,e.GreaterDepth=Eo,e.NotEqualDepth=So,e.MultiplyOperation=To,e.MixOperation=Ao,e.AddOperation=Lo,e.NoToneMapping=Ro,e.LinearToneMapping=Co,e.ReinhardToneMapping=Po,e.Uncharted2ToneMapping=Oo,e.CineonToneMapping=Io,e.UVMapping=Uo,e.CubeReflectionMapping=Do,e.CubeRefractionMapping=No,e.EquirectangularReflectionMapping=Fo,e.EquirectangularRefractionMapping=zo,e.SphericalReflectionMapping=Bo,e.CubeUVReflectionMapping=ko,e.CubeUVRefractionMapping=Go,e.TextureMapping=Ho,e.RepeatWrapping=jo,e.ClampToEdgeWrapping=Vo,e.MirroredRepeatWrapping=Wo,e.TextureWrapping=Xo,e.NearestFilter=Yo,e.NearestMipMapNearestFilter=qo,e.NearestMipMapLinearFilter=Zo,e.LinearFilter=Jo,e.LinearMipMapNearestFilter=Ko,e.LinearMipMapLinearFilter=Qo,e.TextureFilter=$o,e.UnsignedByteType=ea,e.ByteType=ta,e.ShortType=na,e.UnsignedShortType=ia,e.IntType=ra,e.UnsignedIntType=oa,e.FloatType=aa,e.HalfFloatType=sa,e.UnsignedShort4444Type=ca,e.UnsignedShort5551Type=la,e.UnsignedShort565Type=ha,e.UnsignedInt248Type=ua,e.AlphaFormat=da,e.RGBFormat=pa,e.RGBAFormat=fa,e.LuminanceFormat=ma,e.LuminanceAlphaFormat=ga,e.RGBEFormat=va,e.DepthFormat=ya,e.DepthStencilFormat=_a,e.RGB_S3TC_DXT1_Format=xa,e.RGBA_S3TC_DXT1_Format=ba,e.RGBA_S3TC_DXT3_Format=wa,e.RGBA_S3TC_DXT5_Format=Ma,e.RGB_PVRTC_4BPPV1_Format=Ea,e.RGB_PVRTC_2BPPV1_Format=Sa,e.RGBA_PVRTC_4BPPV1_Format=Ta,e.RGBA_PVRTC_2BPPV1_Format=Aa,e.RGB_ETC1_Format=La,e.LoopOnce=Ra,e.LoopRepeat=Ca,e.LoopPingPong=Pa,e.InterpolateDiscrete=Oa,e.InterpolateLinear=Ia,e.InterpolateSmooth=Ua,e.ZeroCurvatureEnding=Da,e.ZeroSlopeEnding=Na,e.WrapAroundEnding=Fa,e.TrianglesDrawMode=za,e.TriangleStripDrawMode=Ba,e.TriangleFanDrawMode=ka,e.LinearEncoding=Ga,e.sRGBEncoding=Ha,e.GammaEncoding=ja,e.RGBEEncoding=Va,e.LogLuvEncoding=Wa,e.RGBM7Encoding=Xa,e.RGBM16Encoding=Ya,e.RGBDEncoding=qa,e.BasicDepthPacking=Za,e.RGBADepthPacking=Ja,e.CubeGeometry=hn,e.Face4=ir,e.LineStrip=Pl,e.LinePieces=Ol,e.MeshFaceMaterial=rr,e.PointCloud=or,e.Particle=ar,e.ParticleSystem=sr,e.PointCloudMaterial=cr,e.ParticleBasicMaterial=lr,e.ParticleSystemMaterial=hr,e.Vertex=ur,e.DynamicBufferAttribute=dr,e.Int8Attribute=pr,e.Uint8Attribute=fr,e.Uint8ClampedAttribute=mr,e.Int16Attribute=gr,e.Uint16Attribute=vr,e.Int32Attribute=yr,e.Uint32Attribute=_r,e.Float32Attribute=xr,e.Float64Attribute=br,e.ClosedSplineCurve3=wr,e.BoundingBoxHelper=Mr,e.EdgesHelper=Er,e.WireframeHelper=Sr,e.XHRLoader=Tr,e.GeometryUtils=Il,e.ImageUtils=Ul,e.Projector=Ar,e.CanvasRenderer=Lr,Object.defineProperty(e,"__esModule",{value:!0})})},{}],10:[function(e,t){function n(e){return i(e).replace(/\s(\w)/g,function(e,t){return t.toUpperCase()})}var i=e("to-space-case");t.exports=n},{"to-space-case":12}],11:[function(e,t){function n(e){return o.test(e)?e.toLowerCase():a.test(e)?(i(e)||e).toLowerCase():s.test(e)?r(e).toLowerCase():e.toLowerCase()}function i(e){return e.replace(c,function(e,t){return t?" "+t:""})}function r(e){return e.replace(l,function(e,t,n){return t+" "+n.toLowerCase().split("").join(" ")})}t.exports=n;var o=/\s/,a=/(_|-|\.|:)/,s=/([a-z][A-Z]|[A-Z][a-z])/,c=/[\W_]+(.|$)/g,l=/(.)([A-Z]+)/g},{}],12:[function(e,t){function n(e){return i(e).replace(/[\W_]+(.|$)/g,function(e,t){return t?" "+t:""}).trim()}var i=e("to-no-case");t.exports=n},{"to-no-case":11}],13:[function(e,t,n){"use strict";function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;nMemory
",this.objectsProps.innerHTML+="Programs: "+this.renderer.info.programs.length+"
",this.objectsProps.innerHTML+="Geometries: "+this.renderer.info.memory.geometries+"
",this.objectsProps.innerHTML+="Textures: "+this.renderer.info.memory.textures+"
",this.objectsProps.innerHTML+="
",this.objectsProps.innerHTML+="Render
",this.objectsProps.innerHTML+="Calls: "+this.renderer.info.render.calls+"
",this.objectsProps.innerHTML+="Vertices: "+this.renderer.info.render.vertices+"
",this.objectsProps.innerHTML+="Faces: "+this.renderer.info.render.faces+"
",this.objectsProps.innerHTML+="Points: "+this.renderer.info.render.points+"
"}},{key:"onKeyUp",value:function(e){var t=e.which||e.keyCode;switch(t){case 68:this.DEBUG=!this.DEBUG,this.stats&&(this.stats.domElement.style.display=this.DEBUG?"block":"none"),this.gui&&(this.gui.domElement.style.display=this.DEBUG?"block":"none"),this.controls&&(this.controls.enabled=this.DEBUG),document.querySelector(".help")&&(document.querySelector(".help").style.display=this.DEBUG?"none":"block")}}},{key:"onResize",value:function(){this.SIZE={w:window.innerWidth,w2:window.innerWidth/2,h:window.innerHeight,h2:window.innerHeight/2},this.renderer.setSize(this.SIZE.w,this.SIZE.h),this.camera.aspect=this.SIZE.w/this.SIZE.h,this.camera.updateProjectionMatrix()}}]),e}();n["default"]=x},{"./lib/extended-materials/material.glsl":17,"./shaders/waveform.glsl":21,"dat-gui":2,"dom-css":5,"orbit-controls-es6":6,"stats-js":8,three:9}],14:[function(e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}var n=e("./App"),i=t(n),r=new i["default"];window.onresize=r.onResize.bind(r),window.onkeyup=r.onKeyUp.bind(r)},{"./App":13}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={vertex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n #include \n #include \n #include \n\n #ifdef USE_ENVMAP\n\n #include \n #include \n #include \n #include \n\n #endif\n\n #include \n\n "+t+"\n\n #include \n #include \n #include \n #include \n\n #include \n #include \n #include \n\n "+n+"\n }\n "},fragment:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n uniform vec3 diffuse;\n uniform float opacity;\n\n #ifndef FLAT_SHADED\n\n varying vec3 vNormal;\n\n #endif\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n\n vec4 diffuseColor = vec4( diffuse, opacity );\n\n #include \n #include \n #include \n #include \n #include \n #include \n\n ReflectedLight reflectedLight;\n reflectedLight.directDiffuse = vec3( 0.0 );\n reflectedLight.directSpecular = vec3( 0.0 );\n reflectedLight.indirectDiffuse = diffuseColor.rgb;\n reflectedLight.indirectSpecular = vec3( 0.0 );\n\n #include \n\n vec3 outgoingLight = reflectedLight.indirectDiffuse;\n\n "+t+"\n\n #include \n #include \n\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n #include \n #include \n #include \n #include \n\n "+n+"\n }\n "}}},{}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("three");n["default"]={vertex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define LAMBERT\n\n varying vec3 vLightFront;\n\n #ifdef DOUBLE_SIDED\n\n varying vec3 vLightBack;\n\n #endif\n\n "+i.ShaderChunk.common+"\n "+i.ShaderChunk.uv_pars_vertex+"\n "+i.ShaderChunk.uv2_pars_vertex+"\n "+i.ShaderChunk.envmap_pars_vertex+"\n "+i.ShaderChunk.bsdfs+"\n "+i.ShaderChunk.lights_pars+"\n "+i.ShaderChunk.color_pars_vertex+"\n "+i.ShaderChunk.morphtarget_pars_vertex+"\n "+i.ShaderChunk.skinning_pars_vertex+"\n "+i.ShaderChunk.shadowmap_pars_vertex+"\n "+i.ShaderChunk.logdepthbuf_pars_vertex+"\n "+i.ShaderChunk.clipping_planes_pars_vertex+"\n\n "+e+"\n\n void main() {\n\n "+i.ShaderChunk.uv_vertex+"\n "+i.ShaderChunk.uv2_vertex+"\n "+i.ShaderChunk.color_vertex+"\n\n "+i.ShaderChunk.beginnormal_vertex+"\n "+i.ShaderChunk.morphnormal_vertex+"\n "+i.ShaderChunk.skinbase_vertex+"\n "+i.ShaderChunk.skinnormal_vertex+"\n "+i.ShaderChunk.defaultnormal_vertex+"\n\n "+i.ShaderChunk.begin_vertex+"\n\n "+t+"\n\n "+i.ShaderChunk.morphtarget_vertex+"\n "+i.ShaderChunk.skinning_vertex+"\n "+i.ShaderChunk.project_vertex+"\n "+i.ShaderChunk.logdepthbuf_vertex+"\n "+i.ShaderChunk.clipping_planes_vertex+"\n\n "+i.ShaderChunk.worldpos_vertex+"\n "+i.ShaderChunk.envmap_vertex+"\n "+i.ShaderChunk.lights_lambert_vertex+"\n "+i.ShaderChunk.shadowmap_vertex+"\n\n "+n+"\n }\n "},fragment:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n uniform vec3 diffuse;\n uniform vec3 emissive;\n uniform float opacity;\n\n varying vec3 vLightFront;\n\n #ifdef DOUBLE_SIDED\n\n varying vec3 vLightBack;\n\n #endif\n\n "+i.ShaderChunk.common+"\n "+i.ShaderChunk.packing+"\n "+i.ShaderChunk.color_pars_fragment+"\n "+i.ShaderChunk.uv_pars_fragment+"\n "+i.ShaderChunk.uv2_pars_fragment+"\n "+i.ShaderChunk.map_pars_fragment+"\n "+i.ShaderChunk.alphamap_pars_fragment+"\n "+i.ShaderChunk.aomap_pars_fragment+"\n "+i.ShaderChunk.lightmap_pars_fragment+"\n "+i.ShaderChunk.emissivemap_pars_fragment+"\n "+i.ShaderChunk.envmap_pars_fragment+"\n "+i.ShaderChunk.bsdfs+"\n "+i.ShaderChunk.lights_pars+"\n "+i.ShaderChunk.fog_pars_fragment+"\n "+i.ShaderChunk.shadowmap_pars_fragment+"\n "+i.ShaderChunk.shadowmask_pars_fragment+"\n "+i.ShaderChunk.specularmap_pars_fragment+"\n "+i.ShaderChunk.logdepthbuf_pars_fragment+"\n "+i.ShaderChunk.clipping_planes_pars_fragment+"\n\n "+e+"\n\n void main() {\n\n "+i.ShaderChunk.clipping_planes_fragment+"\n\n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n\n "+i.ShaderChunk.logdepthbuf_fragment+"\n "+i.ShaderChunk.map_fragment+"\n "+i.ShaderChunk.color_fragment+"\n "+i.ShaderChunk.alphamap_fragment+"\n "+i.ShaderChunk.alphatest_fragment+"\n "+i.ShaderChunk.specularmap_fragment+"\n "+i.ShaderChunk.emissivemap_fragment+"\n\n // accumulation\n reflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\n "+i.ShaderChunk.lightmap_fragment+"\n\n reflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\n #ifdef DOUBLE_SIDED\n\n reflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\n #else\n\n reflectedLight.directDiffuse = vLightFront;\n\n #endif\n\n reflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\n // modulation\n "+i.ShaderChunk.aomap_fragment+"\n\n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\n "+t+"\n\n "+i.ShaderChunk.normal_flip+"\n "+i.ShaderChunk.envmap_fragment+"\n\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n "+i.ShaderChunk.premultiplied_alpha_fragment+"\n "+i.ShaderChunk.tonemapping_fragment+"\n "+i.ShaderChunk.encodings_fragment+"\n "+i.ShaderChunk.fog_fragment+"\n\n "+n+"\n }\n "}}},{three:9}],17:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=o.ShaderLib[e.type].uniforms;void 0===e.uniforms&&(e.uniforms={});var n=Object.assign({},t,e.uniforms),i="",r="",a=e.vertexPrehooks||"",c=e.vertexMainhooks||"",h=e.vertexEndhooks||"",d=e.fragmentPrehooks||"",f=e.fragmentMainhooks||"",m=e.fragmentEndhooks||"";switch(e.type){case"basic":i=s["default"].vertex(a,c,h),r=s["default"].fragment(d,f,m);break;case"lambert":i=l["default"].vertex(a,c,h),r=l["default"].fragment(d,f,m);break;case"phong":i=u["default"].vertex(a,c,h),r=u["default"].fragment(d,f,m);break;case"standard":i=p["default"].vertex(a,c,h),r=p["default"].fragment(d,f,m);break;default:i=s["default"].vertex(a,c,h),r=s["default"].fragment(d,f,m)}var g=Object.assign({},e.args||{});return g.uniforms=n,g.vertexShader=i,g.fragmentShader=r,g.lights=/lambert|phong|standard/.test(e.type),new o.ShaderMaterial(g)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var o=e("three"),a=e("./basic.glsl"),s=i(a),c=e("./lambert.glsl"),l=i(c),h=e("./phong.glsl"),u=i(h),d=e("./standard.glsl"),p=i(d)},{"./basic.glsl":15,"./lambert.glsl":16,"./phong.glsl":18,"./standard.glsl":19,three:9}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={vertex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define PHONG\n\n varying vec3 vViewPosition;\n\n #ifndef FLAT_SHADED\n\n varying vec3 vNormal;\n\n #endif\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n #include \n #include \n\n #include \n #include \n #include \n #include \n #include \n\n #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n vNormal = normalize( transformedNormal );\n\n #endif\n\n #include \n\n "+t+"\n\n #include \n #include \n #include \n #include \n #include \n #include \n\n vViewPosition = - mvPosition.xyz;\n\n #include \n #include \n #include \n\n "+n+"\n }\n "},fragment:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define PHONG\n\n uniform vec3 diffuse;\n uniform vec3 emissive;\n uniform vec3 specular;\n uniform float shininess;\n uniform float opacity;\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n\n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n // accumulation\n #include \n #include \n\n // modulation\n #include \n\n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\n "+t+"\n\n #include \n\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n #include \n #include \n #include \n #include \n\n "+n+"\n }\n "; +}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(e){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=e}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(e){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=e}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(e){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=e}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(e){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=e}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(e){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=e}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(e){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=e}}}),_i.prototype.load=function(e){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var t=this,n=new fi;return n.load(e,function(e){t.setBuffer(e)}),this},bi.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()};var Il={merge:function(e,t,n){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");var i;t.isMesh&&(t.matrixAutoUpdate&&t.updateMatrix(),i=t.matrix,t=t.geometry),e.merge(t,i,n)},center:function(e){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),e.center()}},Ul={crossOrigin:void 0,loadTexture:function(e,t,n,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var r=new An;r.setCrossOrigin(this.crossOrigin);var o=r.load(e,n,void 0,i);return t&&(o.mapping=t),o},loadTextureCube:function(e,t,n,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var r=new Tn;r.setCrossOrigin(this.crossOrigin);var o=r.load(e,n,void 0,i);return t&&(o.mapping=t),o},loadCompressedTexture:function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},loadCompressedTextureCube:function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")}};e.WebGLRenderTargetCube=a,e.WebGLRenderTarget=o,e.WebGLRenderer=ot,e.ShaderLib=al,e.UniformsLib=ol,e.UniformsUtils=rs,e.ShaderChunk=il,e.FogExp2=at,e.Fog=st,e.Scene=ct,e.LensFlare=lt,e.Sprite=ut,e.LOD=dt,e.SkinnedMesh=mt,e.Skeleton=pt,e.Bone=ft,e.Mesh=Ae,e.LineSegments=yt,e.Line=vt,e.Points=xt,e.Group=bt,e.VideoTexture=wt,e.DataTexture=X,e.CompressedTexture=Mt,e.CubeTexture=h,e.CanvasTexture=Et,e.DepthTexture=St,e.Texture=i,e.CompressedTextureLoader=Mn,e.BinaryTextureLoader=En,e.DataTextureLoader=gl,e.CubeTextureLoader=Tn,e.TextureLoader=An,e.ObjectLoader=ti,e.MaterialLoader=Kn,e.BufferGeometryLoader=Qn,e.DefaultLoadingManager=ml,e.LoadingManager=bn,e.JSONLoader=ei,e.ImageLoader=Sn,e.FontLoader=pi,e.FileLoader=wn,e.Loader=$n,e.Cache=fl,e.AudioLoader=fi,e.SpotLightShadow=Pn,e.SpotLight=On,e.PointLight=In,e.RectAreaLight=mi,e.HemisphereLight=Rn,e.DirectionalLightShadow=Un,e.DirectionalLight=Dn,e.AmbientLight=Nn,e.LightShadow=Cn,e.Light=Ln,e.StereoCamera=gi,e.PerspectiveCamera=Pe,e.OrthographicCamera=Oe,e.CubeCamera=vi,e.Camera=Ce,e.AudioListener=yi,e.PositionalAudio=xi,e.AudioContext=wl,e.AudioAnalyser=bi,e.Audio=_i,e.VectorKeyframeTrack=Hn,e.StringKeyframeTrack=Xn,e.QuaternionKeyframeTrack=Vn,e.NumberKeyframeTrack=Wn,e.ColorKeyframeTrack=qn,e.BooleanKeyframeTrack=Yn,e.PropertyMixer=wi,e.PropertyBinding=Mi,e.KeyframeTrack=Zn,e.AnimationUtils=vl,e.AnimationObjectGroup=Ei,e.AnimationMixer=Ti,e.AnimationClip=Jn,e.Uniform=Ai,e.InstancedBufferGeometry=Li,e.BufferGeometry=Te,e.GeometryIdCount=Se,e.Geometry=Ee,e.InterleavedBufferAttribute=Ri,e.InstancedInterleavedBuffer=Pi,e.InterleavedBuffer=Ci,e.InstancedBufferAttribute=Oi,e.Face3=ue,e.Object3D=ce,e.Raycaster=Ii,e.Layers=se,e.EventDispatcher=t,e.Clock=Ni,e.QuaternionLinearInterpolant=jn,e.LinearInterpolant=Bn,e.DiscreteInterpolant=kn,e.CubicInterpolant=zn,e.Interpolant=Fn,e.Triangle=he,e.Spline=Fi,e.Math=Ka,e.Spherical=zi,e.Cylindrical=Bi,e.Plane=ne,e.Frustum=ie,e.Sphere=ee,e.Ray=oe,e.Matrix4=l,e.Matrix3=te,e.Box3=$,e.Box2=Y,e.Line3=le,e.Euler=ae,e.Vector4=r,e.Vector3=c,e.Vector2=n,e.Quaternion=s,e.Color=W,e.MorphBlendMesh=ki,e.ImmediateRenderObject=Gi,e.VertexNormalsHelper=Hi,e.SpotLightHelper=ji,e.SkeletonHelper=Vi,e.PointLightHelper=Wi,e.RectAreaLightHelper=Xi,e.HemisphereLightHelper=Yi,e.GridHelper=qi,e.PolarGridHelper=Zi,e.FaceNormalsHelper=Ji,e.DirectionalLightHelper=Ki,e.CameraHelper=Qi,e.BoxHelper=$i,e.ArrowHelper=er,e.AxisHelper=tr,e.CatmullRomCurve3=Sl,e.SplineCurve3=Tl,e.CubicBezierCurve3=Al,e.QuadraticBezierCurve3=Ll,e.LineCurve3=Rl,e.ArcCurve=nr,e.EllipseCurve=oi,e.SplineCurve=ai,e.CubicBezierCurve=si,e.QuadraticBezierCurve=ci,e.LineCurve=ii,e.Shape=li,e.ShapePath=ui,e.Path=hi,e.Font=di,e.CurvePath=ri,e.Curve=ni,e.ShapeUtils=ul,e.SceneUtils=Cl,e.CurveUtils=_l,e.WireframeGeometry=Tt,e.ParametricGeometry=Lt,e.ParametricBufferGeometry=At,e.TetrahedronGeometry=Pt,e.TetrahedronBufferGeometry=Ct,e.OctahedronGeometry=It,e.OctahedronBufferGeometry=Ot,e.IcosahedronGeometry=Dt,e.IcosahedronBufferGeometry=Ut,e.DodecahedronGeometry=Ft,e.DodecahedronBufferGeometry=Nt,e.PolyhedronGeometry=zt,e.PolyhedronBufferGeometry=Rt,e.TubeGeometry=kt,e.TubeBufferGeometry=Bt,e.TorusKnotGeometry=Ht,e.TorusKnotBufferGeometry=Gt,e.TorusGeometry=Vt,e.TorusBufferGeometry=jt,e.TextGeometry=Xt,e.SphereBufferGeometry=Yt,e.SphereGeometry=qt,e.RingGeometry=Jt,e.RingBufferGeometry=Zt,e.PlaneBufferGeometry=Re,e.PlaneGeometry=Kt,e.LatheGeometry=$t,e.LatheBufferGeometry=Qt,e.ShapeGeometry=tn,e.ShapeBufferGeometry=en,e.ExtrudeGeometry=Wt,e.EdgesGeometry=nn,e.ConeGeometry=an,e.ConeBufferGeometry=sn,e.CylinderGeometry=on,e.CylinderBufferGeometry=rn,e.CircleBufferGeometry=cn,e.CircleGeometry=ln,e.BoxBufferGeometry=Le,e.BoxGeometry=hn,e.ShadowMaterial=un,e.SpriteMaterial=ht,e.RawShaderMaterial=dn,e.ShaderMaterial=K,e.PointsMaterial=_t,e.MultiMaterial=pn,e.MeshPhysicalMaterial=mn,e.MeshStandardMaterial=fn,e.MeshPhongMaterial=gn,e.MeshToonMaterial=vn,e.MeshNormalMaterial=yn,e.MeshLambertMaterial=_n,e.MeshDepthMaterial=Q,e.MeshBasicMaterial=de,e.LineDashedMaterial=xn,e.LineBasicMaterial=gt,e.Material=J,e.Float64BufferAttribute=we,e.Float32BufferAttribute=be,e.Uint32BufferAttribute=xe,e.Int32BufferAttribute=_e,e.Uint16BufferAttribute=ye,e.Int16BufferAttribute=ve,e.Uint8ClampedBufferAttribute=ge,e.Uint8BufferAttribute=me,e.Int8BufferAttribute=fe,e.BufferAttribute=pe,e.REVISION=Rr,e.MOUSE=Cr,e.CullFaceNone=Pr,e.CullFaceBack=Or,e.CullFaceFront=Ir,e.CullFaceFrontBack=Ur,e.FrontFaceDirectionCW=Dr,e.FrontFaceDirectionCCW=Nr,e.BasicShadowMap=Fr,e.PCFShadowMap=zr,e.PCFSoftShadowMap=Br,e.FrontSide=kr,e.BackSide=Gr,e.DoubleSide=Hr,e.FlatShading=jr,e.SmoothShading=Vr,e.NoColors=Wr,e.FaceColors=Xr,e.VertexColors=Yr,e.NoBlending=qr,e.NormalBlending=Zr,e.AdditiveBlending=Jr,e.SubtractiveBlending=Kr,e.MultiplyBlending=Qr,e.CustomBlending=$r,e.BlendingMode=eo,e.AddEquation=to,e.SubtractEquation=no,e.ReverseSubtractEquation=io,e.MinEquation=ro,e.MaxEquation=oo,e.ZeroFactor=ao,e.OneFactor=so,e.SrcColorFactor=co,e.OneMinusSrcColorFactor=lo,e.SrcAlphaFactor=ho,e.OneMinusSrcAlphaFactor=uo,e.DstAlphaFactor=po,e.OneMinusDstAlphaFactor=fo,e.DstColorFactor=mo,e.OneMinusDstColorFactor=go,e.SrcAlphaSaturateFactor=vo,e.NeverDepth=yo,e.AlwaysDepth=_o,e.LessDepth=xo,e.LessEqualDepth=bo,e.EqualDepth=wo,e.GreaterEqualDepth=Mo,e.GreaterDepth=Eo,e.NotEqualDepth=So,e.MultiplyOperation=To,e.MixOperation=Ao,e.AddOperation=Lo,e.NoToneMapping=Ro,e.LinearToneMapping=Co,e.ReinhardToneMapping=Po,e.Uncharted2ToneMapping=Oo,e.CineonToneMapping=Io,e.UVMapping=Uo,e.CubeReflectionMapping=Do,e.CubeRefractionMapping=No,e.EquirectangularReflectionMapping=Fo,e.EquirectangularRefractionMapping=zo,e.SphericalReflectionMapping=Bo,e.CubeUVReflectionMapping=ko,e.CubeUVRefractionMapping=Go,e.TextureMapping=Ho,e.RepeatWrapping=jo,e.ClampToEdgeWrapping=Vo,e.MirroredRepeatWrapping=Wo,e.TextureWrapping=Xo,e.NearestFilter=Yo,e.NearestMipMapNearestFilter=qo,e.NearestMipMapLinearFilter=Zo,e.LinearFilter=Jo,e.LinearMipMapNearestFilter=Ko,e.LinearMipMapLinearFilter=Qo,e.TextureFilter=$o,e.UnsignedByteType=ea,e.ByteType=ta,e.ShortType=na,e.UnsignedShortType=ia,e.IntType=ra,e.UnsignedIntType=oa,e.FloatType=aa,e.HalfFloatType=sa,e.UnsignedShort4444Type=ca,e.UnsignedShort5551Type=la,e.UnsignedShort565Type=ha,e.UnsignedInt248Type=ua,e.AlphaFormat=da,e.RGBFormat=pa,e.RGBAFormat=fa,e.LuminanceFormat=ma,e.LuminanceAlphaFormat=ga,e.RGBEFormat=va,e.DepthFormat=ya,e.DepthStencilFormat=_a,e.RGB_S3TC_DXT1_Format=xa,e.RGBA_S3TC_DXT1_Format=ba,e.RGBA_S3TC_DXT3_Format=wa,e.RGBA_S3TC_DXT5_Format=Ma,e.RGB_PVRTC_4BPPV1_Format=Ea,e.RGB_PVRTC_2BPPV1_Format=Sa,e.RGBA_PVRTC_4BPPV1_Format=Ta,e.RGBA_PVRTC_2BPPV1_Format=Aa,e.RGB_ETC1_Format=La,e.LoopOnce=Ra,e.LoopRepeat=Ca,e.LoopPingPong=Pa,e.InterpolateDiscrete=Oa,e.InterpolateLinear=Ia,e.InterpolateSmooth=Ua,e.ZeroCurvatureEnding=Da,e.ZeroSlopeEnding=Na,e.WrapAroundEnding=Fa,e.TrianglesDrawMode=za,e.TriangleStripDrawMode=Ba,e.TriangleFanDrawMode=ka,e.LinearEncoding=Ga,e.sRGBEncoding=Ha,e.GammaEncoding=ja,e.RGBEEncoding=Va,e.LogLuvEncoding=Wa,e.RGBM7Encoding=Xa,e.RGBM16Encoding=Ya,e.RGBDEncoding=qa,e.BasicDepthPacking=Za,e.RGBADepthPacking=Ja,e.CubeGeometry=hn,e.Face4=ir,e.LineStrip=Pl,e.LinePieces=Ol,e.MeshFaceMaterial=rr,e.PointCloud=or,e.Particle=ar,e.ParticleSystem=sr,e.PointCloudMaterial=cr,e.ParticleBasicMaterial=lr,e.ParticleSystemMaterial=hr,e.Vertex=ur,e.DynamicBufferAttribute=dr,e.Int8Attribute=pr,e.Uint8Attribute=fr,e.Uint8ClampedAttribute=mr,e.Int16Attribute=gr,e.Uint16Attribute=vr,e.Int32Attribute=yr,e.Uint32Attribute=_r,e.Float32Attribute=xr,e.Float64Attribute=br,e.ClosedSplineCurve3=wr,e.BoundingBoxHelper=Mr,e.EdgesHelper=Er,e.WireframeHelper=Sr,e.XHRLoader=Tr,e.GeometryUtils=Il,e.ImageUtils=Ul,e.Projector=Ar,e.CanvasRenderer=Lr,Object.defineProperty(e,"__esModule",{value:!0})})},{}],10:[function(e,t){function n(e){return i(e).replace(/\s(\w)/g,function(e,t){return t.toUpperCase()})}var i=e("to-space-case");t.exports=n},{"to-space-case":12}],11:[function(e,t){function n(e){return o.test(e)?e.toLowerCase():a.test(e)?(i(e)||e).toLowerCase():s.test(e)?r(e).toLowerCase():e.toLowerCase()}function i(e){return e.replace(c,function(e,t){return t?" "+t:""})}function r(e){return e.replace(l,function(e,t,n){return t+" "+n.toLowerCase().split("").join(" ")})}t.exports=n;var o=/\s/,a=/(_|-|\.|:)/,s=/([a-z][A-Z]|[A-Z][a-z])/,c=/[\W_]+(.|$)/g,l=/(.)([A-Z]+)/g},{}],12:[function(e,t){function n(e){return i(e).replace(/[\W_]+(.|$)/g,function(e,t){return t?" "+t:""}).trim()}var i=e("to-no-case");t.exports=n},{"to-no-case":11}],13:[function(e,t,n){"use strict";function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;nMemory
",this.objectsProps.innerHTML+="Programs: "+this.renderer.info.programs.length+"
",this.objectsProps.innerHTML+="Geometries: "+this.renderer.info.memory.geometries+"
",this.objectsProps.innerHTML+="Textures: "+this.renderer.info.memory.textures+"
",this.objectsProps.innerHTML+="
",this.objectsProps.innerHTML+="Render
",this.objectsProps.innerHTML+="Calls: "+this.renderer.info.render.calls+"
",this.objectsProps.innerHTML+="Vertices: "+this.renderer.info.render.vertices+"
",this.objectsProps.innerHTML+="Faces: "+this.renderer.info.render.faces+"
",this.objectsProps.innerHTML+="Points: "+this.renderer.info.render.points+"
"}},{key:"onKeyUp",value:function(e){var t=e.which||e.keyCode;switch(t){case 68:this.DEBUG=!this.DEBUG,this.stats&&(this.stats.domElement.style.display=this.DEBUG?"block":"none"),this.gui&&(this.gui.domElement.style.display=this.DEBUG?"block":"none"),this.controls&&(this.controls.enabled=this.DEBUG),document.querySelector(".help")&&(document.querySelector(".help").style.display=this.DEBUG?"none":"block")}}},{key:"onResize",value:function(){this.SIZE={w:window.innerWidth,w2:window.innerWidth/2,h:window.innerHeight,h2:window.innerHeight/2},this.renderer.setSize(this.SIZE.w,this.SIZE.h),this.camera.aspect=this.SIZE.w/this.SIZE.h,this.camera.updateProjectionMatrix()}}]),e}();n["default"]=x},{"./lib/extended-materials/material.glsl":17,"./shaders/waveform.glsl":21,"dat-gui":2,"dom-css":5,"orbit-controls-es6":6,"stats-js":8,three:9}],14:[function(e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}var n=e("./App"),i=t(n),r=new i["default"];window.onresize=r.onResize.bind(r),window.onkeyup=r.onKeyUp.bind(r)},{"./App":13}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={vertex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n #include \n #include \n #include \n\n #ifdef USE_ENVMAP\n\n #include \n #include \n #include \n #include \n\n #endif\n\n #include \n\n "+t+"\n\n #include \n #include \n #include \n #include \n\n #include \n #include \n #include \n\n "+n+"\n }\n "},fragment:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n uniform vec3 diffuse;\n uniform float opacity;\n\n #ifndef FLAT_SHADED\n\n varying vec3 vNormal;\n\n #endif\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n\n vec4 diffuseColor = vec4( diffuse, opacity );\n\n #include \n #include \n #include \n #include \n #include \n #include \n\n ReflectedLight reflectedLight;\n reflectedLight.directDiffuse = vec3( 0.0 );\n reflectedLight.directSpecular = vec3( 0.0 );\n reflectedLight.indirectDiffuse = diffuseColor.rgb;\n reflectedLight.indirectSpecular = vec3( 0.0 );\n\n #include \n\n vec3 outgoingLight = reflectedLight.indirectDiffuse;\n\n "+t+"\n\n #include \n #include \n\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n #include \n #include \n #include \n #include \n\n "+n+"\n }\n "}}},{}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("three");n["default"]={vertex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define LAMBERT\n\n varying vec3 vLightFront;\n\n #ifdef DOUBLE_SIDED\n\n varying vec3 vLightBack;\n\n #endif\n\n "+i.ShaderChunk.common+"\n "+i.ShaderChunk.uv_pars_vertex+"\n "+i.ShaderChunk.uv2_pars_vertex+"\n "+i.ShaderChunk.envmap_pars_vertex+"\n "+i.ShaderChunk.bsdfs+"\n "+i.ShaderChunk.lights_pars+"\n "+i.ShaderChunk.color_pars_vertex+"\n "+i.ShaderChunk.morphtarget_pars_vertex+"\n "+i.ShaderChunk.skinning_pars_vertex+"\n "+i.ShaderChunk.shadowmap_pars_vertex+"\n "+i.ShaderChunk.logdepthbuf_pars_vertex+"\n "+i.ShaderChunk.clipping_planes_pars_vertex+"\n\n "+e+"\n\n void main() {\n\n "+i.ShaderChunk.uv_vertex+"\n "+i.ShaderChunk.uv2_vertex+"\n "+i.ShaderChunk.color_vertex+"\n\n "+i.ShaderChunk.beginnormal_vertex+"\n "+i.ShaderChunk.morphnormal_vertex+"\n "+i.ShaderChunk.skinbase_vertex+"\n "+i.ShaderChunk.skinnormal_vertex+"\n "+i.ShaderChunk.defaultnormal_vertex+"\n\n "+i.ShaderChunk.begin_vertex+"\n\n "+t+"\n\n "+i.ShaderChunk.morphtarget_vertex+"\n "+i.ShaderChunk.skinning_vertex+"\n "+i.ShaderChunk.project_vertex+"\n "+i.ShaderChunk.logdepthbuf_vertex+"\n "+i.ShaderChunk.clipping_planes_vertex+"\n\n "+i.ShaderChunk.worldpos_vertex+"\n "+i.ShaderChunk.envmap_vertex+"\n "+i.ShaderChunk.lights_lambert_vertex+"\n "+i.ShaderChunk.shadowmap_vertex+"\n\n "+n+"\n }\n "},fragment:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n uniform vec3 diffuse;\n uniform vec3 emissive;\n uniform float opacity;\n\n varying vec3 vLightFront;\n\n #ifdef DOUBLE_SIDED\n\n varying vec3 vLightBack;\n\n #endif\n\n "+i.ShaderChunk.common+"\n "+i.ShaderChunk.packing+"\n "+i.ShaderChunk.color_pars_fragment+"\n "+i.ShaderChunk.uv_pars_fragment+"\n "+i.ShaderChunk.uv2_pars_fragment+"\n "+i.ShaderChunk.map_pars_fragment+"\n "+i.ShaderChunk.alphamap_pars_fragment+"\n "+i.ShaderChunk.aomap_pars_fragment+"\n "+i.ShaderChunk.lightmap_pars_fragment+"\n "+i.ShaderChunk.emissivemap_pars_fragment+"\n "+i.ShaderChunk.envmap_pars_fragment+"\n "+i.ShaderChunk.bsdfs+"\n "+i.ShaderChunk.lights_pars+"\n "+i.ShaderChunk.fog_pars_fragment+"\n "+i.ShaderChunk.shadowmap_pars_fragment+"\n "+i.ShaderChunk.shadowmask_pars_fragment+"\n "+i.ShaderChunk.specularmap_pars_fragment+"\n "+i.ShaderChunk.logdepthbuf_pars_fragment+"\n "+i.ShaderChunk.clipping_planes_pars_fragment+"\n\n "+e+"\n\n void main() {\n\n "+i.ShaderChunk.clipping_planes_fragment+"\n\n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n\n "+i.ShaderChunk.logdepthbuf_fragment+"\n "+i.ShaderChunk.map_fragment+"\n "+i.ShaderChunk.color_fragment+"\n "+i.ShaderChunk.alphamap_fragment+"\n "+i.ShaderChunk.alphatest_fragment+"\n "+i.ShaderChunk.specularmap_fragment+"\n "+i.ShaderChunk.emissivemap_fragment+"\n\n // accumulation\n reflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\n "+i.ShaderChunk.lightmap_fragment+"\n\n reflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\n #ifdef DOUBLE_SIDED\n\n reflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\n #else\n\n reflectedLight.directDiffuse = vLightFront;\n\n #endif\n\n reflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\n // modulation\n "+i.ShaderChunk.aomap_fragment+"\n\n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\n "+t+"\n\n "+i.ShaderChunk.normal_flip+"\n "+i.ShaderChunk.envmap_fragment+"\n\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n "+i.ShaderChunk.premultiplied_alpha_fragment+"\n "+i.ShaderChunk.tonemapping_fragment+"\n "+i.ShaderChunk.encodings_fragment+"\n "+i.ShaderChunk.fog_fragment+"\n\n "+n+"\n }\n "}}},{three:9}],17:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=o.ShaderLib[e.type].uniforms;void 0===e.uniforms&&(e.uniforms={});var n=Object.assign({},t,e.uniforms),i="",r="",a=e.vertexPrehooks||"",c=e.vertexMainhooks||"",h=e.vertexEndhooks||"",d=e.fragmentPrehooks||"",f=e.fragmentMainhooks||"",m=e.fragmentEndhooks||"";switch(e.type){case"basic":i=s["default"].vertex(a,c,h),r=s["default"].fragment(d,f,m);break;case"lambert":i=l["default"].vertex(a,c,h),r=l["default"].fragment(d,f,m);break;case"phong":i=u["default"].vertex(a,c,h),r=u["default"].fragment(d,f,m);break;case"standard":i=p["default"].vertex(a,c,h),r=p["default"].fragment(d,f,m);break;default:i=s["default"].vertex(a,c,h),r=s["default"].fragment(d,f,m)}var g=Object.assign({},e.args||{});return g.uniforms=n,g.vertexShader=i,g.fragmentShader=r,g.lights=/lambert|phong|standard/.test(e.type),new o.ShaderMaterial(g)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var o=e("three"),a=e("./basic.glsl"),s=i(a),c=e("./lambert.glsl"),l=i(c),h=e("./phong.glsl"),u=i(h),d=e("./standard.glsl"),p=i(d)},{"./basic.glsl":15,"./lambert.glsl":16,"./phong.glsl":18,"./standard.glsl":19,three:9}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={vertex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define PHONG\n\n varying vec3 vViewPosition;\n\n #ifndef FLAT_SHADED\n\n varying vec3 vNormal;\n\n #endif\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n #include \n #include \n\n #include \n #include \n #include \n #include \n #include \n\n #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n vNormal = normalize( transformedNormal );\n\n #endif\n\n #include \n\n "+t+"\n\n #include \n #include \n #include \n #include \n #include \n #include \n\n vViewPosition = - mvPosition.xyz;\n\n #include \n #include \n #include \n\n "+n+"\n }\n "},fragment:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define PHONG\n\n uniform vec3 diffuse;\n uniform vec3 emissive;\n uniform vec3 specular;\n uniform float shininess;\n uniform float opacity;\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n\n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n // accumulation\n #include \n #include \n\n // modulation\n #include \n\n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\n "+t+"\n\n #include \n\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n #include \n #include \n #include \n #include \n\n "+n+"\n }\n "; }}},{}],19:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={vertex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define STANDARD\n #define PHYSICAL\n\n varying vec3 vViewPosition;\n\n #ifndef FLAT_SHADED\n\n varying vec3 vNormal;\n\n #endif\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n #include \n #include \n\n #include \n #include \n #include \n #include \n #include \n\n #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n vNormal = normalize( transformedNormal );\n\n #endif\n\n #include \n\n "+t+"\n\n #include \n #include \n #include \n #include \n #include \n #include \n\n vViewPosition = - mvPosition.xyz;\n\n #include \n #include \n\n "+n+"\n }\n\n "},fragment:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"\n #define PHYSICAL\n #define STANDARD\n\n uniform vec3 diffuse;\n uniform vec3 emissive;\n uniform float roughness;\n uniform float metalness;\n uniform float opacity;\n\n #ifndef STANDARD\n uniform float clearCoat;\n uniform float clearCoatRoughness;\n #endif\n\n uniform float envMapIntensity; // temporary\n\n varying vec3 vViewPosition;\n\n #ifndef FLAT_SHADED\n\n varying vec3 vNormal;\n\n #endif\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n "+e+"\n\n void main() {\n\n #include \n\n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n\n // accumulation\n #include \n #include \n\n // modulation\n #include \n\n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\n "+t+"\n\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n #include \n #include \n #include \n #include \n\n "+n+"\n }\n "}}},{}],20:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]="\n//\n// Description : Array and textureless GLSL 2D/3D/4D simplex\n// noise functions.\n// Author : Ian McEwan, Ashima Arts.\n// Maintainer : ijm\n// Lastmod : 20110822 (ijm)\n// License : Copyright (C) 2011 Ashima Arts. All rights reserved.\n// Distributed under the MIT License. See LICENSE file.\n// https://github.com/ashima/webgl-noise\n//\n\nvec3 mod289_3d(vec3 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec4 mod289_3d(vec4 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec4 permute(vec4 x) {\n return mod289_3d(((x*34.0)+1.0)*x);\n}\n\nvec4 taylorInvSqrt_3d(vec4 r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\n\nfloat snoise_3d(vec3 v)\n {\n const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;\n const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\n\n// First corner\n vec3 i = floor(v + dot(v, C.yyy) );\n vec3 x0 = v - i + dot(i, C.xxx) ;\n\n// Other corners\n vec3 g = step(x0.yzx, x0.xyz);\n vec3 l = 1.0 - g;\n vec3 i1 = min( g.xyz, l.zxy );\n vec3 i2 = max( g.xyz, l.zxy );\n\n // x0 = x0 - 0.0 + 0.0 * C.xxx;\n // x1 = x0 - i1 + 1.0 * C.xxx;\n // x2 = x0 - i2 + 2.0 * C.xxx;\n // x3 = x0 - 1.0 + 3.0 * C.xxx;\n vec3 x1 = x0 - i1 + C.xxx;\n vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y\n\n// Permutations\n i = mod289_3d(i);\n vec4 p = permute( permute( permute(\n i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\n + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\n\n// Gradients: 7x7 points over a square, mapped onto an octahedron.\n// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)\n float n_ = 0.142857142857; // 1.0/7.0\n vec3 ns = n_ * D.wyz - D.xzx;\n\n vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7)\n\n vec4 x_ = floor(j * ns.z);\n vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)\n\n vec4 x = x_ *ns.x + ns.yyyy;\n vec4 y = y_ *ns.x + ns.yyyy;\n vec4 h = 1.0 - abs(x) - abs(y);\n\n vec4 b0 = vec4( x.xy, y.xy );\n vec4 b1 = vec4( x.zw, y.zw );\n\n //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;\n //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;\n vec4 s0 = floor(b0)*2.0 + 1.0;\n vec4 s1 = floor(b1)*2.0 + 1.0;\n vec4 sh = -step(h, vec4(0.0));\n\n vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\n vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\n\n vec3 p0 = vec3(a0.xy,h.x);\n vec3 p1 = vec3(a0.zw,h.y);\n vec3 p2 = vec3(a1.xy,h.z);\n vec3 p3 = vec3(a1.zw,h.w);\n\n//Normalise gradients\n vec4 norm = taylorInvSqrt_3d(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n\n// Mix final noise value\n vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n m = m * m;\n return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\n dot(p2,x2), dot(p3,x3) ) );\n }\n"},{}],21:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function r(){return"\n uniform float time;\n "+s["default"]+"\n "}function o(){return"\n vec3 vertexNormal = normalize(transformed);\n float noise = snoise_3d(transformed * sin(time)) * .15;\n vec3 newPosition = vertexNormal * (transformed * noise);\n transformed = vec3(position + newPosition);\n "}Object.defineProperty(n,"__esModule",{value:!0}),n.vextexPrehooks=r,n.vertexMainhooks=o;var a=e("../lib/noise/simplex/3d.glsl"),s=i(a)},{"../lib/noise/simplex/3d.glsl":20}]},{},[14]); \ No newline at end of file