@needle-tools/gltf-progressive 1.0.0-alpha.6 → 1.0.0-alpha.8
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/CHANGELOG.md +7 -0
- package/gltf-progressive.js +279 -273
- package/gltf-progressive.min.js +3 -3
- package/gltf-progressive.umd.cjs +3 -3
- package/lib/extension.js +0 -1
- package/lib/index.js +0 -1
- package/lib/loaders.js +0 -1
- package/lib/lods_manager.js +19 -1
- package/lib/plugins/index.js +0 -1
- package/lib/plugins/modelviewer.js +12 -4
- package/lib/plugins/plugin.js +0 -1
- package/lib/utils.js +0 -1
- package/package.json +1 -1
- package/lib/extension.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/loaders.js.map +0 -1
- package/lib/lods_manager.js.map +0 -1
- package/lib/plugins/index.js.map +0 -1
- package/lib/plugins/modelviewer.js.map +0 -1
- package/lib/plugins/plugin.js.map +0 -1
- package/lib/utils.js.map +0 -1
package/gltf-progressive.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var se=Object.defineProperty,
|
|
2
|
-
`,
|
|
3
|
-
`,D),null));if(!x)return null;const S=x.parser;s&&console.log("Loading finished "+c,y.guid);let T=0;if(x.parser.json.textures){let D=!1;for(const h of x.parser.json.textures){if(h!=null&&h.extensions){const w=h?.extensions[B];if(w!=null&&w.guid&&w.guid===y.guid){D=!0;break}}T++}if(D){let h=await S.getDependency("texture",T);return s&&console.log('change "'+r.name+'" \u2192 "'+h.name+'"',c,T,h,g),r instanceof C&&(h=this.copySettings(r,h)),h&&(h.guid=y.guid),m(h)}}if(T=0,x.parser.json.meshes){let D=!1;for(const h of x.parser.json.meshes){if(h!=null&&h.extensions){const w=h?.extensions[B];if(w!=null&&w.guid&&w.guid===y.guid){D=!0;break}}T++}if(D){const h=await S.getDependency("mesh",T),w=y;if(s&&console.log(`Loaded Mesh "${h.name}"`,c,T,h,g),h.isMesh===!0){const _=h.geometry;return L.assignLODInformation(a.url,_,i,e,void 0,w.density),m(_)}else{const _=new Array;for(let I=0;I<h.children.length;I++){const F=h.children[I];if(F instanceof W){const j=F.geometry;L.assignLODInformation(a.url,j,i,e,I,w.density),_.push(j)}}return m(_)}}}return m(null)});return this.previouslyLoaded.set(g,P),await P}else if(r instanceof C){s&&console.log("Load texture from uri: "+c);const g=await new ae().loadAsync(c);return g?(g.guid=l.guid,g.flipY=!1,g.needsUpdate=!0,g.colorSpace=r.colorSpace,s&&console.log(l,g)):v&&console.warn("failed loading",c),g}}else v&&console.warn(`Can not load LOD ${e}: no LOD info found for "${i}" ${r.name}`,r.type);return null}static assignLODInformation(r,e,t,n,o,s){if(!e)return;e.userData||(e.userData={});const a=new xe(r,t,n,o,s);e.userData.LODS=a,e.userData.LOD=n}static getAssignedLODInformation(r){var e;return((e=r?.userData)==null?void 0:e.LODS)||null}static copySettings(r,e){return this._copiedTextures.get(r)||(e=e.clone(),this._copiedTextures.set(r,e),e.offset=r.offset,e.repeat=r.repeat,e.colorSpace=r.colorSpace,e)}};let O=L;u(O,"registerTexture",(r,e,t,n)=>{v&&console.log("> Progressive: register texture",t,e.name,e.uuid,e,n),e.source&&(e.source[X]=n);const o=n.guid;L.assignLODInformation(r,e,o,0,0,void 0),L.lodInfos.set(o,n),L.lowresCache.set(o,e)}),u(O,"registerMesh",(r,e,t,n,o,s)=>{var a;v&&console.log("> Progressive: register mesh",o,t.name,s,t.uuid,t);const i=t.geometry;i.userData||(i.userData={}),L.assignLODInformation(r,i,e,n,o,s.density),L.lodInfos.set(e,s);let l=L.lowresCache.get(e);l?l.push(t.geometry):l=[t.geometry],L.lowresCache.set(e,l);for(const d of V)(a=d.onRegisteredNewMesh)==null||a.call(d,t,s)}),u(O,"lodInfos",new Map),u(O,"previouslyLoaded",new Map),u(O,"lowresCache",new Map),u(O,"_copiedTextures",new Map);class xe{constructor(e,t,n,o,s){u(this,"url"),u(this,"key"),u(this,"level"),u(this,"index"),u(this,"density"),this.url=e,this.key=t,this.level=n,o!=null&&(this.index=o),s!=null&&(this.density=s)}}const ee=q("debugprogressive"),De=q("noprogressive"),A=class{constructor(r){u(this,"renderer"),u(this,"projectionScreenMatrix",new K),u(this,"cameraFrustrum",new le),u(this,"updateInterval",0),u(this,"pause",!1),u(this,"plugins",[]),u(this,"_originalRender"),u(this,"_sphere",new ue),u(this,"_tempBox",new Y),u(this,"tempMatrix",new K),u(this,"_tempWorldPosition",new E),u(this,"_tempBoxSize",new E),u(this,"_tempBox2Size",new E),this.renderer=r}static getObjectLODState(r){var e;return(e=r.userData)==null?void 0:e.LOD_state}enable(){if(this._originalRender)return;let r=0;this._originalRender=this.renderer.render;const e=this;let t=0;J(this.renderer),this.renderer.render=function(n,o){const s=t++,a=r++;e.onBeforeRender(n,o,a,s),e._originalRender.call(this,n,o),e.onAfterRender(n,o,a,s),r--}}disable(){this._originalRender&&(this.renderer.render=this._originalRender,this._originalRender=void 0)}onBeforeRender(r,e,t,n){}onAfterRender(r,e,t,n){if(De||this.pause||this.updateInterval>0&&n%this.updateInterval!=0)return;this.projectionScreenMatrix.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this.cameraFrustrum.setFromProjectionMatrix(this.projectionScreenMatrix,this.renderer.coordinateSystem);const o=1e5,s=this.renderer.renderLists.get(r,t).opaque;for(const a of s){const i=a.object;(i instanceof W||i.isMesh)&&this.updateLODs(r,e,i,o)}}updateLODs(r,e,t,n){var o,s;for(const d of this.plugins)(o=d.onBeforeUpdateLOD)==null||o.call(d,this.renderer,r,e,t);let a=t.userData.LOD_state;a||(a=new ve,t.userData.LOD_state=a);let i=this.calculateLodLevel(e,t,a,n);i=Math.round(i),i>=0&&this.loadProgressiveMeshes(t,i);let l=0;if(t.material){const d=t["DEBUG:LOD"];if(d!=null&&(l=d),Array.isArray(t.material))for(const c of t.material)this.loadProgressiveTextures(c,l);else this.loadProgressiveTextures(t.material,l)}for(const d of this.plugins)(s=d.onAfterUpdatedLOD)==null||s.call(d,this.renderer,r,e,t,i);a.lastLodLevel=i}loadProgressiveTextures(r,e){return r&&r.userData&&r.userData.LOD!==e?(r.userData.LOD=e,O.assignTextureLOD(r,e)):Promise.resolve(null)}loadProgressiveMeshes(r,e){if(!r)return Promise.resolve(null);if(r.userData||(r.userData={}),r.userData.LOD!==e){r.userData.LOD=e;const t=r.geometry;return O.assignMeshLOD(r,e).then(n=>(n&&r.userData.LOD==e&&t!=r.geometry,n))}return Promise.resolve(null)}calculateLodLevel(r,e,t,n){var o;if(!e)return-1;let s=10+1;if(r){if(ee&&e["DEBUG:LOD"]!=null)return e["DEBUG:LOD"];const a=O.getMeshLODInformation(e.geometry),i=a?.lods;if(!i||i.length<=0||!((o=this.cameraFrustrum)!=null&&o.intersectsObject(e)))return 99;const l=e.geometry.boundingBox;if(l&&r.isPerspectiveCamera){const d=r;if(e.geometry.attributes.color&&e.geometry.attributes.color.count<100&&e.geometry.boundingSphere){this._sphere.copy(e.geometry.boundingSphere),this._sphere.applyMatrix4(e.matrixWorld);const f=r.getWorldPosition(this._tempWorldPosition);if(this._sphere.containsPoint(f))return 0}if(this._tempBox.copy(l),this._tempBox.applyMatrix4(e.matrixWorld),this._tempBox.applyMatrix4(this.projectionScreenMatrix),this.renderer.xr.enabled&&d.fov>70){const f=this._tempBox.min,p=this._tempBox.max;let b=f.x,x=f.y,S=p.x,T=p.y;const D=2,h=1.5,w=(f.x+p.x)*.5,_=(f.y+p.y)*.5;b=(b-w)*D+w,x=(x-_)*D+_,S=(S-w)*D+w,T=(T-_)*D+_;const I=b<0&&S>0?0:Math.min(Math.abs(f.x),Math.abs(p.x)),F=x<0&&T>0?0:Math.min(Math.abs(f.y),Math.abs(p.y)),j=Math.max(I,F);t.lastCentrality=(h-j)*(h-j)*(h-j)}else t.lastCentrality=1;const c=this._tempBox.getSize(this._tempBoxSize);c.multiplyScalar(.5),screen.availHeight>0&&c.multiplyScalar(this.renderer.domElement.clientHeight/screen.availHeight),c.x*=d.aspect;const g=r.matrixWorldInverse,M=new Y;M.copy(l),M.applyMatrix4(e.matrixWorld),M.applyMatrix4(g);const y=M.getSize(this._tempBox2Size),P=Math.max(y.x,y.y);if(Math.max(c.x,c.y)!=0&&P!=0&&(c.z=y.z/Math.max(y.x,y.y)*Math.max(c.x,c.y)),t.lastScreenCoverage=Math.max(c.x,c.y,c.z),t.lastScreenspaceVolume.copy(c),t.lastScreenCoverage*=t.lastCentrality,ee&&A.debugDrawLine){const f=this.tempMatrix.copy(this.projectionScreenMatrix);f.invert();const p=A.corner0,b=A.corner1,x=A.corner2,S=A.corner3;p.copy(this._tempBox.min),b.copy(this._tempBox.max),b.x=p.x,x.copy(this._tempBox.max),x.y=p.y,S.copy(this._tempBox.max);const T=(p.z+S.z)*.5;p.z=b.z=x.z=S.z=T,p.applyMatrix4(f),b.applyMatrix4(f),x.applyMatrix4(f),S.applyMatrix4(f),A.debugDrawLine(p,b,255),A.debugDrawLine(p,x,255),A.debugDrawLine(b,S,255),A.debugDrawLine(x,S,255)}let m=999;if(i&&t.lastScreenCoverage>0){for(let f=0;f<i.length;f++)if(i[f].density/t.lastScreenCoverage<n){m=f;break}}m<s&&(s=m)}}return s}};let k=A;u(k,"debugDrawLine"),u(k,"corner0",new E),u(k,"corner1",new E),u(k,"corner2",new E),u(k,"corner3",new E);class ve{constructor(){u(this,"lastLodLevel",0),u(this,"lastScreenCoverage",0),u(this,"lastScreenspaceVolume",new E),u(this,"lastCentrality",0)}}const re=Symbol("NEEDLE_mesh_lod"),N=Symbol("NEEDLE_texture_lod");function te(r){if(!r)return null;let e=null,t=null;for(let n=r;n!=null;n=Object.getPrototypeOf(n)){const o=Object.getOwnPropertySymbols(n),s=o.find(i=>i.toString()=="Symbol(renderer)"),a=o.find(i=>i.toString()=="Symbol(scene)");!e&&s!=null&&(e=r[s].threeRenderer),!t&&a!=null&&(t=r[a])}if(e){console.log("Adding Needle LODs to modelviewer");const n=new k(e);if(n.plugins.push(new Le(r)),n.enable(),t){const o=t.camera||t.traverse(s=>s.type=="PerspectiveCamera")[0];o&&e.render(t,o)}return()=>{n.disable()}}return null}class Le{constructor(e){u(this,"modelviewer"),this.modelviewer=e}onBeforeUpdateLOD(e,t,n,o){this.tryParseMeshLOD(t,o),this.tryParseTextureLOD(t,o)}getUrl(){return this.modelviewer.getAttribute("src")}tryGetCurrentGLTF(e){return e._currentGLTF}tryParseTextureLOD(e,t){if(t[N]==!0)return;t[N]=!0;const n=this.tryGetCurrentGLTF(e),o=this.getUrl();if(!o){console.error("No url found in modelviewer");return}if(n&&t.material){let s=function(i){var l,d,c;if(i[N]==!0)return;i[N]=!0,i.userData&&(i.userData.LOD=-1);const g=Object.keys(i);for(let M=0;M<g.length;M++){const y=g[M],P=i[y];if(P?.isTexture===!0){const m=(d=(l=P.userData)==null?void 0:l.associations)==null?void 0:d.textures,f=n.parser.json.textures[m];if((c=f.extensions)!=null&&c[B]){const p=f.extensions[B];p&&o&&O.registerTexture(o,P,p.lods.length,p)}}}};const a=t.material;if(Array.isArray(a))for(const i of a)s(i);else s(a)}}tryParseMeshLOD(e,t){var n,o;if(t[re]==!0)return;t[re]=!0;const s=this.getUrl();if(!s){console.error("No url found in modelviewer");return}const a=(o=(n=t.userData)==null?void 0:n.gltfExtensions)==null?void 0:o[B];if(a&&s){const i=t.uuid;O.registerMesh(s,i,t,0,a.lods.length,a)}}}function Oe(r,e,t,n){J(e),Q(t),t.register(s=>new O(s,r));const o=new k(e);return n?.enableLODsManager!==!1&&o.enable(),o}document.addEventListener("DOMContentLoaded",()=>{te(document.querySelector("model-viewer"))});export{B as EXTENSION_NAME,k as LODsManager,O as NEEDLE_progressive,te as patchModelViewer,ye as registerPlugin,Oe as useNeedleProgressive};
|
|
1
|
+
var se=Object.defineProperty,oe=(r,e,t)=>e in r?se(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,c=(r,e,t)=>(oe(r,typeof e!="symbol"?e+"":e,t),t);import{Mesh as U,BufferGeometry as F,Material as ne,RawShaderMaterial as ie,Texture as k,TextureLoader as ae,Matrix4 as Y,Frustum as le,Sphere as ue,Box3 as J,Vector3 as B}from"three";import{GLTFLoader as ce}from"three/examples/jsm/loaders/GLTFLoader.js";import{MeshoptDecoder as de}from"three/examples/jsm/libs/meshopt_decoder.module.js";import{DRACOLoader as he}from"three/examples/jsm/loaders/DRACOLoader.js";import{KTX2Loader as fe}from"three/examples/jsm/loaders/KTX2Loader.js";const ge="https://www.gstatic.com/draco/versioned/decoders/1.4.1/",me="https://www.gstatic.com/basis-universal/versioned/2021-04-15-ba1c3e4/";let R,$,G;function Q(r){R||(R=new he,R.setDecoderPath(ge),R.setDecoderConfig({type:"js"})),G||(G=new fe,G.setTranscoderPath(me)),$||($=de),r?G.detectSupport(r):console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures will probably fail")}function Z(r){r.dracoLoader||r.setDRACOLoader(R),r.ktx2Loader||r.setKTX2Loader(G),r.meshoptDecoder||r.setMeshoptDecoder($)}function q(r){const e=new URL(window.location.href).searchParams.get(r);return e==null||e==="0"||e==="false"?!1:e===""?!0:e}function pe(r,e){if(e===void 0||e.startsWith("./")||e.startsWith("http")||r===void 0)return e;const t=r.lastIndexOf("/");if(t>=0){const o=r.substring(0,t+1);for(;o.endsWith("/")&&e.startsWith("/");)e=e.substring(1);return o+e}return e}const V=new Array;function ye(r){V.push(r)}const P="NEEDLE_progressive",L=q("debugprogressive"),X=Symbol("needle-progressive-texture"),N=new Map,H=new Set;if(L){let r=function(){e+=1,console.log("Toggle LOD level",e,N),N.forEach((n,s)=>{for(const i of n.keys){const a=s[i];if(a.isBufferGeometry===!0){const u=O.getMeshLODInformation(a),h=u?Math.min(e,u.lods.length):0;s["DEBUG:LOD"]=e,O.assignMeshLOD(s,h),u&&(t=Math.max(t,u.lods.length-1))}else if(s.isMaterial===!0){s["DEBUG:LOD"]=e,O.assignTextureLOD(s,e);break}}}),e>=t&&(e=-1)},e=-1,t=2,o=!1;window.addEventListener("keyup",n=>{n.key==="p"&&r(),n.key==="w"&&(o=!o,H&&H.forEach(s=>{s.name!="BackgroundCubeMaterial"&&"wireframe"in s&&(s.wireframe=o)}))})}function ee(r,e,t){var o;if(!L)return;N.has(r)||N.set(r,{keys:[],sourceId:t});const n=N.get(r);((o=n?.keys)==null?void 0:o.includes(e))==!1&&n.keys.push(e)}const D=class{constructor(r,e){c(this,"parser"),c(this,"url"),L&&console.log("Progressive extension registered for",e),this.parser=r,this.url=e}get name(){return P}static getMeshLODInformation(r){const e=this.getAssignedLODInformation(r);return e!=null&&e.key?this.lodInfos.get(e.key):null}static hasLODLevelAvailable(r,e){var t;if(r.isMaterial===!0){for(const s of Object.keys(r)){const i=r[s];if(i.isTexture&&this.hasLODLevelAvailable(i,e))return!0}return!1}else if(r.isGroup===!0){for(const s of r.children)if(s.isMesh===!0&&this.hasLODLevelAvailable(s,e))return!0}let o,n;if(r.isMesh?o=r.geometry:(r.isBufferGeometry||r.isTexture)&&(o=r),o&&(t=o?.userData)!=null&&t.LODS){const s=o.userData.LODS;if(n=this.lodInfos.get(s.key),e===void 0)return n!=null;if(n)return Array.isArray(n.lods)?e<n.lods.length:e===0}return!1}static assignMeshLOD(r,e){var t;if(!r)return Promise.resolve(null);if(r instanceof U||r.isMesh===!0){const o=r.geometry,n=this.getAssignedLODInformation(o);if(!n)return Promise.resolve(null);for(const s of V)(t=s.onBeforeGetLODMesh)==null||t.call(s,r,e);return r["LOD:requested level"]=e,D.getOrLoadLOD(o,e).then(s=>{if(r["LOD:requested level"]===e){if(delete r["LOD:requested level"],Array.isArray(s)){const i=n.index||0;s=s[i]}s&&o!=s&&s instanceof F&&(r.geometry=s,L&&ee(r,"geometry",n.url))}return s}).catch(s=>(console.error("Error loading mesh LOD",r,s),null))}else L&&console.error("Invalid call to assignMeshLOD: Request mesh LOD but the object is not a mesh",r);return Promise.resolve(null)}static assignTextureLOD(r,e=0){if(!r)return Promise.resolve(null);if(r instanceof ne||r.isMaterial===!0){const t=r,o=[],n=new Array;if(L&&H.add(t),t instanceof ie)for(const s of Object.keys(t.uniforms)){const i=t.uniforms[s].value;if(i?.isTexture===!0){const a=this.assignTextureLODForSlot(i,e,t,s);o.push(a),n.push(s)}}else for(const s of Object.keys(t)){const i=t[s];if(i?.isTexture===!0){const a=this.assignTextureLODForSlot(i,e,t,s);o.push(a),n.push(s)}}return Promise.all(o).then(s=>{const i=new Array;for(let a=0;a<s.length;a++){const u=s[a],h=n[a];u&&u.isTexture===!0?i.push({material:t,slot:h,texture:u,level:e}):i.push({material:t,slot:h,texture:null,level:e})}return i})}if(r instanceof k||r.isTexture===!0){const t=r;return this.assignTextureLODForSlot(t,e,null,null)}return Promise.resolve(null)}static assignTextureLODForSlot(r,e,t,o){return r?.isTexture!==!0?Promise.resolve(null):D.getOrLoadLOD(r,e).then(n=>{if(Array.isArray(n))return null;if(n?.isTexture===!0){if(n!=r&&(t&&o&&(t[o]=n),L&&o&&t)){const s=this.getAssignedLODInformation(r);s&&ee(t,o,s.url)}return n}else L=="verbose"&&console.warn("No LOD found for",r,e);return null}).catch(n=>(console.error("Error loading LOD",r,n),null))}afterRoot(r){var e,t;return L&&console.log("AFTER",this.url,r),(e=this.parser.json.textures)==null||e.forEach((o,n)=>{if(o!=null&&o.extensions){const s=o?.extensions[P];if(s){let i=!1;for(const a of this.parser.associations.keys())a.isTexture===!0&&this.parser.associations.get(a).textures===n&&(i=!0,D.registerTexture(this.url,a,n,s));i||this.parser.getDependency("texture",n).then(a=>{a&&D.registerTexture(this.url,a,n,s)})}}}),(t=this.parser.json.meshes)==null||t.forEach((o,n)=>{if(o!=null&&o.extensions){const s=o?.extensions[P];if(s&&s.lods){for(const i of this.parser.associations.keys())if(i.isMesh){const a=this.parser.associations.get(i);a.meshes===n&&D.registerMesh(this.url,s.guid,i,s.lods.length,a.primitives,s)}}}}),null}static async getOrLoadLOD(r,e){var t,o,n;const s=L=="verbose",i=r.userData.LODS;if(!i)return null;const a=i?.key;let u;if(r.isTexture===!0){const h=r;h.source&&h.source[X]&&(u=h.source[X])}if(u||(u=D.lodInfos.get(a)),u){if(e>0){let d=!1;const M=Array.isArray(u.lods);if(M&&e>=u.lods.length?d=!0:M||(d=!0),d)return this.lowresCache.get(a)}const h=Array.isArray(u.lods)?u.lods[e].path:u.lods;if(!h)return L&&!u["missing:uri"]&&(u["missing:uri"]=!0,console.warn("Missing uri for progressive asset for LOD "+e,u)),null;const l=pe(i.url,h);if(l.endsWith(".glb")||l.endsWith(".gltf")){if(!u.guid)return console.warn("missing pointer for glb/gltf texture",u),null;const d=l+"_"+u.guid,M=this.previouslyLoaded.get(d);if(M!==void 0){s&&console.log(`LOD ${e} was already loading/loaded: ${d}`);let p=await M.catch(m=>(console.error(`Error loading LOD ${e} from ${l}
|
|
2
|
+
`,m),null)),g=!1;if(p==null||(p instanceof k&&r instanceof k?(t=p.image)!=null&&t.data||(o=p.source)!=null&&o.data?p=this.copySettings(r,p):(g=!0,this.previouslyLoaded.delete(d)):p instanceof F&&r instanceof F&&((n=p.attributes.position)!=null&&n.array||(g=!0,this.previouslyLoaded.delete(d)))),!g)return p}const y=u,A=new Promise(async(p,g)=>{const m=new ce;Z(m),L&&(await new Promise(v=>setTimeout(v,1e3)),s&&console.warn("Start loading (delayed) "+l,y.guid));let b=l;if(y&&Array.isArray(y.lods)){const v=y.lods[e];v.hash&&(b+="?v="+v.hash)}const x=await m.loadAsync(b).catch(v=>(console.error(`Error loading LOD ${e} from ${l}
|
|
3
|
+
`,v),null));if(!x)return null;const S=x.parser;s&&console.log("Loading finished "+l,y.guid);let _=0;if(x.parser.json.textures){let v=!1;for(const f of x.parser.json.textures){if(f!=null&&f.extensions){const w=f?.extensions[P];if(w!=null&&w.guid&&w.guid===y.guid){v=!0;break}}_++}if(v){let f=await S.getDependency("texture",_);return s&&console.log('change "'+r.name+'" \u2192 "'+f.name+'"',l,_,f,d),r instanceof k&&(f=this.copySettings(r,f)),f&&(f.guid=y.guid),p(f)}}if(_=0,x.parser.json.meshes){let v=!1;for(const f of x.parser.json.meshes){if(f!=null&&f.extensions){const w=f?.extensions[P];if(w!=null&&w.guid&&w.guid===y.guid){v=!0;break}}_++}if(v){const f=await S.getDependency("mesh",_),w=y;if(s&&console.log(`Loaded Mesh "${f.name}"`,l,_,f,d),f.isMesh===!0){const E=f.geometry;return D.assignLODInformation(i.url,E,a,e,void 0,w.density),p(E)}else{const E=new Array;for(let C=0;C<f.children.length;C++){const W=f.children[C];if(W instanceof U){const j=W.geometry;D.assignLODInformation(i.url,j,a,e,C,w.density),E.push(j)}}return p(E)}}}return p(null)});return this.previouslyLoaded.set(d,A),await A}else if(r instanceof k){s&&console.log("Load texture from uri: "+l);const d=await new ae().loadAsync(l);return d?(d.guid=u.guid,d.flipY=!1,d.needsUpdate=!0,d.colorSpace=r.colorSpace,s&&console.log(u,d)):L&&console.warn("failed loading",l),d}}else L&&console.warn(`Can not load LOD ${e}: no LOD info found for "${a}" ${r.name}`,r.type);return null}static assignLODInformation(r,e,t,o,n,s){if(!e)return;e.userData||(e.userData={});const i=new xe(r,t,o,n,s);e.userData.LODS=i,e.userData.LOD=o}static getAssignedLODInformation(r){var e;return((e=r?.userData)==null?void 0:e.LODS)||null}static copySettings(r,e){return this._copiedTextures.get(r)||(e=e.clone(),this._copiedTextures.set(r,e),e.offset=r.offset,e.repeat=r.repeat,e.colorSpace=r.colorSpace,e)}};let O=D;c(O,"registerTexture",(r,e,t,o)=>{L&&console.log("> Progressive: register texture",t,e.name,e.uuid,e,o),e.source&&(e.source[X]=o);const n=o.guid;D.assignLODInformation(r,e,n,0,0,void 0),D.lodInfos.set(n,o),D.lowresCache.set(n,e)}),c(O,"registerMesh",(r,e,t,o,n,s)=>{var i;L&&console.log("> Progressive: register mesh",n,t.name,s,t.uuid,t);const a=t.geometry;a.userData||(a.userData={}),D.assignLODInformation(r,a,e,o,n,s.density),D.lodInfos.set(e,s);let u=D.lowresCache.get(e);u?u.push(t.geometry):u=[t.geometry],D.lowresCache.set(e,u);for(const h of V)(i=h.onRegisteredNewMesh)==null||i.call(h,t,s)}),c(O,"lodInfos",new Map),c(O,"previouslyLoaded",new Map),c(O,"lowresCache",new Map),c(O,"_copiedTextures",new Map);class xe{constructor(e,t,o,n,s){c(this,"url"),c(this,"key"),c(this,"level"),c(this,"index"),c(this,"density"),this.url=e,this.key=t,this.level=o,n!=null&&(this.index=n),s!=null&&(this.density=s)}}const K=q("debugprogressive"),ve=q("noprogressive"),T=class{constructor(r){c(this,"renderer"),c(this,"projectionScreenMatrix",new Y),c(this,"cameraFrustrum",new le),c(this,"updateInterval",0),c(this,"pause",!1),c(this,"plugins",[]),c(this,"_originalRender"),c(this,"_sphere",new ue),c(this,"_tempBox",new J),c(this,"tempMatrix",new Y),c(this,"_tempWorldPosition",new B),c(this,"_tempBoxSize",new B),c(this,"_tempBox2Size",new B),this.renderer=r}static getObjectLODState(r){var e;return(e=r.userData)==null?void 0:e.LOD_state}enable(){if(this._originalRender)return;let r=0;this._originalRender=this.renderer.render;const e=this;let t=0;Q(this.renderer),this.renderer.render=function(o,n){const s=t++,i=r++;e.onBeforeRender(o,n,i,s),e._originalRender.call(this,o,n),e.onAfterRender(o,n,i,s),r--}}disable(){this._originalRender&&(this.renderer.render=this._originalRender,this._originalRender=void 0)}onBeforeRender(r,e,t,o){}onAfterRender(r,e,t,o){var n,s;if(ve||this.pause||this.updateInterval>0&&o%this.updateInterval!=0)return;this.projectionScreenMatrix.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this.cameraFrustrum.setFromProjectionMatrix(this.projectionScreenMatrix,this.renderer.coordinateSystem);const i=1e5,a=this.renderer.renderLists.get(r,t),u=a.opaque;for(const l of u){if(l.material&&(((n=l.geometry)==null?void 0:n.type)==="BoxGeometry"||((s=l.geometry)==null?void 0:s.type)==="BufferGeometry")&&(l.material.name==="SphericalGaussianBlur"||l.material.name=="BackgroundCubeMaterial"||l.material.name==="CubemapFromEquirect"||l.material.name==="EquirectangularToCubeUV")){K&&(l.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]||(l.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]=!0,console.warn("Ignoring skybox or BLIT object",l,l.material.name,l.material.type)));continue}const d=l.object;(d instanceof U||d.isMesh)&&this.updateLODs(r,e,d,i)}const h=a.transparent;for(const l of h){const d=l.object;(d instanceof U||d.isMesh)&&this.updateLODs(r,e,d,i)}}updateLODs(r,e,t,o){var n,s;for(const h of this.plugins)(n=h.onBeforeUpdateLOD)==null||n.call(h,this.renderer,r,e,t);let i=t.userData.LOD_state;i||(i=new Le,t.userData.LOD_state=i);let a=this.calculateLodLevel(e,t,i,o);a=Math.round(a),a>=0&&this.loadProgressiveMeshes(t,a);let u=0;if(t.material){const h=t["DEBUG:LOD"];if(h!=null&&(u=h),Array.isArray(t.material))for(const l of t.material)this.loadProgressiveTextures(l,u);else this.loadProgressiveTextures(t.material,u)}for(const h of this.plugins)(s=h.onAfterUpdatedLOD)==null||s.call(h,this.renderer,r,e,t,a);i.lastLodLevel=a}loadProgressiveTextures(r,e){return r&&r.userData&&r.userData.LOD!==e?(r.userData.LOD=e,O.assignTextureLOD(r,e)):Promise.resolve(null)}loadProgressiveMeshes(r,e){if(!r)return Promise.resolve(null);if(r.userData||(r.userData={}),r.userData.LOD!==e){r.userData.LOD=e;const t=r.geometry;return O.assignMeshLOD(r,e).then(o=>(o&&r.userData.LOD==e&&t!=r.geometry,o))}return Promise.resolve(null)}calculateLodLevel(r,e,t,o){var n;if(!e)return-1;let s=10+1;if(r){if(K&&e["DEBUG:LOD"]!=null)return e["DEBUG:LOD"];const i=O.getMeshLODInformation(e.geometry),a=i?.lods;if(!a||a.length<=0||!((n=this.cameraFrustrum)!=null&&n.intersectsObject(e)))return 99;const u=e.geometry.boundingBox;if(u&&r.isPerspectiveCamera){const h=r;if(e.geometry.attributes.color&&e.geometry.attributes.color.count<100&&e.geometry.boundingSphere){this._sphere.copy(e.geometry.boundingSphere),this._sphere.applyMatrix4(e.matrixWorld);const g=r.getWorldPosition(this._tempWorldPosition);if(this._sphere.containsPoint(g))return 0}if(this._tempBox.copy(u),this._tempBox.applyMatrix4(e.matrixWorld),this._tempBox.applyMatrix4(this.projectionScreenMatrix),this.renderer.xr.enabled&&h.fov>70){const g=this._tempBox.min,m=this._tempBox.max;let b=g.x,x=g.y,S=m.x,_=m.y;const v=2,f=1.5,w=(g.x+m.x)*.5,E=(g.y+m.y)*.5;b=(b-w)*v+w,x=(x-E)*v+E,S=(S-w)*v+w,_=(_-E)*v+E;const C=b<0&&S>0?0:Math.min(Math.abs(g.x),Math.abs(m.x)),W=x<0&&_>0?0:Math.min(Math.abs(g.y),Math.abs(m.y)),j=Math.max(C,W);t.lastCentrality=(f-j)*(f-j)*(f-j)}else t.lastCentrality=1;const l=this._tempBox.getSize(this._tempBoxSize);l.multiplyScalar(.5),screen.availHeight>0&&l.multiplyScalar(this.renderer.domElement.clientHeight/screen.availHeight),l.x*=h.aspect;const d=r.matrixWorldInverse,M=new J;M.copy(u),M.applyMatrix4(e.matrixWorld),M.applyMatrix4(d);const y=M.getSize(this._tempBox2Size),A=Math.max(y.x,y.y);if(Math.max(l.x,l.y)!=0&&A!=0&&(l.z=y.z/Math.max(y.x,y.y)*Math.max(l.x,l.y)),t.lastScreenCoverage=Math.max(l.x,l.y,l.z),t.lastScreenspaceVolume.copy(l),t.lastScreenCoverage*=t.lastCentrality,K&&T.debugDrawLine){const g=this.tempMatrix.copy(this.projectionScreenMatrix);g.invert();const m=T.corner0,b=T.corner1,x=T.corner2,S=T.corner3;m.copy(this._tempBox.min),b.copy(this._tempBox.max),b.x=m.x,x.copy(this._tempBox.max),x.y=m.y,S.copy(this._tempBox.max);const _=(m.z+S.z)*.5;m.z=b.z=x.z=S.z=_,m.applyMatrix4(g),b.applyMatrix4(g),x.applyMatrix4(g),S.applyMatrix4(g),T.debugDrawLine(m,b,255),T.debugDrawLine(m,x,255),T.debugDrawLine(b,S,255),T.debugDrawLine(x,S,255)}let p=999;if(a&&t.lastScreenCoverage>0){for(let g=0;g<a.length;g++)if(a[g].density/t.lastScreenCoverage<o){p=g;break}}p<s&&(s=p)}}return s}};let I=T;c(I,"debugDrawLine"),c(I,"corner0",new B),c(I,"corner1",new B),c(I,"corner2",new B),c(I,"corner3",new B);class Le{constructor(){c(this,"lastLodLevel",0),c(this,"lastScreenCoverage",0),c(this,"lastScreenspaceVolume",new B),c(this,"lastCentrality",0)}}const re=Symbol("NEEDLE_mesh_lod"),z=Symbol("NEEDLE_texture_lod");function te(r){if(!r)return null;let e=null,t=null;for(let o=r;o!=null;o=Object.getPrototypeOf(o)){const n=Object.getOwnPropertySymbols(o),s=n.find(a=>a.toString()=="Symbol(renderer)"),i=n.find(a=>a.toString()=="Symbol(scene)");!e&&s!=null&&(e=r[s].threeRenderer),!t&&i!=null&&(t=r[i])}if(e){console.log("Adding Needle LODs to modelviewer");const o=new I(e);if(o.plugins.push(new De(r)),o.enable(),t){const n=t.camera||t.traverse(s=>s.type=="PerspectiveCamera")[0];n&&e.render(t,n)}return()=>{o.disable()}}return null}class De{constructor(e){c(this,"modelviewer"),c(this,"_didWarnAboutMissingUrl",!1),this.modelviewer=e}onBeforeUpdateLOD(e,t,o,n){this.tryParseMeshLOD(t,n),this.tryParseTextureLOD(t,n)}getUrl(){let e=this.modelviewer.getAttribute("src");return e||(e=this.modelviewer.src),e||(this._didWarnAboutMissingUrl||console.warn("No url found in modelviewer",this.modelviewer),this._didWarnAboutMissingUrl=!0),e}tryGetCurrentGLTF(e){return e._currentGLTF}tryParseTextureLOD(e,t){if(t[z]==!0)return;t[z]=!0;const o=this.tryGetCurrentGLTF(e),n=this.getUrl();if(n&&o&&t.material){let s=function(a){var u,h,l;if(a[z]==!0)return;a[z]=!0,a.userData&&(a.userData.LOD=-1);const d=Object.keys(a);for(let M=0;M<d.length;M++){const y=d[M],A=a[y];if(A?.isTexture===!0){const p=(h=(u=A.userData)==null?void 0:u.associations)==null?void 0:h.textures,g=o.parser.json.textures[p];if((l=g.extensions)!=null&&l[P]){const m=g.extensions[P];m&&n&&O.registerTexture(n,A,m.lods.length,m)}}}};const i=t.material;if(Array.isArray(i))for(const a of i)s(a);else s(i)}}tryParseMeshLOD(e,t){var o,n;if(t[re]==!0)return;t[re]=!0;const s=this.getUrl();if(!s)return;const i=(n=(o=t.userData)==null?void 0:o.gltfExtensions)==null?void 0:n[P];if(i&&s){const a=t.uuid;O.registerMesh(s,a,t,0,i.lods.length,i)}}}function Oe(r,e,t,o){Q(e),Z(t),t.register(s=>new O(s,r));const n=new I(e);return o?.enableLODsManager!==!1&&n.enable(),n}document.addEventListener("DOMContentLoaded",()=>{te(document.querySelector("model-viewer"))});export{P as EXTENSION_NAME,I as LODsManager,O as NEEDLE_progressive,te as patchModelViewer,ye as registerPlugin,Oe as useNeedleProgressive};
|
package/gltf-progressive.umd.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var re=Object.defineProperty;var se=(l,e,t)=>e in l?re(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var u=(l,e,t)=>(se(l,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("three"),ie=require("three/examples/jsm/loaders/GLTFLoader.js"),oe=require("three/examples/jsm/libs/meshopt_decoder.module.js"),ne=require("three/examples/jsm/loaders/DRACOLoader.js"),ae=require("three/examples/jsm/loaders/KTX2Loader.js"),le="https://www.gstatic.com/draco/versioned/decoders/1.4.1/",ue="https://www.gstatic.com/basis-universal/versioned/2021-04-15-ba1c3e4/";let
|
|
2
|
-
`,
|
|
3
|
-
`,y),null));if(!p)return null;const P=p.parser;r&&console.log("Loading finished "+D,x.guid);let O=0;if(p.parser.json.textures){let y=!1;for(const c of p.parser.json.textures){if(c!=null&&c.extensions){const v=c==null?void 0:c.extensions[k];if(v!=null&&v.guid&&v.guid===x.guid){y=!0;break}}O++}if(y){let c=await P.getDependency("texture",O);return r&&console.log('change "'+e.name+'" → "'+c.name+'"',D,O,c,d),e instanceof h.Texture&&(c=this.copySettings(e,c)),c&&(c.guid=x.guid),m(c)}}if(O=0,p.parser.json.meshes){let y=!1;for(const c of p.parser.json.meshes){if(c!=null&&c.extensions){const v=c==null?void 0:c.extensions[k];if(v!=null&&v.guid&&v.guid===x.guid){y=!0;break}}O++}if(y){const c=await P.getDependency("mesh",O),v=x;if(r&&console.log(`Loaded Mesh "${c.name}"`,D,O,c,d),c.isMesh===!0){const B=c.geometry;return S.assignLODInformation(i.url,B,o,t,void 0,v.density),m(B)}else{const B=new Array;for(let C=0;C<c.children.length;C++){const E=c.children[C];if(E instanceof h.Mesh){const N=E.geometry;S.assignLODInformation(i.url,N,o,t,C,v.density),B.push(N)}}return m(B)}}}return m(null)});return this.previouslyLoaded.set(d,b),await b}else if(e instanceof h.Texture){r&&console.log("Load texture from uri: "+D);const M=await new h.TextureLoader().loadAsync(D);return M?(M.guid=s.guid,M.flipY=!1,M.needsUpdate=!0,M.colorSpace=e.colorSpace,r&&console.log(s,M)):T&&console.warn("failed loading",D),M}}else T&&console.warn(`Can not load LOD ${t}: no LOD info found for "${o}" ${e.name}`,e.type);return null}static assignLODInformation(e,t,r,i,o,s){if(!t)return;t.userData||(t.userData={});const n=new de(e,r,i,o,s);t.userData.LODS=n,t.userData.LOD=i}static getAssignedLODInformation(e){var t;return((t=e==null?void 0:e.userData)==null?void 0:t.LODS)||null}static copySettings(e,t){const r=this._copiedTextures.get(e);return r||(t=t.clone(),this._copiedTextures.set(e,t),t.offset=e.offset,t.repeat=e.repeat,t.colorSpace=e.colorSpace,t)}};let w=S;u(w,"registerTexture",(e,t,r,i)=>{T&&console.log("> Progressive: register texture",r,t.name,t.uuid,t,i),t.source&&(t.source[V]=i);const o=i.guid;S.assignLODInformation(e,t,o,0,0,void 0),S.lodInfos.set(o,i),S.lowresCache.set(o,t)}),u(w,"registerMesh",(e,t,r,i,o,s)=>{var g;T&&console.log("> Progressive: register mesh",o,r.name,s,r.uuid,r);const n=r.geometry;n.userData||(n.userData={}),S.assignLODInformation(e,n,t,i,o,s.density),S.lodInfos.set(t,s);let a=S.lowresCache.get(t);a?a.push(r.geometry):a=[r.geometry],S.lowresCache.set(t,a);for(const f of X)(g=f.onRegisteredNewMesh)==null||g.call(f,r,s)}),u(w,"lodInfos",new Map),u(w,"previouslyLoaded",new Map),u(w,"lowresCache",new Map),u(w,"_copiedTextures",new Map);class de{constructor(e,t,r,i,o){u(this,"url");u(this,"key");u(this,"level");u(this,"index");u(this,"density");this.url=e,this.key=t,this.level=r,i!=null&&(this.index=i),o!=null&&(this.density=o)}}const J=Y("debugprogressive"),ge=Y("noprogressive"),A=class{constructor(e){u(this,"renderer");u(this,"projectionScreenMatrix",new h.Matrix4);u(this,"cameraFrustrum",new h.Frustum);u(this,"updateInterval",0);u(this,"pause",!1);u(this,"plugins",[]);u(this,"_originalRender");u(this,"_sphere",new h.Sphere);u(this,"_tempBox",new h.Box3);u(this,"tempMatrix",new h.Matrix4);u(this,"_tempWorldPosition",new h.Vector3);u(this,"_tempBoxSize",new h.Vector3);u(this,"_tempBox2Size",new h.Vector3);this.renderer=e}static getObjectLODState(e){var t;return(t=e.userData)==null?void 0:t.LOD_state}enable(){if(this._originalRender)return;let e=0;this._originalRender=this.renderer.render;const t=this;let r=0;Z(this.renderer),this.renderer.render=function(i,o){const s=r++,n=e++;t.onBeforeRender(i,o,n,s),t._originalRender.call(this,i,o),t.onAfterRender(i,o,n,s),e--}}disable(){this._originalRender&&(this.renderer.render=this._originalRender,this._originalRender=void 0)}onBeforeRender(e,t,r,i){}onAfterRender(e,t,r,i){if(ge||this.pause||this.updateInterval>0&&i%this.updateInterval!=0)return;this.projectionScreenMatrix.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this.cameraFrustrum.setFromProjectionMatrix(this.projectionScreenMatrix,this.renderer.coordinateSystem);const o=1e5,n=this.renderer.renderLists.get(e,r).opaque;for(const a of n){const g=a.object;(g instanceof h.Mesh||g.isMesh)&&this.updateLODs(e,t,g,o)}}updateLODs(e,t,r,i){var a,g;for(const f of this.plugins)(a=f.onBeforeUpdateLOD)==null||a.call(f,this.renderer,e,t,r);let o=r.userData.LOD_state;o||(o=new he,r.userData.LOD_state=o);let s=this.calculateLodLevel(t,r,o,i);s=Math.round(s),s>=0&&this.loadProgressiveMeshes(r,s);let n=0;if(r.material){const f=r["DEBUG:LOD"];if(f!=null&&(n=f),Array.isArray(r.material))for(const D of r.material)this.loadProgressiveTextures(D,n);else this.loadProgressiveTextures(r.material,n)}for(const f of this.plugins)(g=f.onAfterUpdatedLOD)==null||g.call(f,this.renderer,e,t,r,s);o.lastLodLevel=s}loadProgressiveTextures(e,t){return e&&e.userData&&e.userData.LOD!==t?(e.userData.LOD=t,w.assignTextureLOD(e,t)):Promise.resolve(null)}loadProgressiveMeshes(e,t){if(!e)return Promise.resolve(null);if(e.userData||(e.userData={}),e.userData.LOD!==t){e.userData.LOD=t;const r=e.geometry;return w.assignMeshLOD(e,t).then(i=>(i&&e.userData.LOD==t&&r!=e.geometry,i))}return Promise.resolve(null)}calculateLodLevel(e,t,r,i){var n;if(!t)return-1;let s=10+1;if(e){if(J&&t["DEBUG:LOD"]!=null)return t["DEBUG:LOD"];const a=w.getMeshLODInformation(t.geometry),g=a==null?void 0:a.lods;if(!g||g.length<=0||!((n=this.cameraFrustrum)!=null&&n.intersectsObject(t)))return 99;const f=t.geometry.boundingBox;if(f&&e.isPerspectiveCamera){const D=e;if(t.geometry.attributes.color&&t.geometry.attributes.color.count<100&&t.geometry.boundingSphere){this._sphere.copy(t.geometry.boundingSphere),this._sphere.applyMatrix4(t.matrixWorld);const L=e.getWorldPosition(this._tempWorldPosition);if(this._sphere.containsPoint(L))return 0}if(this._tempBox.copy(f),this._tempBox.applyMatrix4(t.matrixWorld),this._tempBox.applyMatrix4(this.projectionScreenMatrix),this.renderer.xr.enabled&&D.fov>70){const L=this._tempBox.min,p=this._tempBox.max;let P=L.x,O=L.y,y=p.x,c=p.y;const v=2,B=1.5,C=(L.x+p.x)*.5,E=(L.y+p.y)*.5;P=(P-C)*v+C,O=(O-E)*v+E,y=(y-C)*v+C,c=(c-E)*v+E;const N=P<0&&y>0?0:Math.min(Math.abs(L.x),Math.abs(p.x)),te=O<0&&c>0?0:Math.min(Math.abs(L.y),Math.abs(p.y)),q=Math.max(N,te);r.lastCentrality=(B-q)*(B-q)*(B-q)}else r.lastCentrality=1;const d=this._tempBox.getSize(this._tempBoxSize);d.multiplyScalar(.5),screen.availHeight>0&&d.multiplyScalar(this.renderer.domElement.clientHeight/screen.availHeight),d.x*=D.aspect;const M=e.matrixWorldInverse,x=new h.Box3;x.copy(f),x.applyMatrix4(t.matrixWorld),x.applyMatrix4(M);const b=x.getSize(this._tempBox2Size),G=Math.max(b.x,b.y);if(Math.max(d.x,d.y)!=0&&G!=0&&(d.z=b.z/Math.max(b.x,b.y)*Math.max(d.x,d.y)),r.lastScreenCoverage=Math.max(d.x,d.y,d.z),r.lastScreenspaceVolume.copy(d),r.lastScreenCoverage*=r.lastCentrality,J&&A.debugDrawLine){const L=this.tempMatrix.copy(this.projectionScreenMatrix);L.invert();const p=A.corner0,P=A.corner1,O=A.corner2,y=A.corner3;p.copy(this._tempBox.min),P.copy(this._tempBox.max),P.x=p.x,O.copy(this._tempBox.max),O.y=p.y,y.copy(this._tempBox.max);const c=(p.z+y.z)*.5;p.z=P.z=O.z=y.z=c,p.applyMatrix4(L),P.applyMatrix4(L),O.applyMatrix4(L),y.applyMatrix4(L),A.debugDrawLine(p,P,255),A.debugDrawLine(p,O,255),A.debugDrawLine(P,y,255),A.debugDrawLine(O,y,255)}let R=999;if(g&&r.lastScreenCoverage>0){for(let L=0;L<g.length;L++)if(g[L].density/r.lastScreenCoverage<i){R=L;break}}R<s&&(s=R)}}return s}};let _=A;u(_,"debugDrawLine"),u(_,"corner0",new h.Vector3),u(_,"corner1",new h.Vector3),u(_,"corner2",new h.Vector3),u(_,"corner3",new h.Vector3);class he{constructor(){u(this,"lastLodLevel",0);u(this,"lastScreenCoverage",0);u(this,"lastScreenspaceVolume",new h.Vector3);u(this,"lastCentrality",0)}}const Q=Symbol("NEEDLE_mesh_lod"),W=Symbol("NEEDLE_texture_lod");function ee(l){if(!l)return null;let e=null,t=null;for(let r=l;r!=null;r=Object.getPrototypeOf(r)){const i=Object.getOwnPropertySymbols(r),o=i.find(n=>n.toString()=="Symbol(renderer)"),s=i.find(n=>n.toString()=="Symbol(scene)");!e&&o!=null&&(e=l[o].threeRenderer),!t&&s!=null&&(t=l[s])}if(e){console.log("Adding Needle LODs to modelviewer");const r=new _(e);if(r.plugins.push(new pe(l)),r.enable(),t){const i=t.camera||t.traverse(o=>o.type=="PerspectiveCamera")[0];i&&e.render(t,i)}return()=>{r.disable()}}return null}class pe{constructor(e){u(this,"modelviewer");this.modelviewer=e}onBeforeUpdateLOD(e,t,r,i){this.tryParseMeshLOD(t,i),this.tryParseTextureLOD(t,i)}getUrl(){return this.modelviewer.getAttribute("src")}tryGetCurrentGLTF(e){return e._currentGLTF}tryParseTextureLOD(e,t){if(t[W]==!0)return;t[W]=!0;const r=this.tryGetCurrentGLTF(e),i=this.getUrl();if(!i){console.error("No url found in modelviewer");return}if(r&&t.material){let o=function(n){var g,f,D;if(n[W]==!0)return;n[W]=!0,n.userData&&(n.userData.LOD=-1);const a=Object.keys(n);for(let d=0;d<a.length;d++){const M=a[d],x=n[M];if((x==null?void 0:x.isTexture)===!0){const b=(f=(g=x.userData)==null?void 0:g.associations)==null?void 0:f.textures,G=r.parser.json.textures[b];if((D=G.extensions)!=null&&D[k]){const m=G.extensions[k];m&&i&&w.registerTexture(i,x,m.lods.length,m)}}}};const s=t.material;if(Array.isArray(s))for(const n of s)o(n);else o(s)}}tryParseMeshLOD(e,t){var o,s;if(t[Q]==!0)return;t[Q]=!0;const r=this.getUrl();if(!r){console.error("No url found in modelviewer");return}const i=(s=(o=t.userData)==null?void 0:o.gltfExtensions)==null?void 0:s[k];if(i&&r){const n=t.uuid;w.registerMesh(r,n,t,0,i.lods.length,i)}}}function ye(l,e,t,r){Z(e),j(t),t.register(o=>new w(o,l));const i=new _(e);return(r==null?void 0:r.enableLODsManager)!==!1&&i.enable(),i}document.addEventListener("DOMContentLoaded",()=>{ee(document.querySelector("model-viewer"))});exports.EXTENSION_NAME=k;exports.LODsManager=_;exports.NEEDLE_progressive=w;exports.patchModelViewer=ee;exports.registerPlugin=fe;exports.useNeedleProgressive=ye;
|
|
1
|
+
"use strict";var re=Object.defineProperty;var se=(l,e,t)=>e in l?re(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var u=(l,e,t)=>(se(l,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("three"),ie=require("three/examples/jsm/loaders/GLTFLoader.js"),oe=require("three/examples/jsm/libs/meshopt_decoder.module.js"),ne=require("three/examples/jsm/loaders/DRACOLoader.js"),ae=require("three/examples/jsm/loaders/KTX2Loader.js"),le="https://www.gstatic.com/draco/versioned/decoders/1.4.1/",ue="https://www.gstatic.com/basis-universal/versioned/2021-04-15-ba1c3e4/";let F,X,U;function Z(l){F||(F=new ne.DRACOLoader,F.setDecoderPath(le),F.setDecoderConfig({type:"js"})),U||(U=new ae.KTX2Loader,U.setTranscoderPath(ue)),X||(X=oe.MeshoptDecoder),l?U.detectSupport(l):console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures will probably fail")}function j(l){l.dracoLoader||l.setDRACOLoader(F),l.ktx2Loader||l.setKTX2Loader(U),l.meshoptDecoder||l.setMeshoptDecoder(X)}function H(l){const t=new URL(window.location.href).searchParams.get(l);return t==null||t==="0"||t==="false"?!1:t===""?!0:t}function ce(l,e){if(e===void 0||e.startsWith("./")||e.startsWith("http")||l===void 0)return e;const t=l.lastIndexOf("/");if(t>=0){const r=l.substring(0,t+1);for(;r.endsWith("/")&&e.startsWith("/");)e=e.substring(1);return r+e}return e}const K=new Array;function fe(l){K.push(l)}const C="NEEDLE_progressive",T=H("debugprogressive"),q=Symbol("needle-progressive-texture"),N=new Map,Y=new Set;if(T){let l=function(){e+=1,console.log("Toggle LOD level",e,N),N.forEach((i,o)=>{for(const s of i.keys){const n=o[s];if(n.isBufferGeometry===!0){const a=w.getMeshLODInformation(n),p=a?Math.min(e,a.lods.length):0;o["DEBUG:LOD"]=e,w.assignMeshLOD(o,p),a&&(t=Math.max(t,a.lods.length-1))}else if(o.isMaterial===!0){o["DEBUG:LOD"]=e,w.assignTextureLOD(o,e);break}}}),e>=t&&(e=-1)},e=-1,t=2,r=!1;window.addEventListener("keyup",i=>{i.key==="p"&&l(),i.key==="w"&&(r=!r,Y&&Y.forEach(o=>{o.name!="BackgroundCubeMaterial"&&"wireframe"in o&&(o.wireframe=r)}))})}function J(l,e,t){var i;if(!T)return;N.has(l)||N.set(l,{keys:[],sourceId:t});const r=N.get(l);((i=r==null?void 0:r.keys)==null?void 0:i.includes(e))==!1&&r.keys.push(e)}const S=class{constructor(e,t){u(this,"parser");u(this,"url");T&&console.log("Progressive extension registered for",t),this.parser=e,this.url=t}get name(){return C}static getMeshLODInformation(e){const t=this.getAssignedLODInformation(e);return t!=null&&t.key?this.lodInfos.get(t.key):null}static hasLODLevelAvailable(e,t){var o;if(e.isMaterial===!0){for(const s of Object.keys(e)){const n=e[s];if(n.isTexture&&this.hasLODLevelAvailable(n,t))return!0}return!1}else if(e.isGroup===!0){for(const s of e.children)if(s.isMesh===!0&&this.hasLODLevelAvailable(s,t))return!0}let r,i;if(e.isMesh?r=e.geometry:(e.isBufferGeometry||e.isTexture)&&(r=e),r&&(o=r==null?void 0:r.userData)!=null&&o.LODS){const s=r.userData.LODS;if(i=this.lodInfos.get(s.key),t===void 0)return i!=null;if(i)return Array.isArray(i.lods)?t<i.lods.length:t===0}return!1}static assignMeshLOD(e,t){var r;if(!e)return Promise.resolve(null);if(e instanceof h.Mesh||e.isMesh===!0){const i=e.geometry,o=this.getAssignedLODInformation(i);if(!o)return Promise.resolve(null);for(const s of K)(r=s.onBeforeGetLODMesh)==null||r.call(s,e,t);return e["LOD:requested level"]=t,S.getOrLoadLOD(i,t).then(s=>{if(e["LOD:requested level"]===t){if(delete e["LOD:requested level"],Array.isArray(s)){const n=o.index||0;s=s[n]}s&&i!=s&&s instanceof h.BufferGeometry&&(e.geometry=s,T&&J(e,"geometry",o.url))}return s}).catch(s=>(console.error("Error loading mesh LOD",e,s),null))}else T&&console.error("Invalid call to assignMeshLOD: Request mesh LOD but the object is not a mesh",e);return Promise.resolve(null)}static assignTextureLOD(e,t=0){if(!e)return Promise.resolve(null);if(e instanceof h.Material||e.isMaterial===!0){const r=e,i=[],o=new Array;if(T&&Y.add(r),r instanceof h.RawShaderMaterial)for(const s of Object.keys(r.uniforms)){const n=r.uniforms[s].value;if((n==null?void 0:n.isTexture)===!0){const a=this.assignTextureLODForSlot(n,t,r,s);i.push(a),o.push(s)}}else for(const s of Object.keys(r)){const n=r[s];if((n==null?void 0:n.isTexture)===!0){const a=this.assignTextureLODForSlot(n,t,r,s);i.push(a),o.push(s)}}return Promise.all(i).then(s=>{const n=new Array;for(let a=0;a<s.length;a++){const p=s[a],d=o[a];p&&p.isTexture===!0?n.push({material:r,slot:d,texture:p,level:t}):n.push({material:r,slot:d,texture:null,level:t})}return n})}if(e instanceof h.Texture||e.isTexture===!0){const r=e;return this.assignTextureLODForSlot(r,t,null,null)}return Promise.resolve(null)}static assignTextureLODForSlot(e,t,r,i){return(e==null?void 0:e.isTexture)!==!0?Promise.resolve(null):S.getOrLoadLOD(e,t).then(o=>{if(Array.isArray(o))return null;if((o==null?void 0:o.isTexture)===!0){if(o!=e&&(r&&i&&(r[i]=o),T&&i&&r)){const s=this.getAssignedLODInformation(e);s&&J(r,i,s.url)}return o}else T=="verbose"&&console.warn("No LOD found for",e,t);return null}).catch(o=>(console.error("Error loading LOD",e,o),null))}afterRoot(e){var t,r;return T&&console.log("AFTER",this.url,e),(t=this.parser.json.textures)==null||t.forEach((i,o)=>{if(i!=null&&i.extensions){const s=i==null?void 0:i.extensions[C];if(s){let n=!1;for(const a of this.parser.associations.keys())a.isTexture===!0&&this.parser.associations.get(a).textures===o&&(n=!0,S.registerTexture(this.url,a,o,s));n||this.parser.getDependency("texture",o).then(a=>{a&&S.registerTexture(this.url,a,o,s)})}}}),(r=this.parser.json.meshes)==null||r.forEach((i,o)=>{if(i!=null&&i.extensions){const s=i==null?void 0:i.extensions[C];if(s&&s.lods){for(const n of this.parser.associations.keys())if(n.isMesh){const a=this.parser.associations.get(n);a.meshes===o&&S.registerMesh(this.url,s.guid,n,s.lods.length,a.primitives,s)}}}}),null}static async getOrLoadLOD(e,t){var n,a,p;const r=T=="verbose",i=e.userData.LODS;if(!i)return null;const o=i==null?void 0:i.key;let s;if(e.isTexture===!0){const d=e;d.source&&d.source[q]&&(s=d.source[q])}if(s||(s=S.lodInfos.get(o)),s){if(t>0){let f=!1;const M=Array.isArray(s.lods);if(M&&t>=s.lods.length?f=!0:M||(f=!0),f)return this.lowresCache.get(o)}const d=Array.isArray(s.lods)?s.lods[t].path:s.lods;if(!d)return T&&!s["missing:uri"]&&(s["missing:uri"]=!0,console.warn("Missing uri for progressive asset for LOD "+t,s)),null;const c=ce(i.url,d);if(c.endsWith(".glb")||c.endsWith(".gltf")){if(!s.guid)return console.warn("missing pointer for glb/gltf texture",s),null;const f=c+"_"+s.guid,M=this.previouslyLoaded.get(f);if(M!==void 0){r&&console.log(`LOD ${t} was already loading/loaded: ${f}`);let x=await M.catch(I=>(console.error(`Error loading LOD ${t} from ${c}
|
|
2
|
+
`,I),null)),R=!1;if(x==null||(x instanceof h.Texture&&e instanceof h.Texture?(n=x.image)!=null&&n.data||(a=x.source)!=null&&a.data?x=this.copySettings(e,x):(R=!0,this.previouslyLoaded.delete(f)):x instanceof h.BufferGeometry&&e instanceof h.BufferGeometry&&((p=x.attributes.position)!=null&&p.array||(R=!0,this.previouslyLoaded.delete(f)))),!R)return x}const D=s,P=new Promise(async(x,R)=>{const I=new ie.GLTFLoader;j(I),T&&(await new Promise(L=>setTimeout(L,1e3)),r&&console.warn("Start loading (delayed) "+c,D.guid));let m=c;if(D&&Array.isArray(D.lods)){const L=D.lods[t];L.hash&&(m+="?v="+L.hash)}const y=await I.loadAsync(m).catch(L=>(console.error(`Error loading LOD ${t} from ${c}
|
|
3
|
+
`,L),null));if(!y)return null;const b=y.parser;r&&console.log("Loading finished "+c,D.guid);let O=0;if(y.parser.json.textures){let L=!1;for(const g of y.parser.json.textures){if(g!=null&&g.extensions){const v=g==null?void 0:g.extensions[C];if(v!=null&&v.guid&&v.guid===D.guid){L=!0;break}}O++}if(L){let g=await b.getDependency("texture",O);return r&&console.log('change "'+e.name+'" → "'+g.name+'"',c,O,g,f),e instanceof h.Texture&&(g=this.copySettings(e,g)),g&&(g.guid=D.guid),x(g)}}if(O=0,y.parser.json.meshes){let L=!1;for(const g of y.parser.json.meshes){if(g!=null&&g.extensions){const v=g==null?void 0:g.extensions[C];if(v!=null&&v.guid&&v.guid===D.guid){L=!0;break}}O++}if(L){const g=await b.getDependency("mesh",O),v=D;if(r&&console.log(`Loaded Mesh "${g.name}"`,c,O,g,f),g.isMesh===!0){const B=g.geometry;return S.assignLODInformation(i.url,B,o,t,void 0,v.density),x(B)}else{const B=new Array;for(let E=0;E<g.children.length;E++){const k=g.children[E];if(k instanceof h.Mesh){const W=k.geometry;S.assignLODInformation(i.url,W,o,t,E,v.density),B.push(W)}}return x(B)}}}return x(null)});return this.previouslyLoaded.set(f,P),await P}else if(e instanceof h.Texture){r&&console.log("Load texture from uri: "+c);const M=await new h.TextureLoader().loadAsync(c);return M?(M.guid=s.guid,M.flipY=!1,M.needsUpdate=!0,M.colorSpace=e.colorSpace,r&&console.log(s,M)):T&&console.warn("failed loading",c),M}}else T&&console.warn(`Can not load LOD ${t}: no LOD info found for "${o}" ${e.name}`,e.type);return null}static assignLODInformation(e,t,r,i,o,s){if(!t)return;t.userData||(t.userData={});const n=new de(e,r,i,o,s);t.userData.LODS=n,t.userData.LOD=i}static getAssignedLODInformation(e){var t;return((t=e==null?void 0:e.userData)==null?void 0:t.LODS)||null}static copySettings(e,t){const r=this._copiedTextures.get(e);return r||(t=t.clone(),this._copiedTextures.set(e,t),t.offset=e.offset,t.repeat=e.repeat,t.colorSpace=e.colorSpace,t)}};let w=S;u(w,"registerTexture",(e,t,r,i)=>{T&&console.log("> Progressive: register texture",r,t.name,t.uuid,t,i),t.source&&(t.source[q]=i);const o=i.guid;S.assignLODInformation(e,t,o,0,0,void 0),S.lodInfos.set(o,i),S.lowresCache.set(o,t)}),u(w,"registerMesh",(e,t,r,i,o,s)=>{var p;T&&console.log("> Progressive: register mesh",o,r.name,s,r.uuid,r);const n=r.geometry;n.userData||(n.userData={}),S.assignLODInformation(e,n,t,i,o,s.density),S.lodInfos.set(t,s);let a=S.lowresCache.get(t);a?a.push(r.geometry):a=[r.geometry],S.lowresCache.set(t,a);for(const d of K)(p=d.onRegisteredNewMesh)==null||p.call(d,r,s)}),u(w,"lodInfos",new Map),u(w,"previouslyLoaded",new Map),u(w,"lowresCache",new Map),u(w,"_copiedTextures",new Map);class de{constructor(e,t,r,i,o){u(this,"url");u(this,"key");u(this,"level");u(this,"index");u(this,"density");this.url=e,this.key=t,this.level=r,i!=null&&(this.index=i),o!=null&&(this.density=o)}}const $=H("debugprogressive"),ge=H("noprogressive"),A=class{constructor(e){u(this,"renderer");u(this,"projectionScreenMatrix",new h.Matrix4);u(this,"cameraFrustrum",new h.Frustum);u(this,"updateInterval",0);u(this,"pause",!1);u(this,"plugins",[]);u(this,"_originalRender");u(this,"_sphere",new h.Sphere);u(this,"_tempBox",new h.Box3);u(this,"tempMatrix",new h.Matrix4);u(this,"_tempWorldPosition",new h.Vector3);u(this,"_tempBoxSize",new h.Vector3);u(this,"_tempBox2Size",new h.Vector3);this.renderer=e}static getObjectLODState(e){var t;return(t=e.userData)==null?void 0:t.LOD_state}enable(){if(this._originalRender)return;let e=0;this._originalRender=this.renderer.render;const t=this;let r=0;Z(this.renderer),this.renderer.render=function(i,o){const s=r++,n=e++;t.onBeforeRender(i,o,n,s),t._originalRender.call(this,i,o),t.onAfterRender(i,o,n,s),e--}}disable(){this._originalRender&&(this.renderer.render=this._originalRender,this._originalRender=void 0)}onBeforeRender(e,t,r,i){}onAfterRender(e,t,r,i){var p,d;if(ge||this.pause||this.updateInterval>0&&i%this.updateInterval!=0)return;this.projectionScreenMatrix.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this.cameraFrustrum.setFromProjectionMatrix(this.projectionScreenMatrix,this.renderer.coordinateSystem);const o=1e5,s=this.renderer.renderLists.get(e,r),n=s.opaque;for(const c of n){if(c.material&&(((p=c.geometry)==null?void 0:p.type)==="BoxGeometry"||((d=c.geometry)==null?void 0:d.type)==="BufferGeometry")&&(c.material.name==="SphericalGaussianBlur"||c.material.name=="BackgroundCubeMaterial"||c.material.name==="CubemapFromEquirect"||c.material.name==="EquirectangularToCubeUV")){$&&(c.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]||(c.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]=!0,console.warn("Ignoring skybox or BLIT object",c,c.material.name,c.material.type)));continue}const f=c.object;(f instanceof h.Mesh||f.isMesh)&&this.updateLODs(e,t,f,o)}const a=s.transparent;for(const c of a){const f=c.object;(f instanceof h.Mesh||f.isMesh)&&this.updateLODs(e,t,f,o)}}updateLODs(e,t,r,i){var a,p;for(const d of this.plugins)(a=d.onBeforeUpdateLOD)==null||a.call(d,this.renderer,e,t,r);let o=r.userData.LOD_state;o||(o=new he,r.userData.LOD_state=o);let s=this.calculateLodLevel(t,r,o,i);s=Math.round(s),s>=0&&this.loadProgressiveMeshes(r,s);let n=0;if(r.material){const d=r["DEBUG:LOD"];if(d!=null&&(n=d),Array.isArray(r.material))for(const c of r.material)this.loadProgressiveTextures(c,n);else this.loadProgressiveTextures(r.material,n)}for(const d of this.plugins)(p=d.onAfterUpdatedLOD)==null||p.call(d,this.renderer,e,t,r,s);o.lastLodLevel=s}loadProgressiveTextures(e,t){return e&&e.userData&&e.userData.LOD!==t?(e.userData.LOD=t,w.assignTextureLOD(e,t)):Promise.resolve(null)}loadProgressiveMeshes(e,t){if(!e)return Promise.resolve(null);if(e.userData||(e.userData={}),e.userData.LOD!==t){e.userData.LOD=t;const r=e.geometry;return w.assignMeshLOD(e,t).then(i=>(i&&e.userData.LOD==t&&r!=e.geometry,i))}return Promise.resolve(null)}calculateLodLevel(e,t,r,i){var n;if(!t)return-1;let s=10+1;if(e){if($&&t["DEBUG:LOD"]!=null)return t["DEBUG:LOD"];const a=w.getMeshLODInformation(t.geometry),p=a==null?void 0:a.lods;if(!p||p.length<=0||!((n=this.cameraFrustrum)!=null&&n.intersectsObject(t)))return 99;const d=t.geometry.boundingBox;if(d&&e.isPerspectiveCamera){const c=e;if(t.geometry.attributes.color&&t.geometry.attributes.color.count<100&&t.geometry.boundingSphere){this._sphere.copy(t.geometry.boundingSphere),this._sphere.applyMatrix4(t.matrixWorld);const m=e.getWorldPosition(this._tempWorldPosition);if(this._sphere.containsPoint(m))return 0}if(this._tempBox.copy(d),this._tempBox.applyMatrix4(t.matrixWorld),this._tempBox.applyMatrix4(this.projectionScreenMatrix),this.renderer.xr.enabled&&c.fov>70){const m=this._tempBox.min,y=this._tempBox.max;let b=m.x,O=m.y,L=y.x,g=y.y;const v=2,B=1.5,E=(m.x+y.x)*.5,k=(m.y+y.y)*.5;b=(b-E)*v+E,O=(O-k)*v+k,L=(L-E)*v+E,g=(g-k)*v+k;const W=b<0&&L>0?0:Math.min(Math.abs(m.x),Math.abs(y.x)),te=O<0&&g>0?0:Math.min(Math.abs(m.y),Math.abs(y.y)),V=Math.max(W,te);r.lastCentrality=(B-V)*(B-V)*(B-V)}else r.lastCentrality=1;const f=this._tempBox.getSize(this._tempBoxSize);f.multiplyScalar(.5),screen.availHeight>0&&f.multiplyScalar(this.renderer.domElement.clientHeight/screen.availHeight),f.x*=c.aspect;const M=e.matrixWorldInverse,D=new h.Box3;D.copy(d),D.applyMatrix4(t.matrixWorld),D.applyMatrix4(M);const P=D.getSize(this._tempBox2Size),G=Math.max(P.x,P.y);if(Math.max(f.x,f.y)!=0&&G!=0&&(f.z=P.z/Math.max(P.x,P.y)*Math.max(f.x,f.y)),r.lastScreenCoverage=Math.max(f.x,f.y,f.z),r.lastScreenspaceVolume.copy(f),r.lastScreenCoverage*=r.lastCentrality,$&&A.debugDrawLine){const m=this.tempMatrix.copy(this.projectionScreenMatrix);m.invert();const y=A.corner0,b=A.corner1,O=A.corner2,L=A.corner3;y.copy(this._tempBox.min),b.copy(this._tempBox.max),b.x=y.x,O.copy(this._tempBox.max),O.y=y.y,L.copy(this._tempBox.max);const g=(y.z+L.z)*.5;y.z=b.z=O.z=L.z=g,y.applyMatrix4(m),b.applyMatrix4(m),O.applyMatrix4(m),L.applyMatrix4(m),A.debugDrawLine(y,b,255),A.debugDrawLine(y,O,255),A.debugDrawLine(b,L,255),A.debugDrawLine(O,L,255)}let R=999;if(p&&r.lastScreenCoverage>0){for(let m=0;m<p.length;m++)if(p[m].density/r.lastScreenCoverage<i){R=m;break}}R<s&&(s=R)}}return s}};let _=A;u(_,"debugDrawLine"),u(_,"corner0",new h.Vector3),u(_,"corner1",new h.Vector3),u(_,"corner2",new h.Vector3),u(_,"corner3",new h.Vector3);class he{constructor(){u(this,"lastLodLevel",0);u(this,"lastScreenCoverage",0);u(this,"lastScreenspaceVolume",new h.Vector3);u(this,"lastCentrality",0)}}const Q=Symbol("NEEDLE_mesh_lod"),z=Symbol("NEEDLE_texture_lod");function ee(l){if(!l)return null;let e=null,t=null;for(let r=l;r!=null;r=Object.getPrototypeOf(r)){const i=Object.getOwnPropertySymbols(r),o=i.find(n=>n.toString()=="Symbol(renderer)"),s=i.find(n=>n.toString()=="Symbol(scene)");!e&&o!=null&&(e=l[o].threeRenderer),!t&&s!=null&&(t=l[s])}if(e){console.log("Adding Needle LODs to modelviewer");const r=new _(e);if(r.plugins.push(new pe(l)),r.enable(),t){const i=t.camera||t.traverse(o=>o.type=="PerspectiveCamera")[0];i&&e.render(t,i)}return()=>{r.disable()}}return null}class pe{constructor(e){u(this,"modelviewer");u(this,"_didWarnAboutMissingUrl",!1);this.modelviewer=e}onBeforeUpdateLOD(e,t,r,i){this.tryParseMeshLOD(t,i),this.tryParseTextureLOD(t,i)}getUrl(){let e=this.modelviewer.getAttribute("src");return e||(e=this.modelviewer.src),e||(this._didWarnAboutMissingUrl||console.warn("No url found in modelviewer",this.modelviewer),this._didWarnAboutMissingUrl=!0),e}tryGetCurrentGLTF(e){return e._currentGLTF}tryParseTextureLOD(e,t){if(t[z]==!0)return;t[z]=!0;const r=this.tryGetCurrentGLTF(e),i=this.getUrl();if(i&&r&&t.material){let o=function(n){var p,d,c;if(n[z]==!0)return;n[z]=!0,n.userData&&(n.userData.LOD=-1);const a=Object.keys(n);for(let f=0;f<a.length;f++){const M=a[f],D=n[M];if((D==null?void 0:D.isTexture)===!0){const P=(d=(p=D.userData)==null?void 0:p.associations)==null?void 0:d.textures,G=r.parser.json.textures[P];if((c=G.extensions)!=null&&c[C]){const x=G.extensions[C];x&&i&&w.registerTexture(i,D,x.lods.length,x)}}}};const s=t.material;if(Array.isArray(s))for(const n of s)o(n);else o(s)}}tryParseMeshLOD(e,t){var o,s;if(t[Q]==!0)return;t[Q]=!0;const r=this.getUrl();if(!r)return;const i=(s=(o=t.userData)==null?void 0:o.gltfExtensions)==null?void 0:s[C];if(i&&r){const n=t.uuid;w.registerMesh(r,n,t,0,i.lods.length,i)}}}function ye(l,e,t,r){Z(e),j(t),t.register(o=>new w(o,l));const i=new _(e);return(r==null?void 0:r.enableLODsManager)!==!1&&i.enable(),i}document.addEventListener("DOMContentLoaded",()=>{ee(document.querySelector("model-viewer"))});exports.EXTENSION_NAME=C;exports.LODsManager=_;exports.NEEDLE_progressive=w;exports.patchModelViewer=ee;exports.registerPlugin=fe;exports.useNeedleProgressive=ye;
|
package/lib/extension.js
CHANGED
package/lib/index.js
CHANGED
package/lib/loaders.js
CHANGED
package/lib/lods_manager.js
CHANGED
|
@@ -86,6 +86,25 @@ export class LODsManager {
|
|
|
86
86
|
const renderList = this.renderer.renderLists.get(scene, stack);
|
|
87
87
|
const opaque = renderList.opaque;
|
|
88
88
|
for (const entry of opaque) {
|
|
89
|
+
if (entry.material && (entry.geometry?.type === "BoxGeometry" || entry.geometry?.type === "BufferGeometry")) {
|
|
90
|
+
// Ignore the skybox
|
|
91
|
+
if (entry.material.name === "SphericalGaussianBlur" || entry.material.name == "BackgroundCubeMaterial" || entry.material.name === "CubemapFromEquirect" || entry.material.name === "EquirectangularToCubeUV") {
|
|
92
|
+
if (debugProgressiveLoading) {
|
|
93
|
+
if (!entry.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]) {
|
|
94
|
+
entry.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"] = true;
|
|
95
|
+
console.warn("Ignoring skybox or BLIT object", entry, entry.material.name, entry.material.type);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const object = entry.object;
|
|
102
|
+
if (object instanceof Mesh || (object.isMesh)) {
|
|
103
|
+
this.updateLODs(scene, camera, object, desiredDensity);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const transparent = renderList.transparent;
|
|
107
|
+
for (const entry of transparent) {
|
|
89
108
|
const object = entry.object;
|
|
90
109
|
if (object instanceof Mesh || (object.isMesh)) {
|
|
91
110
|
this.updateLODs(scene, camera, object, desiredDensity);
|
|
@@ -352,4 +371,3 @@ class LOD_state {
|
|
|
352
371
|
lastScreenspaceVolume = new Vector3();
|
|
353
372
|
lastCentrality = 0;
|
|
354
373
|
}
|
|
355
|
-
//# sourceMappingURL=lods_manager.js.map
|
package/lib/plugins/index.js
CHANGED
|
@@ -49,6 +49,7 @@ export function patchModelViewer(modelviewer) {
|
|
|
49
49
|
*/
|
|
50
50
|
class RegisterModelviewerDataPlugin {
|
|
51
51
|
modelviewer;
|
|
52
|
+
_didWarnAboutMissingUrl = false;
|
|
52
53
|
constructor(modelviewer) {
|
|
53
54
|
this.modelviewer = modelviewer;
|
|
54
55
|
}
|
|
@@ -57,7 +58,17 @@ class RegisterModelviewerDataPlugin {
|
|
|
57
58
|
this.tryParseTextureLOD(scene, object);
|
|
58
59
|
}
|
|
59
60
|
getUrl() {
|
|
60
|
-
|
|
61
|
+
let url = this.modelviewer.getAttribute("src");
|
|
62
|
+
// fallback in case the attribute is not set but the src property is
|
|
63
|
+
if (!url) {
|
|
64
|
+
url = this.modelviewer["src"];
|
|
65
|
+
}
|
|
66
|
+
if (!url) {
|
|
67
|
+
if (!this._didWarnAboutMissingUrl)
|
|
68
|
+
console.warn("No url found in modelviewer", this.modelviewer);
|
|
69
|
+
this._didWarnAboutMissingUrl = true;
|
|
70
|
+
}
|
|
71
|
+
return url;
|
|
61
72
|
}
|
|
62
73
|
tryGetCurrentGLTF(scene) {
|
|
63
74
|
return scene._currentGLTF;
|
|
@@ -69,7 +80,6 @@ class RegisterModelviewerDataPlugin {
|
|
|
69
80
|
const currentGLTF = this.tryGetCurrentGLTF(scene);
|
|
70
81
|
const url = this.getUrl();
|
|
71
82
|
if (!url) {
|
|
72
|
-
console.error("No url found in modelviewer");
|
|
73
83
|
return;
|
|
74
84
|
}
|
|
75
85
|
if (currentGLTF) {
|
|
@@ -112,7 +122,6 @@ class RegisterModelviewerDataPlugin {
|
|
|
112
122
|
object[$meshLODSymbol] = true;
|
|
113
123
|
const url = this.getUrl();
|
|
114
124
|
if (!url) {
|
|
115
|
-
console.error("No url found in modelviewer");
|
|
116
125
|
return;
|
|
117
126
|
}
|
|
118
127
|
// modelviewer has all the information we need in the userData (associations + gltfExtensions)
|
|
@@ -123,4 +132,3 @@ class RegisterModelviewerDataPlugin {
|
|
|
123
132
|
}
|
|
124
133
|
}
|
|
125
134
|
}
|
|
126
|
-
//# sourceMappingURL=modelviewer.js.map
|
package/lib/plugins/plugin.js
CHANGED
package/lib/utils.js
CHANGED
package/package.json
CHANGED
package/lib/extension.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAS,QAAQ,EAAE,IAAI,EAAY,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACnH,OAAO,EAAa,UAAU,EAAqC,MAAM,0CAA0C,CAAC;AAEpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIlD,gCAAgC;AAChC,4EAA4E;AAC5E,4EAA4E;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC3C,MAAM,4BAA4B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAM1E,MAAM,iBAAiB,GAAsD,IAAI,GAAG,EAAE,CAAC;AACvF,MAAM,eAAe,GAAkB,IAAI,GAAG,EAAE,CAAC;AACjD,IAAI,KAAK,EAAE,CAAC;IACR,IAAI,oBAAoB,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,SAAS,sBAAsB;QAC3B,oBAAoB,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;QACzE,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACnC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAK,GAAsB,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBACpD,MAAM,IAAI,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;oBAC3D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC3E,GAAG,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC;oBACxC,kBAAkB,CAAC,aAAa,CAAC,GAAW,EAAE,KAAK,CAAC,CAAC;oBACrD,IAAI,IAAI;wBAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClE,CAAC;qBACI,IAAK,GAAgB,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAC7C,GAAG,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC;oBACxC,kBAAkB,CAAC,gBAAgB,CAAC,GAAe,EAAE,oBAAoB,CAAC,CAAC;oBAC3E,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,oBAAoB,IAAI,QAAQ,EAAE,CAAC;YACnC,oBAAoB,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACnC,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG;YAAE,sBAAsB,EAAE,CAAC;QAC9C,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAClB,SAAS,GAAG,CAAC,SAAS,CAAC;YACvB,IAAI,eAAe,EAAE,CAAC;gBAClB,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC1B,8CAA8C;oBAC9C,IAAG,GAAG,CAAC,IAAI,IAAI,wBAAwB;wBAAE,OAAO;oBAChD,IAAI,WAAW,IAAI,GAAG;wBAClB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAClC,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AACD,SAAS,aAAa,CAAC,GAAW,EAAE,GAAW,EAAE,QAAgB;IAC7D,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC;AAwCD;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,kBAAkB;IAE3B,gCAAgC;IAChC,IAAI,IAAI;QACJ,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,GAAmB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAkC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,GAA+C,EAAE,KAAc;QAEvF,IAAK,GAAgB,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAK,GAAe,CAAC,SAAS,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;gBAC3D,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;aACI,IAAK,GAAwB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAClD,KAAK,MAAM,KAAK,IAAK,GAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC7C,IAAK,KAAc,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAa,EAAE,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;gBACrE,CAAC;YACL,CAAC;QACL,CAAC;QAGD,IAAI,SAA8C,CAAC;QACnD,IAAI,cAAoD,CAAC;QAEzD,IAAK,GAAY,CAAC,MAAM,EAAE,CAAC;YACvB,SAAS,GAAI,GAAY,CAAC,QAA0B,CAAC;QACzD,CAAC;aACI,IAAK,GAAsB,CAAC,gBAAgB,EAAE,CAAC;YAChD,SAAS,GAAG,GAAG,CAAC;QACpB,CAAC;aACI,IAAK,GAAe,CAAC,SAAS,EAAE,CAAC;YAClC,SAAS,GAAG,GAAG,CAAC;QACpB,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,cAAc,IAAI,SAAS,CAAC;gBAC5D,IAAI,cAAc,EAAE,CAAC;oBACjB,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,OAAO,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC9C,CAAC;oBACD,OAAO,KAAK,KAAK,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,aAAa,CAAC,IAAU,EAAE,KAAa;QAE1C,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,IAAI,YAAY,IAAI,IAAK,IAAY,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAExD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC;YACpC,OAAO,kBAAkB,CAAC,YAAY,CAAiB,eAAe,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACtF,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,EAAE,CAAC;oBACxC,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;wBACjC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;oBACD,IAAI,GAAG,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;wBAChC,0HAA0H;wBAC1H,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;4BAChC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;4BACpB,IAAI,KAAK;gCAAE,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC5D,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,mCAAmC;gBACnC,OAAO,GAAG,CAAC;YAEf,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,mCAAmC;gBACnC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;aACI,IAAI,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8EAA8E,EAAE,IAAI,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,iBAAqC,EAAE,QAAgB,CAAC;QAG5E,IAAI,CAAC,iBAAiB;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,iBAAiB,YAAY,QAAQ,IAAK,iBAAyC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC1G,MAAM,QAAQ,GAAG,iBAA6B,CAAC;YAC/C,MAAM,QAAQ,GAAmC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;YAElC,IAAI,KAAK;gBAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAI,QAAQ,YAAY,iBAAiB,EAAE,CAAC;gBACxC,qCAAqC;gBACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAgB,CAAC;oBACrD,IAAI,GAAG,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC;gBACL,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAY,CAAC;oBACtC,IAAI,GAAG,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACpC,MAAM,QAAQ,GAAG,IAAI,KAAK,EAA2C,CAAC;gBACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAY,CAAC;oBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;wBAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3D,CAAC;yBACI,CAAC;wBACF,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC5D,CAAC;gBACL,CAAC;gBACD,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,iBAAiB,YAAY,OAAO,IAAK,iBAA6B,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5F,MAAM,OAAO,GAAG,iBAAiB,CAAC;YAClC,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,OAAgB,EAAE,KAAa,EAAE,QAAyB,EAAE,IAAmB;QAClH,IAAI,OAAO,EAAE,SAAS,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9D,8HAA8H;QAE9H,6EAA6E;QAC7E,OAAO,kBAAkB,CAAC,YAAY,CAAU,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAEvE,gCAAgC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,IAAI,GAAG,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;oBACjB,mJAAmJ;oBAEnJ,0BAA0B;oBAE1B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;wBACnB,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;wBACrB,+BAA+B;oBACnC,CAAC;oBAED,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;wBACxD,IAAI,OAAO;4BAAE,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC5D,CAAC;oBAED,0DAA0D;oBAC1D,0BAA0B;oBAC1B,mEAAmE;oBACnE,+CAA+C;oBAC/C,gBAAgB;oBAChB,+GAA+G;oBAC/G,0BAA0B;oBAC1B,IAAI;gBACR,CAAC;gBAED,mCAAmC;gBACnC,OAAO,GAAG,CAAC;YACf,CAAC;iBACI,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YAED,mCAAmC;YACnC,OAAO,IAAI,CAAC;QAEhB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,mCAAmC;YACnC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAKgB,MAAM,CAAa;IACnB,GAAG,CAAS;IAE7B,YAAY,MAAkB,EAAE,GAAW;QACvC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,IAAU;QAChB,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAqC,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;gBACtF,IAAI,GAAG,EAAE,CAAC;oBACN,IAAI,KAAK,GAAG,KAAK,CAAC;oBAClB,+FAA+F;oBAC/F,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChD,IAAK,GAAe,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;4BACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAyB,CAAC;4BACtE,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gCACzB,KAAK,GAAG,IAAI,CAAC;gCACb,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;4BAC7E,CAAC;wBACL,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,KAAK,EAAE,CAAC;wBACT,+EAA+E;wBAC/E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;4BACnD,IAAI,GAAG,EAAE,CAAC;gCACN,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;4BAC7E,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAa,EAAE,EAAE;YACzD,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAkC,CAAC;gBAClF,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClD,IAAK,KAAc,CAAC,MAAM,EAAE,CAAC;4BACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAA2C,CAAC;4BAC1F,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gCACvB,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAa,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;4BAC7G,CAAC;wBACL,CAAC;oBACL,CAAC;gBAEL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,GAAG,CAAC,GAAW,EAAE,GAAY,EAAE,KAAa,EAAE,GAAqC,EAAE,EAAE;QACzG,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/F,mKAAmK;QACnK,uEAAuE;QACvE,IAAI,GAAG,CAAC,MAAM;YACV,GAAG,CAAC,MAAM,CAAC,4BAA4B,CAAC,GAAG,GAAG,CAAC;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;QACxB,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3E,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,YAAY,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,IAAU,EAAE,KAAa,EAAE,KAAyB,EAAE,GAAkC,EAAE,EAAE;QACzI,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA0B,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC/C,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvF,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE1C,IAAI,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAA4C,CAAC;QAClG,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAA0B,CAAC,CAAC;;YACxD,QAAQ,GAAG,CAAC,IAAI,CAAC,QAA0B,CAAC,CAAC;QAClD,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAElD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,CAAC;IAGF,4DAA4D;IACpD,MAAM,CAAU,QAAQ,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC/E,wCAAwC;IAChC,MAAM,CAAU,gBAAgB,GAA6E,IAAI,GAAG,EAAE,CAAC;IAC/H,sEAAsE;IAC9D,MAAM,CAAU,WAAW,GAA4C,IAAI,GAAG,EAAE,CAAC;IAEjF,MAAM,CAAC,KAAK,CAAC,YAAY,CAAqC,OAAoC,EAAE,KAAa;QAErH,MAAM,YAAY,GAAG,KAAK,IAAI,SAAS,CAAC;QAExC,qDAAqD;QACrD,MAAM,GAAG,GAA+B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC;QAExB,IAAI,eAAqD,CAAC;QAE1D,uEAAuE;QACvE,IAAK,OAAmB,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,OAAkB,CAAC;YAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,4BAA4B,CAAC;gBACtD,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACnE,CAAC;QAGD,IAAI,CAAC,eAAe;YAAE,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhF,IAAI,eAAe,EAAE,CAAC;YAElB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,iBAAiB,IAAI,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC5D,SAAS,GAAG,IAAI,CAAC;gBACrB,CAAC;qBACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC1B,SAAS,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAM,CAAC;oBACjD,OAAO,MAAM,CAAC;gBAClB,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;YAEzH,yBAAyB;YACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC3C,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,4CAA4C,GAAG,KAAK,EAAE,eAAe,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,2BAA2B;YAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;YAExD,kEAAkE;YAClE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;oBACtE,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,sDAAsD;gBACtD,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC;gBAEjD,wDAAwD;gBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,YAAY;wBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,gCAAgC,GAAG,EAAE,CAAC,CAAC;oBACjF,IAAI,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACjC,OAAO,CAAC,KAAK,CAAC,qBAAqB,KAAK,SAAS,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC;wBACnE,OAAO,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;oBACH,IAAI,iBAAiB,GAAG,KAAK,CAAC;oBAC9B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBACd,qGAAqG;wBACrG,kDAAkD;oBACtD,CAAC;yBACI,IAAI,GAAG,YAAY,OAAO,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;wBAC5D,gDAAgD;wBAChD,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;4BACtC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;wBAC1C,CAAC;wBACD,mDAAmD;6BAC9C,CAAC;4BACF,iBAAiB,GAAG,IAAI,CAAC;4BACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACtC,CAAC;oBACL,CAAC;yBACI,IAAI,GAAG,YAAY,cAAc,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;wBAC1E,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;4BACjC,qBAAqB;wBACzB,CAAC;6BACI,CAAC;4BACF,iBAAiB,GAAG,IAAI,CAAC;4BACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACtC,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACrB,OAAO,GAAQ,CAAC;oBACpB,CAAC;gBACL,CAAC;gBAED,MAAM,GAAG,GAAG,eAAe,CAAC;gBAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAqD,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;oBAEjG,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAChC,sBAAsB,CAAC,MAAM,CAAC,CAAC;oBAE/B,IAAI,KAAK,EAAE,CAAC;wBACR,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;wBAC9D,IAAI,YAAY;4BAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnF,CAAC;oBAED,IAAI,GAAG,GAAG,OAAO,CAAC;oBAClB,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;4BACf,GAAG,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;wBAChC,CAAC;oBACL,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACjD,OAAO,CAAC,KAAK,CAAC,qBAAqB,KAAK,SAAS,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC;wBACnE,OAAO,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,IAAI;wBAAE,OAAO,IAAI,CAAC;oBAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC3B,IAAI,YAAY;wBAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvE,IAAI,KAAK,GAAG,CAAC,CAAC;oBAEd,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC5B,IAAI,KAAK,GAAG,KAAK,CAAC;wBAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAC1C,yBAAyB;4BACzB,IAAI,GAAG,EAAE,UAAU,EAAE,CAAC;gCAClB,MAAM,KAAK,GAA6B,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;gCACxE,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;oCACd,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;wCAC1B,KAAK,GAAG,IAAI,CAAC;wCACb,MAAM;oCACV,CAAC;gCACL,CAAC;4BACL,CAAC;4BACD,KAAK,EAAE,CAAC;wBACZ,CAAC;wBACD,IAAI,KAAK,EAAE,CAAC;4BACR,IAAI,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAY,CAAC;4BAClE,IAAI,YAAY;gCAAE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;4BAClH,IAAI,OAAO,YAAY,OAAO;gCAC1B,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;4BAC1C,IAAI,GAAG,EAAE,CAAC;gCACL,GAAW,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;4BACjC,CAAC;4BACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;wBACxB,CAAC;oBACL,CAAC;oBAED,KAAK,GAAG,CAAC,CAAC;oBAEV,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC1B,IAAI,KAAK,GAAG,KAAK,CAAC;wBAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;4BACzC,sBAAsB;4BACtB,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;gCACnB,MAAM,KAAK,GAA6B,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;gCACzE,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;oCACd,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;wCAC1B,KAAK,GAAG,IAAI,CAAC;wCACb,MAAM;oCACV,CAAC;gCACL,CAAC;4BACL,CAAC;4BACD,KAAK,EAAE,CAAC;wBACZ,CAAC;wBACD,IAAI,KAAK,EAAE,CAAC;4BACR,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAiB,CAAC;4BAEvE,MAAM,OAAO,GAAG,GAAoC,CAAC;4BAErD,IAAI,YAAY;gCAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;4BAEzF,IAAK,IAAa,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gCACjC,MAAM,GAAG,GAAI,IAAa,CAAC,QAA0B,CAAC;gCACtD,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gCACjG,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;4BACxB,CAAC;iCACI,CAAC;gCACF,MAAM,UAAU,GAAG,IAAI,KAAK,EAAkB,CAAC;gCAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oCAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oCAC/B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;wCACxB,MAAM,GAAG,GAAG,KAAK,CAAC,QAA0B,CAAC;wCAC7C,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;wCACzF,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCACzB,CAAC;gCACL,CAAC;gCACD,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;4BAC/B,CAAC;wBACL,CAAC;oBACL,CAAC;oBAED,0DAA0D;oBAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,GAAQ,CAAC;YACpB,CAAC;iBACI,CAAC;gBACF,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;oBAC7B,IAAI,YAAY;wBAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC,CAAC;oBACnE,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;oBACnC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC5C,IAAI,GAAG,EAAE,CAAC;wBACL,GAAW,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;wBACzC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;wBAClB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;wBACvB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;wBACpC,IAAI,YAAY;4BACZ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;oBAC1C,CAAC;yBACI,IAAI,KAAK;wBAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBACxD,OAAO,GAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;aACI,CAAC;YACF,IAAI,KAAK;gBACL,OAAO,CAAC,IAAI,CAAC,oBAAoB,KAAK,6BAA6B,MAAM,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,GAAW,EAAE,GAA2C,EAAE,GAAW,EAAE,KAAa,EAAE,KAAc,EAAE,OAAgB;QACtJ,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,GAAmB,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjF,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC;IAC7B,CAAC;IACO,MAAM,CAAC,yBAAyB,CAAC,GAA+C;QACpF,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;IACvC,CAAC;IAEO,MAAM,CAAU,eAAe,GAA8B,IAAI,GAAG,EAAE,CAAC;IAEvE,MAAM,CAAC,YAAY,CAAC,MAAe,EAAE,MAAe;QACxD,uDAAuD;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,aAAa,CAAC;QACzB,CAAC;QACD,6GAA6G;QAC7G,yDAAyD;QACzD,sDAAsD;QACtD,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,wEAAwE;QACxE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACtC,OAAO,MAAM,CAAC;IAElB,CAAC;;AAKL,gEAAgE;AAEhE,MAAM,cAAc;IACP,GAAG,CAAS;IACrB,4CAA4C;IACnC,GAAG,CAAS;IACZ,KAAK,CAAS;IACvB,iFAAiF;IACxE,KAAK,CAAU;IACxB,uBAAuB;IACd,OAAO,CAAU;IAE1B,YAAY,GAAW,EAAE,GAAW,EAAE,KAAa,EAAE,KAAc,EAAE,OAAgB;QACjF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,IAAI,SAAS;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,IAAI,OAAO,IAAI,SAAS;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC;CACJ;AAAA,CAAC"}
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI/C,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM/C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,QAAuB,EAAE,MAAkB,EAAE,IAA+B;IAC1H,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,IAAI,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAID,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,0GAA0G;AAC1G,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC/C,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAgB,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC"}
|
package/lib/loaders.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../src/loaders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAEtE,MAAM,8BAA8B,GAAG,yDAAyD,CAAC;AACjG,MAAM,gCAAgC,GAAG,uEAAuE,CAAC;AAGjH,IAAI,WAAwB,CAAC;AAC7B,IAAI,cAAqC,CAAC;AAC1C,IAAI,UAAsB,CAAC;AAG3B,MAAM,UAAU,aAAa,CAAC,QAAuB;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,WAAW,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;QAC3D,WAAW,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,UAAU,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,cAAc,GAAG,cAAc,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACX,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;;QAEG,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;AAE/G,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAkB;IACrD,IAAI,CAAC,MAAM,CAAC,WAAW;QACnB,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAE,MAAc,CAAC,UAAU;QAC3B,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAE,MAAc,CAAC,cAAc;QAC/B,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC"}
|
package/lib/lods_manager.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lods_manager.js","sourceRoot":"","sources":["../../src/lods_manager.ts"],"names":[],"mappings":"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"}
|
package/lib/plugins/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAkC,MAAM,aAAa,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modelviewer.js","sourceRoot":"","sources":["../../../src/plugins/modelviewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/plugin.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,KAAK,EAA6B,CAAC;AAE9D;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiC;IAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC"}
|
package/lib/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAA0B,EAAE,GAAW;IAC9D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjB,uCAAuC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QACpD,yCAAyC;QACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,0BAA0B;QAC1B,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC;QAC9B,2DAA2D;QAC3D,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|