!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("babylonjs"),require("babylonjs-gui"),require("babylonjs-loaders"),require("babylonjs-serializers")):"function"==typeof define&&define.amd?define("babylonjs-inspector",["babylonjs","babylonjs-gui","babylonjs-loaders","babylonjs-serializers"],t):"object"==typeof exports?exports["babylonjs-inspector"]=t(require("babylonjs"),require("babylonjs-gui"),require("babylonjs-loaders"),require("babylonjs-serializers")):e.INSPECTOR=t(e.BABYLON,e.BABYLON.GUI,e.BABYLON,e.BABYLON)}("undefined"!=typeof self?self:"undefined"!=typeof global?global:this,function(e,t,n,r){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=16)}([function(e,t,n){"use strict";e.exports=n(20)},function(t,n){t.exports=e},function(e,t,n){e.exports=n(27)()},function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return y});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 v(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 y(e){var t=e.icon,n=e.mask,a=e.symbol,o=e.className,i=e.title,l=v(t),s=g("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=g("transform","string"==typeof e.transform?r.b.transform(e.transform):e.transform),h=g("mask",v(n)),b=Object(r.a)(l,c({},s,u,h,{symbol:a,title:i}));if(!b)return function(){var e;!f&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",l),null;var m=b.abstract,E={};return Object.keys(e).forEach(function(t){y.defaultProps.hasOwnProperty(t)||(E[t]=e[t])}),C(m[0],E)}y.displayName="FontAwesomeIcon",y.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])},y.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 C=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=m.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[m.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(9))},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;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,i,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),s=1;s=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;a0?i=".dds":e.name.toLowerCase().indexOf(".env")>0&&(i=".env"),n.updateURL(o,i,function(){return t.forceUpdate()})}else n.updateURL(o,null,function(){return t.forceUpdate()})},void 0,!0)},t.prototype.render=function(){var e=this,t=this.props.texture,n=[{label:"Nearest",value:p.Texture.NEAREST_NEAREST},{label:"Nearest & linear mip",value:p.Texture.NEAREST_LINEAR},{label:"Linear",value:p.Texture.LINEAR_LINEAR_MIPLINEAR}],r=[{label:"Explicit",value:p.Texture.EXPLICIT_MODE},{label:"Cubic",value:p.Texture.CUBIC_MODE},{label:"Inverse cubic",value:p.Texture.INVCUBIC_MODE},{label:"Equirectangular",value:p.Texture.EQUIRECTANGULAR_MODE},{label:"Fixed equirectangular",value:p.Texture.FIXED_EQUIRECTANGULAR_MODE},{label:"Fixed equirectangular mirrored",value:p.Texture.FIXED_EQUIRECTANGULAR_MIRRORED_MODE},{label:"Planar",value:p.Texture.PLANAR_MODE},{label:"Projection",value:p.Texture.PROJECTION_MODE},{label:"Skybox",value:p.Texture.SKYBOX_MODE},{label:"Spherical",value:p.Texture.SPHERICAL_MODE}];return i.createElement("div",{className:"pane"},i.createElement(Z,{globalState:this.props.globalState,title:"PREVIEW"},i.createElement(ve,{texture:t,width:256,height:256,globalState:this.props.globalState}),i.createElement(Ce,{label:"Replace texture",onClick:function(t){return e.updateTexture(t)},accept:".jpg, .png, .tga, .dds, .env"})),i.createElement(he,{globalState:this.props.globalState,target:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"GENERAL"},i.createElement($,{label:"Unique ID",value:t.uniqueId.toString()}),i.createElement($,{label:"Class",value:t.getClassName()}),i.createElement($,{label:"Has alpha",value:t.hasAlpha?"Yes":"No"}),i.createElement($,{label:"Is 3D",value:t.is3D?"Yes":"No"}),i.createElement($,{label:"Is cube",value:t.isCube?"Yes":"No"}),i.createElement($,{label:"Is render target",value:t.isRenderTarget?"Yes":"No"}),i.createElement($,{label:"Has mipmaps",value:t.noMipmap?"No":"Yes"}),i.createElement(le,{label:"UV set",target:t,propertyName:"coordinatesIndex",minimum:0,maximum:3,step:1,onPropertyChangedObservable:this.props.onPropertyChangedObservable,decimalCount:0}),i.createElement(se,{label:"Mode",options:r,target:t,propertyName:"coordinatesMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.updateSamplingMode(e)}}),i.createElement(le,{label:"Level",target:t,propertyName:"level",minimum:0,maximum:2,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.updateSamplingMode&&i.createElement(se,{label:"Sampling",options:n,target:t,noDirectUpdate:!0,propertyName:"samplingMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(e){return t.updateSamplingMode(e)}})),t.rootContainer&&i.createElement(Z,{globalState:this.props.globalState,title:"ADVANCED TEXTURE PROPERTIES"},i.createElement(J,{label:"Last layout time",value:this._adtInstrumentation.renderTimeCounter.current,units:"ms"}),i.createElement(J,{label:"Last render time",value:this._adtInstrumentation.layoutTimeCounter.current,units:"ms"}),i.createElement(le,{label:"Render scale",minimum:.1,maximum:5,step:.1,target:t,propertyName:"renderScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Premultiply alpha",target:t,propertyName:"premulAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Ideal width",target:t,propertyName:"idealWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Ideal height",target:t,propertyName:"idealHeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Use smallest ideal",target:t,propertyName:"useSmallestIdeal",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Render at ideal size",target:t,propertyName:"renderAtIdealSize",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Invalidate Rect optimization",target:t,propertyName:"useInvalidateRectOptimization",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"TRANSFORM"},!t.isCube&&i.createElement("div",null,i.createElement(ye,{lockObject:this.props.lockObject,label:"U offset",target:t,propertyName:"uOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"V offset",target:t,propertyName:"vOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"U scale",target:t,propertyName:"uScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"V scale",target:t,propertyName:"vScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"U angle",target:t,propertyName:"uAng",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"V angle",target:t,propertyName:"vAng",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"W angle",target:t,propertyName:"wAng",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Clamp U",isSelected:function(){return t.wrapU===p.Texture.CLAMP_ADDRESSMODE},onSelect:function(e){return t.wrapU=e?p.Texture.CLAMP_ADDRESSMODE:p.Texture.WRAP_ADDRESSMODE}}),i.createElement(ne,{label:"Clamp V",isSelected:function(){return t.wrapV===p.Texture.CLAMP_ADDRESSMODE},onSelect:function(e){return t.wrapV=e?p.Texture.CLAMP_ADDRESSMODE:p.Texture.WRAP_ADDRESSMODE}})),t.isCube&&i.createElement("div",null,i.createElement(le,{label:"Rotation Y",minimum:0,maximum:2*Math.PI,step:.1,target:t,propertyName:"rotationY"}))))},t}(i.Component),Se=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?i.createElement(c.a,{icon:D}):i.createElement(c.a,{icon:F});return i.createElement("div",{className:"vector3Line"},i.createElement("div",{className:"firstLine"},i.createElement("div",{className:"label"},this.props.label),i.createElement("div",{className:"vector"},"X: "+this.state.value.x.toFixed(2)+", Y: "+this.state.value.y.toFixed(2)),i.createElement("div",{className:"expand hoverIcon",onClick:function(){return e.switchExpandState()},title:"Expand"},t)),this.state.isExpanded&&i.createElement("div",{className:"secondLine"},i.createElement(pe,{label:"x",value:this.state.value.x,onChange:function(t){return e.updateStateX(t)}}),i.createElement(pe,{label:"y",value:this.state.value.y,onChange:function(t){return e.updateStateY(t)}})))},t}(i.Component),xe=function(e){function t(t){var n=e.call(this,t)||this;return n._onDebugSelectionChangeObservable=new p.Observable,n}return a(t,e),t.prototype.renderTextures=function(e){var t=this.props.material;return 0===t.getActiveTextures().length?null:i.createElement(Z,{globalState:this.props.globalState,title:"TEXTURES"},i.createElement(fe,{label:"Albedo",texture:t.albedoTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Metallic",texture:t.metallicTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Reflection",texture:t.reflectionTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Refraction",texture:t.refractionTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Micro-surface",texture:t.microSurfaceTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Bump",texture:t.bumpTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Emissive",texture:t.emissiveTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Opacity",texture:t.opacityTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Ambient",texture:t.ambientTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}),i.createElement(fe,{label:"Lightmap",texture:t.lightmapTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:e}))},t.prototype.render=function(){var e=this,t=this.props.material;return i.createElement("div",{className:"pane"},i.createElement(be,{globalState:this.props.globalState,lockObject:this.props.lockObject,material:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),this.renderTextures(this._onDebugSelectionChangeObservable),i.createElement(Z,{globalState:this.props.globalState,title:"LIGHTING & COLORS"},i.createElement(ce,{label:"Albedo",target:t,propertyName:"albedoColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Reflectivity",target:t,propertyName:"reflectivityColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Micro-surface",target:t,propertyName:"microSurface",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Emissive",target:t,propertyName:"emissiveColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Ambient",target:t,propertyName:"ambientColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Use physical light falloff",target:t,propertyName:"usePhysicalLightFalloff ",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"METALLIC WORKFLOW"},i.createElement(le,{label:"Metallic",target:t,propertyName:"metallic",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Roughness",target:t,propertyName:"roughness",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"CLEAR COAT"},i.createElement(ne,{label:"Enabled",target:t.clearCoat,propertyName:"isEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&i.createElement("div",{className:"fragment"},i.createElement(le,{label:"Intensity",target:t.clearCoat,propertyName:"intensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Roughness",target:t.clearCoat,propertyName:"roughness",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"IOR",target:t.clearCoat,propertyName:"indiceOfRefraction",minimum:1,maximum:3,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(fe,{label:"Texture",texture:t.clearCoat.texture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}),i.createElement(fe,{label:"Bump",texture:t.clearCoat.bumpTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}),t.clearCoat.bumpTexture&&i.createElement(le,{label:"Bump strength",target:t.clearCoat.bumpTexture,propertyName:"level",minimum:0,maximum:2,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Tint",target:t.clearCoat,propertyName:"isTintEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&i.createElement(ce,{label:"Tint Color",target:t.clearCoat,propertyName:"tintColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&i.createElement(le,{label:"At Distance",target:t.clearCoat,propertyName:"tintColorAtDistance",minimum:0,maximum:20,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&i.createElement(le,{label:"Tint Thickness",target:t.clearCoat,propertyName:"tintThickness",minimum:0,maximum:20,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.clearCoat.isEnabled&&t.clearCoat.isTintEnabled&&i.createElement(fe,{label:"Tint Texture",texture:t.clearCoat.tintTexture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}))),i.createElement(Z,{globalState:this.props.globalState,title:"ANISOTROPIC"},i.createElement(ne,{label:"Enabled",target:t.anisotropy,propertyName:"isEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.anisotropy.isEnabled&&i.createElement("div",{className:"fragment"},i.createElement(le,{label:"Intensity",target:t.anisotropy,propertyName:"intensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Se,{label:"Direction",target:t.anisotropy,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(fe,{label:"Texture",texture:t.anisotropy.texture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}))),i.createElement(Z,{globalState:this.props.globalState,title:"SHEEN"},i.createElement(ne,{label:"Enabled",target:t.sheen,propertyName:"isEnabled",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.sheen.isEnabled&&i.createElement("div",{className:"fragment"},i.createElement(ne,{label:"Link to Albedo",target:t.sheen,propertyName:"linkSheenWithAlbedo",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Intensity",target:t.sheen,propertyName:"intensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Color",target:t.sheen,propertyName:"color",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(fe,{label:"Texture",texture:t.sheen.texture,material:t,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onDebugSelectionChangeObservable:this._onDebugSelectionChangeObservable}))),i.createElement(Z,{globalState:this.props.globalState,title:"LEVELS",closed:!0},i.createElement(le,{label:"Environment",target:t,propertyName:"environmentIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Specular",target:t,propertyName:"specularIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Emissive",target:t,propertyName:"emissiveIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Direct",target:t,propertyName:"directIntensity",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.bumpTexture&&i.createElement(le,{label:"Bump strength",target:t.bumpTexture,propertyName:"level",minimum:0,maximum:2,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.ambientTexture&&i.createElement(le,{label:"Ambient strength",target:t,propertyName:"ambientTextureStrength",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.reflectionTexture&&i.createElement(le,{label:"Reflection strength",target:t.reflectionTexture,propertyName:"level",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"RENDERING",closed:!0},i.createElement(ne,{label:"Alpha from albedo",target:t,propertyName:"useAlphaFromAlbedoTexture",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Ambient in grayscale",target:t,propertyName:"useAmbientInGrayScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Radiance over alpha",target:t,propertyName:"useRadianceOverAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Link refraction with transparency",target:t,propertyName:"linkRefractionWithTransparency",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Micro-surface from ref. map alpha",target:t,propertyName:"useMicroSurfaceFromReflectivityMapAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Specular over alpha",target:t,propertyName:"useSpecularOverAlpha",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Specular anti-aliasing",target:t,propertyName:"enableSpecularAntiAliasing",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"ADVANCED",closed:!0},i.createElement(ne,{label:"Energy Conservation",target:t.brdf,propertyName:"useEnergyConservation",onValueChanged:function(){return e.forceUpdate()},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Radiance occlusion",target:t,propertyName:"useRadianceOcclusion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Horizon occlusion ",target:t,propertyName:"useHorizonOcclusion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Unlit",target:t,propertyName:"unlit",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"DEBUG",closed:!0},i.createElement(se,{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:"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:"Roughness",value:62},{label:"AlphaG",value:63},{label:"NdotV",value:64},{label:"ClearCoat Color",value:65},{label:"ClearCoat Roughness",value:66},{label:"ClearCoat NdotV",value:67},{label:"SEO",value:70},{label:"EHO",value:71},{label:"Energy Factor",value:72},{label:"Specular Reflectance",value:73},{label:"Clear Coat Reflectance",value:74},{label:"Sheen Reflectance",value:75},{label:"Luminance Over Alpha",value:76},{label:"Alpha",value:77}],target:t,propertyName:"debugMode"}),i.createElement(le,{label:"Split position",target:t,propertyName:"debugLimit",minimum:-1,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Output factor",target:t,propertyName:"debugFactor",minimum:0,maximum:5,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),Pe=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.componentWillMount=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 i.createElement("div",{className:"radioLine"},i.createElement("div",{className:"label"},this.props.label),i.createElement("div",{className:"radioContainer"},i.createElement("input",{id:this.props.label,className:"radio",type:"radio",checked:this.state.isSelected,onChange:function(){return e.onChange()}}),i.createElement("label",{htmlFor:this.props.label,className:"labelForRadio"})))},t}(i.Component),ke=function(e){function t(t){var n=e.call(this,t)||this;return n.state={mode:0},n}return a(t,e),t.prototype.render=function(){var e=this,t=this.props.scene,n=[{label:"None",value:p.Scene.FOGMODE_NONE},{label:"Linear",value:p.Scene.FOGMODE_LINEAR},{label:"Exp",value:p.Scene.FOGMODE_EXP},{label:"Exp2",value:p.Scene.FOGMODE_EXP2}];return i.createElement("div",null,i.createElement(se,{label:"Fog mode",options:n,target:t,propertyName:"fogMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}}),this.state.mode!==p.Scene.FOGMODE_NONE&&i.createElement(ce,{label:"Fog color",target:t,propertyName:"fogColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),(this.state.mode===p.Scene.FOGMODE_EXP||this.state.mode===p.Scene.FOGMODE_EXP2)&&i.createElement(ye,{lockObject:this.props.lockObject,label:"Fog density",target:t,propertyName:"fogDensity",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),this.state.mode===p.Scene.FOGMODE_LINEAR&&i.createElement(ye,{lockObject:this.props.lockObject,label:"Fog start",target:t,propertyName:"fogStart",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),this.state.mode===p.Scene.FOGMODE_LINEAR&&i.createElement(ye,{lockObject:this.props.lockObject,label:"Fog end",target:t,propertyName:"fogEnd",onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(i.Component),we=function(e){function t(t){var n=e.call(this,t)||this;return n._renderingModeGroupObservable=new p.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;p.Tools.ReadFile(e,function(e){var n=new Blob([e],{type:"octet/stream"}),a=URL.createObjectURL(n);r.environmentTexture=t?p.CubeTexture.CreateFromPrefilteredData(a,r,".dds"):new p.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.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:p.ImageProcessingConfiguration.TONEMAPPING_STANDARD},{label:"ACES",value:p.ImageProcessingConfiguration.TONEMAPPING_ACES}],l=[{label:"Multiply",value:p.ImageProcessingConfiguration.VIGNETTEMODE_MULTIPLY},{label:"Opaque",value:p.ImageProcessingConfiguration.VIGNETTEMODE_OPAQUE}];return i.createElement("div",{className:"pane"},i.createElement(Z,{globalState:this.props.globalState,title:"RENDERING MODE"},i.createElement(Pe,{onSelectionChangedObservable:this._renderingModeGroupObservable,label:"Point",isSelected:function(){return t.forcePointsCloud},onSelect:function(){return e.setRenderingModes(!0,!1)}}),i.createElement(Pe,{onSelectionChangedObservable:this._renderingModeGroupObservable,label:"Wireframe",isSelected:function(){return t.forceWireframe},onSelect:function(){return e.setRenderingModes(!1,!0)}}),i.createElement(Pe,{onSelectionChangedObservable:this._renderingModeGroupObservable,label:"Solid",isSelected:function(){return!t.forcePointsCloud&&!t.forceWireframe},onSelect:function(){return e.setRenderingModes(!1,!1)}})),i.createElement(Z,{globalState:this.props.globalState,title:"ENVIRONMENT"},i.createElement(ce,{label:"Clear color",target:t,propertyName:"clearColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Clear color enabled",target:t,propertyName:"autoClear",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Ambient color",target:t,propertyName:"ambientColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Environment texture (IBL)",isSelected:function(){return null!=t.environmentTexture},onSelect:function(){return e.switchIBL()}}),t.environmentTexture&&i.createElement(fe,{label:"Env. texture",texture:t.environmentTexture,onSelectionChangedObservable:this.props.onSelectionChangedObservable}),i.createElement(Ce,{label:"Update environment texture",onClick:function(t){return e.updateEnvironmentTexture(t)},accept:".dds, .env"}),i.createElement(ke,{globalState:this.props.globalState,lockObject:this.props.lockObject,scene:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"IMAGE PROCESSING"},i.createElement(le,{minimum:0,maximum:4,step:.1,label:"Contrast",target:a,propertyName:"contrast",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{minimum:0,maximum:4,step:.1,label:"Exposure",target:a,propertyName:"exposure",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Tone mapping",target:a,propertyName:"toneMappingEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(se,{label:"Tone mapping type",options:o,target:a,propertyName:"toneMappingType",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}}),i.createElement(ne,{label:"Vignette",target:a,propertyName:"vignetteEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{minimum:0,maximum:4,step:.1,label:"Vignette weight",target:a,propertyName:"vignetteWeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{minimum:0,maximum:1,step:.1,label:"Vignette stretch",target:a,propertyName:"vignetteStretch",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{minimum:0,maximum:Math.PI,step:.1,label:"Vignette FOV",target:a,propertyName:"vignetteCameraFov",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{minimum:0,maximum:1,step:.1,label:"Vignette center X",target:a,propertyName:"vignetteCentreX",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{minimum:0,maximum:1,step:.1,label:"Vignette center Y",target:a,propertyName:"vignetteCentreY",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Vignette color",target:a,propertyName:"vignetteColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(se,{label:"Vignette blend mode",options:l,target:a,propertyName:"vignetteBlendMode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}})),null!==r&&i.createElement(Z,{globalState:this.props.globalState,title:"PHYSICS",closed:!0},i.createElement(ye,{lockObject:this.props.lockObject,label:"Time step",target:r,propertyName:"timeStep",onChange:function(t){return e.updateTimeStep(t)},onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Gravity",target:r,propertyName:"gravity",onChange:function(t){return e.updateGravity(t)},onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"COLLISIONS",closed:!0},i.createElement(ue,{label:"Gravity",target:t,propertyName:"gravity",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),Te=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 i.createElement("div",null,i.createElement(he,{globalState:this.props.globalState,target:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"GENERAL"},i.createElement($,{label:"ID",value:e.id}),i.createElement($,{label:"Unique ID",value:e.uniqueId.toString()}),i.createElement($,{label:"Class",value:e.getClassName()}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Intensity",target:e,propertyName:"intensity",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),Ne=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 i.createElement("div",{className:"pane"},i.createElement(Te,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"SETUP"},i.createElement(ce,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Ground",target:e,propertyName:"groundColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Direction",target:e,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.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.light;return i.createElement(Z,{globalState:this.props.globalState,title:"SHADOWS"},i.createElement(ne,{label:"Shadows enabled",target:e,propertyName:"shadowEnabled",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Shadows near plane",target:e,propertyName:"shadowMinZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Shadows far plane",target:e,propertyName:"shadowMaxZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(i.Component),Me=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 i.createElement("div",{className:"pane"},i.createElement(Te,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"SETUP"},i.createElement(ce,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Specular",target:e,propertyName:"specular",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(_e,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(i.Component),Le=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:p.Camera.PERSPECTIVE_CAMERA},{label:"Orthographic",value:p.Camera.ORTHOGRAPHIC_CAMERA}];return i.createElement("div",null,i.createElement(he,{globalState:this.props.globalState,target:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"GENERAL"},i.createElement($,{label:"ID",value:t.id}),i.createElement($,{label:"Unique ID",value:t.uniqueId.toString()}),i.createElement($,{label:"Class",value:t.getClassName()}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Near plane",target:t,propertyName:"minZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Far plane",target:t,propertyName:"maxZ",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Inertia",target:t,propertyName:"inertia",minimum:0,maximum:1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(se,{label:"Mode",options:n,target:t,propertyName:"mode",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}}),t.mode===p.Camera.PERSPECTIVE_CAMERA&&i.createElement(le,{label:"Field of view",target:t,propertyName:"fov",minimum:.1,maximum:Math.PI,step:.1,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===p.Camera.ORTHOGRAPHIC_CAMERA&&i.createElement(ye,{lockObject:this.props.lockObject,label:"Left",target:t,propertyName:"orthoLeft",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===p.Camera.ORTHOGRAPHIC_CAMERA&&i.createElement(ye,{lockObject:this.props.lockObject,label:"Top",target:t,propertyName:"orthoTop",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===p.Camera.ORTHOGRAPHIC_CAMERA&&i.createElement(ye,{lockObject:this.props.lockObject,label:"Right",target:t,propertyName:"orthoRight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),t.mode===p.Camera.ORTHOGRAPHIC_CAMERA&&i.createElement(ye,{lockObject:this.props.lockObject,label:"Bottom",target:t,propertyName:"orthoBottom",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),Re=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 i.createElement("div",{className:"pane"},i.createElement(Le,{globalState:this.props.globalState,lockObject:this.props.lockObject,camera:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"TRANSFORMS"},i.createElement(ue,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"CONTROLS",closed:!0},i.createElement(ye,{lockObject:this.props.lockObject,label:"Angular sensitivity",target:e,propertyName:"angularSensibility",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Speed",target:e,propertyName:"speed",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"COLLISIONS",closed:!0},i.createElement(ne,{label:"Check collisions",target:e,propertyName:"checkCollisions",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Apply gravity",target:e,propertyName:"applYGravity",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Ellipsoid",target:e,propertyName:"ellipsoid",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Ellipsoid offset",target:e,propertyName:"ellipsoidOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.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.camera;return i.createElement("div",{className:"pane"},i.createElement(Le,{globalState:this.props.globalState,lockObject:this.props.lockObject,camera:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"TRANSFORMS"},i.createElement(ue,{label:"Target",target:e,propertyName:"target",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Alpha",target:e,propertyName:"alpha",minimum:e.lowerAlphaLimit||0,maximum:e.upperAlphaLimit||2*Math.PI,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Beta",target:e,propertyName:"beta",minimum:e.lowerAlphaLimit||0,maximum:e.upperBetaLimit||2*Math.PI,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Radius",target:e,propertyName:"radius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"CONTROLS",closed:!0},i.createElement(ye,{lockObject:this.props.lockObject,label:"Angular sensitivity X",target:e,propertyName:"angularSensibilityX",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Angular sensitivity Y",target:e,propertyName:"angularSensibilityY",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Panning sensitivity",target:e,propertyName:"panningSensibility",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Pinch delta percentage",target:e,propertyName:"pinchDeltaPercentage",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Wheel delta percentage",target:e,propertyName:"wheelDeltaPercentage",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Speed",target:e,propertyName:"speed",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"COLLISIONS",closed:!0},i.createElement(ne,{label:"Check collisions",target:e,propertyName:"checkCollisions",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Collision radius",target:e,propertyName:"collisionRadius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"LIMITS",closed:!0},i.createElement(ye,{lockObject:this.props.lockObject,label:"Lower alpha limit",target:e,propertyName:"lowerAlphaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Upper alpha limit",target:e,propertyName:"upperAlphaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Lower beta limit",target:e,propertyName:"lowerBetaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Upper beta limit",target:e,propertyName:"upperBetaLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Lower radius limit",target:e,propertyName:"lowerRadiusLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Upper radius limit",target:e,propertyName:"upperRadiusLimit",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"BEHAVIORS",closed:!0},i.createElement(ne,{label:"Auto rotation",target:e,propertyName:"useAutoRotationBehavior",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Bouncing",target:e,propertyName:"useBouncingBehavior",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Framing",target:e,propertyName:"useFramingBehavior",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),je=function(e){function t(t){var n=e.call(this,t)||this,r=n.props.node;return r.reservedDataStore||(r.reservedDataStore={}),n.state={displayAxis:!(!r.reservedDataStore||!r.reservedDataStore.axisViewer)},n}return a(t,e),t.prototype.shouldComponentUpdate=function(e,t){return e.node!==this.props.node&&(t.displayAxis=!(!e.node.reservedDataStore||!e.node.reservedDataStore.axisViewer)),!0},t.prototype.displayAxes=function(){var e=this.props.node,t=p.UtilityLayerRenderer.DefaultUtilityLayer.utilityLayerScene;if(e.reservedDataStore.axisViewer)return e.reservedDataStore.axisViewer.dispose(),e.reservedDataStore.axisViewer=null,t.onBeforeRenderObservable.remove(e.reservedDataStore.onBeforeRenderObserver),e.reservedDataStore.onBeforeRenderObserver=null,void this.setState({displayAxis:!1});var n=new p.AxesViewer(t);e.reservedDataStore.axisViewer=n;var r=new p.Vector3(1,0,0),a=new p.Vector3(0,1,0),o=new p.Vector3(0,0,1);n.xAxis.reservedDataStore={hidden:!0},n.yAxis.reservedDataStore={hidden:!0},n.zAxis.reservedDataStore={hidden:!0},e.reservedDataStore.onBeforeRenderObserver=t.onBeforeRenderObservable.add(function(){var i=t.activeCamera.getWorldMatrix(),l=e.getWorldMatrix(),s=p.Tmp.Vector3[0];p.Vector3.TransformCoordinatesFromFloatsToRef(0,0,1,i,s),n.scaleLines=s.length()/10,n.update(e.getAbsolutePosition(),p.Vector3.TransformNormal(r,l),p.Vector3.TransformNormal(a,l),p.Vector3.TransformNormal(o,l))}),this.setState({displayAxis:!0})},t.prototype.render=function(){var e=this;return i.createElement(ne,{label:"Display axes",isSelected:function(){return e.state.displayAxis},onSelect:function(){return e.displayAxes()}})},t}(i.Component),Ie=function(e){function t(t){var n=e.call(this,t)||this;return n.state={displayNormals:!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.position=p.Vector3.Zero(),n.setParent(e);var r=new p.StandardMaterial("wireframeOver",t);r.reservedDataStore={hidden:!0},n.material=r,r.zOffset=1,r.disableLighting=!0,r.backFaceCulling=!1,r.emissiveColor=p.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(p.VertexBuffer.NormalKind),r=e.getVerticesData(p.VertexBuffer.PositionKind),a=p.Color3.White(),o=.05*e.getBoundingInfo().diagonalLength,i=[],l=0;l0){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.componentWillMount=function(){var e=this;this.connect(this.props.animationGroup),this._onBeforeRenderObserver=this.props.scene.onBeforeRenderObservable.add(function(){e.updateCurrentFrame(e.props.animationGroup)})},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 i.createElement("div",{className:"pane"},i.createElement(Z,{globalState:this.props.globalState,title:"CONTROLS"},i.createElement(We,{label:n,onClick:function(){return e.playOrPause()}}),i.createElement(le,{label:"Speed ratio",minimum:0,maximum:10,step:.1,target:t,propertyName:"speedRatio",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{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)}})),i.createElement(Z,{globalState:this.props.globalState,title:"INFOS"},i.createElement($,{label:"Animation count",value:t.targetedAnimations.length.toString()}),i.createElement($,{label:"From",value:t.from.toFixed(2)}),i.createElement($,{label:"To",value:t.to.toFixed(2)})))},t}(i.Component),Xe=function(){return 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:Ee.Image.STRETCH_NONE},{label:"Fill",value:Ee.Image.STRETCH_FILL},{label:"Uniform",value:Ee.Image.STRETCH_UNIFORM},{label:"Extend",value:Ee.Image.STRETCH_EXTEND},{label:"NinePatch",value:Ee.Image.STRETCH_NINE_PATCH}];return i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"IMAGE"},i.createElement(ye,{lockObject:this.props.lockObject,label:"Source left",target:t,propertyName:"sourceLeft",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Source top",target:t,propertyName:"sourceTop",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Source width",target:t,propertyName:"sourceWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Source height",target:t,propertyName:"sourceHeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Autoscale",target:t,propertyName:"autoScale",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(se,{label:"Stretch",options:n,target:t,propertyName:"stretch",onPropertyChangedObservable:this.props.onPropertyChangedObservable,onSelect:function(t){return e.setState({mode:t})}})),i.createElement(Z,{globalState:this.props.globalState,title:"ANIMATION SHEET"},i.createElement(ye,{lockObject:this.props.lockObject,label:"Cell Id",isInteger:!0,target:t,propertyName:"cellId",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Cell width",target:t,propertyName:"cellWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Cell height",target:t,propertyName:"cellHeight",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),Ke=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 i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"SLIDER"},i.createElement(Fe,{lockObject:this.props.lockObject,label:"Border color",target:e,propertyName:"borderColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Display thumb",target:e,propertyName:"displayThumb",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Thumb circle",target:e,propertyName:"isThumbCircle",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Vertical",target:e,propertyName:"isVertical",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Thumb clamped",target:e,propertyName:"isThumbClamped",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Bar offset",target:e,propertyName:"barOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Thumb width",target:e,propertyName:"thumbWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Minimum",target:e,propertyName:"minimum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Maximum",target:e,propertyName:"maximum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Value",target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),Qe=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 i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"IMAGE BASED SLIDER"},i.createElement(ne,{label:"Display thumb",target:e,propertyName:"displayThumb",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Vertical",target:e,propertyName:"isVertical",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Thumb clamped",target:e,propertyName:"isThumbClamped",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Bar offset",target:e,propertyName:"barOffset",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Thumb width",target:e,propertyName:"thumbWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Minimum",target:e,propertyName:"minimum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Maximum",target:e,propertyName:"maximum",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Value",target:e,propertyName:"value",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.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.rectangle;return i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"RECTANGLE"},i.createElement(ne,{label:"Clip children",target:e,propertyName:"clipChildren",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Corner radius",target:e,propertyName:"cornerRadius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.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.ellipse;return i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"ELLIPSE"},i.createElement(ne,{label:"Clip children",target:e,propertyName:"clipChildren",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.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.checkbox;return i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"CHECKBOX"},i.createElement(ye,{lockObject:this.props.lockObject,label:"Check size ratio",target:e,propertyName:"checkSizeRatio",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Checked",target:e,propertyName:"isChecked",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.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.radioButton;return i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"RADIO BUTTON"},i.createElement(ye,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Check size ratio",target:e,propertyName:"checkSizeRatio",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Group",target:e,propertyName:"group",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Checked",target:e,propertyName:"isChecked",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),tt=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 i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"LINE"},i.createElement(ye,{lockObject:this.props.lockObject,label:"Line width",target:t,propertyName:"lineWidth",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"X1",target:t,propertyName:"x1",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Y1",target:t,propertyName:"y1",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"X2",target:t,propertyName:"x2",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Y2",target:t,propertyName:"y2",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Dash pattern",target:t,value:t.dash.join(","),onChange:function(t){return e.onDashChange(t)}})))},t}(i.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.scrollViewer;return i.createElement("div",{className:"pane"},i.createElement(He,{globalState:this.props.globalState,lockObject:this.props.lockObject,control:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"RECTANGLE"},i.createElement(ye,{lockObject:this.props.lockObject,label:"Thickness",target:e,propertyName:"thickness",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Corner radius",target:e,propertyName:"cornerRadius",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"SCROLLVIEWER"},i.createElement(ye,{lockObject:this.props.lockObject,label:"Bar size",target:e,propertyName:"barSize",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Bar color",target:e,propertyName:"barColor",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Fe,{lockObject:this.props.lockObject,label:"Bar background",target:e,propertyName:"barBackground",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Wheel precision",target:e,propertyName:"wheelPrecision",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),rt=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.componentWillMount=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),i.createElement("div",null,(this._ranges.length>0||this._animations&&this._animations.length>0)&&i.createElement(Z,{globalState:this.props.globalState,title:"ANIMATION OVERRIDE"},i.createElement(ne,{label:"Enable override",onSelect:function(t){t?(n.animationPropertiesOverride=new p.AnimationPropertiesOverride,n.animationPropertiesOverride.blendingSpeed=.05):n.animationPropertiesOverride=null,e.forceUpdate()},isSelected:function(){return null!=n.animationPropertiesOverride},onValueChanged:function(){return e.forceUpdate()}}),null!=n.animationPropertiesOverride&&i.createElement("div",null,i.createElement(ne,{label:"Enable blending",target:n.animationPropertiesOverride,propertyName:"enableBlending",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Blending speed",target:n.animationPropertiesOverride,propertyName:"blendingSpeed",minimum:0,maximum:.1,step:.01,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))),this._ranges.length>0&&i.createElement(Z,{globalState:this.props.globalState,title:"ANIMATION RANGES"},this._ranges.map(function(n){return i.createElement(We,{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&&i.createElement(Z,{globalState:this.props.globalState,title:"ANIMATIONS"},i.createElement($,{label:"Count",value:this._animations.length.toString()}),i.createElement(ye,{lockObject:this.props.lockObject,label:"From",target:this._animationControl,propertyName:"from"}),i.createElement(ye,{lockObject:this.props.lockObject,label:"To",target:this._animationControl,propertyName:"to"}),i.createElement(ne,{label:"Loop",onSelect:function(t){return e._animationControl.loop=t},isSelected:function(){return e._animationControl.loop}}),i.createElement(We,{label:this._isPlaying?"Stop":"Play",onClick:function(){return e.playOrPause()}}),this._isPlaying&&i.createElement(le,{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}(i.Component),mt=function(e){function t(t){var n=e.call(this,t)||this;return n._skeletonViewersEnabled=!1,n._skeletonViewers=new Array,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.componentWillMount=function(){this.checkSkeletonViewerState(this.props)},t.prototype.shouldComponentUpdate=function(e){return e.skeleton!==this.props.skeleton&&this.checkSkeletonViewerState(e),!0},t.prototype.render=function(){var e=this,t=this.props.skeleton;return i.createElement("div",{className:"pane"},i.createElement(he,{globalState:this.props.globalState,target:t,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"GENERAL"},i.createElement($,{label:"ID",value:t.id}),i.createElement($,{label:"Bone count",value:t.bones.length.toString()}),i.createElement(ne,{label:"Use texture to store matrices",target:t,propertyName:"useTextureToStoreBoneMatrices",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Debug mode",isSelected:function(){return e._skeletonViewersEnabled},onSelect:function(){return e.switchSkeletonViewers()}})),i.createElement(bt,{globalState:this.props.globalState,animatable:t,scene:t.getScene(),lockObject:this.props.lockObject}))},t}(i.Component),ft=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){var e=this.props.bone;return i.createElement("div",{className:"pane"},i.createElement(Z,{globalState:this.props.globalState,title:"GENERAL"},i.createElement($,{label:"ID",value:e.id}),i.createElement($,{label:"Unique ID",value:e.uniqueId.toString()})),i.createElement(Z,{globalState:this.props.globalState,title:"TRANSFORMATIONS"},i.createElement(ue,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),!e.rotationQuaternion&&i.createElement(ue,{label:"Rotation",target:e,propertyName:"rotation",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),e.rotationQuaternion&&i.createElement(de,{label:"Rotation",target:e,propertyName:"rotationQuaternion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Scaling",target:e,propertyName:"scaling",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),gt=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 i.createElement("div",{className:"pane"},i.createElement(Te,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"SETUP"},i.createElement(ce,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Specular",target:e,propertyName:"specular",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Direction",target:e,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(_e,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(i.Component),vt=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 i.createElement("div",{className:"pane"},i.createElement(Te,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"SETUP"},i.createElement(ce,{label:"Diffuse",target:e,propertyName:"diffuse",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ce,{label:"Specular",target:e,propertyName:"specular",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Position",target:e,propertyName:"position",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ue,{label:"Direction",target:e,propertyName:"direction",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Angle",target:e,propertyName:"angle",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ye,{lockObject:this.props.lockObject,label:"Exponent",target:e,propertyName:"exponent",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(_e,{globalState:this.props.globalState,lockObject:this.props.lockObject,light:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}))},t}(i.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.renderPipeline;return i.createElement("div",{className:"pane"},i.createElement(pt,{globalState:this.props.globalState,lockObject:this.props.lockObject,renderPipeline:e,onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(Z,{globalState:this.props.globalState,title:"OPTIONS"},i.createElement(le,{label:"Edge blur",minimum:0,maximum:5,step:.1,target:e,propertyName:"edgeBlur",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Edge distortion",minimum:0,maximum:5,step:.1,target:e,propertyName:"edgeDistortion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Grain amount",minimum:0,maximum:1,step:.1,target:e,propertyName:"grainAmount",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Chromatic aberration",minimum:0,maximum:5,step:.1,target:e,propertyName:"chromaticAberration",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Darken out of focus",minimum:0,maximum:5,step:.1,target:e,propertyName:"darkenOutOfFocus",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Blur noise",target:e,propertyName:"blurNoise",onPropertyChangedObservable:this.props.onPropertyChangedObservable})),i.createElement(Z,{globalState:this.props.globalState,title:"DEPTH OF FIELD"},i.createElement(le,{label:"Aperture",minimum:0,maximum:10,step:.1,target:e,propertyName:"dofAperture",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Distortion",minimum:0,maximum:10,step:.1,target:e,propertyName:"dofDistortion",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(ne,{label:"Pentagon bokeh",target:e,propertyName:"pentagonBokeh",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Highlight gain",minimum:0,maximum:5,step:.1,target:e,propertyName:"highlightsGain",onPropertyChangedObservable:this.props.onPropertyChangedObservable}),i.createElement(le,{label:"Highlight threshold",minimum:0,maximum:5,step:.1,target:e,propertyName:"highlightsThreshold",onPropertyChangedObservable:this.props.onPropertyChangedObservable})))},t}(i.Component),Ct=function(e){function t(t){var n=e.call(this,t)||this;return n._lockObject=new Xe,n}return a(t,e),t.prototype.timerRefresh=function(){this._lockObject.lock||this.forceUpdate()},t.prototype.componentWillMount=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 i.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 i.createElement(we,{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 i.createElement("div",null,i.createElement(Ie,{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")){var a=e;return i.createElement(Re,{globalState:this.props.globalState,camera:a,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("ArcRotateCamera")){var o=e;return i.createElement(Ae,{globalState:this.props.globalState,camera:o,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("HemisphericLight"===t){var l=e;return i.createElement(Ne,{globalState:this.props.globalState,light:l,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PointLight"===t){var s=e;return i.createElement(Me,{globalState:this.props.globalState,light:s,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("DirectionalLight"===t){s=e;return i.createElement(gt,{globalState:this.props.globalState,light:s,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("SpotLight"===t){s=e;return i.createElement(vt,{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 i.createElement(De,{transformNode:p,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("StandardMaterial"===t){var c=e;return i.createElement(ge,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PBRMaterial"===t){c=e;return i.createElement(xe,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PBRMetallicRoughnessMaterial"===t){c=e;return i.createElement(at,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("PBRSpecularGlossinessMaterial"===t){c=e;return i.createElement(ot,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("BackgroundMaterial"===t){c=e;return i.createElement(ze,{globalState:this.props.globalState,material:c,lockObject:this._lockObject,onSelectionChangedObservable:this.props.onSelectionChangedObservable,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("AnimationGroup"===t){var u=e;return i.createElement(Ye,{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 i.createElement(me,{material:c,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("DefaultRenderingPipeline")){var d=e;return i.createElement(ut,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("LensRenderingPipeline")){d=e;return i.createElement(yt,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("SSAORenderingPipeline")){d=e;return i.createElement(dt,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("SSAO2RenderingPipeline")){d=e;return i.createElement(ht,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("RenderingPipeline")){d=e;return i.createElement(ct,{renderPipeline:d,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("PostProcess")){var h=e;return i.createElement(st,{postProcess:h,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Texture")){var b=e;return i.createElement(Oe,{texture:b,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Skeleton")){var m=e;return i.createElement(mt,{skeleton:m,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(-1!==t.indexOf("Bone")){var f=e;return i.createElement(ft,{bone:f,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("TextBlock"===t){var g=e;return i.createElement(Ge,{textBlock:g,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("InputText"===t){var v=e;return i.createElement(Ue,{inputText:v,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("ColorPicker"===t){var y=e;return i.createElement(Be,{colorPicker:y,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Image"===t){var C=e;return i.createElement(qe,{image:C,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Slider"===t){var E=e;return i.createElement(Ke,{slider:E,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("ImageBasedSlider"===t){var O=e;return i.createElement(Qe,{imageBasedSlider:O,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Rectangle"===t){var S=e;return i.createElement($e,{rectangle:S,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("StackPanel"===t){var x=e;return i.createElement(it,{stackPanel:x,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Grid"===t){var P=e;return i.createElement(rt,{grid:P,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("ScrollViewer"===t){var k=e;return i.createElement(nt,{scrollViewer:k,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Ellipse"===t){var w=e;return i.createElement(Ze,{ellipse:w,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Checkbox"===t){var T=e;return i.createElement(Je,{checkbox:T,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("RadioButton"===t){var N=e;return i.createElement(et,{radioButton:N,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if("Line"===t){var _=e;return i.createElement(tt,{line:_,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}if(e._host){var M=e;return i.createElement(Ve,{control:M,globalState:this.props.globalState,lockObject:this._lockObject,onPropertyChangedObservable:this.props.onPropertyChangedObservable})}}return null},t}(Q),Et=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.componentWillMount=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?i.createElement("div",{id:"back",onClick:function(){return e.goBack()}},i.createElement(c.a,{icon:d})):null:i.createElement("img",{id:"logo",src:"https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png"})},t.prototype.render=function(){var e=this;return i.createElement("div",{id:"header"},this.renderLogo(),i.createElement("div",{id:"title"},this.props.title),i.createElement("div",{id:"commands"},!this.props.noCommands&&!this.props.noExpand&&i.createElement("div",{className:"expand",onClick:function(){return e.props.onPopup()}},i.createElement(c.a,{icon:q})),!this.props.noCommands&&!this.props.noClose&&i.createElement("div",{className:"close",onClick:function(){return e.props.onClose()}},i.createElement(c.a,{icon:B}))))},t}(i.Component),Ot=function(e){function t(t){return e.call(this,t)||this}return a(t,e),t.prototype.render=function(){return this.props.icon?i.createElement("div",{className:"iconMessageLine"},i.createElement("div",{className:"icon",style:{color:this.props.color?this.props.color:""}},i.createElement(c.a,{icon:this.props.icon})),i.createElement("div",{className:"value",title:this.props.text},this.props.text)):i.createElement("div",{className:"messageLine"},i.createElement("div",{className:"value",title:this.props.text,style:{color:this.props.color?this.props.color:""}},this.props.text))},t}(i.Component),St=n(8),xt=function(e){function t(t){var n=e.call(this,t)||this,r=n.props.globalState.glTFLoaderExtensionDefaults;r.MSFT_lod=r.MSFT_lod||{enabled:!0,maxLODsToLoad:Number.MAX_VALUE},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_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=St.GLTFLoaderAnimationStartMode.FIRST),a.capturePerformanceCounters=a.capturePerformanceCounters||!1,a.compileMaterials=a.compileMaterials||!1,a.compileShadowGenerators=a.compileShadowGenerators||!1,a.coordinateSystemMode=a.coordinateSystemMode||St.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.renderValidation=function(){var e=this,t=this.props.globalState.validationResults.issues;return i.createElement(Z,{globalState:this.props.globalState,title:"GLTF VALIDATION",closed:!t.numErrors&&!t.numWarnings},0!==t.numErrors&&i.createElement(Ot,{text:"Your file has some validation issues",icon:W,color:"Red"}),0===t.numErrors&&i.createElement(Ot,{text:"Your file is a valid glTF file",icon:C,color:"Green"}),i.createElement($,{label:"Errors",value:t.numErrors.toString()}),i.createElement($,{label:"Warnings",value:t.numWarnings.toString()}),i.createElement($,{label:"Infos",value:t.numInfos.toString()}),i.createElement($,{label:"Hints",value:t.numHints.toString()}),i.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:St.GLTFLoaderAnimationStartMode.NONE},{label:"First",value:St.GLTFLoaderAnimationStartMode.FIRST},{label:"ALL",value:St.GLTFLoaderAnimationStartMode.ALL}],r=[{label:"Auto",value:St.GLTFLoaderCoordinateSystemMode.AUTO},{label:"Right handed",value:St.GLTFLoaderCoordinateSystemMode.FORCE_RIGHT_HANDED}];return i.createElement("div",null,i.createElement(Z,{globalState:this.props.globalState,title:"GLTF LOADER",closed:!0},i.createElement(se,{label:"Animation start mode",options:n,target:t,propertyName:"animationStartMode"}),i.createElement(ne,{label:"Capture performance counters",target:t,propertyName:"capturePerformanceCounters"}),i.createElement(ne,{label:"Compile materials",target:t,propertyName:"compileMaterials"}),i.createElement(ne,{label:"Compile shadow generators",target:t,propertyName:"compileShadowGenerators"}),i.createElement(se,{label:"Coordinate system",options:r,target:t,propertyName:"coordinateSystemMode"}),i.createElement(ne,{label:"Enable logging",target:t,propertyName:"loggingEnabled"}),i.createElement(ne,{label:"Transparency as coverage",target:t,propertyName:"transparencyAsCoverage"}),i.createElement(ne,{label:"Use clip plane",target:t,propertyName:"useClipPlane"}),i.createElement(ne,{label:"Validate",target:t,propertyName:"validate"}),i.createElement(Ot,{text:"You need to reload your file to see these changes"})),i.createElement(Z,{globalState:this.props.globalState,title:"GLTF EXTENSIONS",closed:!0},i.createElement(ne,{label:"MSFT_lod",isSelected:function(){return e.MSFT_lod.enabled},onSelect:function(t){return e.MSFT_lod.enabled=t}}),i.createElement(ye,{label:"Maximum LODs",target:e.MSFT_lod,propertyName:"maxLODsToLoad",additionalClass:"gltf-extension-property"}),i.createElement(ne,{label:"MSFT_minecraftMesh",isSelected:function(){return e.MSFT_minecraftMesh.enabled},onSelect:function(t){return e.MSFT_minecraftMesh.enabled=t}}),i.createElement(ne,{label:"MSFT_sRGBFactors",isSelected:function(){return e.MSFT_sRGBFactors.enabled},onSelect:function(t){return e.MSFT_sRGBFactors.enabled=t}}),i.createElement(ne,{label:"MSFT_audio_emitter",isSelected:function(){return e.MSFT_audio_emitter.enabled},onSelect:function(t){return e.MSFT_audio_emitter.enabled=t}}),i.createElement(ne,{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}}),i.createElement(ne,{label:"KHR_materials_pbrSpecularGlossiness",isSelected:function(){return e.KHR_materials_pbrSpecularGlossiness.enabled},onSelect:function(t){return e.KHR_materials_pbrSpecularGlossiness.enabled=t}}),i.createElement(ne,{label:"KHR_materials_unlit",isSelected:function(){return e.KHR_materials_unlit.enabled},onSelect:function(t){return e.KHR_materials_unlit.enabled=t}}),i.createElement(ne,{label:"KHR_lights_punctual",isSelected:function(){return e.KHR_lights_punctual.enabled},onSelect:function(t){return e.KHR_lights_punctual.enabled=t}}),i.createElement(ne,{label:"KHR_texture_transform",isSelected:function(){return e.KHR_texture_transform.enabled},onSelect:function(t){return e.KHR_texture_transform.enabled=t}}),i.createElement(ne,{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}}),i.createElement(Ot,{text:"You need to reload your file to see these changes"})),t.validate&&this.props.globalState.validationResults&&this.renderValidation())},t}(i.Component),Pt=n(15),kt=function(e){function t(t){var n=e.call(this,t)||this;return n.state={tag:"Record video"},n}return a(t,e),t.prototype.componentWillMount=function(){BABYLON.GLTF2Export||p.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&&p.Tools.CreateScreenshot(e.getEngine(),e.activeCamera,{precision:1})},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 p.VideoRecorder(t.getEngine())),this._videoRecorder.startRecording().then(function(){e.setState({tag:"Record video"})}),this.setState({tag:"Stop recording"})}},t.prototype.shouldExport=function(e){if(e instanceof p.Mesh&&e.material){var t=e.material.reflectionTexture;if(t&&t.coordinatesMode===p.Texture.SKYBOX_MODE)return!1}return!0},t.prototype.exportGLTF=function(){var e=this,t=this.props.scene;Pt.GLTF2Export.GLBAsync(t,"scene",{shouldExportNode:function(t){return e.shouldExport(t)}}).then(function(e){e.downloadFiles()})},t.prototype.exportBabylon=function(){var e=this.props.scene,t=JSON.stringify(p.SceneSerializer.Serialize(e)),n=new Blob([t],{type:"octet/stream"});p.Tools.Download(n,"scene.babylon")},t.prototype.createEnvTexture=function(){var e=this.props.scene;p.EnvironmentTextureTools.CreateEnvTextureAsync(e.environmentTexture).then(function(e){var t=new Blob([e],{type:"octet/stream"});p.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;return t?i.createElement("div",{className:"pane"},i.createElement(Z,{globalState:this.props.globalState,title:"CAPTURE"},i.createElement(We,{label:"Screenshot",onClick:function(){return e.captureScreenshot()}}),i.createElement(We,{label:this.state.tag,onClick:function(){return e.recordVideo()}})),i.createElement(Z,{globalState:this.props.globalState,title:"REPLAY"},i.createElement(We,{label:"Generate replay code",onClick:function(){return e.exportReplay()}}),i.createElement(We,{label:"Reset",onClick:function(){return e.resetReplay()}})),i.createElement(Z,{globalState:this.props.globalState,title:"SCENE EXPORT"},i.createElement(We,{label:"Export to GLB",onClick:function(){return e.exportGLTF()}}),i.createElement(We,{label:"Export to Babylon",onClick:function(){return e.exportBabylon()}}),!t.getEngine().premultipliedAlpha&&t.environmentTexture&&t.activeCamera&&i.createElement(We,{label:"Generate .env texture",onClick:function(){return e.createEnvTexture()}})),BABYLON.GLTFFileLoader&&i.createElement(xt,{scene:t,globalState:this.props.globalState})):null},t}(Q);n(29);var wt=function(e){function t(t){var n=e.call(this,t)||this;n._once=!0;var r=0,a=n.props.globalState.validationResults;return a&&(a.issues.numErrors||a.issues.numWarnings)&&(r=3),n.state={selectedEntity:null,selectedIndex:r},n}return a(t,e),t.prototype.componentWillMount=function(){var e=this;this._onSelectionChangeObserver=this.props.globalState.onSelectionChangedObservable.add(function(t){e.setState({selectedEntity:t,selectedIndex:0})}),this._onTabChangedObserver=this.props.globalState.onTabChangedObservable.add(function(t){e.setState({selectedIndex:t})})},t.prototype.componentWillUnmount=function(){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.onTabChangedObservable.notifyObservers(e)},t.prototype.renderContent=function(){var e=this;return i.createElement(u,{selectedIndex:this.state.selectedIndex,onSelectedIndexChange:function(t){return e.changeSelectedTab(t)}},i.createElement(Ct,{title:"Properties",icon:M,scene:this.props.scene,selectedEntity:this.state.selectedEntity,globalState:this.props.globalState,onSelectionChangedObservable:this.props.globalState.onSelectionChangedObservable,onPropertyChangedObservable:this.props.globalState.onPropertyChangedObservable}),i.createElement(ae,{title:"Debug",icon:g,scene:this.props.scene,globalState:this.props.globalState}),i.createElement(te,{title:"Statistics",icon:y,scene:this.props.scene,globalState:this.props.globalState}),i.createElement(kt,{title:"Tools",icon:K,scene:this.props.scene,globalState:this.props.globalState}))},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?i.createElement("div",{id:"actionTabs"},!this.props.noHeader&&i.createElement(Et,{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.onSelectionChangedObservable}),this.renderContent()):(this._once&&(this._once=!1,setTimeout(function(){var e=document.getElementById("actionTabs");e&&(e.style.width="300px")},150)),i.createElement(ie.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&&i.createElement(Et,{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.onSelectionChangedObservable}),this.renderContent()))},t}(i.Component),Tt={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"]},Nt={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"]},_t={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"]},Mt=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 i.createElement("div",{className:"title",onClick:function(){return e.onClick()}},i.createElement("div",{className:"titleIcon"},i.createElement(c.a,{icon:this.props.icon,color:this.props.color})),i.createElement("div",{className:"titleText"},this.props.label||"no name"))},t}(i.Component),Lt=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?i.createElement(Rt,{extensibilityGroups:this.props.extensibilityGroups,mesh:r,onClick:function(){return e.onClick()}}):i.createElement(zt,{extensibilityGroups:this.props.extensibilityGroups,transformNode:t,onClick:function(){return e.onClick()}})}if(-1!==n.indexOf("Skeleton"))return i.createElement(Bt,{extensibilityGroups:this.props.extensibilityGroups,skeleton:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Bone"))return i.createElement(Wt,{extensibilityGroups:this.props.extensibilityGroups,bone:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("TransformNode"))return i.createElement(zt,{extensibilityGroups:this.props.extensibilityGroups,transformNode:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Camera"))return i.createElement(At,{extensibilityGroups:this.props.extensibilityGroups,camera:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Light"))return i.createElement(jt,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,light:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Material"))return i.createElement(It,{extensibilityGroups:this.props.extensibilityGroups,material:t,onClick:function(){return e.onClick()}});if("AdvancedDynamicTexture"===n)return i.createElement(Ht,{onSelectionChangedObservable:this.props.globalState.onSelectionChangedObservable,extensibilityGroups:this.props.extensibilityGroups,texture:t,onClick:function(){return e.onClick()}});if("AnimationGroup"===n)return i.createElement(Vt,{extensibilityGroups:this.props.extensibilityGroups,animationGroup:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("Texture"))return i.createElement(Dt,{extensibilityGroups:this.props.extensibilityGroups,texture:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("RenderingPipeline"))return i.createElement(Ut,{extensibilityGroups:this.props.extensibilityGroups,renderPipeline:t,onClick:function(){return e.onClick()}});if(-1!==n.indexOf("PostProcess"))return i.createElement(Gt,{extensibilityGroups:this.props.extensibilityGroups,postProcess:t,onClick:function(){return e.onClick()}});if(t._host)return i.createElement(Ft,{extensibilityGroups:this.props.extensibilityGroups,control:t,onClick:function(){return e.onClick()}})}return i.createElement("div",{className:"meshTools"},i.createElement(Mt,{label:t.name,onClick:function(){return e.onClick()},icon:H,color:"cornflowerblue"}))},t}(i.Component),Xt=function(){function e(){}return e.LookForItem=function(t,n){if(t===n)return!0;var r=t.getChildren?t.getChildren():t.children;if(r)for(var a=0,o=r;ar?1:-1})},e}(),qt=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||Xt.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,Xt.LookForItem(e.entity,e.selectedEntity))return t.isExpanded=!0,!0}return!0},t.prototype.scrollIntoView=function(){var e=s.findDOMNode(this);e&&e.scrollIntoView()},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?Xt.SortAndFilter(n,n.getChildren?n.getChildren():n.children).map(function(n){return i.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?i.createElement(c.a,{icon:D}):i.createElement(c.a,{icon:F}),a=Xt.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 console.log(e.name),e.name&&-1!==e.name.toLowerCase().indexOf(o)}).length)return null}}return i.createElement("div",null,i.createElement("div",{className:this.state.isSelected?"itemContainer selected":"itemContainer",style:t},a&&i.createElement("div",{className:"arrow icon",onClick:function(){return e.switchExpandedState()}},r),i.createElement(Yt,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,label:n.name,entity:n,onClick:function(){return e.onSelect()}})),this.renderChildren())},t}(i.Component),Kt=n(2),Qt=n.n(Kt),$t=n(6),Zt=n.n($t),Jt=n(5),en=n.n(Jt); /*! * 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 tn(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),en()(hn,t))}function vn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];gn(mn,en()({},e,{type:mn}),t)}function yn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];gn(fn,en()({},e,{type:fn}),t)}var Cn=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)nn(t.callbacks,n)&&t.callbacks[n].show(e)},this.handleHideEvent=function(e){for(var n in t.callbacks)nn(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={},bn&&(window.addEventListener(mn,this.handleShowEvent),window.addEventListener(fn,this.handleHideEvent))},En=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||tn(n.props.onClick,e,en()({},n.props.data,hn.data),hn.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=en()({},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,Nn),Mn(t,[{key:"componentDidMount",value:function(){this.listenId=Cn.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"),nn(t,"top")&&(e.subMenu.style.top=t.top),nn(t,"left")&&(e.subMenu.style.left=t.left),nn(t,"bottom")&&(e.subMenu.style.bottom=t.bottom),nn(t,"right")&&(e.subMenu.style.right=t.right),e.subMenu.classList.add(an),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(an)}}},{key:"componentWillUnmount",value:function(){this.listenId&&Cn.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,s=this.state.visible,p={ref:this.menuRef,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,className:Zt()(ln,dn,r.listClassName),style:{position:"relative"}},c={className:Zt()(ln,r.className,(e={},Ln(e,Zt()(pn,r.disabledClassName),a),Ln(e,Zt()(sn,r.visibleClassName),s),Ln(e,Zt()(un,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:Zt()(rn,this.props.className)};return l.a.createElement("nav",_n({},p,{role:"menuitem",tabIndex:"-1","aria-haspopup":"true"}),l.a.createElement("div",_n({},r,c),o),l.a.createElement("nav",_n({},u,{role:"menu",tabIndex:"-1"}),this.renderChildren(n)))}}]),t}();Rn.propTypes={children:Qt.a.node.isRequired,attributes:Qt.a.object,title:Qt.a.node.isRequired,className:Qt.a.string,disabled:Qt.a.bool,hoverDelay:Qt.a.number,rtl:Qt.a.bool,selected:Qt.a.bool,onMouseMove:Qt.a.func,onMouseOut:Qt.a.func,forceOpen:Qt.a.bool,forceClose:Qt.a.func,parentKeyNavigationHandler:Qt.a.func},Rn.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 An=Rn,jn=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)),tn(r.props.attributes.onMouseDown,e)},r.handleMouseUp=function(e){0===e.button&&clearTimeout(r.mouseDownTimeoutId),tn(r.props.attributes.onMouseUp,e)},r.handleMouseOut=function(e){0===e.button&&clearTimeout(r.mouseDownTimeoutId),tn(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)),tn(r.props.attributes.onTouchStart,e)},r.handleTouchEnd=function(e){r.touchHandled&&e.preventDefault(),clearTimeout(r.touchstartTimeoutId),tn(r.props.attributes.onTouchEnd,e)},r.handleContextMenu=function(e){r.handleContextClick(e),tn(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),yn();var a=tn(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,vn(o)}):vn(o)}},r.elemRef=function(e){r.elem=e},Fn(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,i["Component"]),zn(t,[{key:"render",value:function(){var e=this.props,t=e.renderTag,n=e.attributes,r=e.children,a=en()({},n,{className:Zt()(on,n.className),onContextMenu:this.handleContextMenu,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onTouchStart:this.handleTouchstart,onTouchEnd:this.handleTouchEnd,onMouseOut:this.handleMouseOut,ref:this.elemRef});return l.a.createElement(t,a,r)}}]),t}();Hn.propTypes={id:Qt.a.string.isRequired,children:Qt.a.node.isRequired,attributes:Qt.a.object,collect:Qt.a.func,disable:Qt.a.bool,holdToDisplay:Qt.a.number,posX:Qt.a.number,posY:Qt.a.number,renderTag:Qt.a.oneOfType([Qt.a.node,Qt.a.func])},Hn.defaultProps={attributes:{},collect:function(){return null},disable:!1,holdToDisplay:1e3,renderTag:"div",posX:0,posY:0};var Vn=Hn;Object.assign,function(){function e(e,t){for(var n=0;n0});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;n0&&i.createElement(Bn,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:t.skeletons,label:"Skeletons",offset:1,filter:this.state.filter}),i.createElement(Bn,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:t.materials,label:"Materials",offset:1,filter:this.state.filter}),i.createElement(Bn,{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&&i.createElement(Bn,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,selectedEntity:this.state.selectedEntity,items:a,label:"Post-processes",offset:1,filter:this.state.filter}),i.createElement(Bn,{globalState:this.props.globalState,extensibilityGroups:this.props.extensibilityGroups,contextMenuItems:l,selectedEntity:this.state.selectedEntity,items:o,label:"Rendering pipelines",offset:1,filter:this.state.filter}),n&&n.length>0&&i.createElement(Bn,{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&&i.createElement(Bn,{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;if(this.props.popupMode)return i.createElement("div",{id:"sceneExplorer"},!this.props.noHeader&&i.createElement(Et,{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());if(this._once){this._once=!1;var t=this.state.scene;t.onNewCameraAddedObservable.add(this.sceneMutationFunc),t.onNewLightAddedObservable.add(this.sceneMutationFunc),t.onNewMaterialAddedObservable.add(this.sceneMutationFunc),t.onNewMeshAddedObservable.add(this.sceneMutationFunc),t.onNewTextureAddedObservable.add(this.sceneMutationFunc),t.onNewTransformNodeAddedObservable.add(this.sceneMutationFunc),t.onMeshRemovedObservable.add(this.sceneMutationFunc),t.onCameraRemovedObservable.add(this.sceneMutationFunc),t.onLightRemovedObservable.add(this.sceneMutationFunc),t.onMaterialRemovedObservable.add(this.sceneMutationFunc),t.onTransformNodeRemovedObservable.add(this.sceneMutationFunc),t.onTextureRemovedObservable.add(this.sceneMutationFunc),setTimeout(function(){var e=document.getElementById("sceneExplorer");e&&(e.style.width="300px")},150)}return i.createElement(ie.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&&i.createElement(Et,{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}(i.Component),qn=n(33).default;n(34);var Kn=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&&qn([this.refs.topPart,this.refs.bottomPart],{direction:"vertical",minSize:[200,200],gutterSize:4})},t.prototype.renderContent=function(){return this.props.popupMode?i.createElement("div",{id:"split",className:"splitPopup"},i.createElement("div",{id:"topPart"},i.createElement(Xn,{scene:this.props.scene,popupMode:!0,globalState:this.props.globalState,noHeader:!0})),i.createElement("div",{id:"separator"}),i.createElement("div",{id:"bottomPart",style:{marginTop:"4px",overflow:"hidden"}},i.createElement(wt,{scene:this.props.scene,popupMode:!0,globalState:this.props.globalState,noHeader:!0}))):i.createElement("div",{ref:"split",id:"split",className:"noPopup"},i.createElement("div",{id:"topPart",ref:"topPart"},i.createElement(Xn,{scene:this.props.scene,globalState:this.props.globalState,popupMode:!0,noHeader:!0})),i.createElement("div",{id:"bottomPart",ref:"bottomPart",style:{marginTop:"4px",overflow:"hidden"}},i.createElement(wt,{scene:this.props.scene,globalState:this.props.globalState,popupMode:!0,noHeader:!0})))},t.prototype.render=function(){var e=this;return this.props.popupMode?i.createElement("div",{id:"embed"},i.createElement(Et,{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)),i.createElement(ie.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}},i.createElement(Et,{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}(i.Component),Qn=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;t.w?t="new BABYLON.Quaternion("+t.x+", "+t.y+", "+t.z+", "+t.w+")":t.z?t="new BABYLON.Vector3("+t.x+", "+t.y+", "+t.z+")":t.y?t="new BABYLON.Vector2("+t.x+", "+t.y+")":t.a?t="new BABYLON.Color4("+t.r+", "+t.g+", "+t.b+", "+t.a+")":t.b&&(t="new BABYLON.Color3("+t.r+", "+t.g+", "+t.b+")");var n=e.object.getClassName().toLowerCase();e.object.uniqueId&&("Scene"===n?n="scene":n.indexOf("camera")?n="scene.getCameraByUniqueID("+e.object.uniqueId+")":n.indexOf("mesh")?n="scene.getMeshByUniqueID("+e.object.uniqueId+")":n.indexOf("light")?n="scene.getLightByUniqueID("+e.object.uniqueId+")":"transformnode"===n?n="scene.getTransformNodeByUniqueID("+e.object.uniqueId+")":"skeleton"===n?n="scene.getSkeletonByUniqueId("+e.object.uniqueId+")":n.indexOf("material")&&(n="scene.getMaterialByUniqueID("+e.object.uniqueId+")")),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")),p.Tools.Download(new Blob([e]),"pseudo-code.txt")},e}(),$n=function(){function e(){this.onInspectorClosedObservable=new p.Observable,this.onTabChangedObservable=new p.Observable,this.onValidationResultsUpdatedObservable=new p.Observable,this.glTFLoaderExtensionDefaults={},this.glTFLoaderDefaults={validate:!0},this.blockMutationUpdates=!1,this.selectedLineContainerTitle="",this.recorder=new Qn,this.lightGizmos=[]}return 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]}),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 p.LightGizmo,this.lightGizmos.push(e.reservedDataStore.lightGizmo),e.reservedDataStore.lightGizmo.light=e)):e.reservedDataStore&&e.reservedDataStore.lightGizmo&&(this.lightGizmos.splice(this.lightGizmos.indexOf(e.reservedDataStore.lightGizmo),1),e.reservedDataStore.lightGizmo.dispose(),e.reservedDataStore.lightGizmo=null)},e}(),Zn=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=p.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=p.EngineStore.LastCreatedScene),this._Scene=t;var a=t?t.getEngine().getRenderingCanvas():p.EngineStore.LastCreatedEngine.getRenderingCanvas();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&&(s.unmountComponentAtNode(this._ActionTabsHost),this._RemoveElementFromDOM(this._ActionTabsHost),this._ActionTabsHost=null),this._SceneExplorerHost&&(s.unmountComponentAtNode(this._SceneExplorerHost),this._SceneExplorerHost.parentElement&&this._SceneExplorerHost.parentElement.removeChild(this._SceneExplorerHost),this._SceneExplorerHost=null),this._EmbedHost&&(s.unmountComponentAtNode(this._EmbedHost),this._EmbedHost.parentElement&&this._EmbedHost.parentElement.removeChild(this._EmbedHost),this._EmbedHost=null),e._OpenedPane=0,this._Cleanup(),this._GlobalState.onPluginActivatedObserver||(p.SceneLoader.OnPluginActivatedObservable.remove(this._GlobalState.onPluginActivatedObserver),this._GlobalState.onPluginActivatedObserver=null)},e._OpenedPane=0,e.OnSelectionChangeObservable=new p.Observable,e.OnPropertyChangedObservable=new p.Observable,e._GlobalState=new $n,e}();Zn.EarlyAttachToLoader(),n.d(t,"a",function(){return Zn}),n(17)},function(e,t,n){"use strict";(function(e,r){function a(e){return(a="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 o(e,t){for(var n=0;n-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!==$.size||e.x!==$.x||e.y!==$.y||e.rotate!==$.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:"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);a").concat(o.map(he).join(""),"")}var be=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 me(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}me.prototype=Object.create(Error.prototype),me.prototype.constructor=me;var fe={fill:"currentColor"},ge={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},ve={tag:"path",attributes:l({},fe,{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"})},ye=l({},ge,{attributeName:"opacity"});l({},fe,{cx:"256",cy:"364",r:"28"}),l({},ge,{attributeName:"r",values:"28;14;28;28;14;28;"}),l({},ye,{values:"1;0;1;1;0;1;"}),l({},fe,{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({},ye,{values:"1;0;0;0;0;1;"}),l({},fe,{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({},ye,{values:"0;0;1;1;0;0;"}),T.styles;T.styles;var Ce='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 Ee(){var e=y,t=C,n=k.familyPrefix,r=k.replacementClass,a=Ce;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 Oe(e){return{found:!0,width:e[0],height:e[1],icon:{tag:"path",attributes:{fill:"currentColor",d:e.slice(4)[0]}}}}function Se(){k.autoAddCss&&!Te&&(Z(Ee()),Te=!0)}function xe(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return he(e)})}}),Object.defineProperty(e,"node",{get:function(){if(v){var t=f.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function Pe(e){var t=e.prefix,n=void 0===t?"fa":t,r=e.iconName;if(r)return de(we.definitions,n,r)||de(T.styles,n,r)}var ke,we=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;r2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,a=void 0!==r&&r,o=Object.keys(n).reduce(function(e,t){var r=n[t];return r.icon?e[r.iconName]=r.icon:e[t]=r,e},{});"function"!=typeof T.hooks.addPack||a?T.styles[t]=l({},T.styles[t]||{},o):T.hooks.addPack(t,o),"fas"===t&&e("fa",n)}(t,a[t]),ue()})}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(e,t){var n=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(n).map(function(t){var r=n[t],a=r.prefix,o=r.iconName,i=r.icon;e[a]||(e[a]={}),e[a][o]=i}),e}}])&&o(t.prototype,n),r&&o(t,r),e}()),Te=!1,Ne={transform:function(e){return be(e)}},_e=(ke=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?$: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 xe(l({type:"icon"},e),function(){return Se(),k.autoA11y&&(c?b["aria-labelledby"]="".concat(k.replacementClass,"-title-").concat(ee()):(b["aria-hidden"]="true",b.focusable="false")),ie({icons:{main:Oe(y),mask:s?Oe(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:g,iconName:v,transform:l({},$,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:Pe(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:Pe(r||{})),ke(n,l({},t,{mask:r}))})}).call(this,n(9),n(24).setImmediate)},function(e,t){e.exports=r},function(e,t,n){"use strict";n.r(t),function(e){var r=n(13);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(9))},function(e,t,n){var r=n(18);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:void 0,insertInto:void 0};n(12)(r,a);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(11)(!1)).push([e.i,"",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var a,o=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(a=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:r+o.replace(/^\.\//,""),"url("+JSON.stringify(a)+")")})}},function(e,t,n){"use strict"; /** @license React v16.6.1 * 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.concurrent_mode"):60111,h=a?Symbol.for("react.forward_ref"):60112,b=a?Symbol.for("react.suspense"):60113,m=a?Symbol.for("react.memo"):60115,f=a?Symbol.for("react.lazy"):60116,g="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rM.length&&M.push(e)}function A(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