@playcanvas/web-components 0.1.13 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/pwc.min.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("playcanvas")):"function"==typeof define&&define.amd?define(["exports","playcanvas"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).pd={},t.pc)}(this,(function(t,e){"use strict";class s extends HTMLElement{constructor(){super(),this._readyPromise=new Promise((t=>{this._readyResolve=t}))}get closestApp(){var t;return null===(t=this.parentElement)||void 0===t?void 0:t.closest("pc-app")}get closestEntity(){var t;return null===(t=this.parentElement)||void 0===t?void 0:t.closest("pc-entity")}_onReady(){this._readyResolve(),this.dispatchEvent(new CustomEvent("ready"))}ready(){return this._readyPromise.then((()=>this))}}class i extends HTMLElement{constructor(){super(),this.loadPromise=this.loadModule()}async loadModule(){const t=this.getAttribute("name"),s=this.getAttribute("glue"),i=this.getAttribute("wasm"),n=this.getAttribute("fallback");"Basis"===t?e.basisInitialize({glueUrl:s,wasmUrl:i,fallbackUrl:n}):(e.WasmModule.setConfig(t,{glueUrl:s,wasmUrl:i,fallbackUrl:n}),await new Promise((s=>{e.WasmModule.getInstance(t,(()=>s()))})))}getLoadPromise(){return this.loadPromise}}customElements.define("pc-module",i);class n extends s{constructor(){super(),this._canvas=null,this._alpha=!0,this._antialias=!0,this._depth=!0,this._stencil=!0,this._highResolution=!1,this._hierarchyReady=!1,this._picker=null,this._hasPointerListeners={pointerenter:!1,pointerleave:!1,pointerdown:!1,pointerup:!1,pointermove:!1},this._hoveredEntity=null,this._pointerHandlers={pointermove:null,pointerdown:null,pointerup:null},this.app=null,this._onWindowResize=this._onWindowResize.bind(this)}async connectedCallback(){const t=this.querySelectorAll(":scope > pc-module");await Promise.all(Array.from(t).map((t=>t.getLoadPromise()))),this._canvas=document.createElement("canvas"),this.appendChild(this._canvas),this.app=new e.Application(this._canvas,{graphicsDeviceOptions:{alpha:this._alpha,antialias:this._antialias,depth:this._depth,stencil:this._stencil},keyboard:new e.Keyboard(window),mouse:new e.Mouse(this._canvas)}),this.app.graphicsDevice.maxPixelRatio=this._highResolution?window.devicePixelRatio:1,this.app.setCanvasFillMode(e.FILLMODE_FILL_WINDOW),this.app.setCanvasResolution(e.RESOLUTION_AUTO),this._pickerCreate();const s=this.querySelectorAll(":scope > pc-asset");Array.from(s).forEach((t=>{t.createAsset();const e=t.asset;e&&this.app.assets.add(e)}));const i=this.querySelectorAll(":scope > pc-material");Array.from(i).forEach((t=>{t.createMaterial()}));const n=this.querySelectorAll("pc-entity");Array.from(n).forEach((t=>{t.createEntity(this.app)})),n.forEach((t=>{t.buildHierarchy(this.app)})),this._hierarchyReady=!0,this.app.preload((()=>{this.app.start(),window.addEventListener("resize",this._onWindowResize),this._onReady()}))}disconnectedCallback(){this._pickerDestroy(),this.app&&(this.app.destroy(),this.app=null),window.removeEventListener("resize",this._onWindowResize),this._canvas&&this.contains(this._canvas)&&(this.removeChild(this._canvas),this._canvas=null)}_onWindowResize(){this.app&&this.app.resizeCanvas()}_pickerCreate(){const{width:t,height:s}=this.app.graphicsDevice;this._picker=new e.Picker(this.app,t,s),this._pointerHandlers.pointermove=this._onPointerMove.bind(this),this._pointerHandlers.pointerdown=this._onPointerDown.bind(this),this._pointerHandlers.pointerup=this._onPointerUp.bind(this),["pointermove","pointerdown","pointerup","pointerenter","pointerleave"].forEach((t=>{this.addEventListener(`${t}:connect`,(()=>this._onPointerListenerAdded(t))),this.addEventListener(`${t}:disconnect`,(()=>this._onPointerListenerRemoved(t)))}))}_pickerDestroy(){this._canvas&&Object.entries(this._pointerHandlers).forEach((([t,e])=>{e&&this._canvas.removeEventListener(t,e)})),this._picker=null,this._pointerHandlers={pointermove:null,pointerdown:null,pointerup:null}}_onPointerMove(t){if(!this._picker||!this.app)return;const e=this.app.root.findComponent("camera");if(!e)return;const s=this._canvas.getBoundingClientRect(),i=t.clientX-s.left,n=t.clientY-s.top;this._picker.prepare(e,this.app.scene);const a=this._picker.getSelection(i,n);let o=null;if(a.length>0){let t=a[0].node;for(;null!==t;){const e=this.querySelector(`pc-entity[name="${t.name}"]`);if(e){o=e;break}t=t.parent}}this._hoveredEntity!==o&&(this._hoveredEntity&&this._hoveredEntity.hasListeners("pointerleave")&&this._hoveredEntity.dispatchEvent(new PointerEvent("pointerleave",t)),o&&o.hasListeners("pointerenter")&&o.dispatchEvent(new PointerEvent("pointerenter",t))),this._hoveredEntity=o,o&&o.hasListeners("pointermove")&&o.dispatchEvent(new PointerEvent("pointermove",t))}_onPointerDown(t){if(!this._picker||!this.app)return;const e=this.app.root.findComponent("camera");if(!e)return;const s=this._canvas.getBoundingClientRect(),i=t.clientX-s.left,n=t.clientY-s.top;this._picker.prepare(e,this.app.scene);const a=this._picker.getSelection(i,n);if(a.length>0){let e=a[0].node;for(;null!==e;){const s=this.querySelector(`pc-entity[name="${e.name}"]`);if(s&&s.hasListeners("pointerdown")){s.dispatchEvent(new PointerEvent("pointerdown",t));break}e=e.parent}}}_onPointerUp(t){if(!this._picker||!this.app)return;const e=this.app.root.findComponent("camera");if(!e)return;const s=this._canvas.getBoundingClientRect(),i=t.clientX-s.left,n=t.clientY-s.top;this._picker.prepare(e,this.app.scene);const a=this._picker.getSelection(i,n);if(a.length>0){const e=this.querySelector(`pc-entity[name="${a[0].node.name}"]`);e&&e.hasListeners("pointerup")&&e.dispatchEvent(new PointerEvent("pointerup",t))}}_onPointerListenerAdded(t){if(!this._hasPointerListeners[t]&&this._canvas){this._hasPointerListeners[t]=!0;const e="pointerenter"===t||"pointerleave"===t?this._pointerHandlers.pointermove:this._pointerHandlers[t];e&&this._canvas.addEventListener("pointerenter"===t||"pointerleave"===t?"pointermove":t,e)}}_onPointerListenerRemoved(t){if(!Array.from(this.querySelectorAll("pc-entity")).some((e=>e.hasListeners(t)))&&this._canvas){this._hasPointerListeners[t]=!1;const e="pointerenter"===t||"pointerleave"===t?this._pointerHandlers.pointermove:this._pointerHandlers[t];e&&this._canvas.removeEventListener("pointerenter"===t||"pointerleave"===t?"pointermove":t,e)}}set alpha(t){this._alpha=t}get alpha(){return this._alpha}set antialias(t){this._antialias=t}get antialias(){return this._antialias}set depth(t){this._depth=t}get depth(){return this._depth}get hierarchyReady(){return this._hierarchyReady}set highResolution(t){this._highResolution=t,this.app&&(this.app.graphicsDevice.maxPixelRatio=t?window.devicePixelRatio:1)}get highResolution(){return this._highResolution}set stencil(t){this._stencil=t}get stencil(){return this._stencil}static get observedAttributes(){return["alpha","antialias","depth","stencil","high-resolution"]}attributeChangedCallback(t,e,s){switch(t){case"alpha":this.alpha="false"!==s;break;case"antialias":this.antialias="false"!==s;break;case"depth":this.depth="false"!==s;break;case"high-resolution":this.highResolution="false"!==s;break;case"stencil":this.stencil="false"!==s}}}customElements.define("pc-app",n);const a={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},o=t=>{const s=a[t.toLowerCase()];if(s)return(new e.Color).fromString(s);if(t.startsWith("#"))return(new e.Color).fromString(t);const i=t.split(" ").map(Number);return new e.Color(i)},r=t=>{const s=t.split(" ").map(Number);return new e.Vec2(s)},h=t=>{const s=t.split(" ").map(Number);return new e.Vec3(s)},c=t=>{const s=t.split(" ").map(Number);return new e.Vec4(s)};class l extends s{constructor(){super(...arguments),this._enabled=!0,this._name="Untitled",this._position=new e.Vec3,this._rotation=new e.Vec3,this._scale=new e.Vec3(1,1,1),this._tags=[],this._listeners={},this.entity=null}createEntity(t){this.entity=new e.Entity(this.getAttribute("name")||this._name,t);const s=this.getAttribute("enabled");s&&(this.entity.enabled="false"!==s);const i=this.getAttribute("position");i&&this.entity.setLocalPosition(h(i));const n=this.getAttribute("rotation");n&&this.entity.setLocalEulerAngles(h(n));const a=this.getAttribute("scale");a&&this.entity.setLocalScale(h(a));const o=this.getAttribute("tags");o&&this.entity.tags.add(o.split(",").map((t=>t.trim())));["onpointerenter","onpointerleave","onpointerdown","onpointerup","onpointermove"].forEach((t=>{const e=this.getAttribute(t);if(e){const s=t.substring(2),i=t=>{try{new Function("event",e).call(this,t)}catch(t){console.error("Error in event handler:",t)}};this.addEventListener(s,i)}}))}buildHierarchy(t){if(!this.entity)return;const e=this.closestEntity;(null==e?void 0:e.entity)?e.entity.addChild(this.entity):t.root.addChild(this.entity),this._onReady()}connectedCallback(){const t=this.closestApp;if(t&&t.hierarchyReady){const e=t.app;this.createEntity(e),this.buildHierarchy(e);const s=this.querySelectorAll("pc-entity");s.forEach((t=>{t.createEntity(e)})),s.forEach((t=>{t.buildHierarchy(e)}))}}disconnectedCallback(){if(this.entity){this.querySelectorAll("pc-entity").forEach((t=>{t.entity=null})),this.entity.destroy(),this.entity=null}}set enabled(t){this._enabled=t,this.entity&&(this.entity.enabled=t)}get enabled(){return this._enabled}set name(t){this._name=t,this.entity&&(this.entity.name=t)}get name(){return this._name}set position(t){this._position=t,this.entity&&this.entity.setLocalPosition(this._position)}get position(){return this._position}set rotation(t){this._rotation=t,this.entity&&this.entity.setLocalEulerAngles(this._rotation)}get rotation(){return this._rotation}set scale(t){this._scale=t,this.entity&&this.entity.setLocalScale(this._scale)}get scale(){return this._scale}set tags(t){this._tags=t,this.entity&&(this.entity.tags.clear(),this.entity.tags.add(this._tags))}get tags(){return this._tags}static get observedAttributes(){return["enabled","name","position","rotation","scale","tags","onpointerenter","onpointerleave","onpointerdown","onpointerup","onpointermove"]}attributeChangedCallback(t,e,s){switch(t){case"enabled":this.enabled="false"!==s;break;case"name":this.name=s;break;case"position":this.position=h(s);break;case"rotation":this.rotation=h(s);break;case"scale":this.scale=h(s);break;case"tags":this.tags=s.split(",").map((t=>t.trim()));break;case"onpointerenter":case"onpointerleave":case"onpointerdown":case"onpointerup":case"onpointermove":if(s){const e=t.substring(2),s=t=>{try{const s=this.getAttribute(e)||"";new Function("event",s).call(this,t)}catch(t){console.error("Error in event handler:",t)}};this.addEventListener(e,s)}}}addEventListener(t,e,s){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e),super.addEventListener(t,e,s),t.startsWith("pointer")&&this.dispatchEvent(new CustomEvent(`${t}:connect`,{bubbles:!0}))}removeEventListener(t,e,s){this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter((t=>t!==e))),super.removeEventListener(t,e,s),t.startsWith("pointer")&&this.dispatchEvent(new CustomEvent(`${t}:disconnect`,{bubbles:!0}))}hasListeners(t){var e;return Boolean(null===(e=this._listeners[t])||void 0===e?void 0:e.length)}}customElements.define("pc-entity",l);const p=new Map([["bin","binary"],["css","css"],["frag","shader"],["glb","container"],["glsl","shader"],["hdr","texture"],["html","html"],["jpg","texture"],["js","script"],["json","json"],["mp3","audio"],["mjs","script"],["ply","gsplat"],["png","texture"],["txt","text"],["vert","shader"],["webp","texture"]]);class u extends HTMLElement{constructor(){super(...arguments),this._lazy=!1,this.asset=null}disconnectedCallback(){this.destroyAsset()}createAsset(){var t;const s=this.getAttribute("id")||"",i=this.getAttribute("src")||"";let n=this.getAttribute("type");if(!n){const e=i.split(".").pop();n=null!==(t=p.get(e||""))&&void 0!==t?t:null}n?(this.asset=new e.Asset(s,n,{url:i}),this.asset.preload=!this._lazy):console.warn(`Unsupported asset type: ${i}`)}destroyAsset(){this.asset&&(this.asset.unload(),this.asset=null)}set lazy(t){this._lazy=t,this.asset&&(this.asset.preload=!t)}get lazy(){return this._lazy}static get(t){const e=document.querySelector(`pc-asset[id="${t}"]`);return null==e?void 0:e.asset}static get observedAttributes(){return["lazy"]}attributeChangedCallback(t,e,s){"lazy"===t&&(this.lazy=this.hasAttribute("lazy"))}}customElements.define("pc-asset",u);class d extends s{constructor(t){super(),this._enabled=!0,this._component=null,this._componentName=t}getInitialComponentData(){return{}}async addComponent(){const t=this.closestEntity;if(t){await t.ready();const e=this.getInitialComponentData();this._component=t.entity.addComponent(this._componentName,e)}}initComponent(){}async connectedCallback(){var t;await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),await this.addComponent(),this.initComponent(),this._onReady()}disconnectedCallback(){this.component&&this.component.entity&&(this._component.entity.removeComponent(this._componentName),this._component=null)}get component(){return this._component}set enabled(t){this._enabled=t,this.component&&(this.component.enabled=t)}get enabled(){return this._enabled}static get observedAttributes(){return["enabled"]}attributeChangedCallback(t,e,s){if("enabled"===t)this.enabled="false"!==s}}class m extends d{constructor(){super("audiolistener")}get component(){return super.component}}customElements.define("pc-listener",m);const f=new Map([["none",e.TONEMAP_NONE],["linear",e.TONEMAP_LINEAR],["filmic",e.TONEMAP_FILMIC],["hejl",e.TONEMAP_HEJL],["aces",e.TONEMAP_ACES],["aces2",e.TONEMAP_ACES2],["neutral",e.TONEMAP_NEUTRAL]]);class _ extends d{constructor(){super("camera"),this._clearColor=new e.Color(.75,.75,.75,1),this._clearColorBuffer=!0,this._clearDepthBuffer=!0,this._clearStencilBuffer=!1,this._cullFaces=!0,this._farClip=1e3,this._flipFaces=!1,this._fov=45,this._frustumCulling=!0,this._gamma="srgb",this._horizontalFov=!1,this._nearClip=.1,this._orthographic=!1,this._orthoHeight=10,this._priority=0,this._rect=new e.Vec4(0,0,1,1),this._scissorRect=new e.Vec4(0,0,1,1),this._tonemap="none"}getInitialComponentData(){return{clearColor:this._clearColor,clearColorBuffer:this._clearColorBuffer,clearDepthBuffer:this._clearDepthBuffer,clearStencilBuffer:this._clearStencilBuffer,cullFaces:this._cullFaces,farClip:this._farClip,flipFaces:this._flipFaces,fov:this._fov,frustumCulling:this._frustumCulling,gammaCorrection:"srgb"===this._gamma?e.GAMMA_SRGB:e.GAMMA_NONE,horizontalFov:this._horizontalFov,nearClip:this._nearClip,orthographic:this._orthographic,orthoHeight:this._orthoHeight,priority:this._priority,rect:this._rect,scissorRect:this._scissorRect,toneMapping:f.get(this._tonemap)}}get xrAvailable(){var t;const s=null===(t=this.component)||void 0===t?void 0:t.system.app.xr;return s&&s.supported&&s.isAvailable(e.XRTYPE_VR)}startXr(t,e){this.component&&this.xrAvailable&&this.component.startXr(t,e,{callback:t=>{t&&console.error(`WebXR Immersive VR failed to start: ${t.message}`)}})}endXr(){this.component&&this.component.endXr()}get component(){return super.component}set clearColor(t){this._clearColor=t,this.component&&(this.component.clearColor=t)}get clearColor(){return this._clearColor}set clearColorBuffer(t){this._clearColorBuffer=t,this.component&&(this.component.clearColorBuffer=t)}get clearColorBuffer(){return this._clearColorBuffer}set clearDepthBuffer(t){this._clearDepthBuffer=t,this.component&&(this.component.clearDepthBuffer=t)}get clearDepthBuffer(){return this._clearDepthBuffer}set clearStencilBuffer(t){this._clearStencilBuffer=t,this.component&&(this.component.clearStencilBuffer=t)}get clearStencilBuffer(){return this._clearStencilBuffer}set cullFaces(t){this._cullFaces=t,this.component&&(this.component.cullFaces=t)}get cullFaces(){return this._cullFaces}set farClip(t){this._farClip=t,this.component&&(this.component.farClip=t)}get farClip(){return this._farClip}set flipFaces(t){this._flipFaces=t,this.component&&(this.component.flipFaces=t)}get flipFaces(){return this._flipFaces}set fov(t){this._fov=t,this.component&&(this.component.fov=t)}get fov(){return this._fov}set frustumCulling(t){this._frustumCulling=t,this.component&&(this.component.frustumCulling=t)}get frustumCulling(){return this._frustumCulling}set gamma(t){this._gamma=t,this.component&&(this.component.gammaCorrection="srgb"===t?e.GAMMA_SRGB:e.GAMMA_NONE)}get gamma(){return this._gamma}set horizontalFov(t){this._horizontalFov=t,this.component&&(this.component.horizontalFov=t)}get horizontalFov(){return this._horizontalFov}set nearClip(t){this._nearClip=t,this.component&&(this.component.nearClip=t)}get nearClip(){return this._nearClip}set orthographic(t){this._orthographic=t,this.component&&(this.component.projection=t?e.PROJECTION_ORTHOGRAPHIC:e.PROJECTION_PERSPECTIVE)}get orthographic(){return this._orthographic}set orthoHeight(t){this._orthoHeight=t,this.component&&(this.component.orthoHeight=t)}get orthoHeight(){return this._orthoHeight}set priority(t){this._priority=t,this.component&&(this.component.priority=t)}get priority(){return this._priority}set rect(t){this._rect=t,this.component&&(this.component.rect=t)}get rect(){return this._rect}set scissorRect(t){this._scissorRect=t,this.component&&(this.component.scissorRect=t)}get scissorRect(){return this._scissorRect}set tonemap(t){var s;this._tonemap=t,this.component&&(this.component.toneMapping=null!==(s=f.get(t))&&void 0!==s?s:e.TONEMAP_NONE)}get tonemap(){return this._tonemap}static get observedAttributes(){return[...super.observedAttributes,"clear-color","clear-color-buffer","clear-depth-buffer","clear-stencil-buffer","cull-faces","far-clip","flip-faces","fov","frustum-culling","gamma","horizontal-fov","near-clip","orthographic","ortho-height","priority","rect","scissor-rect","tonemap"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"clear-color":this.clearColor=o(s);break;case"clear-color-buffer":this.clearColorBuffer="false"!==s;break;case"clear-depth-buffer":this.clearDepthBuffer="false"!==s;break;case"clear-stencil-buffer":this.clearStencilBuffer="false"!==s;break;case"cull-faces":this.cullFaces="false"!==s;break;case"far-clip":this.farClip=parseFloat(s);break;case"flip-faces":this.flipFaces="true"!==s;break;case"fov":this.fov=parseFloat(s);break;case"frustum-culling":this.frustumCulling="false"!==s;break;case"gamma":this.gamma=s;break;case"horizontal-fov":this.horizontalFov=this.hasAttribute("horizontal-fov");break;case"near-clip":this.nearClip=parseFloat(s);break;case"orthographic":this.orthographic=this.hasAttribute("orthographic");break;case"ortho-height":this.orthoHeight=parseFloat(s);break;case"priority":this.priority=parseFloat(s);break;case"rect":this.rect=c(s);break;case"scissor-rect":this.scissorRect=c(s);break;case"tonemap":this.tonemap=s}}}customElements.define("pc-camera",_);class g extends d{constructor(){super("collision"),this._angularOffset=new e.Quat,this._axis=1,this._convexHull=!1,this._halfExtents=new e.Vec3(.5,.5,.5),this._height=2,this._linearOffset=new e.Vec3,this._radius=.5,this._type="box"}getInitialComponentData(){return{axis:this._axis,angularOffset:this._angularOffset,convexHull:this._convexHull,halfExtents:this._halfExtents,height:this._height,linearOffset:this._linearOffset,radius:this._radius,type:this._type}}get component(){return super.component}set angularOffset(t){this._angularOffset=t,this.component&&(this.component.angularOffset=t)}get angularOffset(){return this._angularOffset}set axis(t){this._axis=t,this.component&&(this.component.axis=t)}get axis(){return this._axis}set convexHull(t){this._convexHull=t,this.component&&(this.component.convexHull=t)}get convexHull(){return this._convexHull}set halfExtents(t){this._halfExtents=t,this.component&&(this.component.halfExtents=t)}get halfExtents(){return this._halfExtents}set height(t){this._height=t,this.component&&(this.component.height=t)}get height(){return this._height}set linearOffset(t){this._linearOffset=t,this.component&&(this.component.linearOffset=t)}get linearOffset(){return this._linearOffset}set radius(t){this._radius=t,this.component&&(this.component.radius=t)}get radius(){return this._radius}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}static get observedAttributes(){return[...super.observedAttributes,"angular-offset","axis","convex-hull","half-extents","height","linear-offset","radius","type"]}attributeChangedCallback(t,s,i){switch(super.attributeChangedCallback(t,s,i),t){case"angular-offset":this.angularOffset=(t=>{const[s,i,n]=t.split(" ").map(Number),a=new e.Quat;return a.setFromEulerAngles(s,i,n),a})(i);break;case"axis":this.axis=parseInt(i,10);break;case"convex-hull":this.convexHull=this.hasAttribute("convex-hull");break;case"half-extents":this.halfExtents=h(i);break;case"height":this.height=parseFloat(i);break;case"linear-offset":this.linearOffset=h(i);break;case"radius":this.radius=parseFloat(i);break;case"type":this.type=i}}}customElements.define("pc-collision",g);class b extends d{constructor(){super("element"),this._anchor=new e.Vec4(.5,.5,.5,.5),this._asset="",this._autoWidth=!0,this._color=new e.Color(1,1,1,1),this._fontSize=32,this._lineHeight=32,this._pivot=new e.Vec2(.5,.5),this._text="",this._type="group",this._width=0,this._wrapLines=!1}initComponent(){this.component._text._material.useFog=!0}getInitialComponentData(){return{anchor:this._anchor,autoWidth:this._autoWidth,color:this._color,fontAsset:u.get(this._asset).id,fontSize:this._fontSize,lineHeight:this._lineHeight,pivot:this._pivot,type:this._type,text:this._text,width:this._width,wrapLines:this._wrapLines}}get component(){return super.component}set anchor(t){this._anchor=t,this.component&&(this.component.anchor=t)}get anchor(){return this._anchor}set asset(t){this._asset=t;const e=u.get(t);this.component&&e&&(this.component.fontAsset=e.id)}get asset(){return this._asset}set autoWidth(t){this._autoWidth=t,this.component&&(this.component.autoWidth=t)}get autoWidth(){return this._autoWidth}set color(t){this._color=t,this.component&&(this.component.color=t)}get color(){return this._color}set fontSize(t){this._fontSize=t,this.component&&(this.component.fontSize=t)}get fontSize(){return this._fontSize}set lineHeight(t){this._lineHeight=t,this.component&&(this.component.lineHeight=t)}get lineHeight(){return this._lineHeight}set pivot(t){this._pivot=t,this.component&&(this.component.pivot=t)}get pivot(){return this._pivot}set text(t){this._text=t,this.component&&(this.component.text=t)}get text(){return this._text}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}set width(t){this._width=t,this.component&&(this.component.width=t)}get width(){return this._width}set wrapLines(t){this._wrapLines=t,this.component&&(this.component.wrapLines=t)}get wrapLines(){return this._wrapLines}static get observedAttributes(){return[...super.observedAttributes,"anchor","asset","auto-width","color","font-size","line-height","pivot","text","type","width","wrap-lines"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"anchor":this.anchor=c(s);break;case"asset":this.asset=s;break;case"auto-width":this.autoWidth="false"!==s;break;case"color":this.color=o(s);break;case"font-size":this.fontSize=Number(s);break;case"line-height":this.lineHeight=Number(s);break;case"pivot":this.pivot=r(s);break;case"text":this.text=s;break;case"type":this.type=s;break;case"width":this.width=Number(s);break;case"wrap-lines":this.wrapLines=this.hasAttribute(t)}}}customElements.define("pc-element",b);class y extends d{constructor(){super("gsplat"),this._asset=""}getInitialComponentData(){return{asset:u.get(this._asset)}}get component(){return super.component}set asset(t){this._asset=t;const e=u.get(t);this.component&&e&&(this.component.asset=e)}get asset(){return this._asset}static get observedAttributes(){return[...super.observedAttributes,"asset"]}attributeChangedCallback(t,e,s){if(super.attributeChangedCallback(t,e,s),"asset"===t)this.asset=s}}customElements.define("pc-splat",y);const v=new Map([["pcf1-16f",e.SHADOW_PCF1_16F],["pcf1-32f",e.SHADOW_PCF1_32F],["pcf3-16f",e.SHADOW_PCF3_16F],["pcf3-32f",e.SHADOW_PCF3_32F],["pcf5-16f",e.SHADOW_PCF5_16F],["pcf5-32f",e.SHADOW_PCF5_32F],["vsm-16f",e.SHADOW_VSM_16F],["vsm-32f",e.SHADOW_VSM_32F],["pcss-32f",e.SHADOW_PCSS_32F]]);class w extends d{constructor(){super("light"),this._castShadows=!1,this._color=new e.Color(1,1,1),this._innerConeAngle=40,this._intensity=1,this._normalOffsetBias=.05,this._outerConeAngle=45,this._range=10,this._shadowBias=.2,this._shadowDistance=16,this._shadowIntensity=1,this._shadowResolution=1024,this._shadowType="pcf3-32f",this._type="directional",this._vsmBias=.01}getInitialComponentData(){return{castShadows:this._castShadows,color:this._color,innerConeAngle:this._innerConeAngle,intensity:this._intensity,normalOffsetBias:this._normalOffsetBias,outerConeAngle:this._outerConeAngle,range:this._range,shadowBias:this._shadowBias,shadowDistance:this._shadowDistance,shadowIntensity:this._shadowIntensity,shadowResolution:this._shadowResolution,shadowType:v.get(this._shadowType),type:this._type,vsmBias:this._vsmBias}}get component(){return super.component}set castShadows(t){this._castShadows=t,this.component&&(this.component.castShadows=t)}get castShadows(){return this._castShadows}set color(t){this._color=t,this.component&&(this.component.color=t)}get color(){return this._color}set innerConeAngle(t){this._innerConeAngle=t,this.component&&(this.component.innerConeAngle=t)}get innerConeAngle(){return this._innerConeAngle}set intensity(t){this._intensity=t,this.component&&(this.component.intensity=t)}get intensity(){return this._intensity}set normalOffsetBias(t){this._normalOffsetBias=t,this.component&&(this.component.normalOffsetBias=t)}get normalOffsetBias(){return this._normalOffsetBias}set outerConeAngle(t){this._outerConeAngle=t,this.component&&(this.component.outerConeAngle=t)}get outerConeAngle(){return this._outerConeAngle}set range(t){this._range=t,this.component&&(this.component.range=t)}get range(){return this._range}set shadowBias(t){this._shadowBias=t,this.component&&(this.component.shadowBias=t)}get shadowBias(){return this._shadowBias}set shadowDistance(t){this._shadowDistance=t,this.component&&(this.component.shadowDistance=t)}get shadowDistance(){return this._shadowDistance}set shadowIntensity(t){this._shadowIntensity=t,this.component&&(this.component.shadowIntensity=t)}get shadowIntensity(){return this._shadowIntensity}set shadowResolution(t){this._shadowResolution=t,this.component&&(this.component.shadowResolution=t)}get shadowResolution(){return this._shadowResolution}set shadowType(t){var s;this._shadowType=t,this.component&&(this.component.shadowType=null!==(s=v.get(t))&&void 0!==s?s:e.SHADOW_PCF3_32F)}get shadowType(){return this._shadowType}set type(t){["directional","omni","spot"].includes(t)?(this._type=t,this.component&&(this.component.type=t)):console.warn(`Invalid light type '${t}', using default type '${this._type}'.`)}get type(){return this._type}set vsmBias(t){this._vsmBias=t,this.component&&(this.component.vsmBias=t)}get vsmBias(){return this._vsmBias}static get observedAttributes(){return[...super.observedAttributes,"color","cast-shadows","intensity","inner-cone-angle","normal-offset-bias","outer-cone-angle","range","shadow-bias","shadow-distance","shadow-intensity","shadow-resolution","shadow-type","type","vsm-bias"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"color":this.color=o(s);break;case"cast-shadows":this.castShadows=this.hasAttribute("cast-shadows");break;case"inner-cone-angle":this.innerConeAngle=Number(s);break;case"intensity":this.intensity=Number(s);break;case"normal-offset-bias":this.normalOffsetBias=Number(s);break;case"outer-cone-angle":this.outerConeAngle=Number(s);break;case"range":this.range=Number(s);break;case"shadow-bias":this.shadowBias=Number(s);break;case"shadow-distance":this.shadowDistance=Number(s);break;case"shadow-resolution":this.shadowResolution=Number(s);break;case"shadow-intensity":this.shadowIntensity=Number(s);break;case"shadow-type":this.shadowType=s;break;case"type":this.type=s;break;case"vsm-bias":this.vsmBias=Number(s)}}}customElements.define("pc-light",w);class C extends HTMLElement{constructor(){super(...arguments),this._diffuse=new e.Color(1,1,1),this._diffuseMap="",this._metalnessMap="",this._normalMap="",this._roughnessMap="",this.material=null}createMaterial(){this.material=new e.StandardMaterial,this.material.glossInvert=!1,this.material.useMetalness=!1,this.material.diffuse=this._diffuse,this.diffuseMap=this._diffuseMap,this.metalnessMap=this._metalnessMap,this.normalMap=this._normalMap,this.roughnessMap=this._roughnessMap,this.material.update()}disconnectedCallback(){this.material&&(this.material.destroy(),this.material=null)}setMap(t,e){if(this.material){const s=u.get(t);s&&(s.loaded?(this.material[e]=s.resource,this.material[e].anisotropy=4):s.once("load",(()=>{this.material[e]=s.resource,this.material[e].anisotropy=4,this.material.update()})))}}set diffuse(t){this._diffuse=t,this.material&&(this.material.diffuse=t)}get diffuse(){return this._diffuse}set diffuseMap(t){this._diffuseMap=t,this.setMap(t,"diffuseMap")}get diffuseMap(){return this._diffuseMap}set metalnessMap(t){this._metalnessMap=t,this.setMap(t,"metalnessMap")}get metalnessMap(){return this._metalnessMap}set normalMap(t){this._normalMap=t,this.setMap(t,"normalMap")}get normalMap(){return this._normalMap}set roughnessMap(t){this._roughnessMap=t,this.setMap(t,"glossMap")}get roughnessMap(){return this._roughnessMap}static get(t){const e=document.querySelector(`pc-material[id="${t}"]`);return null==e?void 0:e.material}static get observedAttributes(){return["diffuse","diffuse-map","metalness-map","normal-map","roughness-map"]}attributeChangedCallback(t,e,s){switch(t){case"diffuse":this.diffuse=o(s);break;case"diffuse-map":this.diffuseMap=s;break;case"metalness-map":this.metalnessMap=s;break;case"normal-map":this.normalMap=s;break;case"roughness-map":this.roughnessMap=s}}}customElements.define("pc-material",C);class k extends d{constructor(){super("render"),this._castShadows=!0,this._material="",this._receiveShadows=!0,this._type="asset"}getInitialComponentData(){return{type:this._type,castShadows:this._castShadows,material:C.get(this._material),receiveShadows:this._receiveShadows}}get component(){return super.component}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}set castShadows(t){this._castShadows=t,this.component&&(this.component.castShadows=t)}get castShadows(){return this._castShadows}set material(t){this._material=t,this.component&&(this.component.material=C.get(t))}get material(){return this._material}set receiveShadows(t){this._receiveShadows=t,this.component&&(this.component.receiveShadows=t)}get receiveShadows(){return this._receiveShadows}static get observedAttributes(){return[...super.observedAttributes,"cast-shadows","material","receive-shadows","type"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"cast-shadows":this.castShadows="false"!==s;break;case"material":this.material=s;break;case"receive-shadows":this.receiveShadows="false"!==s;break;case"type":this.type=s}}}customElements.define("pc-render",k);class E extends d{constructor(){super("rigidbody"),this._angularDamping=0,this._angularFactor=new e.Vec3(1,1,1),this._friction=.5,this._linearDamping=0,this._linearFactor=new e.Vec3(1,1,1),this._mass=1,this._restitution=0,this._rollingFriction=0,this._type="static"}getInitialComponentData(){return{angularDamping:this._angularDamping,angularFactor:this._angularFactor,friction:this._friction,linearDamping:this._linearDamping,linearFactor:this._linearFactor,mass:this._mass,restitution:this._restitution,rollingFriction:this._rollingFriction,type:this._type}}get component(){return super.component}set angularDamping(t){this._angularDamping=t,this.component&&(this.component.angularDamping=t)}get angularDamping(){return this._angularDamping}set angularFactor(t){this._angularFactor=t,this.component&&(this.component.angularFactor=t)}get angularFactor(){return this._angularFactor}set friction(t){this._friction=t,this.component&&(this.component.friction=t)}get friction(){return this._friction}set linearDamping(t){this._linearDamping=t,this.component&&(this.component.linearDamping=t)}get linearDamping(){return this._linearDamping}set linearFactor(t){this._linearFactor=t,this.component&&(this.component.linearFactor=t)}get linearFactor(){return this._linearFactor}set mass(t){this._mass=t,this.component&&(this.component.mass=t)}get mass(){return this._mass}set restitution(t){this._restitution=t,this.component&&(this.component.restitution=t)}get restitution(){return this._restitution}set rollingFriction(t){this._rollingFriction=t,this.component&&(this.component.rollingFriction=t)}get rollingFriction(){return this._rollingFriction}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}static get observedAttributes(){return[...super.observedAttributes,"angular-damping","angular-factor","friction","linear-damping","linear-factor","mass","restitution","rolling-friction","type"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"angular-damping":this.angularDamping=parseFloat(s);break;case"angular-factor":this.angularFactor=h(s);break;case"friction":this.friction=parseFloat(s);break;case"linear-damping":this.linearDamping=parseFloat(s);break;case"linear-factor":this.linearFactor=h(s);break;case"mass":this.mass=parseFloat(s);break;case"restitution":this.restitution=parseFloat(s);break;case"rolling-friction":this.rollingFriction=parseFloat(s);break;case"type":this.type=s}}}customElements.define("pc-rigidbody",E);class A extends d{constructor(){super("screen"),this._screenSpace=!1,this._resolution=new e.Vec2(640,320),this._referenceResolution=new e.Vec2(640,320),this._priority=0,this._blend=!1,this._scaleBlend=.5}getInitialComponentData(){return{priority:this._priority,referenceResolution:this._referenceResolution,resolution:this._resolution,scaleBlend:this._scaleBlend,scaleMode:this._blend?e.SCALEMODE_BLEND:e.SCALEMODE_NONE,screenSpace:this._screenSpace}}get component(){return super.component}set priority(t){this._priority=t,this.component&&(this.component.priority=this._priority)}get priority(){return this._priority}set referenceResolution(t){this._referenceResolution=t,this.component&&(this.component.referenceResolution=this._referenceResolution)}get referenceResolution(){return this._referenceResolution}set resolution(t){this._resolution=t,this.component&&(this.component.resolution=this._resolution)}get resolution(){return this._resolution}set scaleBlend(t){this._scaleBlend=t,this.component&&(this.component.scaleBlend=this._scaleBlend)}get scaleBlend(){return this._scaleBlend}set blend(t){this._blend=t,this.component&&(this.component.scaleMode=this._blend?e.SCALEMODE_BLEND:e.SCALEMODE_NONE)}get blend(){return this._blend}set screenSpace(t){this._screenSpace=t,this.component&&(this.component.screenSpace=this._screenSpace)}get screenSpace(){return this._screenSpace}static get observedAttributes(){return[...super.observedAttributes,"blend","screen-space","resolution","reference-resolution","priority","scale-blend"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"priority":this.priority=parseInt(s,10);break;case"reference-resolution":this.referenceResolution=r(s);break;case"resolution":this.resolution=r(s);break;case"scale-blend":this.scaleBlend=parseFloat(s);break;case"blend":this.blend=this.hasAttribute("blend");break;case"screen-space":this.screenSpace=this.hasAttribute("screen-space")}}}customElements.define("pc-screen",A);class S extends d{constructor(){super("script"),this.observer=new MutationObserver(this.handleMutations.bind(this)),this.observer.observe(this,{childList:!0}),this.addEventListener("scriptattributeschange",this.handleScriptAttributesChange.bind(this)),this.addEventListener("scriptenablechange",this.handleScriptEnableChange.bind(this))}initComponent(){this.querySelectorAll(":scope > pc-script").forEach((t=>{const e=t.getAttribute("name"),s=t.getAttribute("attributes");e&&this.createScript(e,s)}))}applyAttributes(t,s){try{const i=s?JSON.parse(s):{},n=(t,s,i)=>{if("string"==typeof i&&i.startsWith("asset:")){const e=i.slice(6),n=document.querySelector(`pc-asset#${e}`);if(n)return void(t[s]=n.asset)}if(i&&"object"==typeof i&&Array.isArray(i)){if(i.length>0&&"object"==typeof i[0])return void(t[s]=i.map((t=>{const e={};for(const s in t)n(e,s,t[s]);return e})));if(2===i.length&&"number"==typeof i[0])return void(t[s]=new e.Vec2(i[0],i[1]));if(3===i.length&&"number"==typeof i[0])return void(t[s]=new e.Vec3(i[0],i[1],i[2]));if(4===i.length&&"number"==typeof i[0])return void(t[s]=new e.Vec4(i[0],i[1],i[2],i[3]))}if(i&&"object"==typeof i&&!Array.isArray(i)){t[s]&&"object"==typeof t[s]||(t[s]={});for(const e in i)n(t[s],e,i[e])}else t[s]=i};for(const e in i)n(t,e,i[e])}catch(t){console.error(`Error parsing attributes JSON string ${s}:`,t)}}handleScriptAttributesChange(t){const e=t.target.getAttribute("name");if(!e||!this.component)return;const s=this.component.get(e);s&&this.applyAttributes(s,t.detail.attributes)}handleScriptEnableChange(t){const e=t.target.getAttribute("name");if(!e||!this.component)return;const s=this.component.get(e);s&&(s.enabled=t.detail.enabled)}createScript(t,e){return this.component?(this.component.on(`create:${t}`,(t=>{this.applyAttributes(t,e)})),this.component.create(t)):null}destroyScript(t){this.component&&this.component.destroy(t)}handleMutations(t){for(const e of t)e.addedNodes.forEach((t=>{if(t instanceof HTMLElement&&"pc-script"===t.tagName.toLowerCase()){const e=t.getAttribute("name"),s=t.getAttribute("attributes");e&&this.createScript(e,s)}})),e.removedNodes.forEach((t=>{if(t instanceof HTMLElement&&"pc-script"===t.tagName.toLowerCase()){const e=t.getAttribute("name");e&&this.destroyScript(e)}}))}disconnectedCallback(){var t;this.observer.disconnect(),null===(t=super.disconnectedCallback)||void 0===t||t.call(this)}get component(){return super.component}}customElements.define("pc-scripts",S);class F extends HTMLElement{constructor(){super(...arguments),this._attributes="{}",this._enabled=!0,this._name=""}set scriptAttributes(t){this._attributes=t,this.dispatchEvent(new CustomEvent("scriptattributeschange",{detail:{attributes:t},bubbles:!0}))}get scriptAttributes(){return this._attributes}set enabled(t){this._enabled=t,this.dispatchEvent(new CustomEvent("scriptenablechange",{detail:{enabled:t},bubbles:!0}))}get enabled(){return this._enabled}set name(t){this._name=t}get name(){return this._name}static get observedAttributes(){return["attributes","enabled","name"]}attributeChangedCallback(t,e,s){switch(t){case"attributes":this.scriptAttributes=s;break;case"enabled":this.enabled="false"!==s;break;case"name":this.name=s}}}customElements.define("pc-script",F);class x extends d{constructor(){super("sound"),this._distanceModel="linear",this._maxDistance=1e4,this._pitch=1,this._positional=!1,this._refDistance=1,this._rollOffFactor=1,this._volume=1}getInitialComponentData(){return{distanceModel:this._distanceModel,maxDistance:this._maxDistance,pitch:this._pitch,positional:this._positional,refDistance:this._refDistance,rollOffFactor:this._rollOffFactor,volume:this._volume}}get component(){return super.component}set distanceModel(t){this._distanceModel=t,this.component&&(this.component.distanceModel=t)}get distanceModel(){return this._distanceModel}set maxDistance(t){this._maxDistance=t,this.component&&(this.component.maxDistance=t)}get maxDistance(){return this._maxDistance}set pitch(t){this._pitch=t,this.component&&(this.component.pitch=t)}get pitch(){return this._pitch}set positional(t){this._positional=t,this.component&&(this.component.positional=t)}get positional(){return this._positional}set refDistance(t){this._refDistance=t,this.component&&(this.component.refDistance=t)}get refDistance(){return this._refDistance}set rollOffFactor(t){this._rollOffFactor=t,this.component&&(this.component.rollOffFactor=t)}get rollOffFactor(){return this._rollOffFactor}set volume(t){this._volume=t,this.component&&(this.component.volume=t)}get volume(){return this._volume}static get observedAttributes(){return[...super.observedAttributes,"distance-model","max-distance","pitch","positional","ref-distance","roll-off-factor","volume"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"distance-model":this.distanceModel=s;break;case"max-distance":this.maxDistance=parseFloat(s);break;case"pitch":this.pitch=parseFloat(s);break;case"positional":this.positional=this.hasAttribute("positional");break;case"ref-distance":this.refDistance=parseFloat(s);break;case"roll-off-factor":this.rollOffFactor=parseFloat(s);break;case"volume":this.volume=parseFloat(s)}}}customElements.define("pc-sounds",x);class M extends s{constructor(){super(...arguments),this._asset="",this._autoPlay=!1,this._duration=null,this._loop=!1,this._name="",this._overlap=!1,this._pitch=1,this._startTime=0,this._volume=1,this.soundSlot=null}async connectedCallback(){var t;await(null===(t=this.soundElement)||void 0===t?void 0:t.ready());const e={autoPlay:this._autoPlay,loop:this._loop,overlap:this._overlap,pitch:this._pitch,startTime:this._startTime,volume:this._volume};this._duration&&(e.duration=this._duration),this.soundSlot=this.soundElement.component.addSlot(this._name,e),this.asset=this._asset,this.soundSlot.play(),this._onReady()}disconnectedCallback(){this.soundElement.component.removeSlot(this._name)}get soundElement(){const t=this.parentElement;return t instanceof x?t:(console.warn("pc-sound-slot must be a direct child of a pc-sound element"),null)}set asset(t){var e;if(this._asset=t,this.soundSlot){const s=null===(e=u.get(t))||void 0===e?void 0:e.id;s&&(this.soundSlot.asset=s)}}get asset(){return this._asset}set autoPlay(t){this._autoPlay=t,this.soundSlot&&(this.soundSlot.autoPlay=t)}get autoPlay(){return this._autoPlay}set duration(t){this._duration=t,this.soundSlot&&(this.soundSlot.duration=t)}get duration(){return this._duration}set loop(t){this._loop=t,this.soundSlot&&(this.soundSlot.loop=t)}get loop(){return this._loop}set name(t){this._name=t,this.soundSlot&&(this.soundSlot.name=t)}get name(){return this._name}set overlap(t){this._overlap=t,this.soundSlot&&(this.soundSlot.overlap=t)}get overlap(){return this._overlap}set pitch(t){this._pitch=t,this.soundSlot&&(this.soundSlot.pitch=t)}get pitch(){return this._pitch}set startTime(t){this._startTime=t,this.soundSlot&&(this.soundSlot.startTime=t)}get startTime(){return this._startTime}set volume(t){this._volume=t,this.soundSlot&&(this.soundSlot.volume=t)}get volume(){return this._volume}static get observedAttributes(){return["asset","autoPlay","duration","loop","name","overlap","pitch","startTime","volume"]}attributeChangedCallback(t,e,s){switch(t){case"asset":this.asset=s;break;case"duration":this.duration=parseFloat(s);break;case"loop":this.loop=this.hasAttribute("loop");break;case"name":this.name=s;break;case"overlap":this.overlap=this.hasAttribute("overlap");break;case"pitch":this.pitch=parseFloat(s);break;case"startTime":this.startTime=parseFloat(s);break;case"volume":this.volume=parseFloat(s)}}}customElements.define("pc-sound",M);class D extends s{constructor(){super(...arguments),this._asset="",this._entity=null}connectedCallback(){this._loadModel(),this._onReady()}disconnectedCallback(){this._unloadModel()}_instantiate(t){this._entity=t.instantiateRenderEntity(),t.animations.length>0&&(this._entity.addComponent("anim"),this._entity.anim.assignAnimation("animation",t.animations[0].resource));const e=this.closestEntity;if(e)e.ready().then((()=>{e.entity.addChild(this._entity)}));else{const t=this.closestApp;t&&t.ready().then((()=>{t.app.root.addChild(this._entity)}))}}async _loadModel(){var t;this._unloadModel();const e=await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),s=null==e?void 0:e.app,i=u.get(this._asset);i&&(i.loaded?this._instantiate(i.resource):(i.once("load",(()=>{this._instantiate(i.resource)})),s.assets.load(i)))}_unloadModel(){var t;null===(t=this._entity)||void 0===t||t.destroy(),this._entity=null}set asset(t){this._asset=t,this.isConnected&&this._loadModel()}get asset(){return this._asset}static get observedAttributes(){return["asset"]}attributeChangedCallback(t,e,s){if("asset"===t)this.asset=s}}customElements.define("pc-model",D);class L extends s{constructor(){super(...arguments),this._fog="none",this._fogColor=new e.Color(1,1,1),this._fogDensity=0,this._fogStart=0,this._fogEnd=1e3,this.scene=null}async connectedCallback(){var t;await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),this.scene=this.closestApp.app.scene,this.updateSceneSettings(),this._onReady()}updateSceneSettings(){this.scene&&(this.scene.fog.type=this._fog,this.scene.fog.color=this._fogColor,this.scene.fog.density=this._fogDensity,this.scene.fog.start=this._fogStart,this.scene.fog.end=this._fogEnd)}set fog(t){this._fog=t,this.scene&&(this.scene.fog.type=t)}get fog(){return this._fog}set fogColor(t){this._fogColor=t,this.scene&&(this.scene.fog.color=t)}get fogColor(){return this._fogColor}set fogDensity(t){this._fogDensity=t,this.scene&&(this.scene.fog.density=t)}get fogDensity(){return this._fogDensity}set fogStart(t){this._fogStart=t,this.scene&&(this.scene.fog.start=t)}get fogStart(){return this._fogStart}set fogEnd(t){this._fogEnd=t,this.scene&&(this.scene.fog.end=t)}get fogEnd(){return this._fogEnd}static get observedAttributes(){return["fog","fog-color","fog-density","fog-start","fog-end"]}attributeChangedCallback(t,e,s){switch(t){case"fog":this.fog=s;break;case"fog-color":this.fogColor=o(s);break;case"fog-density":this.fogDensity=parseFloat(s);break;case"fog-start":this.fogStart=parseFloat(s);break;case"fog-end":this.fogEnd=parseFloat(s)}}}customElements.define("pc-scene",L);class R extends s{constructor(){super(...arguments),this._asset="",this._center=new e.Vec3(0,.01,0),this._intensity=1,this._rotation=new e.Vec3,this._level=0,this._lighting=!1,this._scale=new e.Vec3(100,100,100),this._type="infinite",this._scene=null}connectedCallback(){this._loadSkybox(),this._onReady()}disconnectedCallback(){this._unloadSkybox()}_generateSkybox(t){if(!this._scene)return;const s=t.resource,i=e.EnvLighting.generateSkyboxCubemap(s);if(i.anisotropy=4,this._scene.skybox=i,this._lighting){const t=e.EnvLighting.generateLightingSource(s),i=e.EnvLighting.generateAtlas(t);this._scene.envAtlas=i}const n=this._scene.layers.getLayerById(e.LAYERID_SKYBOX);n&&(n.enabled="none"!==this._type),this._scene.sky.type=this._type,this._scene.sky.node.setLocalScale(this._scale),this._scene.sky.center=this._center,this._scene.skyboxIntensity=this._intensity}async _loadSkybox(){var t;const e=await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),s=null==e?void 0:e.app;if(!s)return;const i=u.get(this._asset);i&&(this._scene=s.scene,i.loaded?this._generateSkybox(i):(i.once("load",(()=>{this._generateSkybox(i)})),s.assets.load(i)))}_unloadSkybox(){var t,e;this._scene&&(null===(t=this._scene.skybox)||void 0===t||t.destroy(),this._scene.skybox=null,null===(e=this._scene.envAtlas)||void 0===e||e.destroy(),this._scene.envAtlas=null,this._scene=null)}set asset(t){this._asset=t,this.isConnected&&this._loadSkybox()}get asset(){return this._asset}set center(t){this._center=t,this._scene&&(this._scene.sky.center=this._center)}get center(){return this._center}set intensity(t){this._intensity=t,this._scene&&(this._scene.skyboxIntensity=this._intensity)}get intensity(){return this._intensity}set level(t){this._level=t,this._scene&&(this._scene.skyboxMip=this._level)}get level(){return this._level}set lighting(t){this._lighting=t}get lighting(){return this._lighting}set rotation(t){this._rotation=t,this._scene&&(this._scene.skyboxRotation=(new e.Quat).setFromEulerAngles(t))}get rotation(){return this._rotation}set scale(t){this._scale=t,this._scene&&this._scene.sky.node.setLocalScale(this._scale)}get scale(){return this._scale}set type(t){if(this._type=t,this._scene){this._scene.sky.type=this._type;const t=this._scene.layers.getLayerById(e.LAYERID_SKYBOX);t&&(t.enabled="none"!==this._type)}}get type(){return this._type}static get observedAttributes(){return["asset","center","intensity","level","lighting","rotation","scale","type"]}attributeChangedCallback(t,e,s){switch(t){case"asset":this.asset=s;break;case"center":this.center=h(s);break;case"intensity":this.intensity=parseFloat(s);break;case"level":this.level=parseInt(s,10);break;case"lighting":this.lighting=this.hasAttribute(t);break;case"rotation":this.rotation=h(s);break;case"scale":this.scale=h(s);break;case"type":this.type=s}}}customElements.define("pc-sky",R),t.AppElement=n,t.AssetElement=u,t.AsyncElement=s,t.CameraComponentElement=_,t.CollisionComponentElement=g,t.ComponentElement=d,t.ElementComponentElement=b,t.EntityElement=l,t.LightComponentElement=w,t.ListenerComponentElement=m,t.MaterialElement=C,t.ModelElement=D,t.ModuleElement=i,t.RenderComponentElement=k,t.RigidBodyComponentElement=E,t.SceneElement=L,t.ScreenComponentElement=A,t.ScriptComponentElement=S,t.ScriptElement=F,t.SkyElement=R,t.SoundComponentElement=x,t.SoundSlotElement=M,t.SplatComponentElement=y}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("playcanvas")):"function"==typeof define&&define.amd?define(["exports","playcanvas"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).pd={},t.pc)}(this,(function(t,e){"use strict";class s extends HTMLElement{constructor(){super(),this._readyPromise=new Promise((t=>{this._readyResolve=t}))}get closestApp(){var t;return null===(t=this.parentElement)||void 0===t?void 0:t.closest("pc-app")}get closestEntity(){var t;return null===(t=this.parentElement)||void 0===t?void 0:t.closest("pc-entity")}_onReady(){this._readyResolve(),this.dispatchEvent(new CustomEvent("ready"))}ready(){return this._readyPromise.then((()=>this))}}class i extends HTMLElement{constructor(){super(),this.loadPromise=this.loadModule()}async loadModule(){const t=this.getAttribute("name"),s=this.getAttribute("glue"),i=this.getAttribute("wasm"),n=this.getAttribute("fallback");"Basis"===t?e.basisInitialize({glueUrl:s,wasmUrl:i,fallbackUrl:n}):(e.WasmModule.setConfig(t,{glueUrl:s,wasmUrl:i,fallbackUrl:n}),await new Promise((s=>{e.WasmModule.getInstance(t,(()=>s()))})))}getLoadPromise(){return this.loadPromise}}customElements.define("pc-module",i);class n extends s{constructor(){super(),this._canvas=null,this._alpha=!0,this._antialias=!0,this._depth=!0,this._stencil=!0,this._highResolution=!1,this._hierarchyReady=!1,this._picker=null,this._hasPointerListeners={pointerenter:!1,pointerleave:!1,pointerdown:!1,pointerup:!1,pointermove:!1},this._hoveredEntity=null,this._pointerHandlers={pointermove:null,pointerdown:null,pointerup:null},this.app=null,this._onWindowResize=this._onWindowResize.bind(this)}async connectedCallback(){const t=this.querySelectorAll(":scope > pc-module");await Promise.all(Array.from(t).map((t=>t.getLoadPromise()))),this._canvas=document.createElement("canvas"),this.appendChild(this._canvas),this.app=new e.Application(this._canvas,{graphicsDeviceOptions:{alpha:this._alpha,antialias:this._antialias,depth:this._depth,stencil:this._stencil},keyboard:new e.Keyboard(window),mouse:new e.Mouse(this._canvas)}),this.app.graphicsDevice.maxPixelRatio=this._highResolution?window.devicePixelRatio:1,this.app.setCanvasFillMode(e.FILLMODE_FILL_WINDOW),this.app.setCanvasResolution(e.RESOLUTION_AUTO),this._pickerCreate();const s=this.querySelectorAll(":scope > pc-asset");Array.from(s).forEach((t=>{t.createAsset();const e=t.asset;e&&this.app.assets.add(e)}));const i=this.querySelectorAll(":scope > pc-material");Array.from(i).forEach((t=>{t.createMaterial()}));const n=this.querySelectorAll("pc-entity");Array.from(n).forEach((t=>{t.createEntity(this.app)})),n.forEach((t=>{t.buildHierarchy(this.app)})),this._hierarchyReady=!0,this.app.preload((()=>{this.app.start(),window.addEventListener("resize",this._onWindowResize),this._onReady()}))}disconnectedCallback(){this._pickerDestroy(),this.app&&(this.app.destroy(),this.app=null),window.removeEventListener("resize",this._onWindowResize),this._canvas&&this.contains(this._canvas)&&(this.removeChild(this._canvas),this._canvas=null)}_onWindowResize(){this.app&&this.app.resizeCanvas()}_pickerCreate(){const{width:t,height:s}=this.app.graphicsDevice;this._picker=new e.Picker(this.app,t,s),this._pointerHandlers.pointermove=this._onPointerMove.bind(this),this._pointerHandlers.pointerdown=this._onPointerDown.bind(this),this._pointerHandlers.pointerup=this._onPointerUp.bind(this),["pointermove","pointerdown","pointerup","pointerenter","pointerleave"].forEach((t=>{this.addEventListener(`${t}:connect`,(()=>this._onPointerListenerAdded(t))),this.addEventListener(`${t}:disconnect`,(()=>this._onPointerListenerRemoved(t)))}))}_pickerDestroy(){this._canvas&&Object.entries(this._pointerHandlers).forEach((([t,e])=>{e&&this._canvas.removeEventListener(t,e)})),this._picker=null,this._pointerHandlers={pointermove:null,pointerdown:null,pointerup:null}}_onPointerMove(t){if(!this._picker||!this.app)return;const e=this.app.root.findComponent("camera");if(!e)return;const s=this._canvas.getBoundingClientRect(),i=t.clientX-s.left,n=t.clientY-s.top;this._picker.prepare(e,this.app.scene);const a=this._picker.getSelection(i,n);let o=null;if(a.length>0){let t=a[0].node;for(;null!==t;){const e=this.querySelector(`pc-entity[name="${t.name}"]`);if(e){o=e;break}t=t.parent}}this._hoveredEntity!==o&&(this._hoveredEntity&&this._hoveredEntity.hasListeners("pointerleave")&&this._hoveredEntity.dispatchEvent(new PointerEvent("pointerleave",t)),o&&o.hasListeners("pointerenter")&&o.dispatchEvent(new PointerEvent("pointerenter",t))),this._hoveredEntity=o,o&&o.hasListeners("pointermove")&&o.dispatchEvent(new PointerEvent("pointermove",t))}_onPointerDown(t){if(!this._picker||!this.app)return;const e=this.app.root.findComponent("camera");if(!e)return;const s=this._canvas.getBoundingClientRect(),i=t.clientX-s.left,n=t.clientY-s.top;this._picker.prepare(e,this.app.scene);const a=this._picker.getSelection(i,n);if(a.length>0){let e=a[0].node;for(;null!==e;){const s=this.querySelector(`pc-entity[name="${e.name}"]`);if(s&&s.hasListeners("pointerdown")){s.dispatchEvent(new PointerEvent("pointerdown",t));break}e=e.parent}}}_onPointerUp(t){if(!this._picker||!this.app)return;const e=this.app.root.findComponent("camera");if(!e)return;const s=this._canvas.getBoundingClientRect(),i=t.clientX-s.left,n=t.clientY-s.top;this._picker.prepare(e,this.app.scene);const a=this._picker.getSelection(i,n);if(a.length>0){const e=this.querySelector(`pc-entity[name="${a[0].node.name}"]`);e&&e.hasListeners("pointerup")&&e.dispatchEvent(new PointerEvent("pointerup",t))}}_onPointerListenerAdded(t){if(!this._hasPointerListeners[t]&&this._canvas){this._hasPointerListeners[t]=!0;const e="pointerenter"===t||"pointerleave"===t?this._pointerHandlers.pointermove:this._pointerHandlers[t];e&&this._canvas.addEventListener("pointerenter"===t||"pointerleave"===t?"pointermove":t,e)}}_onPointerListenerRemoved(t){if(!Array.from(this.querySelectorAll("pc-entity")).some((e=>e.hasListeners(t)))&&this._canvas){this._hasPointerListeners[t]=!1;const e="pointerenter"===t||"pointerleave"===t?this._pointerHandlers.pointermove:this._pointerHandlers[t];e&&this._canvas.removeEventListener("pointerenter"===t||"pointerleave"===t?"pointermove":t,e)}}set alpha(t){this._alpha=t}get alpha(){return this._alpha}set antialias(t){this._antialias=t}get antialias(){return this._antialias}set depth(t){this._depth=t}get depth(){return this._depth}get hierarchyReady(){return this._hierarchyReady}set highResolution(t){this._highResolution=t,this.app&&(this.app.graphicsDevice.maxPixelRatio=t?window.devicePixelRatio:1)}get highResolution(){return this._highResolution}set stencil(t){this._stencil=t}get stencil(){return this._stencil}static get observedAttributes(){return["alpha","antialias","depth","stencil","high-resolution"]}attributeChangedCallback(t,e,s){switch(t){case"alpha":this.alpha="false"!==s;break;case"antialias":this.antialias="false"!==s;break;case"depth":this.depth="false"!==s;break;case"high-resolution":this.highResolution="false"!==s;break;case"stencil":this.stencil="false"!==s}}}customElements.define("pc-app",n);const a={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},o=t=>{const s=a[t.toLowerCase()];if(s)return(new e.Color).fromString(s);if(t.startsWith("#"))return(new e.Color).fromString(t);const i=t.split(" ").map(Number);return new e.Color(i)},r=t=>{const s=t.split(" ").map(Number);return new e.Vec2(s)},h=t=>{const s=t.split(" ").map(Number);return new e.Vec3(s)},c=t=>{const s=t.split(" ").map(Number);return new e.Vec4(s)};class l extends s{constructor(){super(...arguments),this._enabled=!0,this._name="Untitled",this._position=new e.Vec3,this._rotation=new e.Vec3,this._scale=new e.Vec3(1,1,1),this._tags=[],this._listeners={},this.entity=null}createEntity(t){this.entity=new e.Entity(this.getAttribute("name")||this._name,t);const s=this.getAttribute("enabled");s&&(this.entity.enabled="false"!==s);const i=this.getAttribute("position");i&&this.entity.setLocalPosition(h(i));const n=this.getAttribute("rotation");n&&this.entity.setLocalEulerAngles(h(n));const a=this.getAttribute("scale");a&&this.entity.setLocalScale(h(a));const o=this.getAttribute("tags");o&&this.entity.tags.add(o.split(",").map((t=>t.trim())));["onpointerenter","onpointerleave","onpointerdown","onpointerup","onpointermove"].forEach((t=>{const e=this.getAttribute(t);if(e){const s=t.substring(2),i=t=>{try{new Function("event",e).call(this,t)}catch(t){console.error("Error in event handler:",t)}};this.addEventListener(s,i)}}))}buildHierarchy(t){if(!this.entity)return;const e=this.closestEntity;(null==e?void 0:e.entity)?e.entity.addChild(this.entity):t.root.addChild(this.entity),this._onReady()}connectedCallback(){const t=this.closestApp;if(t&&t.hierarchyReady){const e=t.app;this.createEntity(e),this.buildHierarchy(e);const s=this.querySelectorAll("pc-entity");s.forEach((t=>{t.createEntity(e)})),s.forEach((t=>{t.buildHierarchy(e)}))}}disconnectedCallback(){if(this.entity){this.querySelectorAll("pc-entity").forEach((t=>{t.entity=null})),this.entity.destroy(),this.entity=null}}set enabled(t){this._enabled=t,this.entity&&(this.entity.enabled=t)}get enabled(){return this._enabled}set name(t){this._name=t,this.entity&&(this.entity.name=t)}get name(){return this._name}set position(t){this._position=t,this.entity&&this.entity.setLocalPosition(this._position)}get position(){return this._position}set rotation(t){this._rotation=t,this.entity&&this.entity.setLocalEulerAngles(this._rotation)}get rotation(){return this._rotation}set scale(t){this._scale=t,this.entity&&this.entity.setLocalScale(this._scale)}get scale(){return this._scale}set tags(t){this._tags=t,this.entity&&(this.entity.tags.clear(),this.entity.tags.add(this._tags))}get tags(){return this._tags}static get observedAttributes(){return["enabled","name","position","rotation","scale","tags","onpointerenter","onpointerleave","onpointerdown","onpointerup","onpointermove"]}attributeChangedCallback(t,e,s){switch(t){case"enabled":this.enabled="false"!==s;break;case"name":this.name=s;break;case"position":this.position=h(s);break;case"rotation":this.rotation=h(s);break;case"scale":this.scale=h(s);break;case"tags":this.tags=s.split(",").map((t=>t.trim()));break;case"onpointerenter":case"onpointerleave":case"onpointerdown":case"onpointerup":case"onpointermove":if(s){const e=t.substring(2),s=t=>{try{const s=this.getAttribute(e)||"";new Function("event",s).call(this,t)}catch(t){console.error("Error in event handler:",t)}};this.addEventListener(e,s)}}}addEventListener(t,e,s){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e),super.addEventListener(t,e,s),t.startsWith("pointer")&&this.dispatchEvent(new CustomEvent(`${t}:connect`,{bubbles:!0}))}removeEventListener(t,e,s){this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter((t=>t!==e))),super.removeEventListener(t,e,s),t.startsWith("pointer")&&this.dispatchEvent(new CustomEvent(`${t}:disconnect`,{bubbles:!0}))}hasListeners(t){var e;return Boolean(null===(e=this._listeners[t])||void 0===e?void 0:e.length)}}customElements.define("pc-entity",l);const p=new Map([["bin","binary"],["css","css"],["frag","shader"],["glb","container"],["glsl","shader"],["hdr","texture"],["html","html"],["jpg","texture"],["js","script"],["json","json"],["mp3","audio"],["mjs","script"],["ply","gsplat"],["png","texture"],["txt","text"],["vert","shader"],["webp","texture"]]);class u extends HTMLElement{constructor(){super(...arguments),this._lazy=!1,this.asset=null}disconnectedCallback(){this.destroyAsset()}createAsset(){var t;const s=this.getAttribute("id")||"",i=this.getAttribute("src")||"";let n=this.getAttribute("type");if(!n){const e=i.split(".").pop();n=null!==(t=p.get(e||""))&&void 0!==t?t:null}n?(this.asset=new e.Asset(s,n,{url:i}),this.asset.preload=!this._lazy):console.warn(`Unsupported asset type: ${i}`)}destroyAsset(){this.asset&&(this.asset.unload(),this.asset=null)}set lazy(t){this._lazy=t,this.asset&&(this.asset.preload=!t)}get lazy(){return this._lazy}static get(t){const e=document.querySelector(`pc-asset[id="${t}"]`);return null==e?void 0:e.asset}static get observedAttributes(){return["lazy"]}attributeChangedCallback(t,e,s){"lazy"===t&&(this.lazy=this.hasAttribute("lazy"))}}customElements.define("pc-asset",u);class d extends s{constructor(t){super(),this._enabled=!0,this._component=null,this._componentName=t}getInitialComponentData(){return{}}async addComponent(){const t=this.closestEntity;if(t){await t.ready();const e=this.getInitialComponentData();this._component=t.entity.addComponent(this._componentName,e)}}initComponent(){}async connectedCallback(){var t;await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),await this.addComponent(),this.initComponent(),this._onReady()}disconnectedCallback(){this.component&&this.component.entity&&(this._component.entity.removeComponent(this._componentName),this._component=null)}get component(){return this._component}set enabled(t){this._enabled=t,this.component&&(this.component.enabled=t)}get enabled(){return this._enabled}static get observedAttributes(){return["enabled"]}attributeChangedCallback(t,e,s){if("enabled"===t)this.enabled="false"!==s}}class m extends d{constructor(){super("audiolistener")}get component(){return super.component}}customElements.define("pc-listener",m);const f=new Map([["none",e.TONEMAP_NONE],["linear",e.TONEMAP_LINEAR],["filmic",e.TONEMAP_FILMIC],["hejl",e.TONEMAP_HEJL],["aces",e.TONEMAP_ACES],["aces2",e.TONEMAP_ACES2],["neutral",e.TONEMAP_NEUTRAL]]);class _ extends d{constructor(){super("camera"),this._clearColor=new e.Color(.75,.75,.75,1),this._clearColorBuffer=!0,this._clearDepthBuffer=!0,this._clearStencilBuffer=!1,this._cullFaces=!0,this._farClip=1e3,this._flipFaces=!1,this._fov=45,this._frustumCulling=!0,this._gamma="srgb",this._horizontalFov=!1,this._nearClip=.1,this._orthographic=!1,this._orthoHeight=10,this._priority=0,this._rect=new e.Vec4(0,0,1,1),this._scissorRect=new e.Vec4(0,0,1,1),this._tonemap="none"}getInitialComponentData(){return{clearColor:this._clearColor,clearColorBuffer:this._clearColorBuffer,clearDepthBuffer:this._clearDepthBuffer,clearStencilBuffer:this._clearStencilBuffer,cullFaces:this._cullFaces,farClip:this._farClip,flipFaces:this._flipFaces,fov:this._fov,frustumCulling:this._frustumCulling,gammaCorrection:"srgb"===this._gamma?e.GAMMA_SRGB:e.GAMMA_NONE,horizontalFov:this._horizontalFov,nearClip:this._nearClip,orthographic:this._orthographic,orthoHeight:this._orthoHeight,priority:this._priority,rect:this._rect,scissorRect:this._scissorRect,toneMapping:f.get(this._tonemap)}}get xrAvailable(){var t;const s=null===(t=this.component)||void 0===t?void 0:t.system.app.xr;return s&&s.supported&&s.isAvailable(e.XRTYPE_VR)}startXr(t,e){this.component&&this.xrAvailable&&this.component.startXr(t,e,{callback:t=>{t&&console.error(`WebXR Immersive VR failed to start: ${t.message}`)}})}endXr(){this.component&&this.component.endXr()}get component(){return super.component}set clearColor(t){this._clearColor=t,this.component&&(this.component.clearColor=t)}get clearColor(){return this._clearColor}set clearColorBuffer(t){this._clearColorBuffer=t,this.component&&(this.component.clearColorBuffer=t)}get clearColorBuffer(){return this._clearColorBuffer}set clearDepthBuffer(t){this._clearDepthBuffer=t,this.component&&(this.component.clearDepthBuffer=t)}get clearDepthBuffer(){return this._clearDepthBuffer}set clearStencilBuffer(t){this._clearStencilBuffer=t,this.component&&(this.component.clearStencilBuffer=t)}get clearStencilBuffer(){return this._clearStencilBuffer}set cullFaces(t){this._cullFaces=t,this.component&&(this.component.cullFaces=t)}get cullFaces(){return this._cullFaces}set farClip(t){this._farClip=t,this.component&&(this.component.farClip=t)}get farClip(){return this._farClip}set flipFaces(t){this._flipFaces=t,this.component&&(this.component.flipFaces=t)}get flipFaces(){return this._flipFaces}set fov(t){this._fov=t,this.component&&(this.component.fov=t)}get fov(){return this._fov}set frustumCulling(t){this._frustumCulling=t,this.component&&(this.component.frustumCulling=t)}get frustumCulling(){return this._frustumCulling}set gamma(t){this._gamma=t,this.component&&(this.component.gammaCorrection="srgb"===t?e.GAMMA_SRGB:e.GAMMA_NONE)}get gamma(){return this._gamma}set horizontalFov(t){this._horizontalFov=t,this.component&&(this.component.horizontalFov=t)}get horizontalFov(){return this._horizontalFov}set nearClip(t){this._nearClip=t,this.component&&(this.component.nearClip=t)}get nearClip(){return this._nearClip}set orthographic(t){this._orthographic=t,this.component&&(this.component.projection=t?e.PROJECTION_ORTHOGRAPHIC:e.PROJECTION_PERSPECTIVE)}get orthographic(){return this._orthographic}set orthoHeight(t){this._orthoHeight=t,this.component&&(this.component.orthoHeight=t)}get orthoHeight(){return this._orthoHeight}set priority(t){this._priority=t,this.component&&(this.component.priority=t)}get priority(){return this._priority}set rect(t){this._rect=t,this.component&&(this.component.rect=t)}get rect(){return this._rect}set scissorRect(t){this._scissorRect=t,this.component&&(this.component.scissorRect=t)}get scissorRect(){return this._scissorRect}set tonemap(t){var s;this._tonemap=t,this.component&&(this.component.toneMapping=null!==(s=f.get(t))&&void 0!==s?s:e.TONEMAP_NONE)}get tonemap(){return this._tonemap}static get observedAttributes(){return[...super.observedAttributes,"clear-color","clear-color-buffer","clear-depth-buffer","clear-stencil-buffer","cull-faces","far-clip","flip-faces","fov","frustum-culling","gamma","horizontal-fov","near-clip","orthographic","ortho-height","priority","rect","scissor-rect","tonemap"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"clear-color":this.clearColor=o(s);break;case"clear-color-buffer":this.clearColorBuffer="false"!==s;break;case"clear-depth-buffer":this.clearDepthBuffer="false"!==s;break;case"clear-stencil-buffer":this.clearStencilBuffer="false"!==s;break;case"cull-faces":this.cullFaces="false"!==s;break;case"far-clip":this.farClip=parseFloat(s);break;case"flip-faces":this.flipFaces="true"!==s;break;case"fov":this.fov=parseFloat(s);break;case"frustum-culling":this.frustumCulling="false"!==s;break;case"gamma":this.gamma=s;break;case"horizontal-fov":this.horizontalFov=this.hasAttribute("horizontal-fov");break;case"near-clip":this.nearClip=parseFloat(s);break;case"orthographic":this.orthographic=this.hasAttribute("orthographic");break;case"ortho-height":this.orthoHeight=parseFloat(s);break;case"priority":this.priority=parseFloat(s);break;case"rect":this.rect=c(s);break;case"scissor-rect":this.scissorRect=c(s);break;case"tonemap":this.tonemap=s}}}customElements.define("pc-camera",_);class g extends d{constructor(){super("collision"),this._angularOffset=new e.Quat,this._axis=1,this._convexHull=!1,this._halfExtents=new e.Vec3(.5,.5,.5),this._height=2,this._linearOffset=new e.Vec3,this._radius=.5,this._type="box"}getInitialComponentData(){return{axis:this._axis,angularOffset:this._angularOffset,convexHull:this._convexHull,halfExtents:this._halfExtents,height:this._height,linearOffset:this._linearOffset,radius:this._radius,type:this._type}}get component(){return super.component}set angularOffset(t){this._angularOffset=t,this.component&&(this.component.angularOffset=t)}get angularOffset(){return this._angularOffset}set axis(t){this._axis=t,this.component&&(this.component.axis=t)}get axis(){return this._axis}set convexHull(t){this._convexHull=t,this.component&&(this.component.convexHull=t)}get convexHull(){return this._convexHull}set halfExtents(t){this._halfExtents=t,this.component&&(this.component.halfExtents=t)}get halfExtents(){return this._halfExtents}set height(t){this._height=t,this.component&&(this.component.height=t)}get height(){return this._height}set linearOffset(t){this._linearOffset=t,this.component&&(this.component.linearOffset=t)}get linearOffset(){return this._linearOffset}set radius(t){this._radius=t,this.component&&(this.component.radius=t)}get radius(){return this._radius}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}static get observedAttributes(){return[...super.observedAttributes,"angular-offset","axis","convex-hull","half-extents","height","linear-offset","radius","type"]}attributeChangedCallback(t,s,i){switch(super.attributeChangedCallback(t,s,i),t){case"angular-offset":this.angularOffset=(t=>{const[s,i,n]=t.split(" ").map(Number),a=new e.Quat;return a.setFromEulerAngles(s,i,n),a})(i);break;case"axis":this.axis=parseInt(i,10);break;case"convex-hull":this.convexHull=this.hasAttribute("convex-hull");break;case"half-extents":this.halfExtents=h(i);break;case"height":this.height=parseFloat(i);break;case"linear-offset":this.linearOffset=h(i);break;case"radius":this.radius=parseFloat(i);break;case"type":this.type=i}}}customElements.define("pc-collision",g);class b extends d{constructor(){super("element"),this._anchor=new e.Vec4(.5,.5,.5,.5),this._asset="",this._autoWidth=!0,this._color=new e.Color(1,1,1,1),this._fontSize=32,this._lineHeight=32,this._pivot=new e.Vec2(.5,.5),this._text="",this._type="group",this._width=0,this._wrapLines=!1}initComponent(){this.component._text._material.useFog=!0}getInitialComponentData(){return{anchor:this._anchor,autoWidth:this._autoWidth,color:this._color,fontAsset:u.get(this._asset).id,fontSize:this._fontSize,lineHeight:this._lineHeight,pivot:this._pivot,type:this._type,text:this._text,width:this._width,wrapLines:this._wrapLines}}get component(){return super.component}set anchor(t){this._anchor=t,this.component&&(this.component.anchor=t)}get anchor(){return this._anchor}set asset(t){this._asset=t;const e=u.get(t);this.component&&e&&(this.component.fontAsset=e.id)}get asset(){return this._asset}set autoWidth(t){this._autoWidth=t,this.component&&(this.component.autoWidth=t)}get autoWidth(){return this._autoWidth}set color(t){this._color=t,this.component&&(this.component.color=t)}get color(){return this._color}set fontSize(t){this._fontSize=t,this.component&&(this.component.fontSize=t)}get fontSize(){return this._fontSize}set lineHeight(t){this._lineHeight=t,this.component&&(this.component.lineHeight=t)}get lineHeight(){return this._lineHeight}set pivot(t){this._pivot=t,this.component&&(this.component.pivot=t)}get pivot(){return this._pivot}set text(t){this._text=t,this.component&&(this.component.text=t)}get text(){return this._text}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}set width(t){this._width=t,this.component&&(this.component.width=t)}get width(){return this._width}set wrapLines(t){this._wrapLines=t,this.component&&(this.component.wrapLines=t)}get wrapLines(){return this._wrapLines}static get observedAttributes(){return[...super.observedAttributes,"anchor","asset","auto-width","color","font-size","line-height","pivot","text","type","width","wrap-lines"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"anchor":this.anchor=c(s);break;case"asset":this.asset=s;break;case"auto-width":this.autoWidth="false"!==s;break;case"color":this.color=o(s);break;case"font-size":this.fontSize=Number(s);break;case"line-height":this.lineHeight=Number(s);break;case"pivot":this.pivot=r(s);break;case"text":this.text=s;break;case"type":this.type=s;break;case"width":this.width=Number(s);break;case"wrap-lines":this.wrapLines=this.hasAttribute(t)}}}customElements.define("pc-element",b);class y extends d{constructor(){super("gsplat"),this._asset=""}getInitialComponentData(){return{asset:u.get(this._asset)}}get component(){return super.component}set asset(t){this._asset=t;const e=u.get(t);this.component&&e&&(this.component.asset=e)}get asset(){return this._asset}static get observedAttributes(){return[...super.observedAttributes,"asset"]}attributeChangedCallback(t,e,s){if(super.attributeChangedCallback(t,e,s),"asset"===t)this.asset=s}}customElements.define("pc-splat",y);const v=new Map([["pcf1-16f",e.SHADOW_PCF1_16F],["pcf1-32f",e.SHADOW_PCF1_32F],["pcf3-16f",e.SHADOW_PCF3_16F],["pcf3-32f",e.SHADOW_PCF3_32F],["pcf5-16f",e.SHADOW_PCF5_16F],["pcf5-32f",e.SHADOW_PCF5_32F],["vsm-16f",e.SHADOW_VSM_16F],["vsm-32f",e.SHADOW_VSM_32F],["pcss-32f",e.SHADOW_PCSS_32F]]);class w extends d{constructor(){super("light"),this._castShadows=!1,this._color=new e.Color(1,1,1),this._innerConeAngle=40,this._intensity=1,this._normalOffsetBias=.05,this._outerConeAngle=45,this._range=10,this._shadowBias=.2,this._shadowDistance=16,this._shadowIntensity=1,this._shadowResolution=1024,this._shadowType="pcf3-32f",this._type="directional",this._vsmBias=.01}getInitialComponentData(){return{castShadows:this._castShadows,color:this._color,innerConeAngle:this._innerConeAngle,intensity:this._intensity,normalOffsetBias:this._normalOffsetBias,outerConeAngle:this._outerConeAngle,range:this._range,shadowBias:this._shadowBias,shadowDistance:this._shadowDistance,shadowIntensity:this._shadowIntensity,shadowResolution:this._shadowResolution,shadowType:v.get(this._shadowType),type:this._type,vsmBias:this._vsmBias}}get component(){return super.component}set castShadows(t){this._castShadows=t,this.component&&(this.component.castShadows=t)}get castShadows(){return this._castShadows}set color(t){this._color=t,this.component&&(this.component.color=t)}get color(){return this._color}set innerConeAngle(t){this._innerConeAngle=t,this.component&&(this.component.innerConeAngle=t)}get innerConeAngle(){return this._innerConeAngle}set intensity(t){this._intensity=t,this.component&&(this.component.intensity=t)}get intensity(){return this._intensity}set normalOffsetBias(t){this._normalOffsetBias=t,this.component&&(this.component.normalOffsetBias=t)}get normalOffsetBias(){return this._normalOffsetBias}set outerConeAngle(t){this._outerConeAngle=t,this.component&&(this.component.outerConeAngle=t)}get outerConeAngle(){return this._outerConeAngle}set range(t){this._range=t,this.component&&(this.component.range=t)}get range(){return this._range}set shadowBias(t){this._shadowBias=t,this.component&&(this.component.shadowBias=t)}get shadowBias(){return this._shadowBias}set shadowDistance(t){this._shadowDistance=t,this.component&&(this.component.shadowDistance=t)}get shadowDistance(){return this._shadowDistance}set shadowIntensity(t){this._shadowIntensity=t,this.component&&(this.component.shadowIntensity=t)}get shadowIntensity(){return this._shadowIntensity}set shadowResolution(t){this._shadowResolution=t,this.component&&(this.component.shadowResolution=t)}get shadowResolution(){return this._shadowResolution}set shadowType(t){var s;this._shadowType=t,this.component&&(this.component.shadowType=null!==(s=v.get(t))&&void 0!==s?s:e.SHADOW_PCF3_32F)}get shadowType(){return this._shadowType}set type(t){["directional","omni","spot"].includes(t)?(this._type=t,this.component&&(this.component.type=t)):console.warn(`Invalid light type '${t}', using default type '${this._type}'.`)}get type(){return this._type}set vsmBias(t){this._vsmBias=t,this.component&&(this.component.vsmBias=t)}get vsmBias(){return this._vsmBias}static get observedAttributes(){return[...super.observedAttributes,"color","cast-shadows","intensity","inner-cone-angle","normal-offset-bias","outer-cone-angle","range","shadow-bias","shadow-distance","shadow-intensity","shadow-resolution","shadow-type","type","vsm-bias"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"color":this.color=o(s);break;case"cast-shadows":this.castShadows=this.hasAttribute("cast-shadows");break;case"inner-cone-angle":this.innerConeAngle=Number(s);break;case"intensity":this.intensity=Number(s);break;case"normal-offset-bias":this.normalOffsetBias=Number(s);break;case"outer-cone-angle":this.outerConeAngle=Number(s);break;case"range":this.range=Number(s);break;case"shadow-bias":this.shadowBias=Number(s);break;case"shadow-distance":this.shadowDistance=Number(s);break;case"shadow-resolution":this.shadowResolution=Number(s);break;case"shadow-intensity":this.shadowIntensity=Number(s);break;case"shadow-type":this.shadowType=s;break;case"type":this.type=s;break;case"vsm-bias":this.vsmBias=Number(s)}}}customElements.define("pc-light",w);class C extends HTMLElement{constructor(){super(...arguments),this._diffuse=new e.Color(1,1,1),this._diffuseMap="",this._metalnessMap="",this._normalMap="",this._roughnessMap="",this.material=null}createMaterial(){this.material=new e.StandardMaterial,this.material.glossInvert=!1,this.material.useMetalness=!1,this.material.diffuse=this._diffuse,this.diffuseMap=this._diffuseMap,this.metalnessMap=this._metalnessMap,this.normalMap=this._normalMap,this.roughnessMap=this._roughnessMap,this.material.update()}disconnectedCallback(){this.material&&(this.material.destroy(),this.material=null)}setMap(t,e){if(this.material){const s=u.get(t);s&&(s.loaded?(this.material[e]=s.resource,this.material[e].anisotropy=4):s.once("load",(()=>{this.material[e]=s.resource,this.material[e].anisotropy=4,this.material.update()})))}}set diffuse(t){this._diffuse=t,this.material&&(this.material.diffuse=t)}get diffuse(){return this._diffuse}set diffuseMap(t){this._diffuseMap=t,this.setMap(t,"diffuseMap")}get diffuseMap(){return this._diffuseMap}set metalnessMap(t){this._metalnessMap=t,this.setMap(t,"metalnessMap")}get metalnessMap(){return this._metalnessMap}set normalMap(t){this._normalMap=t,this.setMap(t,"normalMap")}get normalMap(){return this._normalMap}set roughnessMap(t){this._roughnessMap=t,this.setMap(t,"glossMap")}get roughnessMap(){return this._roughnessMap}static get(t){const e=document.querySelector(`pc-material[id="${t}"]`);return null==e?void 0:e.material}static get observedAttributes(){return["diffuse","diffuse-map","metalness-map","normal-map","roughness-map"]}attributeChangedCallback(t,e,s){switch(t){case"diffuse":this.diffuse=o(s);break;case"diffuse-map":this.diffuseMap=s;break;case"metalness-map":this.metalnessMap=s;break;case"normal-map":this.normalMap=s;break;case"roughness-map":this.roughnessMap=s}}}customElements.define("pc-material",C);class k extends d{constructor(){super("render"),this._castShadows=!0,this._material="",this._receiveShadows=!0,this._type="asset"}getInitialComponentData(){return{type:this._type,castShadows:this._castShadows,material:C.get(this._material),receiveShadows:this._receiveShadows}}get component(){return super.component}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}set castShadows(t){this._castShadows=t,this.component&&(this.component.castShadows=t)}get castShadows(){return this._castShadows}set material(t){this._material=t,this.component&&(this.component.material=C.get(t))}get material(){return this._material}set receiveShadows(t){this._receiveShadows=t,this.component&&(this.component.receiveShadows=t)}get receiveShadows(){return this._receiveShadows}static get observedAttributes(){return[...super.observedAttributes,"cast-shadows","material","receive-shadows","type"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"cast-shadows":this.castShadows="false"!==s;break;case"material":this.material=s;break;case"receive-shadows":this.receiveShadows="false"!==s;break;case"type":this.type=s}}}customElements.define("pc-render",k);class E extends d{constructor(){super("rigidbody"),this._angularDamping=0,this._angularFactor=new e.Vec3(1,1,1),this._friction=.5,this._linearDamping=0,this._linearFactor=new e.Vec3(1,1,1),this._mass=1,this._restitution=0,this._rollingFriction=0,this._type="static"}getInitialComponentData(){return{angularDamping:this._angularDamping,angularFactor:this._angularFactor,friction:this._friction,linearDamping:this._linearDamping,linearFactor:this._linearFactor,mass:this._mass,restitution:this._restitution,rollingFriction:this._rollingFriction,type:this._type}}get component(){return super.component}set angularDamping(t){this._angularDamping=t,this.component&&(this.component.angularDamping=t)}get angularDamping(){return this._angularDamping}set angularFactor(t){this._angularFactor=t,this.component&&(this.component.angularFactor=t)}get angularFactor(){return this._angularFactor}set friction(t){this._friction=t,this.component&&(this.component.friction=t)}get friction(){return this._friction}set linearDamping(t){this._linearDamping=t,this.component&&(this.component.linearDamping=t)}get linearDamping(){return this._linearDamping}set linearFactor(t){this._linearFactor=t,this.component&&(this.component.linearFactor=t)}get linearFactor(){return this._linearFactor}set mass(t){this._mass=t,this.component&&(this.component.mass=t)}get mass(){return this._mass}set restitution(t){this._restitution=t,this.component&&(this.component.restitution=t)}get restitution(){return this._restitution}set rollingFriction(t){this._rollingFriction=t,this.component&&(this.component.rollingFriction=t)}get rollingFriction(){return this._rollingFriction}set type(t){this._type=t,this.component&&(this.component.type=t)}get type(){return this._type}static get observedAttributes(){return[...super.observedAttributes,"angular-damping","angular-factor","friction","linear-damping","linear-factor","mass","restitution","rolling-friction","type"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"angular-damping":this.angularDamping=parseFloat(s);break;case"angular-factor":this.angularFactor=h(s);break;case"friction":this.friction=parseFloat(s);break;case"linear-damping":this.linearDamping=parseFloat(s);break;case"linear-factor":this.linearFactor=h(s);break;case"mass":this.mass=parseFloat(s);break;case"restitution":this.restitution=parseFloat(s);break;case"rolling-friction":this.rollingFriction=parseFloat(s);break;case"type":this.type=s}}}customElements.define("pc-rigidbody",E);class A extends d{constructor(){super("screen"),this._screenSpace=!1,this._resolution=new e.Vec2(640,320),this._referenceResolution=new e.Vec2(640,320),this._priority=0,this._blend=!1,this._scaleBlend=.5}getInitialComponentData(){return{priority:this._priority,referenceResolution:this._referenceResolution,resolution:this._resolution,scaleBlend:this._scaleBlend,scaleMode:this._blend?e.SCALEMODE_BLEND:e.SCALEMODE_NONE,screenSpace:this._screenSpace}}get component(){return super.component}set priority(t){this._priority=t,this.component&&(this.component.priority=this._priority)}get priority(){return this._priority}set referenceResolution(t){this._referenceResolution=t,this.component&&(this.component.referenceResolution=this._referenceResolution)}get referenceResolution(){return this._referenceResolution}set resolution(t){this._resolution=t,this.component&&(this.component.resolution=this._resolution)}get resolution(){return this._resolution}set scaleBlend(t){this._scaleBlend=t,this.component&&(this.component.scaleBlend=this._scaleBlend)}get scaleBlend(){return this._scaleBlend}set blend(t){this._blend=t,this.component&&(this.component.scaleMode=this._blend?e.SCALEMODE_BLEND:e.SCALEMODE_NONE)}get blend(){return this._blend}set screenSpace(t){this._screenSpace=t,this.component&&(this.component.screenSpace=this._screenSpace)}get screenSpace(){return this._screenSpace}static get observedAttributes(){return[...super.observedAttributes,"blend","screen-space","resolution","reference-resolution","priority","scale-blend"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"priority":this.priority=parseInt(s,10);break;case"reference-resolution":this.referenceResolution=r(s);break;case"resolution":this.resolution=r(s);break;case"scale-blend":this.scaleBlend=parseFloat(s);break;case"blend":this.blend=this.hasAttribute("blend");break;case"screen-space":this.screenSpace=this.hasAttribute("screen-space")}}}customElements.define("pc-screen",A);class S extends d{constructor(){super("script"),this.observer=new MutationObserver(this.handleMutations.bind(this)),this.observer.observe(this,{childList:!0}),this.addEventListener("scriptattributeschange",this.handleScriptAttributesChange.bind(this)),this.addEventListener("scriptenablechange",this.handleScriptEnableChange.bind(this))}initComponent(){this.querySelectorAll(":scope > pc-script").forEach((t=>{const e=t.getAttribute("name"),s=t.getAttribute("attributes");e&&this.createScript(e,s)}))}convertAttributes(t){if("string"==typeof t){if(t.startsWith("asset:")){const e=t.slice(6),s=document.querySelector(`pc-asset#${e}`);if(s)return s.asset}if(t.startsWith("entity:")){const e=t.slice(7),s=document.querySelector(`pc-entity[name="${e}"]`);if(s)return s.entity}if(t.startsWith("vec2:")){const s=t.slice(5).split(",").map(Number);if(2===s.length&&s.every((t=>!isNaN(t))))return new e.Vec2(s[0],s[1])}if(t.startsWith("vec3:")){const s=t.slice(5).split(",").map(Number);if(3===s.length&&s.every((t=>!isNaN(t))))return new e.Vec3(s[0],s[1],s[2])}if(t.startsWith("vec4:")){const s=t.slice(5).split(",").map(Number);if(4===s.length&&s.every((t=>!isNaN(t))))return new e.Vec4(s[0],s[1],s[2],s[3])}if(t.startsWith("color:")){const s=t.slice(6).split(",").map(Number);if(4===s.length&&s.every((t=>!isNaN(t))))return new e.Color(s[0],s[1],s[2],s[3])}return t}if(Array.isArray(t))return t.length>0&&t[0],t.map((t=>this.convertAttributes(t)));if(t&&"object"==typeof t){const e={};for(const s in t)e[s]=this.convertAttributes(t[s]);return e}return t}preprocessAttributes(t){return this.convertAttributes(t)}mergeDeep(t,e){for(const s in e)e[s]&&"object"==typeof e[s]&&!Array.isArray(e[s])?(t[s]&&"object"==typeof t[s]||(t[s]={}),this.mergeDeep(t[s],e[s])):t[s]=e[s];return t}applyAttributes(t,e){try{const s=e?JSON.parse(e):{},i=this.convertAttributes(s);this.mergeDeep(t,i)}catch(t){console.error(`Error parsing attributes JSON string ${e}:`,t)}}handleScriptAttributesChange(t){const e=t.target.getAttribute("name");if(!e||!this.component)return;const s=this.component.get(e);s&&this.applyAttributes(s,t.detail.attributes)}handleScriptEnableChange(t){const e=t.target.getAttribute("name");if(!e||!this.component)return;const s=this.component.get(e);s&&(s.enabled=t.detail.enabled)}createScript(t,e){if(!this.component)return null;let s={};if(e)try{s=JSON.parse(e),s=this.preprocessAttributes(s)}catch(t){console.error(`Error parsing attributes JSON string ${e}:`,t)}return this.component.create(t,{properties:s})}destroyScript(t){this.component&&this.component.destroy(t)}handleMutations(t){for(const e of t)e.addedNodes.forEach((t=>{if(t instanceof HTMLElement&&"pc-script"===t.tagName.toLowerCase()){const e=t.getAttribute("name"),s=t.getAttribute("attributes");e&&this.createScript(e,s)}})),e.removedNodes.forEach((t=>{if(t instanceof HTMLElement&&"pc-script"===t.tagName.toLowerCase()){const e=t.getAttribute("name");e&&this.destroyScript(e)}}))}disconnectedCallback(){var t;this.observer.disconnect(),null===(t=super.disconnectedCallback)||void 0===t||t.call(this)}get component(){return super.component}}customElements.define("pc-scripts",S);class F extends HTMLElement{constructor(){super(...arguments),this._attributes="{}",this._enabled=!0,this._name=""}set scriptAttributes(t){this._attributes=t,this.dispatchEvent(new CustomEvent("scriptattributeschange",{detail:{attributes:t},bubbles:!0}))}get scriptAttributes(){return this._attributes}set enabled(t){this._enabled=t,this.dispatchEvent(new CustomEvent("scriptenablechange",{detail:{enabled:t},bubbles:!0}))}get enabled(){return this._enabled}set name(t){this._name=t}get name(){return this._name}static get observedAttributes(){return["attributes","enabled","name"]}attributeChangedCallback(t,e,s){switch(t){case"attributes":this.scriptAttributes=s;break;case"enabled":this.enabled="false"!==s;break;case"name":this.name=s}}}customElements.define("pc-script",F);class x extends d{constructor(){super("sound"),this._distanceModel="linear",this._maxDistance=1e4,this._pitch=1,this._positional=!1,this._refDistance=1,this._rollOffFactor=1,this._volume=1}getInitialComponentData(){return{distanceModel:this._distanceModel,maxDistance:this._maxDistance,pitch:this._pitch,positional:this._positional,refDistance:this._refDistance,rollOffFactor:this._rollOffFactor,volume:this._volume}}get component(){return super.component}set distanceModel(t){this._distanceModel=t,this.component&&(this.component.distanceModel=t)}get distanceModel(){return this._distanceModel}set maxDistance(t){this._maxDistance=t,this.component&&(this.component.maxDistance=t)}get maxDistance(){return this._maxDistance}set pitch(t){this._pitch=t,this.component&&(this.component.pitch=t)}get pitch(){return this._pitch}set positional(t){this._positional=t,this.component&&(this.component.positional=t)}get positional(){return this._positional}set refDistance(t){this._refDistance=t,this.component&&(this.component.refDistance=t)}get refDistance(){return this._refDistance}set rollOffFactor(t){this._rollOffFactor=t,this.component&&(this.component.rollOffFactor=t)}get rollOffFactor(){return this._rollOffFactor}set volume(t){this._volume=t,this.component&&(this.component.volume=t)}get volume(){return this._volume}static get observedAttributes(){return[...super.observedAttributes,"distance-model","max-distance","pitch","positional","ref-distance","roll-off-factor","volume"]}attributeChangedCallback(t,e,s){switch(super.attributeChangedCallback(t,e,s),t){case"distance-model":this.distanceModel=s;break;case"max-distance":this.maxDistance=parseFloat(s);break;case"pitch":this.pitch=parseFloat(s);break;case"positional":this.positional=this.hasAttribute("positional");break;case"ref-distance":this.refDistance=parseFloat(s);break;case"roll-off-factor":this.rollOffFactor=parseFloat(s);break;case"volume":this.volume=parseFloat(s)}}}customElements.define("pc-sounds",x);class M extends s{constructor(){super(...arguments),this._asset="",this._autoPlay=!1,this._duration=null,this._loop=!1,this._name="",this._overlap=!1,this._pitch=1,this._startTime=0,this._volume=1,this.soundSlot=null}async connectedCallback(){var t;await(null===(t=this.soundElement)||void 0===t?void 0:t.ready());const e={autoPlay:this._autoPlay,loop:this._loop,overlap:this._overlap,pitch:this._pitch,startTime:this._startTime,volume:this._volume};this._duration&&(e.duration=this._duration),this.soundSlot=this.soundElement.component.addSlot(this._name,e),this.asset=this._asset,this.soundSlot.play(),this._onReady()}disconnectedCallback(){this.soundElement.component.removeSlot(this._name)}get soundElement(){const t=this.parentElement;return t instanceof x?t:(console.warn("pc-sound-slot must be a direct child of a pc-sound element"),null)}set asset(t){var e;if(this._asset=t,this.soundSlot){const s=null===(e=u.get(t))||void 0===e?void 0:e.id;s&&(this.soundSlot.asset=s)}}get asset(){return this._asset}set autoPlay(t){this._autoPlay=t,this.soundSlot&&(this.soundSlot.autoPlay=t)}get autoPlay(){return this._autoPlay}set duration(t){this._duration=t,this.soundSlot&&(this.soundSlot.duration=t)}get duration(){return this._duration}set loop(t){this._loop=t,this.soundSlot&&(this.soundSlot.loop=t)}get loop(){return this._loop}set name(t){this._name=t,this.soundSlot&&(this.soundSlot.name=t)}get name(){return this._name}set overlap(t){this._overlap=t,this.soundSlot&&(this.soundSlot.overlap=t)}get overlap(){return this._overlap}set pitch(t){this._pitch=t,this.soundSlot&&(this.soundSlot.pitch=t)}get pitch(){return this._pitch}set startTime(t){this._startTime=t,this.soundSlot&&(this.soundSlot.startTime=t)}get startTime(){return this._startTime}set volume(t){this._volume=t,this.soundSlot&&(this.soundSlot.volume=t)}get volume(){return this._volume}static get observedAttributes(){return["asset","autoPlay","duration","loop","name","overlap","pitch","startTime","volume"]}attributeChangedCallback(t,e,s){switch(t){case"asset":this.asset=s;break;case"duration":this.duration=parseFloat(s);break;case"loop":this.loop=this.hasAttribute("loop");break;case"name":this.name=s;break;case"overlap":this.overlap=this.hasAttribute("overlap");break;case"pitch":this.pitch=parseFloat(s);break;case"startTime":this.startTime=parseFloat(s);break;case"volume":this.volume=parseFloat(s)}}}customElements.define("pc-sound",M);class D extends s{constructor(){super(...arguments),this._asset="",this._entity=null}connectedCallback(){this._loadModel(),this._onReady()}disconnectedCallback(){this._unloadModel()}_instantiate(t){this._entity=t.instantiateRenderEntity(),t.animations.length>0&&(this._entity.addComponent("anim"),this._entity.anim.assignAnimation("animation",t.animations[0].resource));const e=this.closestEntity;if(e)e.ready().then((()=>{e.entity.addChild(this._entity)}));else{const t=this.closestApp;t&&t.ready().then((()=>{t.app.root.addChild(this._entity)}))}}async _loadModel(){var t;this._unloadModel();const e=await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),s=null==e?void 0:e.app,i=u.get(this._asset);i&&(i.loaded?this._instantiate(i.resource):(i.once("load",(()=>{this._instantiate(i.resource)})),s.assets.load(i)))}_unloadModel(){var t;null===(t=this._entity)||void 0===t||t.destroy(),this._entity=null}set asset(t){this._asset=t,this.isConnected&&this._loadModel()}get asset(){return this._asset}static get observedAttributes(){return["asset"]}attributeChangedCallback(t,e,s){if("asset"===t)this.asset=s}}customElements.define("pc-model",D);class L extends s{constructor(){super(...arguments),this._fog="none",this._fogColor=new e.Color(1,1,1),this._fogDensity=0,this._fogStart=0,this._fogEnd=1e3,this.scene=null}async connectedCallback(){var t;await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),this.scene=this.closestApp.app.scene,this.updateSceneSettings(),this._onReady()}updateSceneSettings(){this.scene&&(this.scene.fog.type=this._fog,this.scene.fog.color=this._fogColor,this.scene.fog.density=this._fogDensity,this.scene.fog.start=this._fogStart,this.scene.fog.end=this._fogEnd)}set fog(t){this._fog=t,this.scene&&(this.scene.fog.type=t)}get fog(){return this._fog}set fogColor(t){this._fogColor=t,this.scene&&(this.scene.fog.color=t)}get fogColor(){return this._fogColor}set fogDensity(t){this._fogDensity=t,this.scene&&(this.scene.fog.density=t)}get fogDensity(){return this._fogDensity}set fogStart(t){this._fogStart=t,this.scene&&(this.scene.fog.start=t)}get fogStart(){return this._fogStart}set fogEnd(t){this._fogEnd=t,this.scene&&(this.scene.fog.end=t)}get fogEnd(){return this._fogEnd}static get observedAttributes(){return["fog","fog-color","fog-density","fog-start","fog-end"]}attributeChangedCallback(t,e,s){switch(t){case"fog":this.fog=s;break;case"fog-color":this.fogColor=o(s);break;case"fog-density":this.fogDensity=parseFloat(s);break;case"fog-start":this.fogStart=parseFloat(s);break;case"fog-end":this.fogEnd=parseFloat(s)}}}customElements.define("pc-scene",L);class R extends s{constructor(){super(...arguments),this._asset="",this._center=new e.Vec3(0,.01,0),this._intensity=1,this._rotation=new e.Vec3,this._level=0,this._lighting=!1,this._scale=new e.Vec3(100,100,100),this._type="infinite",this._scene=null}connectedCallback(){this._loadSkybox(),this._onReady()}disconnectedCallback(){this._unloadSkybox()}_generateSkybox(t){if(!this._scene)return;const s=t.resource,i=e.EnvLighting.generateSkyboxCubemap(s);if(i.anisotropy=4,this._scene.skybox=i,this._lighting){const t=e.EnvLighting.generateLightingSource(s),i=e.EnvLighting.generateAtlas(t);this._scene.envAtlas=i}const n=this._scene.layers.getLayerById(e.LAYERID_SKYBOX);n&&(n.enabled="none"!==this._type),this._scene.sky.type=this._type,this._scene.sky.node.setLocalScale(this._scale),this._scene.sky.center=this._center,this._scene.skyboxIntensity=this._intensity}async _loadSkybox(){var t;const e=await(null===(t=this.closestApp)||void 0===t?void 0:t.ready()),s=null==e?void 0:e.app;if(!s)return;const i=u.get(this._asset);i&&(this._scene=s.scene,i.loaded?this._generateSkybox(i):(i.once("load",(()=>{this._generateSkybox(i)})),s.assets.load(i)))}_unloadSkybox(){var t,e;this._scene&&(null===(t=this._scene.skybox)||void 0===t||t.destroy(),this._scene.skybox=null,null===(e=this._scene.envAtlas)||void 0===e||e.destroy(),this._scene.envAtlas=null,this._scene=null)}set asset(t){this._asset=t,this.isConnected&&this._loadSkybox()}get asset(){return this._asset}set center(t){this._center=t,this._scene&&(this._scene.sky.center=this._center)}get center(){return this._center}set intensity(t){this._intensity=t,this._scene&&(this._scene.skyboxIntensity=this._intensity)}get intensity(){return this._intensity}set level(t){this._level=t,this._scene&&(this._scene.skyboxMip=this._level)}get level(){return this._level}set lighting(t){this._lighting=t}get lighting(){return this._lighting}set rotation(t){this._rotation=t,this._scene&&(this._scene.skyboxRotation=(new e.Quat).setFromEulerAngles(t))}get rotation(){return this._rotation}set scale(t){this._scale=t,this._scene&&this._scene.sky.node.setLocalScale(this._scale)}get scale(){return this._scale}set type(t){if(this._type=t,this._scene){this._scene.sky.type=this._type;const t=this._scene.layers.getLayerById(e.LAYERID_SKYBOX);t&&(t.enabled="none"!==this._type)}}get type(){return this._type}static get observedAttributes(){return["asset","center","intensity","level","lighting","rotation","scale","type"]}attributeChangedCallback(t,e,s){switch(t){case"asset":this.asset=s;break;case"center":this.center=h(s);break;case"intensity":this.intensity=parseFloat(s);break;case"level":this.level=parseInt(s,10);break;case"lighting":this.lighting=this.hasAttribute(t);break;case"rotation":this.rotation=h(s);break;case"scale":this.scale=h(s);break;case"type":this.type=s}}}customElements.define("pc-sky",R),t.AppElement=n,t.AssetElement=u,t.AsyncElement=s,t.CameraComponentElement=_,t.CollisionComponentElement=g,t.ComponentElement=d,t.ElementComponentElement=b,t.EntityElement=l,t.LightComponentElement=w,t.ListenerComponentElement=m,t.MaterialElement=C,t.ModelElement=D,t.ModuleElement=i,t.RenderComponentElement=k,t.RigidBodyComponentElement=E,t.SceneElement=L,t.ScreenComponentElement=A,t.ScriptComponentElement=S,t.ScriptElement=F,t.SkyElement=R,t.SoundComponentElement=x,t.SoundSlotElement=M,t.SplatComponentElement=y}));
2
2
  //# sourceMappingURL=pwc.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pwc.min.js","sources":["../src/async-element.ts","../src/module.ts","../src/app.ts","../src/colors.ts","../src/utils.ts","../src/entity.ts","../src/asset.ts","../src/components/component.ts","../src/components/listener-component.ts","../src/components/camera-component.ts","../src/components/collision-component.ts","../src/components/element-component.ts","../src/components/splat-component.ts","../src/components/light-component.ts","../src/material.ts","../src/components/render-component.ts","../src/components/rigidbody-component.ts","../src/components/screen-component.ts","../src/components/script-component.ts","../src/components/script.ts","../src/components/sound-component.ts","../src/components/sound-slot.ts","../src/model.ts","../src/scene.ts","../src/sky.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AsyncElement","HTMLElement","constructor","super","this","_readyPromise","Promise","resolve","_readyResolve","closestApp","_a","parentElement","closest","closestEntity","_onReady","dispatchEvent","CustomEvent","ready","then","ModuleElement","loadPromise","loadModule","name","getAttribute","glue","wasm","fallback","basisInitialize","glueUrl","wasmUrl","fallbackUrl","WasmModule","setConfig","getInstance","getLoadPromise","customElements","define","AppElement","_canvas","_alpha","_antialias","_depth","_stencil","_highResolution","_hierarchyReady","_picker","_hasPointerListeners","pointerenter","pointerleave","pointerdown","pointerup","pointermove","_hoveredEntity","_pointerHandlers","app","_onWindowResize","bind","connectedCallback","moduleElements","querySelectorAll","all","Array","from","map","module","document","createElement","appendChild","Application","graphicsDeviceOptions","alpha","antialias","depth","stencil","keyboard","Keyboard","window","mouse","Mouse","graphicsDevice","maxPixelRatio","devicePixelRatio","setCanvasFillMode","FILLMODE_FILL_WINDOW","setCanvasResolution","RESOLUTION_AUTO","_pickerCreate","assetElements","forEach","assetElement","createAsset","asset","assets","add","materialElements","materialElement","createMaterial","entityElements","entityElement","createEntity","buildHierarchy","preload","start","addEventListener","disconnectedCallback","_pickerDestroy","destroy","removeEventListener","contains","removeChild","resizeCanvas","width","height","Picker","_onPointerMove","_onPointerDown","_onPointerUp","type","_onPointerListenerAdded","_onPointerListenerRemoved","Object","entries","handler","event","camera","root","findComponent","canvasRect","getBoundingClientRect","x","clientX","left","y","clientY","top","prepare","scene","selection","getSelection","newHoverEntity","length","currentNode","node","querySelector","parent","hasListeners","PointerEvent","some","entity","value","hierarchyReady","highResolution","observedAttributes","attributeChangedCallback","_oldValue","newValue","CSS_COLORS","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","parseColor","hexColor","toLowerCase","Color","fromString","startsWith","components","split","Number","parseVec2","Vec2","parseVec3","Vec3","parseVec4","Vec4","EntityElement","_enabled","_name","_position","_rotation","_scale","_tags","_listeners","Entity","enabled","position","setLocalPosition","rotation","setLocalEulerAngles","scale","setLocalScale","tags","tag","trim","eventName","eventType","substring","eventHandler","Function","call","e","console","error","undefined","addChild","childEntities","child","clear","handlerStr","listener","options","push","bubbles","filter","l","Boolean","extToType","Map","AssetElement","_lazy","destroyAsset","id","src","ext","pop","get","Asset","url","warn","unload","lazy","_newValue","hasAttribute","ComponentElement","componentName","_component","_componentName","getInitialComponentData","addComponent","data","initComponent","component","removeComponent","ListenerComponentElement","tonemaps","TONEMAP_NONE","TONEMAP_LINEAR","TONEMAP_FILMIC","TONEMAP_HEJL","TONEMAP_ACES","TONEMAP_ACES2","TONEMAP_NEUTRAL","CameraComponentElement","_clearColor","_clearColorBuffer","_clearDepthBuffer","_clearStencilBuffer","_cullFaces","_farClip","_flipFaces","_fov","_frustumCulling","_gamma","_horizontalFov","_nearClip","_orthographic","_orthoHeight","_priority","_rect","_scissorRect","_tonemap","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","cullFaces","farClip","flipFaces","fov","frustumCulling","gammaCorrection","GAMMA_SRGB","GAMMA_NONE","horizontalFov","nearClip","orthographic","orthoHeight","priority","rect","scissorRect","toneMapping","xrAvailable","xrManager","system","xr","supported","isAvailable","XRTYPE_VR","startXr","space","callback","err","message","endXr","gamma","projection","PROJECTION_ORTHOGRAPHIC","PROJECTION_PERSPECTIVE","tonemap","parseFloat","CollisionComponentElement","_angularOffset","Quat","_axis","_convexHull","_halfExtents","_height","_linearOffset","_radius","_type","axis","angularOffset","convexHull","halfExtents","linearOffset","radius","z","q","setFromEulerAngles","parseQuat","parseInt","ElementComponentElement","_anchor","_asset","_autoWidth","_color","_fontSize","_lineHeight","_pivot","_text","_width","_wrapLines","_material","useFog","anchor","autoWidth","color","fontAsset","fontSize","lineHeight","pivot","text","wrapLines","SplatComponentElement","shadowTypes","SHADOW_PCF1_16F","SHADOW_PCF1_32F","SHADOW_PCF3_16F","SHADOW_PCF3_32F","SHADOW_PCF5_16F","SHADOW_PCF5_32F","SHADOW_VSM_16F","SHADOW_VSM_32F","SHADOW_PCSS_32F","LightComponentElement","_castShadows","_innerConeAngle","_intensity","_normalOffsetBias","_outerConeAngle","_range","_shadowBias","_shadowDistance","_shadowIntensity","_shadowResolution","_shadowType","_vsmBias","castShadows","innerConeAngle","intensity","normalOffsetBias","outerConeAngle","range","shadowBias","shadowDistance","shadowIntensity","shadowResolution","shadowType","vsmBias","includes","MaterialElement","_diffuse","_diffuseMap","_metalnessMap","_normalMap","_roughnessMap","material","StandardMaterial","glossInvert","useMetalness","diffuse","diffuseMap","metalnessMap","normalMap","roughnessMap","update","setMap","property","loaded","resource","anisotropy","once","RenderComponentElement","_receiveShadows","receiveShadows","RigidBodyComponentElement","_angularDamping","_angularFactor","_friction","_linearDamping","_linearFactor","_mass","_restitution","_rollingFriction","angularDamping","angularFactor","friction","linearDamping","linearFactor","mass","restitution","rollingFriction","ScreenComponentElement","_screenSpace","_resolution","_referenceResolution","_blend","_scaleBlend","referenceResolution","resolution","scaleBlend","scaleMode","SCALEMODE_BLEND","SCALEMODE_NONE","screenSpace","blend","ScriptComponentElement","observer","MutationObserver","handleMutations","observe","childList","handleScriptAttributesChange","handleScriptEnableChange","scriptElement","scriptName","attributes","createScript","applyAttributes","script","attributesObject","JSON","parse","applyValue","target","key","assetId","slice","isArray","item","obj","itemKey","nestedKey","detail","on","create","destroyScript","mutations","mutation","addedNodes","tagName","removedNodes","disconnect","ScriptElement","_attributes","scriptAttributes","SoundComponentElement","_distanceModel","_maxDistance","_pitch","_positional","_refDistance","_rollOffFactor","_volume","distanceModel","maxDistance","pitch","positional","refDistance","rollOffFactor","volume","SoundSlotElement","_autoPlay","_duration","_loop","_overlap","_startTime","soundSlot","soundElement","autoPlay","loop","overlap","startTime","duration","addSlot","play","removeSlot","ModelElement","_entity","_loadModel","_unloadModel","_instantiate","container","instantiateRenderEntity","animations","anim","assignAnimation","parentEntityElement","appElement","load","isConnected","SceneElement","_fog","_fogColor","_fogDensity","_fogStart","_fogEnd","updateSceneSettings","fog","density","end","fogColor","fogDensity","fogStart","fogEnd","SkyElement","_center","_level","_lighting","_scene","_loadSkybox","_unloadSkybox","_generateSkybox","source","skybox","EnvLighting","generateSkyboxCubemap","lighting","generateLightingSource","envAtlas","generateAtlas","layer","layers","getLayerById","LAYERID_SKYBOX","sky","center","skyboxIntensity","_b","level","skyboxMip","skyboxRotation"],"mappings":"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"}
