!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("babylonjs"),require("babylonjs-gui"),require("babylonjs-loaders"),require("babylonjs-materials"),require("babylonjs-serializers")):"function"==typeof define&&define.amd?define("babylonjs-inspector",["babylonjs","babylonjs-gui","babylonjs-loaders","babylonjs-materials","babylonjs-serializers"],t):"object"==typeof exports?exports["babylonjs-inspector"]=t(require("babylonjs"),require("babylonjs-gui"),require("babylonjs-loaders"),require("babylonjs-materials"),require("babylonjs-serializers")):e.INSPECTOR=t(e.BABYLON,e.BABYLON.GUI,e.BABYLON,e.BABYLON,e.BABYLON)}("undefined"!=typeof self?self:"undefined"!=typeof global?global:this,function(e,t,n,r,a){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=18)}([function(e,t,n){"use strict";e.exports=n(19)},function(t,n){t.exports=e},function(e,t,n){e.exports=n(26)()},function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return v});var r=n(14),a=n(2),o=n.n(a),i=n(0),l=n.n(i);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function d(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0||!Array.isArray(t)&&t?p({},e,t):{}}function g(e){return null===e?null:"object"===s(e)&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:"fas",iconName:e}:void 0}function v(e){var t=e.icon,n=e.mask,a=e.symbol,o=e.className,i=e.title,l=g(t),s=f("classes",[].concat(d(function(e){var t,n=(p(t={"fa-spin":e.spin,"fa-pulse":e.pulse,"fa-fw":e.fixedWidth,"fa-inverse":e.inverse,"fa-border":e.border,"fa-li":e.listItem,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},"fa-".concat(e.size),null!==e.size),p(t,"fa-rotate-".concat(e.rotation),null!==e.rotation),p(t,"fa-pull-".concat(e.pull),null!==e.pull),t);return Object.keys(n).map(function(e){return n[e]?e:null}).filter(function(e){return e})}(e)),d(o.split(" ")))),u=f("transform","string"==typeof e.transform?r.b.transform(e.transform):e.transform),h=f("mask",g(n)),b=Object(r.a)(l,c({},s,u,h,{symbol:a,title:i}));if(!b)return function(){var e;!m&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",l),null;var C=b.abstract,E={};return Object.keys(e).forEach(function(t){v.defaultProps.hasOwnProperty(t)||(E[t]=e[t])}),y(C[0],E)}v.displayName="FontAwesomeIcon",v.propTypes={border:o.a.bool,className:o.a.string,mask:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),fixedWidth:o.a.bool,inverse:o.a.bool,flip:o.a.oneOf(["horizontal","vertical","both"]),icon:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),listItem:o.a.bool,pull:o.a.oneOf(["right","left"]),pulse:o.a.bool,rotation:o.a.oneOf([90,180,270]),size:o.a.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:o.a.bool,symbol:o.a.oneOfType([o.a.bool,o.a.string]),title:o.a.string,transform:o.a.oneOfType([o.a.string,o.a.object])},v.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null};var y=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n)return n;var a=(n.children||[]).map(function(n){return e(t,n)}),o=Object.keys(n.attributes||{}).reduce(function(e,t){var r=n.attributes[t];switch(t){case"class":e.attrs.className=r,delete n.attributes.class;break;case"style":e.attrs.style=r.split(";").map(function(e){return e.trim()}).filter(function(e){return e}).reduce(function(e,t){var n,r=t.indexOf(":"),a=b.camelize(t.slice(0,r)),o=t.slice(r+1).trim();return a.startsWith("webkit")?e[(n=a,n.charAt(0).toUpperCase()+n.slice(1))]=o:e[a]=o,e},{});break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=r:e.attrs[b.camelize(t)]=r}return e},{attrs:{}}),i=r.style,l=void 0===i?{}:i,s=u(r,["style"]);return o.attrs.style=c({},o.attrs.style,l),t.apply(void 0,[n.tag,c({},o.attrs,s)].concat(d(a)))}.bind(null,l.a.createElement)}).call(this,n(10))},function(e,n){e.exports=t},function(e,t,n){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT */var r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,l,s=i(e),p=1;p",value:0},{label:"Never",value:c.Engine.NEVER},{label:"Always",value:c.Engine.ALWAYS},{label:"Equal",value:c.Engine.EQUAL},{label:"Less",value:c.Engine.LESS},{label:"Less or equal",value:c.Engine.LEQUAL},{label:"Greater",value:c.Engine.GREATER},{label:"Greater or equal",value:c.Engine.GEQUAL},{label:"Not equal",value:c.Engine.NOTEQUAL}];return l.createElement("div",null,l.createElement(ge,{globalState:this.props.globalState,target:n,lockObject:this.props.lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"GENERAL"},l.createElement($,{label:"ID",value:n.id}),l.createElement($,{label:"Unique ID",value:n.uniqueId.toString()}),l.createElement($,{label:"Class",value:n.getClassName()}),l.createElement(re,{label:"Backface culling",target:n,propertyName:"backFaceCulling",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ce,{label:"Orientation",options:r,target:n,propertyName:"sideOrientation",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.setState({mode:e})}}),l.createElement(re,{label:"Disable lighting",target:n,propertyName:"disableLighting",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Disable depth write",target:n,propertyName:"disableDepthWrite",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ce,{label:"Depth function",options:i,target:n,propertyName:"depthFunction",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.setState({depthFunction:e})}}),l.createElement(re,{label:"Need depth pre-pass",target:n,propertyName:"needDepthPrePass",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Wireframe",target:n,propertyName:"wireframe",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Point cloud",target:n,propertyName:"pointsCloud",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Point size",target:n,propertyName:"pointSize",minimum:0,maximum:100,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Z-offset",target:n,propertyName:"zOffset",minimum:-10,maximum:10,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ve,{label:"Dispose",onClick:function(){n.dispose(),t.props.globalState.onSelectionChangedObservable.notifyObservers(null)}})),l.createElement(J,{globalState:this.props.globalState,title:"TRANSPARENCY"},l.createElement(pe,{label:"Alpha",target:n,propertyName:"alpha",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),void 0!==n.transparencyMode&&l.createElement(ce,{label:"Transparency mode",options:a,target:n,propertyName:"transparencyMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.setState({transparencyMode:e})}}),l.createElement(ce,{label:"Alpha mode",options:o,target:n,propertyName:"alphaMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.setState({alphaMode:e})}}),l.createElement(re,{label:"Separate culling pass",target:n,propertyName:"separateCullingPass",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),Ce=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.material;return l.createElement("div",{className:"pane"},l.createElement(ye,{globalState:this.props.globalState,lockObject:this.props.lockObject,material:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(l.Component),Ee=function(e){function t(n){var r=e.call(this,n)||this;return r._id=t._IDGenerator++,r}return a(t,e),t.prototype.onChange=function(e){var t=e.target.files;t&&t.length&&this.props.onClick(t[0]),e.target.value=""},t.prototype.render=function(){var e=this;return l.createElement("div",{className:"buttonLine"},l.createElement("label",{htmlFor:"file-upload"+this._id,className:"file-upload"},this.props.label),l.createElement("input",{ref:"upload",id:"file-upload"+this._id,type:"file",accept:this.props.accept,onChange:function(t){return e.onChange(t)}}))},t._IDGenerator=0,t}(l.Component),Oe=function(e){function t(t){var n=e.call(this,t)||this,r=n.props.material,a=n.props.texture;return n.state={isDebugSelected:r&&r.reservedDataStore&&r.reservedDataStore.debugTexture===a},n}return a(t,e),t.prototype.componentDidMount=function(){var e=this;this.props.onDebugSelectionChangeObservable&&(this._onDebugSelectionChangeObserver=this.props.onDebugSelectionChangeObservable.add(function(t){t!==e&&e.setState({isDebugSelected:!1})}))},t.prototype.componentWillUnmount=function(){this.props.onDebugSelectionChangeObservable&&this._onDebugSelectionChangeObserver&&this.props.onDebugSelectionChangeObservable.remove(this._onDebugSelectionChangeObserver)},t.prototype.debugTexture=function(){if(this.props.customDebugAction){var e=!this.state.isDebugSelected;return this.props.customDebugAction(e),this.setState({isDebugSelected:e}),void(this.props.onDebugSelectionChangeObservable&&this.props.onDebugSelectionChangeObservable.notifyObservers(this))}var t=this.props.texture,n=this.props.material;if(n&&t){var r=n.getScene();if(n.reservedDataStore&&n.reservedDataStore.debugTexture===t){var a=n.reservedDataStore.debugMaterial;t.level=n.reservedDataStore.level;for(var o=0,i=r.meshes;o0?i=".dds":e.name.toLowerCase().indexOf(".env")>0&&(i=".env"),n.updateURL(o,i,function(){return t.foreceRefresh()})}else n.updateURL(o,null,function(){return t.foreceRefresh()})},void 0,!0)},t.prototype.foreceRefresh=function(){this.forceUpdate(),this.refs.textureLine.updatePreview()},t.prototype.render=function(){var e=this,t=this.props.texture,n=[{label:"Nearest",value:c.Texture.NEAREST_NEAREST},{label:"Nearest & linear mip",value:c.Texture.NEAREST_LINEAR},{label:"Linear",value:c.Texture.LINEAR_LINEAR_MIPLINEAR}],r=[{label:"Explicit",value:c.Texture.EXPLICIT_MODE},{label:"Cubic",value:c.Texture.CUBIC_MODE},{label:"Inverse cubic",value:c.Texture.INVCUBIC_MODE},{label:"Equirectangular",value:c.Texture.EQUIRECTANGULAR_MODE},{label:"Fixed equirectangular",value:c.Texture.FIXED_EQUIRECTANGULAR_MODE},{label:"Fixed equirectangular mirrored",value:c.Texture.FIXED_EQUIRECTANGULAR_MIRRORED_MODE},{label:"Planar",value:c.Texture.PLANAR_MODE},{label:"Projection",value:c.Texture.PROJECTION_MODE},{label:"Skybox",value:c.Texture.SKYBOX_MODE},{label:"Spherical",value:c.Texture.SPHERICAL_MODE}],a="",o=t.url;if(o)for(var i=o.length-1;i>=0&&"."!==o[i];i--)a=o[i]+a;else o="";var s="data"===o.substring(0,4)||"blob"===o.substring(0,4)?"":o;return l.createElement("div",{className:"pane"},l.createElement(J,{globalState:this.props.globalState,title:"PREVIEW"},l.createElement(xe,{ref:"textureLine",texture:t,width:256,height:256,globalState:this.props.globalState}),l.createElement(Ee,{label:"Load texture from file",onClick:function(t){return e.updateTexture(t)},accept:".jpg, .png, .tga, .dds, .env"}),l.createElement(fe,{label:"URL",value:s,lockObject:this.props.lockObject,onChange:function(n){t.updateURL(n),e.foreceRefresh()}})),l.createElement(ge,{globalState:this.props.globalState,target:t,lockObject:this.props.lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"GENERAL"},l.createElement($,{label:"Width",value:t.getSize().width.toString()}),l.createElement($,{label:"Height",value:t.getSize().height.toString()}),t.isRenderTarget&&l.createElement(ve,{label:"Scale up",onClick:function(){var n=t.getScene();t.scale(2),setTimeout(function(){e.props.globalState.onSelectionChangedObservable.notifyObservers(n.getTextureByUniqueID(t.uniqueId))})}}),t.isRenderTarget&&l.createElement(ve,{label:"Scale down",onClick:function(){var n=t.getScene();t.scale(.5),setTimeout(function(){e.props.globalState.onSelectionChangedObservable.notifyObservers(n.getTextureByUniqueID(t.uniqueId))})}}),a&&l.createElement($,{label:"File format",value:a}),l.createElement($,{label:"Unique ID",value:t.uniqueId.toString()}),l.createElement($,{label:"Class",value:t.getClassName()}),l.createElement($,{label:"Has alpha",value:t.hasAlpha?"Yes":"No"}),l.createElement($,{label:"Is 3D",value:t.is3D?"Yes":"No"}),l.createElement($,{label:"Is 2D array",value:t.is2DArray?"Yes":"No"}),l.createElement($,{label:"Is cube",value:t.isCube?"Yes":"No"}),l.createElement($,{label:"Is render target",value:t.isRenderTarget?"Yes":"No"}),t instanceof c.Texture&&l.createElement($,{label:"Stored as inverted on Y",value:t.invertY?"Yes":"No"}),l.createElement($,{label:"Has mipmaps",value:t.noMipmap?"No":"Yes"}),l.createElement(pe,{label:"UV set",target:t,propertyName:"coordinatesIndex",minimum:0,maximum:3,step:1,onPropertyChangedObservable:this.props.onPropertyChangedObservable,decimalCount:0}),l.createElement(ce,{label:"Mode",options:r,target:t,propertyName:"coordinatesMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.updateSamplingMode(e)}}),l.createElement(pe,{label:"Level",target:t,propertyName:"level",minimum:0,maximum:2,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.updateSamplingMode&&l.createElement(ce,{label:"Sampling",options:n,target:t,noDirectUpdate:!0,propertyName:"samplingMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.updateSamplingMode(e)}})),t.rootContainer&&l.createElement(J,{globalState:this.props.globalState,title:"ADVANCED TEXTURE PROPERTIES"},l.createElement(ee,{label:"Last layout time",value:this._adtInstrumentation.renderTimeCounter.current,units:"ms"}),l.createElement(ee,{label:"Last render time",value:this._adtInstrumentation.layoutTimeCounter.current,units:"ms"}),l.createElement(pe,{label:"Render scale",minimum:.1,maximum:5,step:.1,target:t,propertyName:"renderScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Premultiply alpha",target:t,propertyName:"premulAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Ideal width",target:t,propertyName:"idealWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Ideal height",target:t,propertyName:"idealHeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Use smallest ideal",target:t,propertyName:"useSmallestIdeal",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Render at ideal size",target:t,propertyName:"renderAtIdealSize",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Invalidate Rect optimization",target:t,propertyName:"useInvalidateRectOptimization",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"TRANSFORM"},!t.isCube&&l.createElement("div",null,l.createElement(Pe,{lockObject:this.props.lockObject,label:"U offset",target:t,propertyName:"uOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"V offset",target:t,propertyName:"vOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"U scale",target:t,propertyName:"uScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"V scale",target:t,propertyName:"vScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"U angle",useEuler:this.props.globalState.onlyUseEulers,target:t,propertyName:"uAng",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"V angle",useEuler:this.props.globalState.onlyUseEulers,target:t,propertyName:"vAng",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"W angle",useEuler:this.props.globalState.onlyUseEulers,target:t,propertyName:"wAng",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Clamp U",isSelected:function(){return t.wrapU===c.Texture.CLAMP_ADDRESSMODE},onSelect:function(e){return t.wrapU=e?c.Texture.CLAMP_ADDRESSMODE:c.Texture.WRAP_ADDRESSMODE}}),l.createElement(re,{label:"Clamp V",isSelected:function(){return t.wrapV===c.Texture.CLAMP_ADDRESSMODE},onSelect:function(e){return t.wrapV=e?c.Texture.CLAMP_ADDRESSMODE:c.Texture.WRAP_ADDRESSMODE}})),t.isCube&&l.createElement("div",null,l.createElement(pe,{label:"Rotation Y",useEuler:this.props.globalState.onlyUseEulers,minimum:0,maximum:2*Math.PI,step:.1,target:t,propertyName:"rotationY"}))))},t}(l.Component),Ne=function(e){function t(t){var n=e.call(this,t)||this;return n._localChange=!1,n.state={isExpanded:!1,value:n.props.target[n.props.propertyName].clone()},n}return a(t,e),t.prototype.shouldComponentUpdate=function(e,t){var n=e.target[e.propertyName];return!(n.equals(t.value)&&!this._localChange)&&(t.value=n.clone(),this._localChange=!1,!0)},t.prototype.switchExpandState=function(){this._localChange=!0,this.setState({isExpanded:!this.state.isExpanded})},t.prototype.raiseOnPropertyChanged=function(e){this.props.onChange&&this.props.onChange(this.state.value),this.props.onPropertyChangedObservable&&this.props.onPropertyChangedObservable.notifyObservers({object:this.props.target,property:this.props.propertyName,value:this.state.value,initialValue:e})},t.prototype.updateStateX=function(e){this._localChange=!0;var t=this.state.value.clone();this.props.target[this.props.propertyName].x=e,this.state.value.x=e,this.setState({value:this.state.value}),this.raiseOnPropertyChanged(t)},t.prototype.updateStateY=function(e){this._localChange=!0;var t=this.state.value.clone();this.props.target[this.props.propertyName].y=e,this.state.value.y=e,this.setState({value:this.state.value}),this.raiseOnPropertyChanged(t)},t.prototype.render=function(){var e=this,t=this.state.isExpanded?l.createElement(u.a,{icon:z}):l.createElement(u.a,{icon:U});return l.createElement("div",{className:"vector3Line"},l.createElement("div",{className:"firstLine"},l.createElement("div",{className:"label"},this.props.label),l.createElement("div",{className:"vector"},"X: "+this.state.value.x.toFixed(2)+", Y: "+this.state.value.y.toFixed(2)),l.createElement("div",{className:"expand hoverIcon",onClick:function(){return e.switchExpandState()},title:"Expand"},t)),this.state.isExpanded&&l.createElement("div",{className:"secondLine"},l.createElement(ue,{label:"x",step:this.props.step,value:this.state.value.x,onChange:function(t){return e.updateStateX(t)}}),l.createElement(ue,{label:"y",step:this.props.step,value:this.state.value.y,onChange:function(t){return e.updateStateY(t)}})))},t.defaultProps={step:.001},t}(l.Component),Te=function(e){function t(t){var n=e.call(this,t)||this;return n._onDebugSelectionChangeObservable=new c.Observable,n}return a(t,e),t.prototype.switchAmbientMode=function(e){this.props.material.debugMode=e?21:0},t.prototype.switchMetallicMode=function(e){this.props.material.debugMode=e?62:0},t.prototype.switchRoughnessMode=function(e){this.props.material.debugMode=e?63:0},t.prototype.renderTextures=function(e){var t=this,n=this.props.material;return l.createElement(J,{globalState:this.props.globalState,title:"CHANNELS"},l.createElement(Oe,{label:"Albedo",texture:n.albedoTexture,propertyName:"albedoTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{customDebugAction:function(e){return t.switchMetallicMode(e)},label:"Metallic",texture:n.metallicTexture,propertyName:"metallicTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{customDebugAction:function(e){return t.switchRoughnessMode(e)},label:"Roughness",texture:n.metallicTexture,propertyName:"metallicTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{label:"Reflection",texture:n.reflectionTexture,propertyName:"reflectionTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{label:"Refraction",texture:n.refractionTexture,propertyName:"refractionTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{label:"Micro-surface",texture:n.microSurfaceTexture,propertyName:"microSurfaceTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{label:"Bump",texture:n.bumpTexture,propertyName:"bumpTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{label:"Emissive",texture:n.emissiveTexture,propertyName:"emissiveTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{label:"Opacity",texture:n.opacityTexture,propertyName:"opacityTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{customDebugAction:function(e){return t.switchAmbientMode(e)},label:"Ambient",texture:n.ambientTexture,propertyName:"ambientTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(Oe,{label:"Lightmap",texture:n.lightmapTexture,propertyName:"lightmapTexture",material:n,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),l.createElement(re,{label:"Use lightmap as shadowmap",target:n,propertyName:"useLightmapAsShadowmap ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t.prototype.render=function(){var e=this,t=this.props.material;return l.createElement("div",{className:"pane"},l.createElement(ye,{globalState:this.props.globalState,lockObject:this.props.lockObject,material:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),this.renderTextures(this._onDebugSelectionChangeObservable),l.createElement(J,{globalState:this.props.globalState,title:"LIGHTING & COLORS"},l.createElement(he,{label:"Albedo",target:t,propertyName:"albedoColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Reflectivity",target:t,propertyName:"reflectivityColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Micro-surface",target:t,propertyName:"microSurface",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Emissive",target:t,propertyName:"emissiveColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Ambient",target:t,propertyName:"ambientColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Use physical light falloff",target:t,propertyName:"usePhysicalLightFalloff",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"METALLIC WORKFLOW"},l.createElement(pe,{label:"Metallic",target:t,propertyName:"metallic",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Metallic F0",target:t,propertyName:"metallicF0Factor",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Metallic F0 From Map",target:t,propertyName:"useMetallicF0FactorFromMetallicTexture",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Roughness",target:t,propertyName:"roughness",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"CLEAR COAT"},l.createElement(re,{label:"Enabled",target:t.clearCoat,propertyName:"isEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&l.createElement("div",{className:"fragment"},l.createElement(pe,{label:"Intensity",target:t.clearCoat,propertyName:"intensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Roughness",target:t.clearCoat,propertyName:"roughness",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"IOR",target:t.clearCoat,propertyName:"indexOfRefraction",minimum:1,maximum:3,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Oe,{label:"Texture",texture:t.clearCoat.texture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}),l.createElement(Oe,{label:"Bump",texture:t.clearCoat.bumpTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}),t.clearCoat.bumpTexture&&l.createElement(pe,{label:"Bump strength",target:t.clearCoat.bumpTexture,propertyName:"level",minimum:0,maximum:2,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Tint",target:t.clearCoat,propertyName:"isTintEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&l.createElement(he,{label:"Tint Color",target:t.clearCoat,propertyName:"tintColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&l.createElement(pe,{label:"At Distance",target:t.clearCoat,propertyName:"tintColorAtDistance",minimum:0,maximum:20,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&l.createElement(pe,{label:"Tint Thickness",target:t.clearCoat,propertyName:"tintThickness",minimum:0,maximum:20,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&l.createElement(Oe,{label:"Tint Texture",texture:t.clearCoat.tintTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}))),l.createElement(J,{globalState:this.props.globalState,title:"ANISOTROPIC"},l.createElement(re,{label:"Enabled",target:t.anisotropy,propertyName:"isEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.anisotropy.isEnabled&&l.createElement("div",{className:"fragment"},l.createElement(pe,{label:"Intensity",target:t.anisotropy,propertyName:"intensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Ne,{label:"Direction",target:t.anisotropy,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Oe,{label:"Texture",texture:t.anisotropy.texture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}))),l.createElement(J,{globalState:this.props.globalState,title:"SHEEN"},l.createElement(re,{label:"Enabled",target:t.sheen,propertyName:"isEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.sheen.isEnabled&&l.createElement("div",{className:"fragment"},l.createElement(re,{label:"Link to Albedo",target:t.sheen,propertyName:"linkSheenWithAlbedo",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Intensity",target:t.sheen,propertyName:"intensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Color",target:t.sheen,propertyName:"color",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Oe,{label:"Texture",texture:t.sheen.texture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}))),l.createElement(J,{globalState:this.props.globalState,title:"SUBSURFACE"},l.createElement(Oe,{label:"Thickness",texture:t.subSurface.thicknessTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}),l.createElement(pe,{label:"Min Thickness",target:t.subSurface,propertyName:"minimumThickness",minimum:0,maximum:10,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Max Thickness",target:t.subSurface,propertyName:"maximumThickness",minimum:0,maximum:10,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Mask From Thickness",target:t.subSurface,propertyName:"useMaskFromThicknessTexture",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Tint Color",target:t.subSurface,propertyName:"tintColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Refraction Enabled",target:t.subSurface,propertyName:"isRefractionEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.subSurface.isRefractionEnabled&&l.createElement("div",{className:"fragment"},l.createElement(pe,{label:"Intensity",target:t.subSurface,propertyName:"refractionIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Index of Refraction",target:t.subSurface,propertyName:"indexOfRefraction",minimum:1,maximum:2,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Tint at Distance",target:t.subSurface,propertyName:"tintColorAtDistance",minimum:0,maximum:10,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Link refraction with transparency",target:t.subSurface,propertyName:"linkRefractionWithTransparency",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(re,{label:"Translucency Enabled",target:t.subSurface,propertyName:"isTranslucencyEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.subSurface.isTranslucencyEnabled&&l.createElement("div",{className:"fragment"},l.createElement(pe,{label:"Intensity",target:t.subSurface,propertyName:"translucencyIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Diffusion Distance",target:t.subSurface,propertyName:"diffusionDistance",onPropertyChangedObservable:this.props.onPropertyChangedObservable}))),l.createElement(J,{globalState:this.props.globalState,title:"LEVELS",closed:!0},l.createElement(pe,{label:"Environment",target:t,propertyName:"environmentIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Specular",target:t,propertyName:"specularIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Emissive",target:t,propertyName:"emissiveIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Direct",target:t,propertyName:"directIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.bumpTexture&&l.createElement(pe,{label:"Bump strength",target:t.bumpTexture,propertyName:"level",minimum:0,maximum:2,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.ambientTexture&&l.createElement(pe,{label:"Ambient strength",target:t,propertyName:"ambientTextureStrength",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.reflectionTexture&&l.createElement(pe,{label:"Reflection strength",target:t.reflectionTexture,propertyName:"level",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"RENDERING",closed:!0},l.createElement(re,{label:"Alpha from albedo",target:t,propertyName:"useAlphaFromAlbedoTexture",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Ambient in grayscale",target:t,propertyName:"useAmbientInGrayScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Radiance over alpha",target:t,propertyName:"useRadianceOverAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Micro-surface from ref. map alpha",target:t,propertyName:"useMicroSurfaceFromReflectivityMapAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Specular over alpha",target:t,propertyName:"useSpecularOverAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Specular anti-aliasing",target:t,propertyName:"enableSpecularAntiAliasing",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"NORMAL MAP",closed:!0},l.createElement(re,{label:"Invert X axis",target:t,propertyName:"invertNormalMapX",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Invert Y axis",target:t,propertyName:"invertNormalMapY",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"ADVANCED",closed:!0},l.createElement(re,{label:"Energy Conservation",target:t.brdf,propertyName:"useEnergyConservation",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Spherical Harmonics",target:t.brdf,propertyName:"useSphericalHarmonics",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Radiance occlusion",target:t,propertyName:"useRadianceOcclusion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Horizon occlusion ",target:t,propertyName:"useHorizonOcclusion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Unlit",target:t,propertyName:"unlit",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"DEBUG",closed:!0},l.createElement(ce,{label:"Debug mode",options:[{label:"None",value:0},{label:"Normalized position",value:1},{label:"Normals",value:2},{label:"Tangents",value:3},{label:"Bitangents",value:4},{label:"Bump Normals",value:5},{label:"UV1",value:6},{label:"UV2",value:7},{label:"ClearCoat Normals",value:8},{label:"ClearCoat Tangents",value:9},{label:"ClearCoat Bitangents",value:10},{label:"Anisotropic Normals",value:11},{label:"Anisotropic Tangents",value:12},{label:"Anisotropic Bitangents",value:13},{label:"Albdeo Map",value:20},{label:"Ambient Map",value:21},{label:"Opacity Map",value:22},{label:"Emissive Map",value:23},{label:"Light Map",value:24},{label:"Metallic Map",value:25},{label:"Reflectivity Map",value:26},{label:"ClearCoat Map",value:27},{label:"ClearCoat Tint Map",value:28},{label:"Sheen Map",value:29},{label:"Anisotropic Map",value:30},{label:"Thickness Map",value:31},{label:"Env Refraction",value:40},{label:"Env Reflection",value:41},{label:"Env Clear Coat",value:42},{label:"Direct Diffuse",value:50},{label:"Direct Specular",value:51},{label:"Direct Clear Coat",value:52},{label:"Direct Sheen",value:53},{label:"Env Irradiance",value:54},{label:"Surface Albedo",value:60},{label:"Reflectance 0",value:61},{label:"Metallic",value:62},{label:"Metallic F0",value:71},{label:"Roughness",value:63},{label:"AlphaG",value:64},{label:"NdotV",value:65},{label:"ClearCoat Color",value:66},{label:"ClearCoat Roughness",value:67},{label:"ClearCoat NdotV",value:68},{label:"Transmittance",value:69},{label:"Refraction Transmittance",value:70},{label:"SEO",value:80},{label:"EHO",value:81},{label:"Energy Factor",value:82},{label:"Specular Reflectance",value:83},{label:"Clear Coat Reflectance",value:84},{label:"Sheen Reflectance",value:85},{label:"Luminance Over Alpha",value:86},{label:"Alpha",value:87}],target:t,propertyName:"debugMode"}),l.createElement(pe,{label:"Split position",target:t,propertyName:"debugLimit",minimum:-1,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Output factor",target:t,propertyName:"debugFactor",minimum:0,maximum:5,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),_e=function(e){function t(t){var n=e.call(this,t)||this;return n.state={isSelected:n.props.isSelected()},n}return a(t,e),t.prototype.componentDidMount=function(){var e=this;this._onSelectionChangedObserver=this.props.onSelectionChangedObservable.add(function(t){e.setState({isSelected:t===e})})},t.prototype.componentWillUnmount=function(){this._onSelectionChangedObserver&&(this.props.onSelectionChangedObservable.remove(this._onSelectionChangedObserver),this._onSelectionChangedObserver=null)},t.prototype.onChange=function(){this.props.onSelect(),this.props.onSelectionChangedObservable.notifyObservers(this)},t.prototype.render=function(){var e=this;return l.createElement("div",{className:"radioLine"},l.createElement("div",{className:"label"},this.props.label),l.createElement("div",{className:"radioContainer"},l.createElement("input",{id:this.props.label,className:"radio",type:"radio",checked:this.state.isSelected,onChange:function(){return e.onChange()}}),l.createElement("label",{htmlFor:this.props.label,className:"labelForRadio"})))},t}(l.Component),Me=function(e){function t(t){var n=e.call(this,t)||this;return n.state={mode:n.props.scene.fogMode},n}return a(t,e),t.prototype.render=function(){var e=this,t=this.props.scene,n=[{label:"None",value:c.Scene.FOGMODE_NONE},{label:"Linear",value:c.Scene.FOGMODE_LINEAR},{label:"Exp",value:c.Scene.FOGMODE_EXP},{label:"Exp2",value:c.Scene.FOGMODE_EXP2}];return l.createElement("div",null,l.createElement(ce,{label:"Fog mode",options:n,target:t,propertyName:"fogMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}}),this.state.mode!==c.Scene.FOGMODE_NONE&&l.createElement(he,{label:"Fog color",target:t,propertyName:"fogColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),(this.state.mode===c.Scene.FOGMODE_EXP||this.state.mode===c.Scene.FOGMODE_EXP2)&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Fog density",target:t,propertyName:"fogDensity",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),this.state.mode===c.Scene.FOGMODE_LINEAR&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Fog start",target:t,propertyName:"fogStart",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),this.state.mode===c.Scene.FOGMODE_LINEAR&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Fog end",target:t,propertyName:"fogEnd",onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(l.Component),Le=function(e){function t(t){var n=e.call(this,t)||this;return n._renderingModeGroupObservable=new c.Observable,n}return a(t,e),t.prototype.setRenderingModes=function(e,t){var n=this.props.scene;n.forcePointsCloud=e,n.forceWireframe=t},t.prototype.switchIBL=function(){var e=this.props.scene;e.environmentTexture?(this._storedEnvironmentTexture=e.environmentTexture,e.environmentTexture=null):(e.environmentTexture=this._storedEnvironmentTexture,this._storedEnvironmentTexture=null)},t.prototype.updateEnvironmentTexture=function(e){var t=e.name.toLowerCase().indexOf(".dds")>0,n=e.name.toLowerCase().indexOf(".env")>0;if(t||n){var r=this.props.scene;c.Tools.ReadFile(e,function(e){var n=new Blob([e],{type:"octet/stream"}),a=URL.createObjectURL(n);r.environmentTexture=t?c.CubeTexture.CreateFromPrefilteredData(a,r,".dds"):new c.CubeTexture(a,r,void 0,void 0,void 0,function(){},function(e){e&&console.error(e)},void 0,void 0,".env")},void 0,!0)}else console.error("Unable to update environment texture. Please select a dds or env file.")},t.prototype.updateGravity=function(e){this.props.scene.getPhysicsEngine().setGravity(e)},t.prototype.updateTimeStep=function(e){this.props.scene.getPhysicsEngine().setTimeStep(e)},t.prototype.normalizeScene=function(){this.props.scene.meshes.forEach(function(e){e.normalizeToUnitCube(!0),e.computeWorldMatrix(!0)})},t.prototype.render=function(){var e=this,t=this.props.scene,n=t.getPhysicsEngine(),r=null;n&&(r={gravity:n.gravity,timeStep:n.getTimeStep()});var a=t.imageProcessingConfiguration,o=[{label:"Standard",value:c.ImageProcessingConfiguration.TONEMAPPING_STANDARD},{label:"ACES",value:c.ImageProcessingConfiguration.TONEMAPPING_ACES}],i=[{label:"Multiply",value:c.ImageProcessingConfiguration.VIGNETTEMODE_MULTIPLY},{label:"Opaque",value:c.ImageProcessingConfiguration.VIGNETTEMODE_OPAQUE}];return l.createElement("div",{className:"pane"},l.createElement(J,{globalState:this.props.globalState,title:"RENDERING MODE"},l.createElement(_e,{onSelectionChangedObservable:this._renderingModeGroupObservable,label:"Point",isSelected:function(){return t.forcePointsCloud},onSelect:function(){return e.setRenderingModes(!0,!1)}}),l.createElement(_e,{onSelectionChangedObservable:this._renderingModeGroupObservable,label:"Wireframe",isSelected:function(){return t.forceWireframe},onSelect:function(){return e.setRenderingModes(!1,!0)}}),l.createElement(_e,{onSelectionChangedObservable:this._renderingModeGroupObservable,label:"Solid",isSelected:function(){return!t.forcePointsCloud&&!t.forceWireframe},onSelect:function(){return e.setRenderingModes(!1,!1)}})),l.createElement(J,{globalState:this.props.globalState,title:"ENVIRONMENT"},l.createElement(he,{label:"Clear color",target:t,propertyName:"clearColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Clear color enabled",target:t,propertyName:"autoClear",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Ambient color",target:t,propertyName:"ambientColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Environment texture (IBL)",isSelected:function(){return null!=t.environmentTexture},onSelect:function(){return e.switchIBL()}}),t.environmentTexture&&l.createElement(Oe,{label:"Env. texture",texture:t.environmentTexture,onSelectionChangedObservable:this.props.onSelectionChangedObservable}),l.createElement(Ee,{label:"Update environment texture",onClick:function(t){return e.updateEnvironmentTexture(t)},accept:".dds, .env"}),l.createElement(pe,{minimum:0,maximum:2,step:.01,label:"IBL Intensity",target:t,propertyName:"environmentIntensity",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Me,{globalState:this.props.globalState,lockObject:this.props.lockObject,scene:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"MATERIAL IMAGE PROCESSING"},l.createElement(pe,{minimum:0,maximum:4,step:.1,label:"Contrast",target:a,propertyName:"contrast",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{minimum:0,maximum:4,step:.1,label:"Exposure",target:a,propertyName:"exposure",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Tone mapping",target:a,propertyName:"toneMappingEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ce,{label:"Tone mapping type",options:o,target:a,propertyName:"toneMappingType",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}}),l.createElement(re,{label:"Vignette",target:a,propertyName:"vignetteEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{minimum:0,maximum:4,step:.1,label:"Vignette weight",target:a,propertyName:"vignetteWeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{minimum:0,maximum:1,step:.1,label:"Vignette stretch",target:a,propertyName:"vignetteStretch",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{minimum:0,maximum:Math.PI,step:.1,label:"Vignette FOV",target:a,propertyName:"vignetteCameraFov",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{minimum:0,maximum:1,step:.1,label:"Vignette center X",target:a,propertyName:"vignetteCentreX",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{minimum:0,maximum:1,step:.1,label:"Vignette center Y",target:a,propertyName:"vignetteCentreY",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Vignette color",target:a,propertyName:"vignetteColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ce,{label:"Vignette blend mode",options:i,target:a,propertyName:"vignetteBlendMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}})),null!==r&&l.createElement(J,{globalState:this.props.globalState,title:"PHYSICS",closed:!0},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Time step",target:r,propertyName:"timeStep",onChange:function(t){return e.updateTimeStep(t)},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Gravity",target:r,propertyName:"gravity",onChange:function(t){return e.updateGravity(t)},onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"COLLISIONS",closed:!0},l.createElement(be,{label:"Gravity",target:t,propertyName:"gravity",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"SHADOWS",closed:!0},l.createElement(ve,{label:"Normalize scene",onClick:function(){return e.normalizeScene()}})))},t}(l.Component),Re=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this,t=this.props.light;return l.createElement("div",null,l.createElement(ge,{globalState:this.props.globalState,target:t,lockObject:this.props.lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"GENERAL"},l.createElement($,{label:"ID",value:t.id}),l.createElement($,{label:"Unique ID",value:t.uniqueId.toString()}),l.createElement($,{label:"Class",value:t.getClassName()}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Intensity",target:t,propertyName:"intensity",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ve,{label:"Dispose",onClick:function(){t.dispose(),e.props.globalState.onSelectionChangedObservable.notifyObservers(null)}})))},t}(l.Component),Ae=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.light;return l.createElement("div",{className:"pane"},l.createElement(Re,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"SETUP"},l.createElement(he,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Ground",target:e,propertyName:"groundColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Direction",target:e,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),Ie=function(e){function t(t){var n=e.call(this,t)||this;return n._internals={generatorType:0,mapSize:1024},n}return a(t,e),t.prototype.createShadowGenerator=function(){var e=this.props.light,t=e.getScene(),n=this._internals,r=0===n.generatorType?new c.ShadowGenerator(n.mapSize,e):new c.CascadedShadowGenerator(n.mapSize,e);t.meshes.forEach(function(e){r.addShadowCaster(e),e.receiveShadows=!0}),this.forceUpdate()},t.prototype.disposeShadowGenerator=function(){var e;null===(e=this.props.light.getShadowGenerator())||void 0===e||e.dispose(),this.forceUpdate()},t.prototype.render=function(){var e=this,t=this.props.light,n=this._internals,r=t.getShadowGenerator()||null,a=r instanceof c.CascadedShadowGenerator,o=t.getScene().activeCamera,i=[{label:"Shadow Generator",value:0}];t instanceof c.DirectionalLight&&i.push({label:"Cascaded Shadow Generator",value:1});var s;s=r instanceof c.CascadedShadowGenerator?[{label:"None",value:c.ShadowGenerator.FILTER_NONE},{label:"PCF",value:c.ShadowGenerator.FILTER_PCF},{label:"PCSS",value:c.ShadowGenerator.FILTER_PCSS}]:[{label:"None",value:c.ShadowGenerator.FILTER_NONE},{label:"PCF",value:c.ShadowGenerator.FILTER_PCF},{label:"PCSS",value:c.ShadowGenerator.FILTER_PCSS},{label:"Poisson",value:c.ShadowGenerator.FILTER_POISSONSAMPLING},{label:"Exponential",value:c.ShadowGenerator.FILTER_EXPONENTIALSHADOWMAP},{label:"Blurred exponential",value:c.ShadowGenerator.FILTER_BLUREXPONENTIALSHADOWMAP},{label:"Close exponential",value:c.ShadowGenerator.FILTER_CLOSEEXPONENTIALSHADOWMAP},{label:"Blurred close exponential",value:c.ShadowGenerator.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP}];var p=[{label:"Low",value:c.ShadowGenerator.QUALITY_LOW},{label:"Medium",value:c.ShadowGenerator.QUALITY_MEDIUM},{label:"High",value:c.ShadowGenerator.QUALITY_HIGH}],u=o?o.minZ:0,d=o?o.maxZ:0,h=r?r.filter:0;return l.createElement("div",null,l.createElement(J,{globalState:this.props.globalState,title:"SHADOWS"},l.createElement(re,{label:"Shadows enabled",target:t,propertyName:"shadowEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),!a&&l.createElement(l.Fragment,null,l.createElement(Pe,{lockObject:this.props.lockObject,label:"Shadows near plane",target:t,propertyName:"shadowMinZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Shadows far plane",target:t,propertyName:"shadowMaxZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}))),null==r&&l.createElement(J,{globalState:this.props.globalState,title:"SHADOW GENERATOR"},l.createElement(ce,{label:"Type",options:i,target:n,propertyName:"generatorType"}),l.createElement(ce,{label:"Map size",options:[{label:"2048x2048",value:2048},{label:"1024x1024",value:1024},{label:"512x512",value:512},{label:"256x256",value:256}],target:n,propertyName:"mapSize"}),l.createElement(ve,{label:"Create generator",onClick:function(){return e.createShadowGenerator()}})),null!==r&&l.createElement(J,{globalState:this.props.globalState,title:"SHADOW GENERATOR"},l.createElement(ve,{label:"Dispose generator",onClick:function(){return e.disposeShadowGenerator()}}),a&&l.createElement(l.Fragment,null,l.createElement(ce,{label:"Num cascades",options:[{label:"2",value:2},{label:"3",value:3},{label:"4",value:4}],target:r,propertyName:"numCascades",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Debug mode",target:r,propertyName:"debug",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Stabilize cascades",target:r,propertyName:"stabilizeCascades",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Lambda",minimum:0,maximum:1,step:.01,target:r,propertyName:"lambda",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Cascade blend",minimum:0,maximum:1,step:.01,target:r,propertyName:"cascadeBlendPercentage",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Depth clamp",target:r,propertyName:"depthClamp",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Auto-Calc depth bounds",target:r,propertyName:"autoCalcDepthBounds",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Shadow MaxZ",minimum:u,maximum:d,step:.5,target:r,propertyName:"shadowMaxZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(Pe,{lockObject:this.props.lockObject,digits:4,step:"0.0001",label:"Bias",target:r,propertyName:"bias",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Normal bias",target:r,propertyName:"normalBias",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Darkness",target:r,minimum:0,maximum:1,step:.01,propertyName:"darkness",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Allow transparent shadows",target:r,propertyName:"transparencyShadow",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ce,{label:"Filter",options:s,onSelect:function(){e.forceUpdate()},target:r,propertyName:"filter",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),(h===c.ShadowGenerator.FILTER_PCF||h===c.ShadowGenerator.FILTER_PCSS)&&l.createElement(ce,{label:"Filtering quality",options:p,onSelect:function(){e.forceUpdate()},target:r,propertyName:"filteringQuality",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),h===c.ShadowGenerator.FILTER_PCSS&&l.createElement(pe,{label:"Penumbra ratio",minimum:0,maximum:.5,step:.001,target:r,propertyName:"contactHardeningLightSizeUVRatio",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),!a&&(h===c.ShadowGenerator.FILTER_BLUREXPONENTIALSHADOWMAP||h===c.ShadowGenerator.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP)&&l.createElement(re,{label:"Use kernel blur",target:r,propertyName:"useKernelBlur",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),r instanceof c.ShadowGenerator&&(h===c.ShadowGenerator.FILTER_BLUREXPONENTIALSHADOWMAP||h===c.ShadowGenerator.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP)&&!r.useKernelBlur&&l.createElement(pe,{label:"Blur box offset",target:r,propertyName:"blurBoxOffset",minimum:1,maximum:64,step:1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),r instanceof c.ShadowGenerator&&(h===c.ShadowGenerator.FILTER_BLUREXPONENTIALSHADOWMAP||h===c.ShadowGenerator.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP)&&r.useKernelBlur&&l.createElement(pe,{label:"Blur kernel",target:r,propertyName:"blurKernel",minimum:1,maximum:64,step:1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),r instanceof c.ShadowGenerator&&(h===c.ShadowGenerator.FILTER_BLUREXPONENTIALSHADOWMAP||h===c.ShadowGenerator.FILTER_EXPONENTIALSHADOWMAP)&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Depth scale",target:r,propertyName:"depthScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),r instanceof c.ShadowGenerator&&(h===c.ShadowGenerator.FILTER_BLUREXPONENTIALSHADOWMAP||h===c.ShadowGenerator.FILTER_EXPONENTIALSHADOWMAP)&&l.createElement(pe,{label:"Blur scale",target:r,propertyName:"blurScale",minimum:1,maximum:4,step:1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),a&&h===c.ShadowGenerator.FILTER_PCSS&&l.createElement(pe,{label:"Penumbra darkness",minimum:0,maximum:1,step:.01,target:r,propertyName:"penumbraDarkness",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),De=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.light;return l.createElement("div",{className:"pane"},l.createElement(Re,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"SETUP"},l.createElement(he,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Specular",target:e,propertyName:"specular",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(Ie,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(l.Component),je=function(e){function t(t){var n=e.call(this,t)||this;return n.state={mode:n.props.camera.mode},n}return a(t,e),t.prototype.render=function(){var e=this,t=this.props.camera,n=[{label:"Perspective",value:c.Camera.PERSPECTIVE_CAMERA},{label:"Orthographic",value:c.Camera.ORTHOGRAPHIC_CAMERA}];return l.createElement("div",null,l.createElement(ge,{globalState:this.props.globalState,target:t,lockObject:this.props.lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"GENERAL"},l.createElement($,{label:"ID",value:t.id}),l.createElement($,{label:"Unique ID",value:t.uniqueId.toString()}),l.createElement($,{label:"Class",value:t.getClassName()}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Near plane",target:t,propertyName:"minZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Far plane",target:t,propertyName:"maxZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Inertia",target:t,propertyName:"inertia",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ce,{label:"Mode",options:n,target:t,propertyName:"mode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}}),t.mode===c.Camera.PERSPECTIVE_CAMERA&&l.createElement(pe,{label:"Field of view",target:t,useEuler:this.props.globalState.onlyUseEulers,propertyName:"fov",minimum:.1,maximum:Math.PI,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===c.Camera.ORTHOGRAPHIC_CAMERA&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Left",target:t,propertyName:"orthoLeft",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===c.Camera.ORTHOGRAPHIC_CAMERA&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Top",target:t,propertyName:"orthoTop",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===c.Camera.ORTHOGRAPHIC_CAMERA&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Right",target:t,propertyName:"orthoRight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===c.Camera.ORTHOGRAPHIC_CAMERA&&l.createElement(Pe,{lockObject:this.props.lockObject,label:"Bottom",target:t,propertyName:"orthoBottom",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ve,{label:"Dispose",onClick:function(){t.dispose(),e.props.globalState.onSelectionChangedObservable.notifyObservers(null)}})))},t}(l.Component),ze=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.camera;return l.createElement("div",{className:"pane"},l.createElement(je,{globalState:this.props.globalState,lockObject:this.props.lockObject,camera:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"TRANSFORMS"},l.createElement(be,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"CONTROLS",closed:!0},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Angular sensitivity",target:e,propertyName:"angularSensibility",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Speed",target:e,propertyName:"speed",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"COLLISIONS",closed:!0},l.createElement(re,{label:"Check collisions",target:e,propertyName:"checkCollisions",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Apply gravity",target:e,propertyName:"applyGravity",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Ellipsoid",target:e,propertyName:"ellipsoid",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Ellipsoid offset",target:e,propertyName:"ellipsoidOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),Fe=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.camera;return l.createElement("div",{className:"pane"},l.createElement(je,{globalState:this.props.globalState,lockObject:this.props.lockObject,camera:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"TRANSFORMS"},l.createElement(be,{label:"Target",target:e,propertyName:"target",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Alpha",useEuler:this.props.globalState.onlyUseEulers,target:e,propertyName:"alpha",minimum:e.lowerAlphaLimit||0,maximum:e.upperAlphaLimit||2*Math.PI,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Beta",useEuler:this.props.globalState.onlyUseEulers,target:e,propertyName:"beta",minimum:e.lowerAlphaLimit||0,maximum:e.upperBetaLimit||2*Math.PI,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Radius",target:e,propertyName:"radius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"CONTROLS",closed:!0},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Angular sensitivity X",target:e,propertyName:"angularSensibilityX",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Angular sensitivity Y",target:e,propertyName:"angularSensibilityY",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Panning sensitivity",target:e,propertyName:"panningSensibility",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Pinch delta percentage",target:e,propertyName:"pinchDeltaPercentage",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Wheel delta percentage",target:e,propertyName:"wheelDeltaPercentage",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Speed",target:e,propertyName:"speed",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"COLLISIONS",closed:!0},l.createElement(re,{label:"Check collisions",target:e,propertyName:"checkCollisions",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Collision radius",target:e,propertyName:"collisionRadius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"LIMITS",closed:!0},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Lower alpha limit",target:e,propertyName:"lowerAlphaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Upper alpha limit",target:e,propertyName:"upperAlphaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Lower beta limit",target:e,propertyName:"lowerBetaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Upper beta limit",target:e,propertyName:"upperBetaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Lower radius limit",target:e,propertyName:"lowerRadiusLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Upper radius limit",target:e,propertyName:"upperRadiusLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"BEHAVIORS",closed:!0},l.createElement(re,{label:"Auto rotation",target:e,propertyName:"useAutoRotationBehavior",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Bouncing",target:e,propertyName:"useBouncingBehavior",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Framing",target:e,propertyName:"useFramingBehavior",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),Ue=function(e){function t(t){var n=e.call(this,t)||this;return n.state={displayNormals:!1,displayVertexColors:!1},n}return a(t,e),t.prototype.renderWireframeOver=function(){var e=this.props.mesh,t=e.getScene();if(e.reservedDataStore&&e.reservedDataStore.wireframeOver)return e.reservedDataStore.wireframeOver.dispose(!1,!0),e.reservedDataStore.wireframeOver=null,void this.forceUpdate();var n=e.clone();n.reservedDataStore={hidden:!0},n.parent=e,n.position=c.Vector3.Zero(),n.scaling=new c.Vector3(1,1,1),n.rotation=c.Vector3.Zero(),n.rotationQuaternion=null;var r=new c.StandardMaterial("wireframeOver",t);r.reservedDataStore={hidden:!0},n.material=r,r.zOffset=1,r.disableLighting=!0,r.backFaceCulling=!1,r.emissiveColor=c.Color3.White(),r.wireframe=!0,e.reservedDataStore||(e.reservedDataStore={}),e.reservedDataStore.wireframeOver=n,this.forceUpdate()},t.prototype.renderNormalVectors=function(){var e=this.props.mesh,t=e.getScene();if(e.reservedDataStore&&e.reservedDataStore.normalLines)return e.reservedDataStore.normalLines.dispose(),e.reservedDataStore.normalLines=null,void this.forceUpdate();for(var n=e.getVerticesData(c.VertexBuffer.NormalKind),r=e.getVerticesData(c.VertexBuffer.PositionKind),a=c.Color3.White(),o=e.getBoundingInfo(),i=.05*o.maximum.subtractToRef(o.minimum,c.TmpVectors.Vector3[0]).length(),l=[],s=0;s0){var t=e.targetedAnimations[0].animation.runtimeAnimations;t.length>0?this.setState({currentFrame:t[0].currentFrame}):this.setState({currentFrame:0})}},t.prototype.shouldComponentUpdate=function(e){return this.props.animationGroup!==e.animationGroup&&(this.disconnect(this.props.animationGroup),this.connect(e.animationGroup)),!0},t.prototype.componentWillUnmount=function(){this.disconnect(this.props.animationGroup),this._onBeforeRenderObserver&&(this.props.scene.onBeforeRenderObservable.remove(this._onBeforeRenderObserver),this._onBeforeRenderObserver=null)},t.prototype.playOrPause=function(){var e=this.props.animationGroup;e.isPlaying?(this.setState({playButtonText:"Play"}),e.pause()):(this.setState({playButtonText:"Pause"}),this.props.scene.animationGroups.forEach(function(e){return e.pause()}),e.play(!0))},t.prototype.onCurrentFrameChange=function(e){var t=this.props.animationGroup;t.isPlaying?t.goToFrame(e):(t.play(!0),t.goToFrame(e),t.pause()),this.setState({currentFrame:e})},t.prototype.render=function(){var e=this,t=this.props.animationGroup,n=t.isPlaying?"Pause":"Play";return l.createElement("div",{className:"pane"},l.createElement(J,{globalState:this.props.globalState,title:"CONTROLS"},l.createElement(ve,{label:n,onClick:function(){return e.playOrPause()}}),l.createElement(pe,{label:"Speed ratio",minimum:0,maximum:10,step:.1,target:t,propertyName:"speedRatio",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{ref:"timeline",label:"Current frame",minimum:t.from,maximum:t.to,step:(t.to-t.from)/1e3,directValue:this.state.currentFrame,onInput:function(t){return e.onCurrentFrameChange(t)}})),l.createElement(J,{globalState:this.props.globalState,title:"INFOS"},l.createElement($,{label:"Animation count",value:t.targetedAnimations.length.toString()}),l.createElement($,{label:"From",value:t.from.toFixed(2)}),l.createElement($,{label:"To",value:t.to.toFixed(2)}),l.createElement($,{label:"Unique ID",value:t.uniqueId.toString()})))},t}(l.Component),qe=function(){this.lock=!1},Qe=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this,t=this.props.image,n=[{label:"None",value:ke.Image.STRETCH_NONE},{label:"Fill",value:ke.Image.STRETCH_FILL},{label:"Uniform",value:ke.Image.STRETCH_UNIFORM},{label:"Extend",value:ke.Image.STRETCH_EXTEND},{label:"NinePatch",value:ke.Image.STRETCH_NINE_PATCH}];return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"IMAGE"},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Source left",target:t,propertyName:"sourceLeft",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Source top",target:t,propertyName:"sourceTop",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Source width",target:t,propertyName:"sourceWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Source height",target:t,propertyName:"sourceHeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Autoscale",target:t,propertyName:"autoScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ce,{label:"Stretch",options:n,target:t,propertyName:"stretch",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}})),l.createElement(J,{globalState:this.props.globalState,title:"ANIMATION SHEET"},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Cell Id",isInteger:!0,target:t,propertyName:"cellId",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Cell width",target:t,propertyName:"cellWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Cell height",target:t,propertyName:"cellHeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),Ze=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.slider;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"SLIDER"},l.createElement(fe,{lockObject:this.props.lockObject,label:"Border color",target:e,propertyName:"borderColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Display thumb",target:e,propertyName:"displayThumb",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Thumb circle",target:e,propertyName:"isThumbCircle",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Vertical",target:e,propertyName:"isVertical",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Thumb clamped",target:e,propertyName:"isThumbClamped",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Bar offset",target:e,propertyName:"barOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Thumb width",target:e,propertyName:"thumbWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Minimum",target:e,propertyName:"minimum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Maximum",target:e,propertyName:"maximum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Value",target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),$e=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.imageBasedSlider;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"IMAGE BASED SLIDER"},l.createElement(re,{label:"Display thumb",target:e,propertyName:"displayThumb",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Vertical",target:e,propertyName:"isVertical",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Thumb clamped",target:e,propertyName:"isThumbClamped",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Bar offset",target:e,propertyName:"barOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Thumb width",target:e,propertyName:"thumbWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Minimum",target:e,propertyName:"minimum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Maximum",target:e,propertyName:"maximum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Value",target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),Je=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.rectangle;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"RECTANGLE"},l.createElement(re,{label:"Clip children",target:e,propertyName:"clipChildren",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Corner radius",target:e,propertyName:"cornerRadius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),et=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.ellipse;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"ELLIPSE"},l.createElement(re,{label:"Clip children",target:e,propertyName:"clipChildren",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),tt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.checkbox;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"CHECKBOX"},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Check size ratio",target:e,propertyName:"checkSizeRatio",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Checked",target:e,propertyName:"isChecked",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),nt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.radioButton;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"RADIO BUTTON"},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Check size ratio",target:e,propertyName:"checkSizeRatio",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Group",target:e,propertyName:"group",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Checked",target:e,propertyName:"isChecked",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),rt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.onDashChange=function(e){var t=this.props.line,n=e.split(",");t.dash=[],n.forEach(function(e){var n=parseInt(e);isNaN(n)||t.dash.push(n)})},t.prototype.render=function(){var e=this,t=this.props.line;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"LINE"},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Line width",target:t,propertyName:"lineWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"X1",target:t,propertyName:"x1",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Y1",target:t,propertyName:"y1",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"X2",target:t,propertyName:"x2",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Y2",target:t,propertyName:"y2",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Dash pattern",target:t,value:t.dash.join(","),onChange:function(t){return e.onDashChange(t)}})))},t}(l.Component),at=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.scrollViewer;return l.createElement("div",{className:"pane"},l.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"RECTANGLE"},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Corner radius",target:e,propertyName:"cornerRadius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"SCROLLVIEWER"},l.createElement(Pe,{lockObject:this.props.lockObject,label:"Bar size",target:e,propertyName:"barSize",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Bar color",target:e,propertyName:"barColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(fe,{lockObject:this.props.lockObject,label:"Bar background",target:e,propertyName:"barBackground",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Wheel precision",target:e,propertyName:"wheelPrecision",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),ot=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.renderRows=function(){for(var e=this.props.grid,t=[],n=0;n0){t[0].framen._animationControl.to&&(n._animationControl.to=t[r].frame)}})}return n}return a(t,e),t.prototype.playOrPause=function(){var e=this.props.animatable;this._isPlaying=this.props.scene.getAllAnimatablesByTarget(e).length>0,this._isPlaying?(this.props.scene.stopAnimation(this.props.animatable),this._runningAnimatable=null):this._runningAnimatable=this.props.scene.beginAnimation(this.props.animatable,this._animationControl.from,this._animationControl.to,this._animationControl.loop),this.forceUpdate()},t.prototype.componentDidMount=function(){var e=this;this._onBeforeRenderObserver=this.props.scene.onBeforeRenderObservable.add(function(){e._isPlaying&&e._runningAnimatable&&e.setState({currentFrame:e._runningAnimatable.masterFrame})})},t.prototype.componentWillUnmount=function(){this._onBeforeRenderObserver&&(this.props.scene.onBeforeRenderObservable.remove(this._onBeforeRenderObserver),this._onBeforeRenderObserver=null)},t.prototype.onCurrentFrameChange=function(e){this._runningAnimatable&&(this._runningAnimatable.goToFrame(e),this.setState({currentFrame:e}))},t.prototype.render=function(){var e=this,t=this.props.animatable,n=this.props.animatable,r=this.props.scene.getAllAnimatablesByTarget(t);return this._isPlaying=r.length>0,this._isPlaying&&!this._runningAnimatable&&(this._runningAnimatable=r[0]),this._runningAnimatable&&(this._animationControl.from=this._runningAnimatable.fromFrame,this._animationControl.to=this._runningAnimatable.toFrame,this._animationControl.loop=this._runningAnimatable.loopAnimation),l.createElement("div",null,(this._ranges.length>0||this._animations&&this._animations.length>0)&&l.createElement(J,{globalState:this.props.globalState,title:"ANIMATION OVERRIDE"},l.createElement(re,{label:"Enable override",onSelect:function(t){t?(n.animationPropertiesOverride=new c.AnimationPropertiesOverride,n.animationPropertiesOverride.blendingSpeed=.05):n.animationPropertiesOverride=null,e.forceUpdate()},isSelected:function(){return null!=n.animationPropertiesOverride},onValueChanged:function(){return e.forceUpdate()}}),null!=n.animationPropertiesOverride&&l.createElement("div",null,l.createElement(re,{label:"Enable blending",target:n.animationPropertiesOverride,propertyName:"enableBlending",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Blending speed",target:n.animationPropertiesOverride,propertyName:"blendingSpeed",minimum:0,maximum:.1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))),this._ranges.length>0&&l.createElement(J,{globalState:this.props.globalState,title:"ANIMATION RANGES"},this._ranges.map(function(n){return l.createElement(ve,{key:n.name,label:n.name,onClick:function(){e._runningAnimatable=null,e.props.scene.beginAnimation(t,n.from,n.to,!0)}})})),this._animations&&this._animations.length>0&&l.createElement(J,{globalState:this.props.globalState,title:"ANIMATIONS"},l.createElement($,{label:"Count",value:this._animations.length.toString()}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"From",target:this._animationControl,propertyName:"from"}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"To",target:this._animationControl,propertyName:"to"}),l.createElement(re,{label:"Loop",onSelect:function(t){return e._animationControl.loop=t},isSelected:function(){return e._animationControl.loop}}),l.createElement(ve,{label:this._isPlaying?"Stop":"Play",onClick:function(){return e.playOrPause()}}),this._isPlaying&&l.createElement(pe,{ref:"timeline",label:"Current frame",minimum:this._animationControl.from,maximum:this._animationControl.to,step:(this._animationControl.to-this._animationControl.from)/1e3,directValue:this.state.currentFrame,onInput:function(t){return e.onCurrentFrameChange(t)}})))},t}(l.Component),gt=function(e){function t(t){var n=e.call(this,t)||this;return n._skeletonViewersEnabled=!1,n._skeletonViewers=new Array,n.checkSkeletonViewerState(n.props),n}return a(t,e),t.prototype.switchSkeletonViewers=function(){this._skeletonViewersEnabled=!this._skeletonViewersEnabled;var e=this.props.skeleton.getScene();if(this._skeletonViewersEnabled)for(var t=0,n=e.meshes;t0}},t.prototype.shouldComponentUpdate=function(e){return e.skeleton!==this.props.skeleton&&this.checkSkeletonViewerState(e),!0},t.prototype.onOverrideMeshLink=function(){if(this.props.globalState.onSelectionChangedObservable){var e=this.props.skeleton;this.props.globalState.onSelectionChangedObservable.notifyObservers(e.overrideMesh)}},t.prototype.render=function(){var e=this,t=this.props.skeleton;return l.createElement("div",{className:"pane"},l.createElement(ge,{globalState:this.props.globalState,target:t,lockObject:this.props.lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"GENERAL"},l.createElement($,{label:"ID",value:t.id}),l.createElement($,{label:"Bone count",value:t.bones.length.toString()}),t.overrideMesh&&l.createElement($,{label:"Override mesh",value:t.overrideMesh.name,onLink:function(){return e.onOverrideMeshLink()}}),l.createElement(re,{label:"Use texture to store matrices",target:t,propertyName:"useTextureToStoreBoneMatrices",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Debug mode",isSelected:function(){return e._skeletonViewersEnabled},onSelect:function(){return e.switchSkeletonViewers()}})),l.createElement(ft,{globalState:this.props.globalState,animatable:t,scene:t.getScene(),lockObject:this.props.lockObject}))},t}(l.Component),vt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.onTransformNodeLink=function(){if(this.props.globalState.onSelectionChangedObservable){var e=this.props.bone.getTransformNode();this.props.globalState.onSelectionChangedObservable.notifyObservers(e)}},t.prototype.render=function(){var e=this,t=this.props.bone;return l.createElement("div",{className:"pane"},l.createElement(J,{globalState:this.props.globalState,title:"GENERAL"},l.createElement($,{label:"Name",value:t.name}),l.createElement($,{label:"Index",value:t.getIndex().toString()}),l.createElement($,{label:"Unique ID",value:t.uniqueId.toString()}),t.getParent()&&l.createElement($,{label:"Parent",value:t.getParent().name,onLink:function(){return e.props.globalState.onSelectionChangedObservable.notifyObservers(t.getParent())}}),t.getTransformNode()&&l.createElement($,{label:"Linked node",value:t.getTransformNode().name,onLink:function(){return e.onTransformNodeLink()}})),l.createElement(J,{globalState:this.props.globalState,title:"TRANSFORMATIONS"},l.createElement(be,{label:"Position",target:t,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),!t.rotationQuaternion&&l.createElement(be,{label:"Rotation",useEuler:this.props.globalState.onlyUseEulers,target:t,propertyName:"rotation",step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.rotationQuaternion&&l.createElement(me,{label:"Rotation",useEuler:this.props.globalState.onlyUseEulers,target:t,propertyName:"rotationQuaternion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Scaling",target:t,propertyName:"scaling",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),yt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.light,t=(e.getShadowGenerator()||null)instanceof c.CascadedShadowGenerator;return l.createElement("div",{className:"pane"},l.createElement(Re,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"SETUP"},l.createElement(he,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Specular",target:e,propertyName:"specular",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Direction",target:e,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),!t&&l.createElement(re,{label:"Auto Calc Shadow ZBounds",target:e,propertyName:"autoCalcShadowZBounds",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(Ie,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(l.Component),Ct=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.light;return l.createElement("div",{className:"pane"},l.createElement(Re,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"SETUP"},l.createElement(he,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(he,{label:"Specular",target:e,propertyName:"specular",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(be,{label:"Direction",target:e,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,useEuler:this.props.globalState.onlyUseEulers,label:"Angle",target:e,propertyName:"angle",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,useEuler:this.props.globalState.onlyUseEulers,label:"Inner angle",target:e,propertyName:"innerAngle",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(Pe,{lockObject:this.props.lockObject,label:"Exponent",target:e,propertyName:"exponent",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(Ie,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(l.Component),Et=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.renderPipeline;return l.createElement("div",{className:"pane"},l.createElement(ut,{globalState:this.props.globalState,lockObject:this.props.lockObject,renderPipeline:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"OPTIONS"},l.createElement(pe,{label:"Edge blur",minimum:0,maximum:5,step:.1,target:e,propertyName:"edgeBlur",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Edge distortion",minimum:0,maximum:5,step:.1,target:e,propertyName:"edgeDistortion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Grain amount",minimum:0,maximum:1,step:.1,target:e,propertyName:"grainAmount",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Chromatic aberration",minimum:0,maximum:5,step:.1,target:e,propertyName:"chromaticAberration",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Darken out of focus",minimum:0,maximum:5,step:.1,target:e,propertyName:"darkenOutOfFocus",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Blur noise",target:e,propertyName:"blurNoise",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),l.createElement(J,{globalState:this.props.globalState,title:"DEPTH OF FIELD"},l.createElement(pe,{label:"Aperture",minimum:0,maximum:10,step:.1,target:e,propertyName:"dofAperture",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Distortion",minimum:0,maximum:10,step:.1,target:e,propertyName:"dofDistortion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Pentagon bokeh",target:e,propertyName:"pentagonBokeh",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Highlight gain",minimum:0,maximum:5,step:.1,target:e,propertyName:"highlightsGain",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(pe,{label:"Highlight threshold",minimum:0,maximum:5,step:.1,target:e,propertyName:"highlightsThreshold",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(l.Component),Ot=function(e){function t(t){var n=e.call(this,t)||this;return n._localChange=!1,n.state={isExpanded:!1,value:n.getCurrentValue().clone()},n}return a(t,e),t.prototype.getCurrentValue=function(){return this.props.target[this.props.propertyName]},t.prototype.shouldComponentUpdate=function(e,t){var n=this.getCurrentValue();return!(n.equals(t.value)&&!this._localChange)&&(t.value=n.clone(),this._localChange=!1,!0)},t.prototype.switchExpandState=function(){this._localChange=!0,this.setState({isExpanded:!this.state.isExpanded})},t.prototype.raiseOnPropertyChanged=function(e){this.props.onChange&&this.props.onChange(this.state.value),this.props.onPropertyChangedObservable&&this.props.onPropertyChangedObservable.notifyObservers({object:this.props.target,property:this.props.propertyName,value:this.state.value,initialValue:e})},t.prototype.updateVector4=function(){var e=this.props.target[this.props.propertyName].clone();this.props.target[this.props.propertyName]=this.state.value,this.setState({value:e}),this.raiseOnPropertyChanged(e)},t.prototype.updateStateX=function(e){this._localChange=!0,this.state.value.x=e,this.updateVector4()},t.prototype.updateStateY=function(e){this._localChange=!0,this.state.value.y=e,this.updateVector4()},t.prototype.updateStateZ=function(e){this._localChange=!0,this.state.value.z=e,this.updateVector4()},t.prototype.updateStateW=function(e){this._localChange=!0,this.state.value.w=e,this.updateVector4()},t.prototype.render=function(){var e=this,t=this.state.isExpanded?l.createElement(u.a,{icon:z}):l.createElement(u.a,{icon:U});return l.createElement("div",{className:"vector3Line"},l.createElement("div",{className:"firstLine"},l.createElement("div",{className:"label"},this.props.label),l.createElement("div",{className:"vector"},"X: "+this.state.value.x.toFixed(2)+", Y: "+this.state.value.y.toFixed(2)+", Z: "+this.state.value.z.toFixed(2)+", W: "+this.state.value.w.toFixed(2)),l.createElement("div",{className:"expand hoverIcon",onClick:function(){return e.switchExpandState()},title:"Expand"},t)),l.createElement("div",{className:"secondLine"},l.createElement(ue,{label:"x",step:this.props.step,value:this.state.value.x,onChange:function(t){return e.updateStateX(t)}}),l.createElement(ue,{label:"y",step:this.props.step,value:this.state.value.y,onChange:function(t){return e.updateStateY(t)}}),l.createElement(ue,{label:"z",step:this.props.step,value:this.state.value.z,onChange:function(t){return e.updateStateZ(t)}}),l.createElement(ue,{label:"w",step:this.props.step,value:this.state.value.w,onChange:function(t){return e.updateStateW(t)}})))},t.defaultProps={step:.001},t}(l.Component),St=n(15),xt=function(e){function t(t){var n=e.call(this,t)||this;n._localChange=!1;var r=n.props.target[n.props.propertyName],a="Color4"===r.getClassName()?r.clone():new c.Color4(r.r,r.g,r.b,1);return n.state={isExpanded:!1,color:a},n}return a(t,e),t.prototype.shouldComponentUpdate=function(e,t){var n=this.props.target[this.props.propertyName],r="Color4"===n.getClassName()?n:new c.Color4(n.r,n.g,n.b,1);return!(r.equals(t.color)&&!this._localChange)&&(t.color=r.clone(),this._localChange=!1,!0)},t.prototype.onChange=function(e){this._localChange=!0;var t=c.Color3.FromHexString(e);this.props.onPropertyChangedObservable&&this.props.onPropertyChangedObservable.notifyObservers({object:this.props.target,property:this.props.propertyName,value:t,initialValue:this.state.color}),this.props.target[this.props.propertyName]=new c.Color4(t.r,t.g,t.b,this.props.target[this.props.propertyName].a),this.setState({color:this.props.target[this.props.propertyName]}),this.props.onChange&&this.props.onChange()},t.prototype.switchExpandState=function(){this._localChange=!0,this.setState({isExpanded:!this.state.isExpanded})},t.prototype.raiseOnPropertyChanged=function(e){this.props.onPropertyChangedObservable&&this.props.onPropertyChangedObservable.notifyObservers({object:this.props.target,property:this.props.propertyName,value:this.state.color,initialValue:e})},t.prototype.updateStateR=function(e){this._localChange=!0;var t=this.state.color.clone();this.props.target[this.props.propertyName].x=e,this.state.color.r=e,this.props.target[this.props.propertyName]=this.state.color,this.setState({color:this.state.color}),this.raiseOnPropertyChanged(t)},t.prototype.updateStateG=function(e){this._localChange=!0;var t=this.state.color.clone();this.props.target[this.props.propertyName].g=e,this.state.color.g=e,this.props.target[this.props.propertyName]=this.state.color,this.setState({color:this.state.color}),this.raiseOnPropertyChanged(t)},t.prototype.updateStateB=function(e){this._localChange=!0;var t=this.state.color.clone();this.props.target[this.props.propertyName].b=e,this.state.color.b=e,this.props.target[this.props.propertyName]=this.state.color,this.setState({color:this.state.color}),this.raiseOnPropertyChanged(t)},t.prototype.updateStateA=function(e){this._localChange=!0;var t=this.state.color.clone();this.props.target[this.props.propertyName].a=e,this.state.color.a=e,this.props.target[this.props.propertyName]=this.state.color,this.setState({color:this.state.color}),this.raiseOnPropertyChanged(t)},t.prototype.copyToClipboard=function(){var e=document.createElement("div");if(e.textContent=this.state.color.toHexString(),document.body.appendChild(e),window.getSelection){var t=document.createRange();t.selectNode(e),window.getSelection().removeAllRanges(),window.getSelection().addRange(t)}document.execCommand("copy"),e.remove()},t.prototype.render=function(){var e=this,t=this.state.isExpanded?l.createElement(u.a,{icon:z}):l.createElement(u.a,{icon:U}),n=new c.Color3(this.state.color.r,this.state.color.g,this.state.color.b);return l.createElement("div",{className:"color3Line"},l.createElement("div",{className:"firstLine"},l.createElement("div",{className:"label"},this.props.label),l.createElement("div",{className:"color3"},l.createElement("input",{type:"color",value:n.toHexString(),onChange:function(t){return e.onChange(t.target.value)}})),l.createElement("div",{className:"copy hoverIcon",onClick:function(){return e.copyToClipboard()},title:"Copy to clipboard"},l.createElement("img",{src:St,alt:""})),l.createElement("div",{className:"expand hoverIcon",onClick:function(){return e.switchExpandState()},title:"Expand"},t)),this.state.isExpanded&&l.createElement("div",{className:"secondLine"},l.createElement(ue,{label:"r",value:this.state.color.r,onChange:function(t){return e.updateStateR(t)}}),l.createElement(ue,{label:"g",value:this.state.color.g,onChange:function(t){return e.updateStateG(t)}}),l.createElement(ue,{label:"b",value:this.state.color.b,onChange:function(t){return e.updateStateB(t)}}),l.createElement(ue,{label:"a",value:this.state.color.a,onChange:function(t){return e.updateStateA(t)}})))},t}(l.Component),Pt=function(e){function t(t){var n=e.call(this,t)||this;return n._onDebugSelectionChangeObservable=new c.Observable,n}return a(t,e),t.prototype.edit=function(){this.props.material.edit()},t.prototype.renderTextures=function(){var e=this,t=this.props.material,n=this._onDebugSelectionChangeObservable,r=t.getTextureBlocks();return r&&0!==r.length?l.createElement(J,{globalState:this.props.globalState,title:"TEXTURES"},r.map(function(r,a){return l.createElement(Oe,{label:r.name,key:"nodematText"+a,texture:r.texture,material:t,onTextureCreated:function(e){return r.texture=e},onSelectionChangedObservable:e.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:n})})):null},t.prototype.renderInputBlock=function(e){switch(e.type){case c.NodeMaterialBlockConnectionPointTypes.Float:var t=isNaN(e.min)||isNaN(e.max)||e.min===e.max;return l.createElement("div",{key:e.name},e.isBoolean&&l.createElement(re,{key:e.name,label:e.name,target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),!e.isBoolean&&t&&l.createElement(Pe,{key:e.name,lockObject:this.props.lockObject,label:e.name,target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),!e.isBoolean&&!t&&l.createElement(pe,{key:e.name,label:e.name,target:e,propertyName:"value",step:(e.max-e.min)/100,minimum:e.min,maximum:e.max,onPropertyChangedObservable:this.props.onPropertyChangedObservable}));case c.NodeMaterialBlockConnectionPointTypes.Color3:return l.createElement(he,{key:e.name,label:e.name,target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable});case c.NodeMaterialBlockConnectionPointTypes.Color4:return l.createElement(xt,{key:e.name,label:e.name,target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable});case c.NodeMaterialBlockConnectionPointTypes.Vector2:return l.createElement(Ne,{key:e.name,label:e.name,target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable});case c.NodeMaterialBlockConnectionPointTypes.Vector3:return l.createElement(be,{key:e.name,label:e.name,target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable});case c.NodeMaterialBlockConnectionPointTypes.Vector4:return l.createElement(Ot,{key:e.name,label:e.name,target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable})}return null},t.prototype.renderInputValues=function(){var e=this,t=this.props.material.getInputBlocks().filter(function(e){return e.visibleInInspector&&e.isUniform&&!e.isSystemValue}).sort(function(e,t){return e.name.localeCompare(t.name)});if(0===t.length)return null;var n=[];return t.forEach(function(e){e.groupInInspector&&-1===n.indexOf(e.groupInInspector)&&n.push(e.groupInInspector)}),n.sort(),l.createElement(l.Fragment,null,l.createElement(J,{globalState:this.props.globalState,title:"INPUTS"},t.filter(function(e){return!e.groupInInspector}).map(function(t){return e.renderInputBlock(t)})),n.map(function(n,r){return l.createElement(J,{key:"inputValue"+r,globalState:e.props.globalState,title:n.toUpperCase()},t.filter(function(e){return e.groupInInspector===n}).map(function(t){return e.renderInputBlock(t)}))}))},t.prototype.render=function(){var e=this,t=this.props.material;return l.createElement("div",{className:"pane"},l.createElement(ye,{globalState:this.props.globalState,lockObject:this.props.lockObject,material:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(J,{globalState:this.props.globalState,title:"CONFIGURATION"},l.createElement(re,{label:"Ignore alpha",target:t,propertyName:"ignoreAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(ve,{label:"Node Material Editor",onClick:function(){return e.edit()}})),this.renderInputValues(),this.renderTextures())},t}(l.Component),kt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.onMaterialLink=function(e){this.props.onSelectionChangedObservable&&this.props.onSelectionChangedObservable.notifyObservers(e)},t.prototype.renderChildMaterial=function(){var e=this,t=this.props.material;return l.createElement(J,{globalState:this.props.globalState,title:"CHILDREN"},t.subMaterials.map(function(t,n){return t?l.createElement($,{key:"Material #"+n,label:"Material #"+n,value:t.name,onLink:function(){return e.onMaterialLink(t)}}):null}))},t.prototype.render=function(){var e=this.props.material;return l.createElement("div",{className:"pane"},l.createElement(ye,{globalState:this.props.globalState,lockObject:this.props.lockObject,material:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),this.renderChildMaterial())},t}(l.Component),wt=function(e){function t(t){var n=e.call(this,t)||this;return n._lockObject=new qe,n}return a(t,e),t.prototype.timerRefresh=function(){this._lockObject.lock||this.forceUpdate()},t.prototype.componentDidMount=function(){var e=this;this._timerIntervalId=window.setInterval(function(){return e.timerRefresh()},500)},t.prototype.componentWillUnmount=function(){window.clearInterval(this._timerIntervalId)},t.prototype.render=function(){var e=this.props.selectedEntity;if(!e)return l.createElement("div",{className:"infoMessage"},"Please select an entity in the scene explorer.");if(e.getClassName){var t=e.getClassName();if("Scene"===t){var n=e;return l.createElement(Le,{scene:n,globalState:this.props.globalState,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Mesh")){var r=e;if(r.getTotalVertices()>0)return l.createElement("div",null,l.createElement(Ue,{globalState:this.props.globalState,mesh:r,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))}if(-1!==t.indexOf("FreeCamera")||-1!==t.indexOf("UniversalCamera")||-1!==t.indexOf("WebXRCamera")||-1!==t.indexOf("DeviceOrientationCamera")){var a=e;return l.createElement(ze,{globalState:this.props.globalState,camera:a,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("ArcRotateCamera")){var o=e;return l.createElement(Fe,{globalState:this.props.globalState,camera:o,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("HemisphericLight"===t){var i=e;return l.createElement(Ae,{globalState:this.props.globalState,light:i,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PointLight"===t){var s=e;return l.createElement(De,{globalState:this.props.globalState,light:s,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("DirectionalLight"===t){s=e;return l.createElement(yt,{globalState:this.props.globalState,light:s,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("SpotLight"===t){s=e;return l.createElement(Ct,{globalState:this.props.globalState,light:s,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("TransformNode")||-1!==t.indexOf("Mesh")){var p=e;return l.createElement(Ge,{transformNode:p,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("MultiMaterial"===t){var c=e;return l.createElement(kt,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("StandardMaterial"===t){c=e;return l.createElement(Se,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("NodeMaterial"===t){c=e;return l.createElement(Pt,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PBRMaterial"===t){c=e;return l.createElement(Te,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PBRMetallicRoughnessMaterial"===t){c=e;return l.createElement(it,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PBRSpecularGlossinessMaterial"===t){c=e;return l.createElement(lt,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("BackgroundMaterial"===t){c=e;return l.createElement(Ve,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("AnimationGroup"===t){var u=e;return l.createElement(Ke,{globalState:this.props.globalState,animationGroup:u,scene:this.props.scene,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Material")){c=e;return l.createElement(Ce,{material:c,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("DefaultRenderingPipeline")){var d=e;return l.createElement(ht,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("LensRenderingPipeline")){d=e;return l.createElement(Et,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("SSAORenderingPipeline")){d=e;return l.createElement(bt,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("SSAO2RenderingPipeline")){d=e;return l.createElement(mt,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("RenderingPipeline")){d=e;return l.createElement(dt,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("PostProcess")){var h=e;return l.createElement(ct,{postProcess:h,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Texture")){var b=e;return l.createElement(we,{texture:b,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Skeleton")){var m=e;return l.createElement(gt,{skeleton:m,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Bone")){var f=e;return l.createElement(vt,{bone:f,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("TextBlock"===t){var g=e;return l.createElement(We,{textBlock:g,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("InputText"===t){var v=e;return l.createElement(Ye,{inputText:v,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("ColorPicker"===t){var y=e;return l.createElement(Xe,{colorPicker:y,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Image"===t){var C=e;return l.createElement(Qe,{image:C,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Slider"===t){var E=e;return l.createElement(Ze,{slider:E,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("ImageBasedSlider"===t){var O=e;return l.createElement($e,{imageBasedSlider:O,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Rectangle"===t){var S=e;return l.createElement(Je,{rectangle:S,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("StackPanel"===t){var x=e;return l.createElement(st,{stackPanel:x,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Grid"===t){var P=e;return l.createElement(ot,{grid:P,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("ScrollViewer"===t){var k=e;return l.createElement(at,{scrollViewer:k,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Ellipse"===t){var w=e;return l.createElement(et,{ellipse:w,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Checkbox"===t){var N=e;return l.createElement(tt,{checkbox:N,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("RadioButton"===t){var T=e;return l.createElement(nt,{radioButton:T,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Line"===t){var _=e;return l.createElement(rt,{line:_,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(e._host){var M=e;return l.createElement(Be,{control:M,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}}return null},t}(Z),Nt=function(e){function t(t){var n=e.call(this,t)||this;return n._backStack=new Array,n.state={isBackVisible:!1},n}return a(t,e),t.prototype.componentDidMount=function(){var e=this;this.props.onSelectionChangedObservable&&(this._onSelectionChangeObserver=this.props.onSelectionChangedObservable.add(function(t){0!==e._backStack.length&&t===e._backStack[e._backStack.length-1]||(e._backStack.push(t),e.setState({isBackVisible:e._backStack.length>1}))}))},t.prototype.componentWillUnmount=function(){this._onSelectionChangeObserver&&this.props.onSelectionChangedObservable.remove(this._onSelectionChangeObserver)},t.prototype.goBack=function(){this._backStack.pop();var e=this._backStack[this._backStack.length-1];this.props.onSelectionChangedObservable&&this.props.onSelectionChangedObservable.notifyObservers(e),this.setState({isBackVisible:this._backStack.length>1})},t.prototype.renderLogo=function(){var e=this;return this.props.noCommands?null:this.props.handleBack?this.state.isBackVisible?l.createElement("div",{id:"back",onClick:function(){return e.goBack()}},l.createElement(u.a,{icon:h})):null:l.createElement("img",{id:"logo",style:{top:"0%"},src:"https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png"})},t.prototype.render=function(){var e=this;return l.createElement("div",{id:"header"},this.renderLogo(),l.createElement("div",{id:"title"},this.props.title),l.createElement("div",{id:"commands"},!this.props.noCommands&&!this.props.noExpand&&l.createElement("div",{className:"expand",onClick:function(){return e.props.onPopup()}},l.createElement(u.a,{icon:q})),!this.props.noCommands&&!this.props.noClose&&l.createElement("div",{className:"close",onClick:function(){return e.props.onClose()}},l.createElement(u.a,{icon:W}))))},t}(l.Component),Tt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){return this.props.icon?l.createElement("div",{className:"iconMessageLine"},l.createElement("div",{className:"icon",style:{color:this.props.color?this.props.color:""}},l.createElement(u.a,{icon:this.props.icon})),l.createElement("div",{className:"value",title:this.props.text},this.props.text)):l.createElement("div",{className:"messageLine"},l.createElement("div",{className:"value",title:this.props.text,style:{color:this.props.color?this.props.color:""}},this.props.text))},t}(l.Component),_t=n(8),Mt=function(e){function t(t){var n=e.call(this,t)||this;n._onValidationResultsUpdatedObserver=null;var r=n.props.globalState.glTFLoaderExtensionDefaults;r.MSFT_lod=r.MSFT_lod||{enabled:!0,maxLODsToLoad:10},r.MSFT_minecraftMesh=r.MSFT_minecraftMesh||{enabled:!0},r.MSFT_sRGBFactors=r.MSFT_sRGBFactors||{enabled:!0},r.MSFT_audio_emitter=r.MSFT_audio_emitter||{enabled:!0},r.KHR_draco_mesh_compression=r.KHR_draco_mesh_compression||{enabled:!0},r.KHR_materials_pbrSpecularGlossiness=r.KHR_materials_pbrSpecularGlossiness||{enabled:!0},r.KHR_materials_clearcoat=r.KHR_materials_clearcoat||{enabled:!0},r.KHR_materials_sheen=r.KHR_materials_sheen||{enabled:!0},r.KHR_materials_specular=r.KHR_materials_specular||{enabled:!0},r.KHR_materials_unlit=r.KHR_materials_unlit||{enabled:!0},r.KHR_lights_punctual=r.KHR_lights_punctual||{enabled:!0},r.KHR_texture_transform=r.KHR_texture_transform||{enabled:!0},r.EXT_lights_image_based=r.EXT_lights_image_based||{enabled:!0};var a=n.props.globalState.glTFLoaderDefaults;return void 0===a.animationStartMode&&(a.animationStartMode=_t.GLTFLoaderAnimationStartMode.FIRST),a.capturePerformanceCounters=a.capturePerformanceCounters||!1,a.compileMaterials=a.compileMaterials||!1,a.compileShadowGenerators=a.compileShadowGenerators||!1,a.coordinateSystemMode=a.coordinateSystemMode||_t.GLTFLoaderCoordinateSystemMode.AUTO,a.loggingEnabled=a.loggingEnabled||!1,a.transparencyAsCoverage=a.transparencyAsCoverage||!1,a.useClipPlane=a.useClipPlane||!1,a.validate=a.validate||!0,n}return a(t,e),t.prototype.openValidationDetails=function(){var e=this.props.globalState.validationResults,t=window.open("","_blank");t&&(t.document.title="glTF Validation Results",t.document.body.innerText=JSON.stringify(e,null,2),t.document.body.style.whiteSpace="pre",t.document.body.style.fontFamily="monospace",t.document.body.style.fontSize="14px",t.focus())},t.prototype.prepareText=function(e,t){return t?t+" "+e+"s":""+e},t.prototype.componentDidMount=function(){var e=this;this.props.globalState&&(this._onValidationResultsUpdatedObserver=this.props.globalState.onValidationResultsUpdatedObservable.add(function(){e.forceUpdate()}))},t.prototype.componentWillUnmount=function(){this.props.globalState&&this._onValidationResultsUpdatedObserver&&this.props.globalState.onValidationResultsUpdatedObservable.remove(this._onValidationResultsUpdatedObserver)},t.prototype.renderValidation=function(){var e=this,t=this.props.globalState.validationResults;if(!t)return null;var n=t.issues;return l.createElement(J,{globalState:this.props.globalState,title:"GLTF VALIDATION",closed:!n.numErrors&&!n.numWarnings},0!==n.numErrors&&l.createElement(Tt,{text:"Your file has some validation issues",icon:Y,color:"Red"}),0===n.numErrors&&l.createElement(Tt,{text:"Your file is a valid glTF file",icon:E,color:"Green"}),l.createElement($,{label:"Errors",value:n.numErrors.toString()}),l.createElement($,{label:"Warnings",value:n.numWarnings.toString()}),l.createElement($,{label:"Infos",value:n.numInfos.toString()}),l.createElement($,{label:"Hints",value:n.numHints.toString()}),l.createElement($,{label:"More details",value:"Click here",onLink:function(){return e.openValidationDetails()}}))},t.prototype.render=function(){var e=this.props.globalState.glTFLoaderExtensionDefaults,t=this.props.globalState.glTFLoaderDefaults,n=[{label:"None",value:_t.GLTFLoaderAnimationStartMode.NONE},{label:"First",value:_t.GLTFLoaderAnimationStartMode.FIRST},{label:"ALL",value:_t.GLTFLoaderAnimationStartMode.ALL}],r=[{label:"Auto",value:_t.GLTFLoaderCoordinateSystemMode.AUTO},{label:"Right handed",value:_t.GLTFLoaderCoordinateSystemMode.FORCE_RIGHT_HANDED}];return l.createElement("div",null,l.createElement(J,{globalState:this.props.globalState,title:"GLTF LOADER",closed:!0},l.createElement(ce,{label:"Animation start mode",options:n,target:t,propertyName:"animationStartMode"}),l.createElement(re,{label:"Capture performance counters",target:t,propertyName:"capturePerformanceCounters"}),l.createElement(re,{label:"Compile materials",target:t,propertyName:"compileMaterials"}),l.createElement(re,{label:"Compile shadow generators",target:t,propertyName:"compileShadowGenerators"}),l.createElement(ce,{label:"Coordinate system",options:r,target:t,propertyName:"coordinateSystemMode"}),l.createElement(re,{label:"Enable logging",target:t,propertyName:"loggingEnabled"}),l.createElement(re,{label:"Transparency as coverage",target:t,propertyName:"transparencyAsCoverage"}),l.createElement(re,{label:"Use clip plane",target:t,propertyName:"useClipPlane"}),l.createElement(re,{label:"Validate",target:t,propertyName:"validate"}),l.createElement(Tt,{text:"You need to reload your file to see these changes"})),l.createElement(J,{globalState:this.props.globalState,title:"GLTF EXTENSIONS",closed:!0},l.createElement(re,{label:"MSFT_lod",isSelected:function(){return e.MSFT_lod.enabled},onSelect:function(t){return e.MSFT_lod.enabled=t}}),l.createElement(Pe,{label:"Maximum LODs",target:e.MSFT_lod,propertyName:"maxLODsToLoad",additionalClass:"gltf-extension-property",isInteger:!0}),l.createElement(re,{label:"MSFT_minecraftMesh",isSelected:function(){return e.MSFT_minecraftMesh.enabled},onSelect:function(t){return e.MSFT_minecraftMesh.enabled=t}}),l.createElement(re,{label:"MSFT_sRGBFactors",isSelected:function(){return e.MSFT_sRGBFactors.enabled},onSelect:function(t){return e.MSFT_sRGBFactors.enabled=t}}),l.createElement(re,{label:"MSFT_audio_emitter",isSelected:function(){return e.MSFT_audio_emitter.enabled},onSelect:function(t){return e.MSFT_audio_emitter.enabled=t}}),l.createElement(re,{label:"KHR_draco_mesh_compression",isSelected:function(){return e.KHR_draco_mesh_compression.enabled},onSelect:function(t){return e.KHR_draco_mesh_compression.enabled=t}}),l.createElement(re,{label:"KHR_materials_pbrSpecularGlossiness",isSelected:function(){return e.KHR_materials_pbrSpecularGlossiness.enabled},onSelect:function(t){return e.KHR_materials_pbrSpecularGlossiness.enabled=t}}),l.createElement(re,{label:"KHR_materials_clearcoat",isSelected:function(){return e.KHR_materials_clearcoat.enabled},onSelect:function(t){return e.KHR_materials_clearcoat.enabled=t}}),l.createElement(re,{label:"KHR_materials_sheen",isSelected:function(){return e.KHR_materials_sheen.enabled},onSelect:function(t){return e.KHR_materials_sheen.enabled=t}}),l.createElement(re,{label:"KHR_materials_specular",isSelected:function(){return e.KHR_materials_specular.enabled},onSelect:function(t){return e.KHR_materials_specular.enabled=t}}),l.createElement(re,{label:"KHR_materials_unlit",isSelected:function(){return e.KHR_materials_unlit.enabled},onSelect:function(t){return e.KHR_materials_unlit.enabled=t}}),l.createElement(re,{label:"KHR_lights_punctual",isSelected:function(){return e.KHR_lights_punctual.enabled},onSelect:function(t){return e.KHR_lights_punctual.enabled=t}}),l.createElement(re,{label:"KHR_texture_transform",isSelected:function(){return e.KHR_texture_transform.enabled},onSelect:function(t){return e.KHR_texture_transform.enabled=t}}),l.createElement(re,{label:"EXT_lights_image_based",isSelected:function(){return e.EXT_lights_image_based.enabled},onSelect:function(t){return e.EXT_lights_image_based.enabled=t}}),l.createElement(Tt,{text:"You need to reload your file to see these changes"})),t.validate&&this.props.globalState.validationResults&&this.renderValidation())},t}(l.Component),Lt=n(17),Rt=function(e){function t(n){var r=e.call(this,n)||this;return r._id=t._IDGenerator++,r}return a(t,e),t.prototype.onChange=function(e){var t=e.target.files;t&&t.length&&this.props.onClick(e),e.target.value=""},t.prototype.render=function(){var e=this;return l.createElement("div",{className:"buttonLine"},l.createElement("label",{htmlFor:"file-upload"+this._id,className:"file-upload"},this.props.label),l.createElement("input",{ref:"upload",id:"file-upload"+this._id,type:"file",accept:this.props.accept,onChange:function(t){return e.onChange(t)},multiple:!0}))},t._IDGenerator=0,t}(l.Component),At=function(e){function t(t){var n=e.call(this,t)||this;n._screenShotSize={precision:1},n._useWidthHeight=!1,n._isExporting=!1,n.state={tag:"Record video"};var r=n.props.globalState.sceneImportDefaults;return void 0===r.overwriteAnimations&&(r.overwriteAnimations=!0),void 0===r.animationGroupLoadingMode&&(r.animationGroupLoadingMode=c.SceneLoaderAnimationGroupLoadingMode.Clean),n}return a(t,e),t.prototype.componentDidMount=function(){BABYLON.GLTF2Export||c.Tools.LoadScript("https://preview.babylonjs.com/serializers/babylonjs.serializers.min.js",function(){})},t.prototype.componentWillUnmount=function(){this._videoRecorder&&(this._videoRecorder.stopRecording(),this._videoRecorder.dispose(),this._videoRecorder=null)},t.prototype.captureScreenshot=function(){var e=this.props.scene;e.activeCamera&&c.Tools.CreateScreenshot(e.getEngine(),e.activeCamera,this._screenShotSize)},t.prototype.captureRender=function(){var e=this.props.scene,t={height:this._screenShotSize.height,width:this._screenShotSize.width,precision:this._screenShotSize.precision};this._useWidthHeight||(this._screenShotSize.width=void 0,this._screenShotSize.height=void 0),e.activeCamera&&c.Tools.CreateScreenshotUsingRenderTarget(e.getEngine(),e.activeCamera,this._screenShotSize),this._screenShotSize=t},t.prototype.recordVideo=function(){var e=this;if(this._videoRecorder&&this._videoRecorder.isRecording)this._videoRecorder.stopRecording();else{var t=this.props.scene;this._videoRecorder||(this._videoRecorder=new c.VideoRecorder(t.getEngine())),this._videoRecorder.startRecording().then(function(){e.setState({tag:"Record video"})}),this.setState({tag:"Stop recording"})}},t.prototype.importAnimations=function(e){var t=this.props.scene,n=this.props.globalState.sceneImportDefaults.overwriteAnimations,r=this.props.globalState.sceneImportDefaults.animationGroupLoadingMode;new c.FilesInput(t.getEngine(),t,function(){},function(){},function(){},function(e){},function(){},function(e){e&&BABYLON.SceneLoader.ImportAnimationsAsync("file:",e,t,n,r,null,function(e){e.animationGroups.length>0&&e.animationGroups[0].play(!0)})},function(){}).loadFiles(e)},t.prototype.shouldExport=function(e){if(e instanceof c.Mesh&&e.material){var t=e.material.reflectionTexture;if(t&&t.coordinatesMode===c.Texture.SKYBOX_MODE)return!1}return!0},t.prototype.exportGLTF=function(){var e=this,t=this.props.scene;this._isExporting=!0,this.forceUpdate(),Lt.GLTF2Export.GLBAsync(t,"scene",{shouldExportNode:function(t){return e.shouldExport(t)}}).then(function(t){t.downloadFiles(),e._isExporting=!1,e.forceUpdate()}).catch(function(t){e._isExporting=!1,e.forceUpdate()})},t.prototype.exportBabylon=function(){var e=this.props.scene,t=JSON.stringify(c.SceneSerializer.Serialize(e)),n=new Blob([t],{type:"octet/stream"});c.Tools.Download(n,"scene.babylon")},t.prototype.createEnvTexture=function(){var e=this.props.scene;c.EnvironmentTextureTools.CreateEnvTextureAsync(e.environmentTexture).then(function(e){var t=new Blob([e],{type:"octet/stream"});c.Tools.Download(t,"environment.env")}).catch(function(e){console.error(e),alert(e)})},t.prototype.resetReplay=function(){this.props.globalState.recorder.reset()},t.prototype.exportReplay=function(){this.props.globalState.recorder.export()},t.prototype.render=function(){var e=this,t=this.props.scene;if(!t)return null;var n=this.props.globalState.sceneImportDefaults,r=[{label:"Clean",value:c.SceneLoaderAnimationGroupLoadingMode.Clean},{label:"Stop",value:c.SceneLoaderAnimationGroupLoadingMode.Stop},{label:"Sync",value:c.SceneLoaderAnimationGroupLoadingMode.Sync},{label:"NoSync",value:c.SceneLoaderAnimationGroupLoadingMode.NoSync}];return l.createElement("div",{className:"pane"},l.createElement(J,{globalState:this.props.globalState,title:"CAPTURE"},l.createElement(ve,{label:"Screenshot",onClick:function(){return e.captureScreenshot()}}),l.createElement(ve,{label:this.state.tag,onClick:function(){return e.recordVideo()}})),l.createElement(J,{globalState:this.props.globalState,title:"CAPTURE WITH RTT"},l.createElement(ve,{label:"Capture",onClick:function(){return e.captureRender()}}),l.createElement("div",{className:"vector3Line"},l.createElement(Pe,{label:"Precision",target:this._screenShotSize,propertyName:"precision",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),l.createElement(re,{label:"Use Width/Height",onSelect:function(t){e._useWidthHeight=t,e.forceUpdate()},isSelected:function(){return e._useWidthHeight}}),this._useWidthHeight&&l.createElement("div",{className:"secondLine"},l.createElement(ue,{label:"Width",precision:0,step:1,value:this._screenShotSize.width?this._screenShotSize.width:512,onChange:function(t){return e._screenShotSize.width=t}}),l.createElement(ue,{label:"Height",precision:0,step:1,value:this._screenShotSize.height?this._screenShotSize.height:512,onChange:function(t){return e._screenShotSize.height=t}})))),l.createElement(J,{globalState:this.props.globalState,title:"REPLAY"},l.createElement(ve,{label:"Generate replay code",onClick:function(){return e.exportReplay()}}),l.createElement(ve,{label:"Reset",onClick:function(){return e.resetReplay()}})),l.createElement(J,{globalState:this.props.globalState,title:"SCENE IMPORT"},l.createElement(Rt,{label:"Import animations",accept:"gltf",onClick:function(t){return e.importAnimations(t)}}),l.createElement(re,{label:"Overwrite animations",target:n,propertyName:"overwriteAnimations",onSelect:function(t){n.overwriteAnimations=t,e.forceUpdate()}}),!1===n.overwriteAnimations&&l.createElement(ce,{label:"Animation merge mode",options:r,target:n,propertyName:"animationGroupLoadingMode"})),l.createElement(J,{globalState:this.props.globalState,title:"SCENE EXPORT"},this._isExporting&&l.createElement($,{label:"Please wait..exporting",ignoreValue:!0}),!this._isExporting&&l.createElement(l.Fragment,null,l.createElement(ve,{label:"Export to GLB",onClick:function(){return e.exportGLTF()}}),l.createElement(ve,{label:"Export to Babylon",onClick:function(){return e.exportBabylon()}}),!t.getEngine().premultipliedAlpha&&t.environmentTexture&&t.environmentTexture.isPrefiltered&&t.activeCamera&&l.createElement(ve,{label:"Generate .env texture",onClick:function(){return e.createEnvTexture()}}))),BABYLON.GLTFFileLoader&&l.createElement(Mt,{scene:t,globalState:this.props.globalState}))},t}(Z),It=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.globalState;return l.createElement("div",{className:"pane"},l.createElement(J,{globalState:this.props.globalState,title:"UI"},l.createElement(re,{label:"Only display Euler values",target:e,propertyName:"onlyUseEulers"}),l.createElement(re,{label:"Ignore backfaces when picking",target:e,propertyName:"ignoreBackfacesForPicking"})))},t}(Z);n(28);var Dt=function(e){function t(t){var n=e.call(this,t)||this;n._once=!0;var r=void 0===t.initialTab?c.DebugLayerTab.Properties:t.initialTab;if(n.props.globalState){var a=n.props.globalState.validationResults;a&&(a.issues.numErrors||a.issues.numWarnings)&&(r=c.DebugLayerTab.Tools)}return n.state={selectedEntity:null,selectedIndex:r},n}return a(t,e),t.prototype.componentDidMount=function(){var e=this;this.props.globalState&&(this._onSelectionChangeObserver=this.props.globalState.onSelectionChangedObservable.add(function(t){e.setState({selectedEntity:t,selectedIndex:c.DebugLayerTab.Properties})}),this._onTabChangedObserver=this.props.globalState.onTabChangedObservable.add(function(t){e.setState({selectedIndex:t})}))},t.prototype.componentWillUnmount=function(){this.props.globalState&&(this._onSelectionChangeObserver&&this.props.globalState.onSelectionChangedObservable.remove(this._onSelectionChangeObserver),this._onTabChangedObserver&&this.props.globalState.onTabChangedObservable.remove(this._onTabChangedObserver))},t.prototype.changeSelectedTab=function(e){this.props.globalState&&this.props.globalState.onTabChangedObservable.notifyObservers(e)},t.prototype.renderContent=function(){var e=this;return this.props.globalState&&this.props.scene?l.createElement(d,{selectedIndex:this.state.selectedIndex,onSelectedIndexChange:function(t){return e.changeSelectedTab(t)}},l.createElement(wt,{title:"Properties",icon:L,scene:this.props.scene,selectedEntity:this.state.selectedEntity,globalState:this.props.globalState,onSelectionChangedObservable:this.props.globalState.onSelectionChangedObservable,onPropertyChangedObservable:this.props.globalState.onPropertyChangedObservable}),l.createElement(ie,{title:"Debug",icon:v,scene:this.props.scene,globalState:this.props.globalState}),l.createElement(ne,{title:"Statistics",icon:C,scene:this.props.scene,globalState:this.props.globalState}),l.createElement(At,{title:"Tools",icon:Q,scene:this.props.scene,globalState:this.props.globalState}),l.createElement(It,{title:"Settings",icon:x,scene:this.props.scene,globalState:this.props.globalState})):null},t.prototype.onClose=function(){this.props.onClose&&this.props.onClose()},t.prototype.onPopup=function(){this.props.onPopup&&this.props.onPopup()},t.prototype.render=function(){var e=this;return this.props.popupMode?l.createElement("div",{id:"actionTabs"},!this.props.noHeader&&l.createElement(Nt,{title:"INSPECTOR",handleBack:!0,noClose:this.props.noClose,noExpand:this.props.noExpand,noCommands:this.props.noCommands,onClose:function(){return e.onClose()},onPopup:function(){return e.onPopup()},onSelectionChangedObservable:this.props.globalState?this.props.globalState.onSelectionChangedObservable:void 0}),this.renderContent()):(this._once&&(this._once=!1,setTimeout(function(){var e=document.getElementById("actionTabs");e&&(e.style.width="300px")},150)),l.createElement(se.a,{id:"actionTabs",minWidth:300,maxWidth:600,size:{height:"100%"},minHeight:"100%",enable:{top:!1,right:!1,bottom:!1,left:!0,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1}},!this.props.noHeader&&l.createElement(Nt,{title:"INSPECTOR",handleBack:!0,noClose:this.props.noClose,noExpand:this.props.noExpand,noCommands:this.props.noCommands,onClose:function(){return e.onClose()},onPopup:function(){return e.onPopup()},onSelectionChangedObservable:this.props.globalState?this.props.globalState.onSelectionChangedObservable:void 0}),this.renderContent()))},t}(l.Component),jt={prefix:"far",iconName:"eye",icon:[576,512,[],"f06e","M569.354 231.631C512.97 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-102.556 0-192.091-54.701-240-136 44.157-74.933 123.677-127.27 216.162-135.007C273.958 131.078 280 144.83 280 160c0 30.928-25.072 56-56 56s-56-25.072-56-56l.001-.042C157.794 179.043 152 200.844 152 224c0 75.111 60.889 136 136 136s136-60.889 136-136c0-31.031-10.4-59.629-27.895-82.515C451.704 164.638 498.009 205.106 528 256c-47.908 81.299-137.444 136-240 136z"]},zt={prefix:"far",iconName:"eye-slash",icon:[576,512,[],"f070","M272.702 359.139c-80.483-9.011-136.212-86.886-116.93-167.042l116.93 167.042zM288 392c-102.556 0-192.092-54.701-240-136 21.755-36.917 52.1-68.342 88.344-91.658l-27.541-39.343C67.001 152.234 31.921 188.741 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.004 376.006 168.14 440 288 440a332.89 332.89 0 0 0 39.648-2.367l-32.021-45.744A284.16 284.16 0 0 1 288 392zm281.354-111.631c-33.232 56.394-83.421 101.742-143.554 129.492l48.116 68.74c3.801 5.429 2.48 12.912-2.949 16.712L450.23 509.83c-5.429 3.801-12.912 2.48-16.712-2.949L102.084 33.399c-3.801-5.429-2.48-12.912 2.949-16.712L125.77 2.17c5.429-3.801 12.912-2.48 16.712 2.949l55.526 79.325C226.612 76.343 256.808 72 288 72c119.86 0 224.996 63.994 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM528 256c-44.157-74.933-123.677-127.27-216.162-135.007C302.042 131.078 296 144.83 296 160c0 30.928 25.072 56 56 56s56-25.072 56-56l-.001-.042c30.632 57.277 16.739 130.26-36.928 171.719l26.695 38.135C452.626 346.551 498.308 306.386 528 256z"]},Ft={prefix:"far",iconName:"lightbulb",icon:[352,512,[],"f0eb","M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"]},Ut={prefix:"far",iconName:"square",icon:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z"]},Gt=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.onClick=function(){this.props.onClick&&this.props.onClick()},t.prototype.render=function(){var e=this;return l.createElement("div",{className:"title",onClick:function(){return e.onClick()}},l.createElement("div",{className:"titleIcon"},l.createElement(u.a,{icon:this.props.icon,color:this.props.color})),l.createElement("div",{className:"titleText"},this.props.label||"no name"))},t}(l.Component),Vt=function(e){function t(t){var n=e.call(this,t)||this;return n.state={popupVisible:!1},n}return a(t,e),t.prototype.showPopup=function(){this.setState({popupVisible:!0})},t.prototype.componentDidMount=function(){this._popup&&this._popup.focus()},t.prototype.componentDidUpdate=function(){this._popup&&this._popup.focus()},t.prototype.render=function(){var e=this;if(!this.props.extensibilityGroups)return null;for(var t=[],n=0,r=this.props.extensibilityGroups;n0?l.createElement(Ht,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,mesh:r,onClick:function(){return e.onClick()}}):l.createElement(Kt,{extensibilityGroups:this.props.extensibilityGroups,transformNode:t,onClick:function(){return e.onClick()}})}if(-1!==n.indexOf("Skeleton"))return l.createElement(en,{extensibilityGroups:this.props.extensibilityGroups,skeleton:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Bone"))return l.createElement(tn,{extensibilityGroups:this.props.extensibilityGroups,bone:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("TransformNode"))return l.createElement(Kt,{extensibilityGroups:this.props.extensibilityGroups,transformNode:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Camera"))return l.createElement(Bt,{extensibilityGroups:this.props.extensibilityGroups,camera:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Light",n.length-5))return l.createElement(Wt,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,light:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Material"))return l.createElement(Yt,{extensibilityGroups:this.props.extensibilityGroups,material:t,onClick:function(){return e.onClick()}});if("AdvancedDynamicTexture"===n)return l.createElement(Qt,{onSelectionChangedObservable:this.props.globalState.onSelectionChangedObservable,extensibilityGroups:this.props.extensibilityGroups,texture:t,onClick:function(){return e.onClick()}});if("AnimationGroup"===n)return l.createElement(Zt,{extensibilityGroups:this.props.extensibilityGroups,animationGroup:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Texture"))return l.createElement(Xt,{extensibilityGroups:this.props.extensibilityGroups,texture:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("RenderingPipeline"))return l.createElement(Jt,{extensibilityGroups:this.props.extensibilityGroups,renderPipeline:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("PostProcess"))return l.createElement($t,{extensibilityGroups:this.props.extensibilityGroups,postProcess:t,onClick:function(){return e.onClick()}});if(t._host)return l.createElement(qt,{extensibilityGroups:this.props.extensibilityGroups,control:t,onClick:function(){return e.onClick()}})}return l.createElement("div",{className:"meshTools"},l.createElement(Gt,{label:t.name,onClick:function(){return e.onClick()},icon:G,color:"cornflowerblue"}))},t}(l.Component),rn=function(){function e(){}return e.StoreLocalBooleanSettings=function(e,t){"undefined"!=typeof Storage&&localStorage.setItem(e,t?"true":"false")},e.ReadLocalBooleanSettings=function(e,t){return"undefined"!=typeof Storage&&null!==localStorage.getItem(e)?"true"===localStorage.getItem(e):t},e.LookForItem=function(t,n){if(t===n)return!0;var r=t.getChildren?t.getChildren():t.children;if(r&&"MultiMaterial"!==t.getClassName())for(var a=0,o=r;ar?1:-1})},e}(),an=function(e){function t(t){var n=e.call(this,t)||this;return n._wasSelected=!1,n.state={isSelected:n.props.entity===n.props.selectedEntity,isExpanded:n.props.mustExpand||rn.LookForItem(n.props.entity,n.props.selectedEntity)},n}return a(t,e),t.prototype.switchExpandedState=function(){this.setState({isExpanded:!this.state.isExpanded})},t.prototype.shouldComponentUpdate=function(e,t){if(!t.isExpanded&&this.state.isExpanded)return!0;if(e.selectedEntity){if(e.entity===e.selectedEntity)return t.isSelected=!0,!0;if(t.isSelected=!1,rn.LookForItem(e.entity,e.selectedEntity))return t.isExpanded=!0,!0}return!0},t.prototype.scrollIntoView=function(){var e=p.findDOMNode(this);e&&e.scrollIntoView(!1)},t.prototype.componentDidMount=function(){this.state.isSelected&&this.scrollIntoView()},t.prototype.componentDidUpdate=function(){this.state.isSelected&&!this._wasSelected&&this.scrollIntoView(),this._wasSelected=!1},t.prototype.onSelect=function(){if(this.props.globalState.onSelectionChangedObservable){this._wasSelected=!0;var e=this.props.entity;this.props.globalState.onSelectionChangedObservable.notifyObservers(e)}},t.prototype.renderChildren=function(){var e=this,n=this.props.entity;return(n.getChildren||n.children)&&this.state.isExpanded?rn.SortAndFilter(n,n.getChildren?n.getChildren():n.children).map(function(n){return l.createElement(t,{globalState:e.props.globalState,mustExpand:e.props.mustExpand,extensibilityGroups:e.props.extensibilityGroups,selectedEntity:e.props.selectedEntity,key:n.uniqueId,offset:e.props.offset+2,entity:n,filter:e.props.filter})}):null},t.prototype.render=function(){var e=this,t={paddingLeft:10*(this.props.offset+.5)+"px"},n=this.props.entity,r=this.state.isExpanded?l.createElement(u.a,{icon:z}):l.createElement(u.a,{icon:U}),a=("MultiMaterial"===n.getClassName()?[]:rn.SortAndFilter(n,n.getChildren?n.getChildren():n.children)).length>0;if(n.reservedDataStore||(n.reservedDataStore={}),n.reservedDataStore.setExpandedState=function(t){e.setState({isExpanded:t})},n.reservedDataStore.isExpanded=this.state.isExpanded,this.props.filter){var o=this.props.filter.toLowerCase();if(!n.name||-1===n.name.toLowerCase().indexOf(o)){if(!a)return null;if(n.getDescendants&&0===n.getDescendants(!1,function(e){return e.name&&-1!==e.name.toLowerCase().indexOf(o)}).length)return null}}return l.createElement("div",null,l.createElement("div",{className:this.state.isSelected?"itemContainer selected":"itemContainer",style:t},a&&l.createElement("div",{className:"arrow icon",onClick:function(){return e.switchExpandedState()}},r),l.createElement(nn,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,label:n.name,entity:n,onClick:function(){return e.onSelect()}})),this.renderChildren())},t}(l.Component),on=n(2),ln=n.n(on),sn=n(6),pn=n.n(sn),cn=n(5),un=n.n(cn); /*! * Font Awesome Free 5.4.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */function dn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:window,r=void 0;"function"==typeof window.CustomEvent?r=new window.CustomEvent(e,{detail:t}):(r=document.createEvent("CustomEvent")).initCustomEvent(e,!1,!0,t),n&&(n.dispatchEvent(r),un()(Sn,t))}function Nn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];wn(Pn,un()({},e,{type:Pn}),t)}function Tn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];wn(kn,un()({},e,{type:kn}),t)}var _n=new function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.handleShowEvent=function(e){for(var n in t.callbacks)hn(t.callbacks,n)&&t.callbacks[n].show(e)},this.handleHideEvent=function(e){for(var n in t.callbacks)hn(t.callbacks,n)&&t.callbacks[n].hide(e)},this.register=function(e,n){var r=Math.random().toString(36).substring(7);return t.callbacks[r]={show:e,hide:n},r},this.unregister=function(e){e&&t.callbacks[e]&&delete t.callbacks[e]},this.callbacks={},xn&&(window.addEventListener(Pn,this.handleShowEvent),window.addEventListener(kn,this.handleHideEvent))},Mn=Object.assign||function(e){for(var t=1;tr?o.bottom=0:o.top=0,a.righte?r.bottom=0:r.top=0,t.left<0?r.left="100%":r.right="100%",r},n.hideMenu=function(e){e.detail&&e.detail.id&&n.menu&&e.detail.id!==n.menu.id||(n.props.forceOpen&&n.props.forceClose(),n.setState({visible:!1,selectedItem:null}),n.unregisterHandlers())},n.handleClick=function(e){e.preventDefault(),n.props.disabled||dn(n.props.onClick,e,un()({},n.props.data,Sn.data),Sn.target)},n.handleMouseEnter=function(){n.closetimer&&clearTimeout(n.closetimer),n.props.disabled||n.state.visible||(n.opentimer=setTimeout(function(){return n.setState({visible:!0,selectedItem:null})},n.props.hoverDelay))},n.handleMouseLeave=function(){n.opentimer&&clearTimeout(n.opentimer),n.state.visible&&(n.closetimer=setTimeout(function(){return n.setState({visible:!1,selectedItem:null})},n.props.hoverDelay))},n.menuRef=function(e){n.menu=e},n.subMenuRef=function(e){n.subMenu=e},n.registerHandlers=function(){document.removeEventListener("keydown",n.props.parentKeyNavigationHandler),document.addEventListener("keydown",n.handleKeyNavigation)},n.unregisterHandlers=function(e){document.removeEventListener("keydown",n.handleKeyNavigation),e||document.addEventListener("keydown",n.props.parentKeyNavigationHandler)},n.state=un()({},n.state,{visible:!1}),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Fn),Gn(t,[{key:"componentDidMount",value:function(){this.listenId=_n.register(function(){},this.hideMenu)}},{key:"getSubMenuType",value:function(){return t}},{key:"shouldComponentUpdate",value:function(e,t){return this.isVisibilityChange=!(this.state.visible===t.visible&&this.props.forceOpen===e.forceOpen||this.state.visible&&e.forceOpen||this.props.forceOpen&&t.visible),!0}},{key:"componentDidUpdate",value:function(){var e=this;if(this.isVisibilityChange)if(this.props.forceOpen||this.state.visible){(window.requestAnimationFrame||setTimeout)(function(){var t=e.props.rtl?e.getRTLMenuPosition():e.getMenuPosition();e.subMenu.style.removeProperty("top"),e.subMenu.style.removeProperty("bottom"),e.subMenu.style.removeProperty("left"),e.subMenu.style.removeProperty("right"),hn(t,"top")&&(e.subMenu.style.top=t.top),hn(t,"left")&&(e.subMenu.style.left=t.left),hn(t,"bottom")&&(e.subMenu.style.bottom=t.bottom),hn(t,"right")&&(e.subMenu.style.right=t.right),e.subMenu.classList.add(mn),e.registerHandlers(),e.setState({selectedItem:null})})}else{this.subMenu.addEventListener("transitionend",function t(){e.subMenu.removeEventListener("transitionend",t),e.subMenu.style.removeProperty("bottom"),e.subMenu.style.removeProperty("right"),e.subMenu.style.top=0,e.subMenu.style.left="100%",e.unregisterHandlers()}),this.subMenu.classList.remove(mn)}}},{key:"componentWillUnmount",value:function(){this.listenId&&_n.unregister(this.listenId),this.opentimer&&clearTimeout(this.opentimer),this.closetimer&&clearTimeout(this.closetimer),this.unregisterHandlers(!0)}},{key:"render",value:function(){var e,t=this.props,n=t.children,r=t.attributes,a=t.disabled,o=t.title,i=t.selected,l=this.state.visible,p={ref:this.menuRef,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,className:pn()(gn,On,r.listClassName),style:{position:"relative"}},c={className:pn()(gn,r.className,(e={},Vn(e,pn()(yn,r.disabledClassName),a),Vn(e,pn()(vn,r.visibleClassName),l),Vn(e,pn()(En,r.selectedClassName),i),e)),onMouseMove:this.props.onMouseMove,onMouseOut:this.props.onMouseOut,onClick:this.handleClick},u={ref:this.subMenuRef,style:{position:"absolute",transition:"opacity 1ms",top:0,left:"100%"},className:pn()(bn,this.props.className)};return s.a.createElement("nav",Un({},p,{role:"menuitem",tabIndex:"-1","aria-haspopup":"true"}),s.a.createElement("div",Un({},r,c),o),s.a.createElement("nav",Un({},u,{role:"menu",tabIndex:"-1"}),this.renderChildren(n)))}}]),t}();Hn.propTypes={children:ln.a.node.isRequired,attributes:ln.a.object,title:ln.a.node.isRequired,className:ln.a.string,disabled:ln.a.bool,hoverDelay:ln.a.number,rtl:ln.a.bool,selected:ln.a.bool,onMouseMove:ln.a.func,onMouseOut:ln.a.func,forceOpen:ln.a.bool,forceClose:ln.a.func,parentKeyNavigationHandler:ln.a.func},Hn.defaultProps={disabled:!1,hoverDelay:500,attributes:{},className:"",rtl:!1,selected:!1,onMouseMove:function(){return null},onMouseOut:function(){return null},forceOpen:!1,forceClose:function(){return null},parentKeyNavigationHandler:function(){return null}};var Bn=Hn,Wn=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r={top:t,left:e};if(!n.menu)return r;var a=window,o=a.innerWidth,i=a.innerHeight,l=n.menu.getBoundingClientRect();return t+l.height>i&&(r.top-=l.height),e+l.width>o&&(r.left-=l.width),r.top<0&&(r.top=l.height0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r={top:t,left:e};if(!n.menu)return r;var a=window,o=a.innerWidth,i=a.innerHeight,l=n.menu.getBoundingClientRect();return r.left=e-l.width,t+l.height>i&&(r.top-=l.height),r.left<0&&(r.left+=l.width),r.top<0&&(r.top=l.heighto&&(r.left=l.width=0&&0===e.button&&(e.persist(),e.stopPropagation(),r.mouseDownTimeoutId=setTimeout(function(){return r.handleContextClick(e)},r.props.holdToDisplay)),dn(r.props.attributes.onMouseDown,e)},r.handleMouseUp=function(e){0===e.button&&clearTimeout(r.mouseDownTimeoutId),dn(r.props.attributes.onMouseUp,e)},r.handleMouseOut=function(e){0===e.button&&clearTimeout(r.mouseDownTimeoutId),dn(r.props.attributes.onMouseOut,e)},r.handleTouchstart=function(e){r.touchHandled=!1,r.props.holdToDisplay>=0&&(e.persist(),e.stopPropagation(),r.touchstartTimeoutId=setTimeout(function(){r.handleContextClick(e),r.touchHandled=!0},r.props.holdToDisplay)),dn(r.props.attributes.onTouchStart,e)},r.handleTouchEnd=function(e){r.touchHandled&&e.preventDefault(),clearTimeout(r.touchstartTimeoutId),dn(r.props.attributes.onTouchEnd,e)},r.handleContextMenu=function(e){r.handleContextClick(e),dn(r.props.attributes.onContextMenu,e)},r.handleContextClick=function(e){if(!r.props.disable){e.preventDefault(),e.stopPropagation();var t=e.clientX||e.touches&&e.touches[0].pageX,n=e.clientY||e.touches&&e.touches[0].pageY;r.props.posX&&(t-=r.props.posX),r.props.posY&&(n-=r.props.posY),Tn();var a=dn(r.props.collect,r.props),o={position:{x:t,y:n},target:r.elem,id:r.props.id,data:a};a&&"function"==typeof a.then?a.then(function(e){o.data=e,Nn(o)}):Nn(o)}},r.elemRef=function(e){r.elem=e},qn(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l["Component"]),Kn(t,[{key:"render",value:function(){var e=this.props,t=e.renderTag,n=e.attributes,r=e.children,a=un()({},n,{className:pn()(fn,n.className),onContextMenu:this.handleContextMenu,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onTouchStart:this.handleTouchstart,onTouchEnd:this.handleTouchEnd,onMouseOut:this.handleMouseOut,ref:this.elemRef});return s.a.createElement(t,a,r)}}]),t}();Qn.propTypes={id:ln.a.string.isRequired,children:ln.a.node.isRequired,attributes:ln.a.object,collect:ln.a.func,disable:ln.a.bool,holdToDisplay:ln.a.number,posX:ln.a.number,posY:ln.a.number,renderTag:ln.a.oneOfType([ln.a.node,ln.a.func])},Qn.defaultProps={attributes:{},collect:function(){return null},disable:!1,holdToDisplay:1e3,renderTag:"div",posX:0,posY:0};var Zn=Qn;Object.assign,function(){function e(e,t){for(var n=0;n0},!1,void 0,function(t,n,r,a){if(!e.props.globalState.ignoreBackfacesForPicking)return!0;var o=c.TmpVectors.Vector3[0],i=c.TmpVectors.Vector3[1],l=c.TmpVectors.Vector3[2];return n.subtractToRef(t,o),r.subtractToRef(n,i),l=c.Vector3.Cross(o,i),c.Vector3.Dot(l,a.direction)<0});if(e.props.globalState.lightGizmos.length>0){var a=e.props.globalState.lightGizmos[0].gizmoLayer.utilityLayerScene.pick(n.x,n.y,function(t){for(var n=0,r=e.props.globalState.lightGizmos;n1&&!o.some(function(e){return"SSAORenderingPipeline"===e.getClassName()})&&i.push({label:"Add new SSAO2 Rendering Pipeline",action:function(){var n=new c.SSAORenderingPipeline("SSAO2 rendering pipeline",t,1,[t.activeCamera]);e.props.globalState.onSelectionChangedObservable.notifyObservers(n)}}));var s=[];s.push({label:"Add new point light",action:function(){var n=new c.PointLight("point light",c.Vector3.Zero(),t);e.props.globalState.onSelectionChangedObservable.notifyObservers(n)}}),s.push({label:"Add new directional light",action:function(){var n=new c.DirectionalLight("directional light",new c.Vector3(-1,-1,-.5),t);e.props.globalState.onSelectionChangedObservable.notifyObservers(n)}}),s.push({label:"Add new free camera",action:function(){var n=new c.FreeCamera("free camera",t.activeCamera?t.activeCamera.globalPosition:new c.Vector3(0,0,-5),t);e.props.globalState.onSelectionChangedObservable.notifyObservers(n)}});var p=[];p.push({label:"Add new node material",action:function(){var n=new c.NodeMaterial("node material",t);n.setToDefault(),n.build(),e.props.globalState.onSelectionChangedObservable.notifyObservers(n)}});var u=[];return u.push.apply(u,t.materials),t.multiMaterials&&t.multiMaterials.length&&u.push.apply(u,t.multiMaterials),l.createElement("div",{id:"tree",onContextMenu:function(e){return e.preventDefault()}},l.createElement(rr,{onFilter:function(t){return e.filterContent(t)}}),l.createElement(nr,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,scene:t,onRefresh:function(){return e.forceUpdate()},onSelectionChangedObservable:this.props.globalState.onSelectionChangedObservable}),l.createElement(er,{globalState:this.props.globalState,contextMenuItems:s,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:t.rootNodes,label:"Nodes",offset:1,filter:this.state.filter}),t.skeletons.length>0&&l.createElement(er,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:t.skeletons,label:"Skeletons",offset:1,filter:this.state.filter}),l.createElement(er,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:u,contextMenuItems:p,label:"Materials",offset:1,filter:this.state.filter}),l.createElement(er,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:r,label:"Textures",offset:1,filter:this.state.filter}),a.length>0&&l.createElement(er,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:a,label:"Post-processes",offset:1,filter:this.state.filter}),l.createElement(er,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,contextMenuItems:i,selectedEntity:this.state.selectedEntity,items:o,label:"Rendering pipelines",offset:1,filter:this.state.filter}),n&&n.length>0&&l.createElement(er,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:n,label:"GUI",offset:1,filter:this.state.filter}),t.animationGroups.length>0&&l.createElement(er,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:t.animationGroups,label:"Animation groups",offset:1,filter:this.state.filter}))},t.prototype.onClose=function(){this.props.onClose&&this.props.onClose()},t.prototype.onPopup=function(){this.props.onPopup&&this.props.onPopup()},t.prototype.render=function(){var e=this;return this.props.popupMode?l.createElement("div",{id:"sceneExplorer"},!this.props.noHeader&&l.createElement(Nt,{title:"SCENE EXPLORER",noClose:this.props.noClose,noExpand:this.props.noExpand,noCommands:this.props.noCommands,onClose:function(){return e.onClose()},onPopup:function(){return e.onPopup()}}),this.renderContent()):(this._once&&(this._once=!1,setTimeout(function(){var e=document.getElementById("sceneExplorer");e&&(e.style.width="300px")},150)),l.createElement(se.a,{tabIndex:-1,id:"sceneExplorer",ref:"sceneExplorer",size:{height:"100%"},minWidth:300,maxWidth:600,minHeight:"100%",enable:{top:!1,right:!0,bottom:!1,left:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},onKeyDown:function(t){return e.processKeys(t)}},!this.props.noHeader&&l.createElement(Nt,{title:"SCENE EXPLORER",noClose:this.props.noClose,noExpand:this.props.noExpand,noCommands:this.props.noCommands,onClose:function(){return e.onClose()},onPopup:function(){return e.onPopup()}}),this.renderContent()))},t}(l.Component),or=n(33).default;n(34);var ir=function(e){function t(t){var n=e.call(this,t)||this;return n._once=!0,n}return a(t,e),t.prototype.componentDidMount=function(){this.refs.split&&or([this.refs.topPart,this.refs.bottomPart],{direction:"vertical",minSize:[200,200],gutterSize:4})},t.prototype.renderContent=function(){return this.props.popupMode?l.createElement("div",{id:"split",className:"splitPopup"},l.createElement("div",{id:"topPart"},l.createElement(ar,{scene:this.props.scene,extensibilityGroups:this.props.extensibilityGroups,popupMode:!0,globalState:this.props.globalState,noHeader:!0})),l.createElement("div",{id:"separator"}),l.createElement("div",{id:"bottomPart",style:{marginTop:"4px",overflow:"hidden"}},l.createElement(Dt,{scene:this.props.scene,popupMode:!0,globalState:this.props.globalState,noHeader:!0,initialTab:this.props.initialTab}))):l.createElement("div",{ref:"split",id:"split",className:"noPopup"},l.createElement("div",{id:"topPart",ref:"topPart"},l.createElement(ar,{scene:this.props.scene,extensibilityGroups:this.props.extensibilityGroups,globalState:this.props.globalState,popupMode:!0,noHeader:!0})),l.createElement("div",{id:"bottomPart",ref:"bottomPart",style:{marginTop:"4px",overflow:"hidden"}},l.createElement(Dt,{scene:this.props.scene,globalState:this.props.globalState,popupMode:!0,noHeader:!0,initialTab:this.props.initialTab})))},t.prototype.render=function(){var e=this;return this.props.popupMode?l.createElement("div",{id:"embed"},l.createElement(Nt,{title:"INSPECTOR",noClose:this.props.noClose,noExpand:this.props.noExpand,handleBack:!0,onClose:function(){return e.props.onClose()},onPopup:function(){return e.props.onPopup()},onSelectionChangedObservable:this.props.globalState.onSelectionChangedObservable}),this.renderContent()):(this._once&&(this._once=!1,setTimeout(function(){var e=document.getElementById("embed");e&&(e.style.width="300px")},150)),l.createElement(se.a,{id:"embed",minWidth:300,maxWidth:600,size:{height:"100%"},minHeight:"100%",enable:{top:!1,right:!1,bottom:!1,left:!0,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1}},l.createElement(Nt,{title:"INSPECTOR",noClose:this.props.noClose,noExpand:this.props.noExpand,handleBack:!0,onClose:function(){return e.props.onClose()},onPopup:function(){return e.props.onPopup()},onSelectionChangedObservable:this.props.globalState.onSelectionChangedObservable}),this.renderContent()))},t}(l.Component),lr=function(){function e(){}return e.prototype.reset=function(){this._recordedCodeLines=[],this._previousObject=null,this._previousProperty=""},e.prototype.record=function(e){this._recordedCodeLines||(this._recordedCodeLines=[]),this._previousObject===e.object&&this._previousProperty===e.property&&this._recordedCodeLines.pop();var t=e.value;void 0!==t.w?t="new BABYLON.Quaternion("+t.x+", "+t.y+", "+t.z+", "+t.w+")":void 0!==t.z?t="new BABYLON.Vector3("+t.x+", "+t.y+", "+t.z+")":void 0!==t.y?t="new BABYLON.Vector2("+t.x+", "+t.y+")":void 0!==t.a?t="new BABYLON.Color4("+t.r+", "+t.g+", "+t.b+", "+t.a+")":void 0!==t.b&&(t="new BABYLON.Color3("+t.r+", "+t.g+", "+t.b+")");var n=e.object.getClassName().toLowerCase();e.object.id&&("Scene"===n?n="scene":n.indexOf("camera")>-1?n='scene.getCameraByID("'+e.object.id+'")':n.indexOf("mesh")>-1?n='scene.getMeshByID("'+e.object.id+'")':n.indexOf("light")>-1?n='scene.getLightByID("'+e.object.id+'")':"transformnode"===n?n='scene.getTransformNodeByID("'+e.object.id+'")':"skeleton"===n?n='scene.getSkeletonById("'+e.object.id+'")':n.indexOf("material")>-1&&(n='scene.getMaterialByID("'+e.object.id+'")')),this._recordedCodeLines.push(n+"."+e.property+" = "+t+";"),this._previousObject=e.object,this._previousProperty=e.property},e.prototype.export=function(){var e="// Code generated by babylon.js Inspector\r\n// Please keep in mind to define the 'scene' variable before using that code\r\n\r\n";this._recordedCodeLines&&(e+=this._recordedCodeLines.join("\r\n")),c.Tools.Download(new Blob([e]),"pseudo-code.txt")},e}(),sr=function(){function e(){this.onInspectorClosedObservable=new c.Observable,this.onTabChangedObservable=new c.Observable,this.sceneImportDefaults={},this.validationResults=null,this.onValidationResultsUpdatedObservable=new c.Observable,this.glTFLoaderExtensionDefaults={},this.glTFLoaderDefaults={validate:!0},this.blockMutationUpdates=!1,this.selectedLineContainerTitle="",this.recorder=new lr,this._onlyUseEulers=null,this._ignoreBackfacesForPicking=null,this.lightGizmos=[]}return Object.defineProperty(e.prototype,"onlyUseEulers",{get:function(){return null===this._onlyUseEulers&&(this._onlyUseEulers=rn.ReadLocalBooleanSettings("settings_onlyUseEulers",!0)),this._onlyUseEulers},set:function(e){this._onlyUseEulers=e,rn.StoreLocalBooleanSettings("settings_onlyUseEulers",e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ignoreBackfacesForPicking",{get:function(){return null===this._ignoreBackfacesForPicking&&(this._ignoreBackfacesForPicking=rn.ReadLocalBooleanSettings("settings_ignoreBackfacesForPicking",!1)),this._ignoreBackfacesForPicking},set:function(e){this._ignoreBackfacesForPicking=e,rn.StoreLocalBooleanSettings("settings_ignoreBackfacesForPicking",e)},enumerable:!0,configurable:!0}),e.prototype.init=function(e){var t=this;this.onPropertyChangedObservable=e,e.add(function(e){t.recorder.record(e)})},e.prototype.prepareGLTFPlugin=function(e){var t=this,n=this.glTFLoaderDefaults;if(void 0!==n)for(var r in n)e[r]=n[r];e.onExtensionLoadedObservable.add(function(e){var n=t.glTFLoaderExtensionDefaults[e.name];if(void 0!==n)for(var r in n)e[r]=n[r]}),this.validationResults&&(this.validationResults=null,this.onValidationResultsUpdatedObservable.notifyObservers(null)),e.onValidatedObservable.add(function(e){t.validationResults=e,t.onValidationResultsUpdatedObservable.notifyObservers(e),(e.issues.numErrors||e.issues.numWarnings)&&t.onTabChangedObservable.notifyObservers(3)})},e.prototype.enableLightGizmo=function(e,t){void 0===t&&(t=!0),t?(e.reservedDataStore||(e.reservedDataStore={}),e.reservedDataStore.lightGizmo||(e.reservedDataStore.lightGizmo=new c.LightGizmo,this.lightGizmos.push(e.reservedDataStore.lightGizmo),e.reservedDataStore.lightGizmo.light=e,e.reservedDataStore.lightGizmo.material.reservedDataStore={hidden:!0})):e.reservedDataStore&&e.reservedDataStore.lightGizmo&&(this.lightGizmos.splice(this.lightGizmos.indexOf(e.reservedDataStore.lightGizmo),1),e.reservedDataStore.lightGizmo.dispose(),e.reservedDataStore.lightGizmo=null)},e}(),pr=function(){function e(){}return e.MarkLineContainerTitleForHighlighting=function(e){this._GlobalState.selectedLineContainerTitle=e},e._CopyStyles=function(e,t){for(var n=0;n0},enumerable:!0,configurable:!0}),e.EarlyAttachToLoader=function(){var e=this;this._GlobalState.onPluginActivatedObserver||(this._GlobalState.onPluginActivatedObserver=c.SceneLoader.OnPluginActivatedObservable.add(function(t){var n=t;"gltf"===n.name&&e._GlobalState.prepareGLTFPlugin(n)}))},e.Show=function(t,n){var r=o({original:!0,popup:!1,overlay:!1,showExplorer:!0,showInspector:!0,embedMode:!1,enableClose:!0,handleResize:!0,enablePopup:!0},n);this._GlobalState.onPropertyChangedObservable||this._GlobalState.init(this.OnPropertyChangedObservable),this._GlobalState.onSelectionChangedObservable||(this._GlobalState.onSelectionChangedObservable=this.OnSelectionChangeObservable),this.IsVisible&&r.original&&this.Hide(),t||(t=c.EngineStore.LastCreatedScene),this._Scene=t;var a=t?t.getEngine().getInputElement():c.EngineStore.LastCreatedEngine.getInputElement();if(r.embedMode&&r.showExplorer&&r.showInspector)if(r.popup)this._CreateEmbedHost(t,r,this._CreatePopup("INSPECTOR","_EmbedHostWindow"),e.OnSelectionChangeObservable);else{var i=r.globalRoot?r.globalRoot:a.parentElement;r.overlay||this._NewCanvasContainer?!r.overlay&&this._NewCanvasContainer&&this._NewCanvasContainer.parentElement&&(i=this._NewCanvasContainer.parentElement):this._CreateCanvasContainer(i),this._NewCanvasContainer&&r.handleResize&&t&&(this._OnBeforeRenderObserver=t.onBeforeRenderObservable.add(function(){t.getEngine().resize()})),this._CreateEmbedHost(t,r,i,e.OnSelectionChangeObservable)}else if(r.popup)r.showExplorer&&(this._SceneExplorerHost&&(this._SceneExplorerHost.style.width="0"),this._CreateSceneExplorer(t,r,this._CreatePopup("SCENE EXPLORER","_SceneExplorerWindow"))),r.showInspector&&(this._ActionTabsHost&&(this._ActionTabsHost.style.width="0"),this._CreateActionTabs(t,r,this._CreatePopup("INSPECTOR","_ActionTabsWindow")));else{i=r.globalRoot?r.globalRoot:a.parentElement;r.overlay||this._NewCanvasContainer?!r.overlay&&this._NewCanvasContainer&&this._NewCanvasContainer.parentElement&&(i=this._NewCanvasContainer.parentElement):this._CreateCanvasContainer(i),this._NewCanvasContainer&&r.handleResize&&t&&(this._OnBeforeRenderObserver=t.onBeforeRenderObservable.add(function(){t.getEngine().resize()})),r.showExplorer&&this._CreateSceneExplorer(t,r,i),r.showInspector&&this._CreateActionTabs(t,r,i)}},e._CreateCanvasContainer=function(e){for(this._NewCanvasContainer=e.ownerDocument.createElement("div"),this._NewCanvasContainer.style.display=e.style.display,e.style.display="flex";e.childElementCount>0;){var t=e.childNodes[0];e.removeChild(t),this._NewCanvasContainer.appendChild(t)}e.appendChild(this._NewCanvasContainer),this._NewCanvasContainer.style.width="100%",this._NewCanvasContainer.style.height="100%"},e._DestroyCanvasContainer=function(){for(var e=this._NewCanvasContainer.parentElement;this._NewCanvasContainer.childElementCount>0;){var t=this._NewCanvasContainer.childNodes[0];this._NewCanvasContainer.removeChild(t),e.appendChild(t)}e.removeChild(this._NewCanvasContainer),e.style.display=this._NewCanvasContainer.style.display,delete this._NewCanvasContainer},e._Cleanup=function(){var t=this;0===e._OpenedPane&&(this._GlobalState.lightGizmos.forEach(function(e){e.light&&t._GlobalState.enableLightGizmo(e.light,!1)}),this._Scene&&this._Scene.reservedDataStore&&this._Scene.reservedDataStore.gizmoManager&&(this._Scene.reservedDataStore.gizmoManager.dispose(),this._Scene.reservedDataStore.gizmoManager=null),this._NewCanvasContainer&&this._DestroyCanvasContainer(),this._OnBeforeRenderObserver&&this._Scene&&(this._Scene.onBeforeRenderObservable.remove(this._OnBeforeRenderObserver),this._OnBeforeRenderObserver=null,this._Scene.getEngine().resize()),this._GlobalState.onInspectorClosedObservable.notifyObservers(this._Scene))},e._RemoveElementFromDOM=function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},e.Hide=function(){this._ActionTabsHost&&(p.unmountComponentAtNode(this._ActionTabsHost),this._RemoveElementFromDOM(this._ActionTabsHost),this._ActionTabsHost=null),this._SceneExplorerHost&&(p.unmountComponentAtNode(this._SceneExplorerHost),this._SceneExplorerHost.parentElement&&this._SceneExplorerHost.parentElement.removeChild(this._SceneExplorerHost),this._SceneExplorerHost=null),this._EmbedHost&&(p.unmountComponentAtNode(this._EmbedHost),this._EmbedHost.parentElement&&this._EmbedHost.parentElement.removeChild(this._EmbedHost),this._EmbedHost=null),e._OpenedPane=0,this._Cleanup(),this._GlobalState.onPluginActivatedObserver||(c.SceneLoader.OnPluginActivatedObservable.remove(this._GlobalState.onPluginActivatedObserver),this._GlobalState.onPluginActivatedObserver=null)},e._OpenedPane=0,e.OnSelectionChangeObservable=new c.Observable,e.OnPropertyChangedObservable=new c.Observable,e._GlobalState=new sr,e}();pr.EarlyAttachToLoader(),n.d(t,"a",function(){return pr})},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var a=(i=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),o=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(o).concat([a]).join("\n")}var i;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},a=0;a=0&&c.splice(t,1)}function f(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),b(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function v(e,t){var n,r,a,o;if(t.transform&&e.css){if(!(o=t.transform(e.css)))return function(){};e.css=o}if(t.singleton){var i=p++;n=s||(s=f(t)),r=E.bind(null,n,i,!1),a=E.bind(null,n,i,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),b(e,t),t}(t),r=function(e,t,n){var r=n.css,a=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&a;(t.convertToAbsoluteUrls||o)&&(r=u(r));a&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */");var i=new Blob([r],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(i),l&&URL.revokeObjectURL(l)}.bind(null,n,t),a=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=f(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),a=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else a()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=i()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return d(n,t),function(e){for(var r=[],a=0;a-1;a--){var o=n[a],i=(o.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(i)>-1&&(r=o)}return f.head.insertBefore(t,r),e}}var J="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function ee(){for(var e=12,t="";e-- >0;)t+=J[62*Math.random()|0];return t}function te(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ne(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n],";")},"")}function re(e){return e.size!==Z.size||e.x!==Z.x||e.y!==Z.y||e.rotate!==Z.rotate||e.flipX||e.flipY}function ae(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,a={transform:"translate(".concat(n/2," 256)")},o="translate(".concat(32*t.x,", ").concat(32*t.y,") "),i="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)");return{outer:a,inner:{transform:"".concat(o," ").concat(i," ").concat(l)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}var oe={x:0,y:0,width:"100%",height:"100%"};function ie(e){var t=e.icons,n=t.main,r=t.mask,a=e.prefix,o=e.iconName,i=e.transform,s=e.symbol,p=e.title,c=e.extra,u=e.watchable,d=void 0!==u&&u,h=r.found?r:n,b=h.width,m=h.height,f="fa-w-".concat(Math.ceil(b/m*16)),g=[k.replacementClass,o?"".concat(k.familyPrefix,"-").concat(o):"",f].filter(function(e){return-1===c.classes.indexOf(e)}).concat(c.classes).join(" "),v={children:[],attributes:l({},c.attributes,{"data-prefix":a,"data-icon":o,class:g,role:c.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(b," ").concat(m)})};d&&(v.attributes[E]=""),p&&v.children.push({tag:"title",attributes:{id:v.attributes["aria-labelledby"]||"title-".concat(ee())},children:[p]});var y=l({},v,{prefix:a,iconName:o,main:n,mask:r,transform:i,symbol:s,styles:c.styles}),C=r.found&&n.found?function(e){var t=e.children,n=e.attributes,r=e.main,a=e.mask,o=e.transform,i=r.width,s=r.icon,p=a.width,c=a.icon,u=ae({transform:o,containerWidth:p,iconWidth:i}),d={tag:"rect",attributes:l({},oe,{fill:"white"})},h={tag:"g",attributes:l({},u.inner),children:[{tag:"path",attributes:l({},s.attributes,u.path,{fill:"black"})}]},b={tag:"g",attributes:l({},u.outer),children:[h]},m="mask-".concat(ee()),f="clip-".concat(ee()),g={tag:"defs",children:[{tag:"clipPath",attributes:{id:f},children:[c]},{tag:"mask",attributes:l({},oe,{id:m,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[d,b]}]};return t.push(g,{tag:"rect",attributes:l({fill:"currentColor","clip-path":"url(#".concat(f,")"),mask:"url(#".concat(m,")")},oe)}),{children:t,attributes:n}}(y):function(e){var t=e.children,n=e.attributes,r=e.main,a=e.transform,o=ne(e.styles);if(o.length>0&&(n.style=o),re(a)){var i=ae({transform:a,containerWidth:r.width,iconWidth:r.width});t.push({tag:"g",attributes:l({},i.outer),children:[{tag:"g",attributes:l({},i.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:l({},r.icon.attributes,i.path)}]}]})}else t.push(r.icon);return{children:t,attributes:n}}(y),O=C.children,S=C.attributes;return y.children=O,y.attributes=S,s?function(e){var t=e.prefix,n=e.iconName,r=e.children,a=e.attributes,o=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:l({},a,{id:!0===o?"".concat(t,"-").concat(k.familyPrefix,"-").concat(n):o}),children:r}]}]}(y):function(e){var t=e.children,n=e.main,r=e.mask,a=e.attributes,o=e.styles,i=e.transform;if(re(i)&&n.found&&!r.found){var s={x:n.width/n.height/2,y:.5};a.style=ne(l({},o,{"transform-origin":"".concat(s.x+i.x/16,"em ").concat(s.y+i.y/16,"em")}))}return[{tag:"svg",attributes:a,children:t}]}(y)}var le=function(){},se=(k.measurePerformance&&g&&g.mark&&g.measure,function(e,t,n,r){var a,o,i,l=Object.keys(e),s=l.length,p=void 0!==r?function(e,t){return function(n,r,a,o){return e.call(t,n,r,a,o)}}(t,r):t;for(void 0===n?(a=1,i=e[l[0]]):(a=0,i=n);a2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,r=void 0!==n&&n,a=Object.keys(t).reduce(function(e,n){var r=t[n];return!!r.icon?e[r.iconName]=r.icon:e[n]=r,e},{});"function"!=typeof N.hooks.addPack||r?N.styles[e]=l({},N.styles[e]||{},a):N.hooks.addPack(e,a),"fas"===e&&pe("fa",t)}var ce=N.styles,ue=N.shims,de=function(){var e=function(e){return se(ce,function(t,n,r){return t[r]=se(n,e,{}),t},{})};e(function(e,t,n){return t[3]&&(e[t[3]]=n),e}),e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t="far"in ce;se(ue,function(e,n){var r=n[0],a=n[1],o=n[2];return"far"!==a||t||(a="fas"),e[r]={prefix:a,iconName:o},e},{})};de();N.styles;function he(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}function be(e){var t=e.tag,n=e.attributes,r=void 0===n?{}:n,a=e.children,o=void 0===a?[]:a;return"string"==typeof e?te(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(te(e[n]),'" ')},"").trim()}(r),">").concat(o.map(be).join(""),"")}var me=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce(function(e,t){var n=t.toLowerCase().split("-"),r=n[0],a=n.slice(1).join("-");if(r&&"h"===a)return e.flipX=!0,e;if(r&&"v"===a)return e.flipY=!0,e;if(a=parseFloat(a),isNaN(a))return e;switch(r){case"grow":e.size=e.size+a;break;case"shrink":e.size=e.size-a;break;case"left":e.x=e.x-a;break;case"right":e.x=e.x+a;break;case"up":e.y=e.y-a;break;case"down":e.y=e.y+a;break;case"rotate":e.rotate=e.rotate+a}return e},t):t};function fe(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}fe.prototype=Object.create(Error.prototype),fe.prototype.constructor=fe;var ge={fill:"currentColor"},ve={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},ye={tag:"path",attributes:l({},ge,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},Ce=l({},ve,{attributeName:"opacity"});l({},ge,{cx:"256",cy:"364",r:"28"}),l({},ve,{attributeName:"r",values:"28;14;28;28;14;28;"}),l({},Ce,{values:"1;0;1;1;0;1;"}),l({},ge,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),l({},Ce,{values:"1;0;0;0;0;1;"}),l({},ge,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),l({},Ce,{values:"0;0;1;1;0;0;"}),N.styles;N.styles;var Ee='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}';function Oe(){var e=y,t=C,n=k.familyPrefix,r=k.replacementClass,a=Ee;if(n!==e||r!==t){var o=new RegExp("\\.".concat(e,"\\-"),"g"),i=new RegExp("\\.".concat(t),"g");a=a.replace(o,".".concat(n,"-")).replace(i,".".concat(r))}return a}function Se(e){return{found:!0,width:e[0],height:e[1],icon:{tag:"path",attributes:{fill:"currentColor",d:e.slice(4)[0]}}}}function xe(){k.autoAddCss&&!Te&&($(Oe()),Te=!0)}function Pe(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return be(e)})}}),Object.defineProperty(e,"node",{get:function(){if(v){var t=f.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function ke(e){var t=e.prefix,n=void 0===t?"fa":t,r=e.iconName;if(r)return he(Ne.definitions,n,r)||he(N.styles,n,r)}var we,Ne=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,n,r;return t=e,(n=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?Z:n,a=t.symbol,o=void 0!==a&&a,i=t.mask,s=void 0===i?null:i,p=t.title,c=void 0===p?null:p,u=t.classes,d=void 0===u?[]:u,h=t.attributes,b=void 0===h?{}:h,m=t.styles,f=void 0===m?{}:m;if(e){var g=e.prefix,v=e.iconName,y=e.icon;return Pe(l({type:"icon"},e),function(){return xe(),k.autoA11y&&(c?b["aria-labelledby"]="".concat(k.replacementClass,"-title-").concat(ee()):(b["aria-hidden"]="true",b.focusable="false")),ie({icons:{main:Se(y),mask:s?Se(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:g,iconName:v,transform:l({},Z,r),symbol:o,title:c,extra:{attributes:b,styles:f,classes:d}})})}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:ke(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:ke(r||{})),we(n,l({},t,{mask:r}))})}).call(this,n(10),n(23).setImmediate)},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Ecopy%3C/title%3E%3Cg id='UI_Elements' data-name='UI Elements'%3E%3Cpath class='cls-1' d='M24,14.89H22.76l-3-3H12.43V26.59h4.26v3h11.5V19Zm.3,1.71,2.14,2.13H24.34Zm-10.91,9V12.93h5.93l2,2H16.69v10.7Zm4.26,3V15.89h5.65v3.84h3.85v8.83Z'/%3E%3C/g%3E%3C/svg%3E"},function(e,t){e.exports=r},function(e,t){e.exports=a},function(e,t,n){"use strict";n.r(t),function(e){var r=n(11);n.d(t,"Inspector",function(){return r.a});var a=void 0!==e?e:"undefined"!=typeof window?window:void 0;void 0!==a&&(a.BABYLON=a.BABYLON||{},a.BABYLON.Inspector=r.a)}.call(this,n(10))},function(e,t,n){"use strict"; /** @license React v16.9.0 * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var r=n(5),a="function"==typeof Symbol&&Symbol.for,o=a?Symbol.for("react.element"):60103,i=a?Symbol.for("react.portal"):60106,l=a?Symbol.for("react.fragment"):60107,s=a?Symbol.for("react.strict_mode"):60108,p=a?Symbol.for("react.profiler"):60114,c=a?Symbol.for("react.provider"):60109,u=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.forward_ref"):60112,h=a?Symbol.for("react.suspense"):60113,b=a?Symbol.for("react.suspense_list"):60120,m=a?Symbol.for("react.memo"):60115,f=a?Symbol.for("react.lazy"):60116;a&&Symbol.for("react.fundamental"),a&&Symbol.for("react.responder");var g="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t=e.message,n="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;rR.length&&R.push(e)}function D(e,t,n){return null==e?0:function e(t,n,r,a){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var s=!1;if(null===t)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case o:case i:s=!0}}if(s)return r(a,t,""===n?"."+j(t,0):n),1;if(s=0,n=""===n?".":n+":",Array.isArray(t))for(var p=0;pthis.eventPool.length&&this.eventPool.push(e)}function ue(e){e.eventPool=[],e.getPooled=pe,e.release=ce}a(se.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ie)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ie)},persist:function(){this.isPersistent=ie},isPersistent:le,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=le,this._dispatchInstances=this._dispatchListeners=null}}),se.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},se.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return a(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=a({},r.Interface,e),n.extend=r.extend,ue(n),n},ue(se);var de=se.extend({data:null}),he=se.extend({data:null}),be=[9,13,27,32],me=W&&"CompositionEvent"in window,fe=null;W&&"documentMode"in document&&(fe=document.documentMode);var ge=W&&"TextEvent"in window&&!fe,ve=W&&(!me||fe&&8=fe),ye=String.fromCharCode(32),Ce={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Ee=!1;function Oe(e,t){switch(e){case"keyup":return-1!==be.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Se(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var xe=!1;var Pe={eventTypes:Ce,extractEvents:function(e,t,n,r){var a=void 0,o=void 0;if(me)e:{switch(e){case"compositionstart":a=Ce.compositionStart;break e;case"compositionend":a=Ce.compositionEnd;break e;case"compositionupdate":a=Ce.compositionUpdate;break e}a=void 0}else xe?Oe(e,n)&&(a=Ce.compositionEnd):"keydown"===e&&229===n.keyCode&&(a=Ce.compositionStart);return a?(ve&&"ko"!==n.locale&&(xe||a!==Ce.compositionStart?a===Ce.compositionEnd&&xe&&(o=oe()):(re="value"in(ne=r)?ne.value:ne.textContent,xe=!0)),a=de.getPooled(a,t,n,r),o?a.data=o:null!==(o=Se(n))&&(a.data=o),B(a),o=a):o=null,(e=ge?function(e,t){switch(e){case"compositionend":return Se(t);case"keypress":return 32!==t.which?null:(Ee=!0,ye);case"textInput":return(e=t.data)===ye&&Ee?null:e;default:return null}}(e,n):function(e,t){if(xe)return"compositionend"===e||!me&&Oe(e,t)?(e=oe(),ae=re=ne=null,xe=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1