1
+ {"version":3,"file":"pwc.min.js","sources":["../src/async-element.ts","../src/module.ts","../src/app.ts","../src/colors.ts","../src/utils.ts","../src/entity.ts","../src/asset.ts","../src/components/component.ts","../src/components/listener-component.ts","../src/components/camera-component.ts","../src/components/collision-component.ts","../src/components/element-component.ts","../src/components/splat-component.ts","../src/components/light-component.ts","../src/material.ts","../src/components/render-component.ts","../src/components/rigidbody-component.ts","../src/components/screen-component.ts","../src/components/script-component.ts","../src/components/script.ts","../src/components/sound-component.ts","../src/components/sound-slot.ts","../src/model.ts","../src/scene.ts","../src/sky.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AsyncElement","HTMLElement","constructor","super","this","_readyPromise","Promise","resolve","_readyResolve","closestApp","_a","parentElement","closest","closestEntity","_onReady","dispatchEvent","CustomEvent","ready","then","ModuleElement","loadPromise","loadModule","name","getAttribute","glue","wasm","fallback","basisInitialize","glueUrl","wasmUrl","fallbackUrl","WasmModule","setConfig","getInstance","getLoadPromise","customElements","define","AppElement","_canvas","_alpha","_antialias","_depth","_stencil","_highResolution","_hierarchyReady","_picker","_hasPointerListeners","pointerenter","pointerleave","pointerdown","pointerup","pointermove","_hoveredEntity","_pointerHandlers","app","_onWindowResize","bind","connectedCallback","moduleElements","querySelectorAll","all","Array","from","map","module","document","createElement","appendChild","Application","graphicsDeviceOptions","alpha","antialias","depth","stencil","keyboard","Keyboard","window","mouse","Mouse","graphicsDevice","maxPixelRatio","devicePixelRatio","setCanvasFillMode","FILLMODE_FILL_WINDOW","setCanvasResolution","RESOLUTION_AUTO","_pickerCreate","assetElements","forEach","assetElement","createAsset","asset","assets","add","materialElements","materialElement","createMaterial","entityElements","entityElement","createEntity","buildHierarchy","preload","start","addEventListener","disconnectedCallback","_pickerDestroy","destroy","removeEventListener","contains","removeChild","resizeCanvas","width","height","Picker","_onPointerMove","_onPointerDown","_onPointerUp","type","_onPointerListenerAdded","_onPointerListenerRemoved","Object","entries","handler","event","camera","root","findComponent","canvasRect","getBoundingClientRect","x","clientX","left","y","clientY","top","prepare","scene","selection","getSelection","newHoverEntity","length","currentNode","node","querySelector","parent","hasListeners","PointerEvent","some","entity","value","hierarchyReady","highResolution","observedAttributes","attributeChangedCallback","_oldValue","newValue","CSS_COLORS","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","parseColor","hexColor","toLowerCase","Color","fromString","startsWith","components","split","Number","parseVec2","Vec2","parseVec3","Vec3","parseVec4","Vec4","EntityElement","_enabled","_name","_position","_rotation","_scale","_tags","_listeners","Entity","enabled","position","setLocalPosition","rotation","setLocalEulerAngles","scale","setLocalScale","tags","tag","trim","eventName","eventType","substring","eventHandler","Function","call","e","console","error","undefined","addChild","childEntities","child","clear","handlerStr","listener","options","push","bubbles","filter","l","Boolean","extToType","Map","AssetElement","_lazy","destroyAsset","id","src","ext","pop","get","Asset","url","warn","unload","lazy","_newValue","hasAttribute","ComponentElement","componentName","_component","_componentName","getInitialComponentData","addComponent","data","initComponent","component","removeComponent","ListenerComponentElement","tonemaps","TONEMAP_NONE","TONEMAP_LINEAR","TONEMAP_FILMIC","TONEMAP_HEJL","TONEMAP_ACES","TONEMAP_ACES2","TONEMAP_NEUTRAL","CameraComponentElement","_clearColor","_clearColorBuffer","_clearDepthBuffer","_clearStencilBuffer","_cullFaces","_farClip","_flipFaces","_fov","_frustumCulling","_gamma","_horizontalFov","_nearClip","_orthographic","_orthoHeight","_priority","_rect","_scissorRect","_tonemap","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","cullFaces","farClip","flipFaces","fov","frustumCulling","gammaCorrection","GAMMA_SRGB","GAMMA_NONE","horizontalFov","nearClip","orthographic","orthoHeight","priority","rect","scissorRect","toneMapping","xrAvailable","xrManager","system","xr","supported","isAvailable","XRTYPE_VR","startXr","space","callback","err","message","endXr","gamma","projection","PROJECTION_ORTHOGRAPHIC","PROJECTION_PERSPECTIVE","tonemap","parseFloat","CollisionComponentElement","_angularOffset","Quat","_axis","_convexHull","_halfExtents","_height","_linearOffset","_radius","_type","axis","angularOffset","convexHull","halfExtents","linearOffset","radius","z","q","setFromEulerAngles","parseQuat","parseInt","ElementComponentElement","_anchor","_asset","_autoWidth","_color","_fontSize","_lineHeight","_pivot","_text","_width","_wrapLines","_material","useFog","anchor","autoWidth","color","fontAsset","fontSize","lineHeight","pivot","text","wrapLines","SplatComponentElement","shadowTypes","SHADOW_PCF1_16F","SHADOW_PCF1_32F","SHADOW_PCF3_16F","SHADOW_PCF3_32F","SHADOW_PCF5_16F","SHADOW_PCF5_32F","SHADOW_VSM_16F","SHADOW_VSM_32F","SHADOW_PCSS_32F","LightComponentElement","_castShadows","_innerConeAngle","_intensity","_normalOffsetBias","_outerConeAngle","_range","_shadowBias","_shadowDistance","_shadowIntensity","_shadowResolution","_shadowType","_vsmBias","castShadows","innerConeAngle","intensity","normalOffsetBias","outerConeAngle","range","shadowBias","shadowDistance","shadowIntensity","shadowResolution","shadowType","vsmBias","includes","MaterialElement","_diffuse","_diffuseMap","_metalnessMap","_normalMap","_roughnessMap","material","StandardMaterial","glossInvert","useMetalness","diffuse","diffuseMap","metalnessMap","normalMap","roughnessMap","update","setMap","property","loaded","resource","anisotropy","once","RenderComponentElement","_receiveShadows","receiveShadows","RigidBodyComponentElement","_angularDamping","_angularFactor","_friction","_linearDamping","_linearFactor","_mass","_restitution","_rollingFriction","angularDamping","angularFactor","friction","linearDamping","linearFactor","mass","restitution","rollingFriction","ScreenComponentElement","_screenSpace","_resolution","_referenceResolution","_blend","_scaleBlend","referenceResolution","resolution","scaleBlend","scaleMode","SCALEMODE_BLEND","SCALEMODE_NONE","screenSpace","blend","ScriptComponentElement","observer","MutationObserver","handleMutations","observe","childList","handleScriptAttributesChange","handleScriptEnableChange","scriptElement","scriptName","attributes","createScript","convertAttributes","item","assetId","slice","entityId","parts","every","v","isNaN","isArray","el","result","key","preprocessAttributes","attrs","mergeDeep","target","source","applyAttributes","script","attributesObject","JSON","parse","converted","detail","create","properties","destroyScript","mutations","mutation","addedNodes","tagName","removedNodes","disconnect","ScriptElement","_attributes","scriptAttributes","SoundComponentElement","_distanceModel","_maxDistance","_pitch","_positional","_refDistance","_rollOffFactor","_volume","distanceModel","maxDistance","pitch","positional","refDistance","rollOffFactor","volume","SoundSlotElement","_autoPlay","_duration","_loop","_overlap","_startTime","soundSlot","soundElement","autoPlay","loop","overlap","startTime","duration","addSlot","play","removeSlot","ModelElement","_entity","_loadModel","_unloadModel","_instantiate","container","instantiateRenderEntity","animations","anim","assignAnimation","parentEntityElement","appElement","load","isConnected","SceneElement","_fog","_fogColor","_fogDensity","_fogStart","_fogEnd","updateSceneSettings","fog","density","end","fogColor","fogDensity","fogStart","fogEnd","SkyElement","_center","_level","_lighting","_scene","_loadSkybox","_unloadSkybox","_generateSkybox","skybox","EnvLighting","generateSkyboxCubemap","lighting","generateLightingSource","envAtlas","generateAtlas","layer","layers","getLayerById","LAYERID_SKYBOX","sky","center","skyboxIntensity","_b","level","skyboxMip","skyboxRotation"],"mappings":"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"}