@needle-tools/engine 4.7.2-next.37cf642 → 4.7.2-next.d24ebbc
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/{gltf-progressive-BiLgh4_q.js → gltf-progressive-CNdBjvz6.js} +398 -412
- package/dist/gltf-progressive-C_oN6wCA.umd.cjs +8 -0
- package/dist/gltf-progressive-MgWOszRl.min.js +8 -0
- package/dist/{needle-engine.bundle-CaBnooYY.min.js → needle-engine.bundle-CGXifNgp.min.js} +5 -5
- package/dist/{needle-engine.bundle-DuNhdVQQ.js → needle-engine.bundle-CHfSBXXT.js} +19 -22
- package/dist/{needle-engine.bundle-BECP5XKQ.umd.cjs → needle-engine.bundle-Dcn5L5IY.umd.cjs} +6 -6
- package/dist/needle-engine.js +3 -3
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine/engine_input.js +0 -3
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +11 -14
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine-components/Skybox.js +1 -1
- package/lib/engine-components/Skybox.js.map +1 -1
- package/package.json +2 -2
- package/src/engine/engine_input.ts +1 -8
- package/src/engine/webcomponents/needle-engine.ts +13 -15
- package/src/engine-components/Skybox.ts +1 -1
- package/dist/gltf-progressive-Cyd060gj.umd.cjs +0 -8
- package/dist/gltf-progressive-Q-uNWnqA.min.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/needle-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/needle-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ function createRemoteSkyboxComponent(context, url, skybox, environment, attribut
|
|
|
24
24
|
// when the user sets the attribute to a color we can not handle it as a skybox url.
|
|
25
25
|
if (url === "transparent" || url?.startsWith("rgb") || url?.startsWith("#")) {
|
|
26
26
|
console.warn(`Needle Engine: Invalid ${attribute} value (${url}). Did you mean to set background-color instead?`);
|
|
27
|
-
return
|
|
27
|
+
return;
|
|
28
28
|
}
|
|
29
29
|
const remote = new RemoteSkybox();
|
|
30
30
|
remote.allowDrop = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "4.7.2-next.
|
|
3
|
+
"version": "4.7.2-next.d24ebbc",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
|
|
5
5
|
"main": "dist/needle-engine.min.js",
|
|
6
6
|
"exports": {
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
],
|
|
94
94
|
"dependencies": {
|
|
95
95
|
"@dimforge/rapier3d-compat": "^0.14.0",
|
|
96
|
-
"@needle-tools/gltf-progressive": "3.0.0-alpha.
|
|
96
|
+
"@needle-tools/gltf-progressive": "3.0.0-alpha.1",
|
|
97
97
|
"@webxr-input-profiles/motion-controllers": "^1.0.0",
|
|
98
98
|
"flatbuffers": "2.0.4",
|
|
99
99
|
"md5": "^2.3.0",
|
|
@@ -241,9 +241,6 @@ declare type EventListenerOptions = {
|
|
|
241
241
|
signal?: AbortSignal;
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
|
|
245
|
-
type RegisteredEventListenerValue = Array<{ priority: number, listeners: Array<{ callback: InputEventListener, options: EventListenerOptions }> }>;
|
|
246
|
-
|
|
247
244
|
/**
|
|
248
245
|
* The input system is responsible for handling all input events like pointer events (mouse, touch, xr controllers) and keyboard events.
|
|
249
246
|
*/
|
|
@@ -253,7 +250,7 @@ export class Input implements IInput {
|
|
|
253
250
|
* That way users can control if they want to receive events before or after other listeners (e.g subscribe to pointer events before the EventSystem receives them) - this allows certain listeners to be always invoked first (or last) and stop propagation
|
|
254
251
|
* Listeners per event are sorted
|
|
255
252
|
*/
|
|
256
|
-
private readonly _eventListeners:
|
|
253
|
+
private readonly _eventListeners: { [key: string]: Array<{ priority: number, listeners: Array<{ callback: InputEventListener, options: EventListenerOptions }> }> } = {};
|
|
257
254
|
|
|
258
255
|
/** Adds an event listener for the specified event type. The callback will be called when the event is triggered.
|
|
259
256
|
* @param type The event type to listen for
|
|
@@ -849,10 +846,6 @@ export class Input implements IInput {
|
|
|
849
846
|
}
|
|
850
847
|
|
|
851
848
|
unbindEvents() {
|
|
852
|
-
for (const key in this._eventListeners) {
|
|
853
|
-
this._eventListeners[key].length = 0; // clear all listeners for this event
|
|
854
|
-
}
|
|
855
|
-
|
|
856
849
|
window.removeEventListener('contextmenu', this.onContextMenu);
|
|
857
850
|
|
|
858
851
|
this._htmlEventSource?.removeEventListener('pointerdown', this.onPointerDown);
|
|
@@ -869,21 +869,19 @@ function getDisplayName(str: string) {
|
|
|
869
869
|
|
|
870
870
|
|
|
871
871
|
function handleLoadingBlur(needleEngineElement: NeedleEngineWebComponent) {
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
872
|
+
const userBlurSetting = needleEngineElement.getAttribute("loading-blur");
|
|
873
|
+
if (userBlurSetting !== null && userBlurSetting !== "0") {
|
|
874
|
+
onStart((ctx) => {
|
|
875
875
|
if (ctx.domElement === needleEngineElement) {
|
|
876
876
|
|
|
877
877
|
const promise = ctx.lodsManager.manager?.awaitLoading({
|
|
878
|
-
frames: 5,
|
|
879
878
|
signal: AbortSignal.timeout(10_000), // Limit how long the page can be blurred
|
|
880
|
-
maxPromisesPerObject: 1,
|
|
881
879
|
}).catch(_ => {
|
|
882
880
|
// Ignore errors (none are expected tho...)
|
|
883
881
|
});
|
|
884
|
-
let blur = "
|
|
882
|
+
let blur = "10px";
|
|
885
883
|
if (userBlurSetting.endsWith("px")) blur = userBlurSetting;
|
|
886
|
-
const duration =
|
|
884
|
+
const duration = 500;
|
|
887
885
|
|
|
888
886
|
// If the scene has a transparent background we apply a blur to the canvas directly to not *also* blur images
|
|
889
887
|
// But don't always use this effect because the edges don't look as good as with a backdrop filter
|
|
@@ -898,30 +896,30 @@ function handleLoadingBlur(needleEngineElement: NeedleEngineWebComponent) {
|
|
|
898
896
|
const animation = canvas.animate([{
|
|
899
897
|
filter: "blur(0px)",
|
|
900
898
|
}
|
|
901
|
-
], { duration: duration, easing: "ease-in"
|
|
899
|
+
], { duration: duration, easing: "ease-in" });
|
|
902
900
|
animation.onfinish = () => {
|
|
903
901
|
canvas.style.filter = originalFilterValue;
|
|
904
902
|
domElement.style.overflow = originalOverflowValue;
|
|
905
903
|
};
|
|
906
904
|
});
|
|
907
905
|
}
|
|
908
|
-
else
|
|
906
|
+
else
|
|
907
|
+
{
|
|
909
908
|
const blurryElement = document.createElement("div");
|
|
910
909
|
ctx.domElement.prepend(blurryElement);
|
|
911
|
-
blurryElement.style.cssText = "position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10;
|
|
910
|
+
blurryElement.style.cssText = "position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10;";
|
|
912
911
|
blurryElement.style.backdropFilter = `blur(${blur})`;
|
|
913
912
|
promise?.then(() => {
|
|
914
913
|
const animation = blurryElement.animate([{
|
|
915
914
|
backdropFilter: "blur(0px)",
|
|
916
|
-
opacity: 0,
|
|
917
915
|
}
|
|
918
|
-
], { duration: duration, easing: "ease-in"
|
|
916
|
+
], { duration: duration, easing: "ease-in" });
|
|
919
917
|
animation.onfinish = () => {
|
|
920
918
|
blurryElement.remove();
|
|
921
919
|
};
|
|
922
920
|
});
|
|
923
921
|
}
|
|
924
922
|
}
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
}
|
|
923
|
+
}, { once: true });
|
|
924
|
+
}
|
|
925
|
+
}
|
|
@@ -24,7 +24,7 @@ function createRemoteSkyboxComponent(context: IContext, url: string, skybox: boo
|
|
|
24
24
|
// when the user sets the attribute to a color we can not handle it as a skybox url.
|
|
25
25
|
if (url === "transparent" || url?.startsWith("rgb") || url?.startsWith("#")) {
|
|
26
26
|
console.warn(`Needle Engine: Invalid ${attribute} value (${url}). Did you mean to set background-color instead?`);
|
|
27
|
-
return
|
|
27
|
+
return;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
const remote = new RemoteSkybox();
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";var qe=Object.defineProperty;var Ee=n=>{throw TypeError(n)};var Ke=(n,t,e)=>t in n?qe(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var c=(n,t,e)=>Ke(n,typeof t!="symbol"?t+"":t,e),Ge=(n,t,e)=>t.has(n)||Ee("Cannot "+e);var m=(n,t,e)=>(Ge(n,t,"read from private field"),e?e.call(n):t.get(n)),j=(n,t,e)=>t.has(n)?Ee("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,e),z=(n,t,e,s)=>(Ge(n,t,"write to private field"),s?s.call(n,e):t.set(n,e),e);const p=require("./three-B_hneGZr.umd.cjs"),te=require("./three-examples-X3OadjXB.umd.cjs"),Ye="";globalThis.GLTF_PROGRESSIVE_VERSION=Ye;console.debug("[gltf-progressive] version -");let W="https://www.gstatic.com/draco/versioned/decoders/1.5.7/",se="https://www.gstatic.com/basis-universal/versioned/2021-04-15-ba1c3e4/";const He=W,je=se,ke=new URL(W+"draco_decoder.js");ke.searchParams.append("range","true");fetch(ke,{method:"GET",headers:{Range:"bytes=0-1"}}).catch(n=>{console.debug(`Failed to fetch remote Draco decoder from ${W} (offline: ${typeof navigator<"u"?navigator.onLine:"unknown"})`),W===He&&$e("./include/draco/"),se===je&&Fe("./include/ktx2/")}).finally(()=>{Ue()});function $e(n){W=n,B&&B[be]!=W?(console.debug("Updating Draco decoder path to "+n),B[be]=W,B.setDecoderPath(W),B.preload()):console.debug("Setting Draco decoder path to "+n)}function Fe(n){se=n,U&&U.transcoderPath!=se?(console.debug("Updating KTX2 transcoder path to "+n),U.setTranscoderPath(se),U.init()):console.debug("Setting KTX2 transcoder path to "+n)}const be=Symbol("dracoDecoderPath");let B,ye,U;function Ue(){B||(B=new te.DRACOLoader,B[be]=W,B.setDecoderPath(W),B.setDecoderConfig({type:"js"}),B.preload()),U||(U=new te.KTX2Loader,U.setTranscoderPath(se),U.init()),ye||(ye=te.MeshoptDecoder)}function Te(n){return Ue(),n?U.detectSupport(n):n!==null&&console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures might fail"),{dracoLoader:B,ktx2Loader:U,meshoptDecoder:ye}}function Ae(n){n.dracoLoader||n.setDRACOLoader(B),n.ktx2Loader||n.setKTX2Loader(U),n.meshoptDecoder||n.setMeshoptDecoder(ye)}const Se=new WeakMap;function Ce(n,t){let e=Se.get(n);e?e=Object.assign(e,t):e=t,Se.set(n,e)}const Me=te.GLTFLoader.prototype.load;function Je(...n){const t=Se.get(this);let e=n[0];const s=new URL(e,window.location.href);if(s.hostname.endsWith("needle.tools")){const r=(t==null?void 0:t.progressive)!==void 0?t.progressive:!0,i=t!=null&&t.usecase?t.usecase:"default";r?this.requestHeader.Accept=`*/*;progressive=allowed;usecase=${i}`:this.requestHeader.Accept=`*/*;usecase=${i}`,e=s.toString()}return n[0]=e,Me==null?void 0:Me.call(this,...n)}te.GLTFLoader.prototype.load=Je;de("debugprogressive");function de(n){if(typeof window>"u")return!1;const e=new URL(window.location.href).searchParams.get(n);return e==null||e==="0"||e==="false"?!1:e===""?!0:e}function Qe(n,t){if(t===void 0||t.startsWith("./")||t.startsWith("http")||n===void 0)return t;const e=n.lastIndexOf("/");if(e>=0){const s=n.substring(0,e+1);for(;s.endsWith("/")&&t.startsWith("/");)t=t.substring(1);return s+t}return t}let ne;function Ze(){return ne!==void 0||(ne=/iPhone|iPad|iPod|Android|IEMobile/i.test(navigator.userAgent),de("debugprogressive")&&console.log("[glTF Progressive]: isMobileDevice",ne)),ne}function et(){if(typeof window>"u")return!1;const n=new URL(window.location.href),t=n.hostname==="localhost"||/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n.hostname);return n.hostname==="127.0.0.1"||t}const tt=typeof window>"u"&&typeof document>"u",Pe=Symbol("needle:raycast-mesh");function ie(n){return(n==null?void 0:n[Pe])instanceof p.BufferGeometry?n[Pe]:null}function st(n,t){if((n.type==="Mesh"||n.type==="SkinnedMesh")&&!ie(n)){const s=it(t);s.userData={isRaycastMesh:!0},n[Pe]=s}}function rt(n=!0){if(n){if(ae)return;const t=ae=p.Mesh.prototype.raycast;p.Mesh.prototype.raycast=function(e,s){const o=this,r=ie(o);let i;r&&o.isMesh&&(i=o.geometry,o.geometry=r),t.call(this,e,s),i&&(o.geometry=i)}}else{if(!ae)return;p.Mesh.prototype.raycast=ae,ae=null}}let ae=null;function it(n){const t=new p.BufferGeometry;for(const e in n.attributes)t.setAttribute(e,n.getAttribute(e));return t.setIndex(n.getIndex()),t}const Q=new Array,L=de("debugprogressive");let pe,ee=-1;if(L){let n=function(){ee+=1,ee>=t&&(ee=-1),console.log(`Toggle LOD level [${ee}]`)},t=6;window.addEventListener("keyup",e=>{e.key==="p"&&n(),e.key==="w"&&(pe=!pe,console.log(`Toggle wireframe [${pe}]`));const s=parseInt(e.key);!isNaN(s)&&s>=0&&(ee=s,console.log(`Set LOD level to [${ee}]`))})}function Ne(n){if(L)if(Array.isArray(n))for(const t of n)Ne(t);else n&&"wireframe"in n&&(n.wireframe=pe===!0)}const K="NEEDLE_progressive",De=Symbol("needle-progressive-texture"),_=class _{constructor(t,e){c(this,"parser");c(this,"url");c(this,"_isLoadingMesh");c(this,"loadMesh",t=>{var s,o;if(this._isLoadingMesh)return null;const e=(o=(s=this.parser.json.meshes[t])==null?void 0:s.extensions)==null?void 0:o[K];return e?(this._isLoadingMesh=!0,this.parser.getDependency("mesh",t).then(r=>{var i;return this._isLoadingMesh=!1,r&&_.registerMesh(this.url,e.guid,r,(i=e.lods)==null?void 0:i.length,0,e),r})):null});L&&console.log("Progressive extension registered for",e),this.parser=t,this.url=e}get name(){return K}static getMeshLODExtension(t){const e=this.getAssignedLODInformation(t);return e!=null&&e.key?this.lodInfos.get(e.key):null}static getPrimitiveIndex(t){var s;const e=(s=this.getAssignedLODInformation(t))==null?void 0:s.index;return e??-1}static getMaterialMinMaxLODsCount(t,e){const s=this,o="LODS:minmax",r=t[o];if(r!=null)return r;if(e||(e={min_count:1/0,max_count:0,lods:[]}),Array.isArray(t)){for(const a of t)this.getMaterialMinMaxLODsCount(a,e);return t[o]=e,e}if(L==="verbose"&&console.log("getMaterialMinMaxLODsCount",t),t.type==="ShaderMaterial"||t.type==="RawShaderMaterial"){const a=t;for(const l of Object.keys(a.uniforms)){const u=a.uniforms[l].value;(u==null?void 0:u.isTexture)===!0&&i(u,e)}}else if(t.isMaterial)for(const a of Object.keys(t)){const l=t[a];(l==null?void 0:l.isTexture)===!0&&i(l,e)}return t[o]=e,e;function i(a,l){const u=s.getAssignedLODInformation(a);if(u){const d=s.lodInfos.get(u.key);if(d&&d.lods){l.min_count=Math.min(l.min_count,d.lods.length),l.max_count=Math.max(l.max_count,d.lods.length);for(let h=0;h<d.lods.length;h++){const g=d.lods[h];g.width&&(l.lods[h]=l.lods[h]||{min_height:1/0,max_height:0},l.lods[h].min_height=Math.min(l.lods[h].min_height,g.height),l.lods[h].max_height=Math.max(l.lods[h].max_height,g.height))}}}}}static hasLODLevelAvailable(t,e){var r;if(Array.isArray(t)){for(const i of t)if(this.hasLODLevelAvailable(i,e))return!0;return!1}if(t.isMaterial===!0){for(const i of Object.keys(t)){const a=t[i];if(a&&a.isTexture&&this.hasLODLevelAvailable(a,e))return!0}return!1}else if(t.isGroup===!0){for(const i of t.children)if(i.isMesh===!0&&this.hasLODLevelAvailable(i,e))return!0}let s,o;if(t.isMesh?s=t.geometry:(t.isBufferGeometry||t.isTexture)&&(s=t),s&&(r=s==null?void 0:s.userData)!=null&&r.LODS){const i=s.userData.LODS;if(o=this.lodInfos.get(i.key),e===void 0)return o!=null;if(o)return Array.isArray(o.lods)?e<o.lods.length:e===0}return!1}static assignMeshLOD(t,e){var s;if(!t)return Promise.resolve(null);if(t instanceof p.Mesh||t.isMesh===!0){const o=t.geometry,r=this.getAssignedLODInformation(o);if(!r)return Promise.resolve(null);for(const i of Q)(s=i.onBeforeGetLODMesh)==null||s.call(i,t,e);return t["LOD:requested level"]=e,_.getOrLoadLOD(o,e).then(i=>{if(Array.isArray(i)){const a=r.index||0;i=i[a]}return t["LOD:requested level"]===e&&(delete t["LOD:requested level"],i&&o!=i&&((i==null?void 0:i.isBufferGeometry)?t.geometry=i:L&&console.error("Invalid LOD geometry",i))),i}).catch(i=>(console.error("Error loading mesh LOD",t,i),null))}else L&&console.error("Invalid call to assignMeshLOD: Request mesh LOD but the object is not a mesh",t);return Promise.resolve(null)}static assignTextureLOD(t,e=0){if(!t)return Promise.resolve(null);if(t.isMesh===!0){const s=t;if(Array.isArray(s.material)){const o=new Array;for(const r of s.material){const i=this.assignTextureLOD(r,e);o.push(i)}return Promise.all(o).then(r=>{const i=new Array;for(const a of r)Array.isArray(a)&&i.push(...a);return i})}else return this.assignTextureLOD(s.material,e)}if(t.isMaterial===!0){const s=t,o=[],r=new Array;if(s.uniforms&&(s.isRawShaderMaterial||s.isShaderMaterial===!0)){const i=s;for(const a of Object.keys(i.uniforms)){const l=i.uniforms[a].value;if((l==null?void 0:l.isTexture)===!0){const u=this.assignTextureLODForSlot(l,e,s,a).then(d=>(d&&i.uniforms[a].value!=d&&(i.uniforms[a].value=d,i.uniformsNeedUpdate=!0),d));o.push(u),r.push(a)}}}else for(const i of Object.keys(s)){const a=s[i];if((a==null?void 0:a.isTexture)===!0){const l=this.assignTextureLODForSlot(a,e,s,i);o.push(l),r.push(i)}}return Promise.all(o).then(i=>{const a=new Array;for(let l=0;l<i.length;l++){const u=i[l],d=r[l];u&&u.isTexture===!0?a.push({material:s,slot:d,texture:u,level:e}):a.push({material:s,slot:d,texture:null,level:e})}return a})}if(t instanceof p.Texture||t.isTexture===!0){const s=t;return this.assignTextureLODForSlot(s,e,null,null)}return Promise.resolve(null)}static assignTextureLODForSlot(t,e,s,o){return(t==null?void 0:t.isTexture)!==!0?Promise.resolve(null):o==="glyphMap"?Promise.resolve(t):_.getOrLoadLOD(t,e).then(r=>{if(Array.isArray(r))return null;if((r==null?void 0:r.isTexture)===!0){if(r!=t&&s&&o){const i=s[o];if(i&&!L){const a=this.getAssignedLODInformation(i);if(a&&(a==null?void 0:a.level)<e)return L==="verbose"&&console.warn("Assigned texture level is already higher: ",a.level,e,s,i,r),null}s[o]=r}return r}else L=="verbose"&&console.warn("No LOD found for",t,e);return null}).catch(r=>(console.error("Error loading LOD",t,r),null))}afterRoot(t){var e,s;return L&&console.log("AFTER",this.url,t),(e=this.parser.json.textures)==null||e.forEach((o,r)=>{var i;if(o!=null&&o.extensions){const a=o==null?void 0:o.extensions[K];if(a){if(!a.lods){L&&console.warn("Texture has no LODs",a);return}let l=!1;for(const u of this.parser.associations.keys())if(u.isTexture===!0){const d=this.parser.associations.get(u);(d==null?void 0:d.textures)===r&&(l=!0,_.registerTexture(this.url,u,(i=a.lods)==null?void 0:i.length,r,a))}l||this.parser.getDependency("texture",r).then(u=>{var d;u&&_.registerTexture(this.url,u,(d=a.lods)==null?void 0:d.length,r,a)})}}}),(s=this.parser.json.meshes)==null||s.forEach((o,r)=>{if(o!=null&&o.extensions){const i=o==null?void 0:o.extensions[K];if(i&&i.lods){for(const a of this.parser.associations.keys())if(a.isMesh){const l=this.parser.associations.get(a);(l==null?void 0:l.meshes)===r&&_.registerMesh(this.url,i.guid,a,i.lods.length,l.primitives,i)}}}}),null}static async getOrLoadLOD(t,e){var a,l,u,d;const s=L=="verbose",o=t.userData.LODS;if(!o)return null;const r=o==null?void 0:o.key;let i;if(t.isTexture===!0){const h=t;h.source&&h.source[De]&&(i=h.source[De])}if(i||(i=_.lodInfos.get(r)),i){if(e>0){let D=!1;const S=Array.isArray(i.lods);if(S&&e>=i.lods.length?D=!0:S||(D=!0),D)return this.lowresCache.get(r)}const h=Array.isArray(i.lods)?(a=i.lods[e])==null?void 0:a.path:i.lods;if(!h)return L&&!i["missing:uri"]&&(i["missing:uri"]=!0,console.warn("Missing uri for progressive asset for LOD "+e,i)),null;const g=Qe(o.url,h);if(g.endsWith(".glb")||g.endsWith(".gltf")){if(!i.guid)return console.warn("missing pointer for glb/gltf texture",i),null;const D=g+"_"+i.guid,S=this.previouslyLoaded.get(D);if(S!==void 0){s&&console.log(`LOD ${e} was already loading/loaded: ${D}`);let v=await S.catch(y=>(console.error(`Error loading LOD ${e} from ${g}
|
|
2
|
-
`,y),null)),b=!1;if(v==null||(v instanceof p.Texture&&t instanceof p.Texture?(l=v.image)!=null&&l.data||(u=v.source)!=null&&u.data?v=this.copySettings(t,v):(b=!0,this.previouslyLoaded.delete(D)):v instanceof p.BufferGeometry&&t instanceof p.BufferGeometry&&((d=v.attributes.position)!=null&&d.array||(b=!0,this.previouslyLoaded.delete(D)))),!b)return v}const M=i,N=new Promise(async(v,b)=>{const y=new te.GLTFLoader;Ae(y),L&&(await new Promise(P=>setTimeout(P,1e3)),s&&console.warn("Start loading (delayed) "+g,M.guid));let q=g;if(M&&Array.isArray(M.lods)){const P=M.lods[e];P.hash&&(q+="?v="+P.hash)}const A=await y.loadAsync(q).catch(P=>(console.error(`Error loading LOD ${e} from ${g}
|
|
3
|
-
`,P),null));if(!A)return null;const R=A.parser;s&&console.log("Loading finished "+g,M.guid);let I=0;if(A.parser.json.textures){let P=!1;for(const f of A.parser.json.textures){if(f!=null&&f.extensions){const T=f==null?void 0:f.extensions[K];if(T!=null&&T.guid&&T.guid===M.guid){P=!0;break}}I++}if(P){let f=await R.getDependency("texture",I);return f&&_.assignLODInformation(o.url,f,r,e,void 0),s&&console.log('change "'+t.name+'" → "'+f.name+'"',g,I,f,D),t instanceof p.Texture&&(f=this.copySettings(t,f)),f&&(f.guid=M.guid),v(f)}else L&&console.warn("Could not find texture with guid",M.guid,A.parser.json)}if(I=0,A.parser.json.meshes){let P=!1;for(const f of A.parser.json.meshes){if(f!=null&&f.extensions){const T=f==null?void 0:f.extensions[K];if(T!=null&&T.guid&&T.guid===M.guid){P=!0;break}}I++}if(P){const f=await R.getDependency("mesh",I);if(s&&console.log(`Loaded Mesh "${f.name}"`,g,I,f,D),f.isMesh===!0){const T=f.geometry;return _.assignLODInformation(o.url,T,r,e,0),v(T)}else{const T=new Array;for(let w=0;w<f.children.length;w++){const O=f.children[w];if(O.isMesh===!0){const C=O.geometry;_.assignLODInformation(o.url,C,r,e,w),T.push(C)}}return v(T)}}else L&&console.warn("Could not find mesh with guid",M.guid,A.parser.json)}return v(null)});return this.previouslyLoaded.set(D,N),await N}else if(t instanceof p.Texture){s&&console.log("Load texture from uri: "+g);const S=await new p.TextureLoader().loadAsync(g);return S?(S.guid=i.guid,S.flipY=!1,S.needsUpdate=!0,S.colorSpace=t.colorSpace,s&&console.log(i,S)):L&&console.warn("failed loading",g),S}}else L&&console.warn(`Can not load LOD ${e}: no LOD info found for "${r}" ${t.name}`,t.type);return null}static assignLODInformation(t,e,s,o,r){if(!e)return;e.userData||(e.userData={});const i=new ot(t,s,o,r);e.userData.LODS=i}static getAssignedLODInformation(t){var e;return((e=t==null?void 0:t.userData)==null?void 0:e.LODS)||null}static copySettings(t,e){return e?(L&&console.warn(`Copy texture settings
|
|
4
|
-
`,t.uuid,`
|
|
5
|
-
`,e.uuid),e=e.clone(),e.offset=t.offset,e.repeat=t.repeat,e.colorSpace=t.colorSpace,e.magFilter=t.magFilter,e.minFilter=t.minFilter,e.wrapS=t.wrapS,e.wrapT=t.wrapT,e.flipY=t.flipY,e.anisotropy=t.anisotropy,e.mipmaps||(e.generateMipmaps=t.generateMipmaps),e):t}};c(_,"registerTexture",(t,e,s,o,r)=>{if(L&&console.log("> Progressive: register texture",o,e.name,e.uuid,e,r),!e){L&&console.error("gltf-progressive: Register texture without texture");return}e.source&&(e.source[De]=r);const i=r.guid;_.assignLODInformation(t,e,i,s,o),_.lodInfos.set(i,r),_.lowresCache.set(i,e)}),c(_,"registerMesh",(t,e,s,o,r,i)=>{var u;const a=s.geometry;if(!a){L&&console.warn("gltf-progressive: Register mesh without geometry");return}a.userData||(a.userData={}),L&&console.log("> Progressive: register mesh "+s.name,{index:r,uuid:s.uuid},i,s),_.assignLODInformation(t,a,e,o,r),_.lodInfos.set(e,i);let l=_.lowresCache.get(e);l?l.push(s.geometry):l=[s.geometry],_.lowresCache.set(e,l),o>0&&!ie(s)&&st(s,a);for(const d of Q)(u=d.onRegisteredNewMesh)==null||u.call(d,s,i)}),c(_,"lodInfos",new Map),c(_,"previouslyLoaded",new Map),c(_,"lowresCache",new Map);let F=_;class ot{constructor(t,e,s,o){c(this,"url");c(this,"key");c(this,"level");c(this,"index");this.url=t,this.key=e,this.level=s,o!=null&&(this.index=o)}}class me{constructor(t,e){c(this,"frame_start");c(this,"frame_capture_end");c(this,"ready");c(this,"_resolve");c(this,"_signal");c(this,"_resolved",!1);c(this,"_addedCount",0);c(this,"_resolvedCount",0);c(this,"_awaiting",[]);c(this,"_maxPromisesPerObject",1);c(this,"_currentFrame",0);c(this,"_seen",new WeakMap);var r;const o=Math.max(e.frames??2,2);this.frame_start=t,this.frame_capture_end=t+o,this.ready=new Promise(i=>{this._resolve=i}),this.ready.finally(()=>{this._resolved=!0,this._awaiting.length=0}),this._signal=e.signal,(r=this._signal)==null||r.addEventListener("abort",()=>{this.resolveNow()}),this._maxPromisesPerObject=Math.max(1,e.maxPromisesPerObject??1)}get awaitedCount(){return this._addedCount}get resolvedCount(){return this._resolvedCount}get currentlyAwaiting(){return this._awaiting.length}update(t){var e;this._currentFrame=t,((e=this._signal)!=null&&e.aborted||this._currentFrame>this.frame_capture_end&&this._awaiting.length===0)&&this.resolveNow()}add(t,e,s){if(this._resolved){L&&console.warn("PromiseGroup: Trying to add a promise to a resolved group, ignoring.");return}if(!(this._currentFrame>this.frame_capture_end)){if(this._maxPromisesPerObject>=1)if(this._seen.has(e)){let o=this._seen.get(e);if(o>=this._maxPromisesPerObject){L&&console.warn("PromiseGroup: Already awaiting object ignoring new promise for it.");return}this._seen.set(e,o+1)}else this._seen.set(e,1);this._awaiting.push(s),this._addedCount++,s.finally(()=>{this._resolvedCount++,this._awaiting.splice(this._awaiting.indexOf(s),1)})}}resolveNow(){var t,e;this._resolved||(e=this._resolve)==null||e.call(this,{awaited_count:this._addedCount,resolved_count:this._resolvedCount,cancelled:((t=this._signal)==null?void 0:t.aborted)??!1})}}c(me,"addPromise",(t,e,s,o)=>{o.forEach(r=>{r.add(t,e,s)})});const $=de("debugprogressive"),nt=de("noprogressive"),ve=Symbol("Needle:LODSManager"),Oe=Symbol("Needle:LODState"),J=Symbol("Needle:CurrentLOD"),E={mesh_lod:-1,texture_lod:-1};var x,G,Y,Le,Z,re,xe,H;let ce=(x=class{constructor(t,e){c(this,"renderer");c(this,"context");c(this,"projectionScreenMatrix",new p.Matrix4);c(this,"targetTriangleDensity",2e5);c(this,"skinnedMeshAutoUpdateBoundsInterval",30);c(this,"updateInterval","auto");j(this,G,1);c(this,"pause",!1);c(this,"manual",!1);c(this,"_newPromiseGroups",[]);c(this,"_promiseGroupIds",0);c(this,"_lodchangedlisteners",[]);j(this,Y);j(this,Le,new p.Clock);j(this,Z,0);j(this,re,0);j(this,xe,0);j(this,H,0);c(this,"_fpsBuffer",[60,60,60,60,60]);c(this,"_sphere",new p.Sphere);c(this,"_tempBox",new p.Box3);c(this,"_tempBox2",new p.Box3);c(this,"tempMatrix",new p.Matrix4);c(this,"_tempWorldPosition",new p.Vector3);c(this,"_tempBoxSize",new p.Vector3);c(this,"_tempBox2Size",new p.Vector3);this.renderer=t,this.context={...e}}static getObjectLODState(t){return t[Oe]}static addPlugin(t){Q.push(t)}static removePlugin(t){const e=Q.indexOf(t);e>=0&&Q.splice(e,1)}static get(t,e){if(t[ve])return console.debug("[gltf-progressive] LODsManager already exists for this renderer"),t[ve];const s=new x(t,{engine:"unknown",...e});return t[ve]=s,s}get plugins(){return Q}awaitLoading(t){const e=this._promiseGroupIds++,s=new me(m(this,Z),{...t});this._newPromiseGroups.push(s);const o=performance.now();return s.ready.finally(()=>{const r=this._newPromiseGroups.indexOf(s);r>=0&&(this._newPromiseGroups.splice(r,1),et()&&performance.measure("LODsManager:awaitLoading",{start:o,detail:{id:e,name:t==null?void 0:t.name,awaited:s.awaitedCount,resolved:s.resolvedCount}}))}),s.ready}_postprocessPromiseGroups(){if(this._newPromiseGroups.length!==0)for(let t=this._newPromiseGroups.length-1;t>=0;t--)this._newPromiseGroups[t].update(m(this,Z))}addEventListener(t,e){t==="changed"&&this._lodchangedlisteners.push(e)}removeEventListener(t,e){if(t==="changed"){const s=this._lodchangedlisteners.indexOf(e);s>=0&&this._lodchangedlisteners.splice(s,1)}}enable(){if(m(this,Y))return;console.debug("[gltf-progressive] Enabling LODsManager for renderer");let t=0;z(this,Y,this.renderer.render);const e=this;Te(this.renderer),this.renderer.render=function(s,o){const r=e.renderer.getRenderTarget();(r==null||"isXRRenderTarget"in r&&r.isXRRenderTarget)&&(t=0,z(e,Z,m(e,Z)+1),z(e,re,m(e,Le).getDelta()),z(e,xe,m(e,xe)+m(e,re)),e._fpsBuffer.shift(),e._fpsBuffer.push(1/m(e,re)),z(e,H,e._fpsBuffer.reduce((a,l)=>a+l)/e._fpsBuffer.length),$&&m(e,Z)%200===0&&console.log("FPS",Math.round(m(e,H)),"Interval:",m(e,G)));const i=t++;m(e,Y).call(this,s,o),e.onAfterRender(s,o,i)}}disable(){m(this,Y)&&(console.debug("[gltf-progressive] Disabling LODsManager for renderer"),this.renderer.render=m(this,Y),z(this,Y,void 0))}update(t,e){this.internalUpdate(t,e)}onAfterRender(t,e,s){if(this.pause)return;const r=this.renderer.renderLists.get(t,0).opaque;let i=!0;if(r.length===1){const a=r[0].material;(a.name==="EffectMaterial"||a.name==="CopyShader")&&(i=!1)}if((e.parent&&e.parent.type==="CubeCamera"||s>=1&&e.type==="OrthographicCamera")&&(i=!1),i){if(nt||(this.updateInterval==="auto"?m(this,H)<40&&m(this,G)<10?(z(this,G,m(this,G)+1),$&&console.warn("↓ Reducing LOD updates",m(this,G),m(this,H).toFixed(0))):m(this,H)>=60&&m(this,G)>1&&(z(this,G,m(this,G)-1),$&&console.warn("↑ Increasing LOD updates",m(this,G),m(this,H).toFixed(0))):z(this,G,this.updateInterval),m(this,G)>0&&m(this,Z)%m(this,G)!=0))return;this.internalUpdate(t,e),this._postprocessPromiseGroups()}}internalUpdate(t,e){var l,u;const s=this.renderer.renderLists.get(t,0),o=s.opaque;this.projectionScreenMatrix.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse);const r=this.targetTriangleDensity;for(const d of o){if(d.material&&(((l=d.geometry)==null?void 0:l.type)==="BoxGeometry"||((u=d.geometry)==null?void 0:u.type)==="BufferGeometry")&&(d.material.name==="SphericalGaussianBlur"||d.material.name=="BackgroundCubeMaterial"||d.material.name==="CubemapFromEquirect"||d.material.name==="EquirectangularToCubeUV")){$&&(d.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]||(d.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]=!0,console.warn("Ignoring skybox or BLIT object",d,d.material.name,d.material.type)));continue}switch(d.material.type){case"LineBasicMaterial":case"LineDashedMaterial":case"PointsMaterial":case"ShadowMaterial":case"MeshDistanceMaterial":case"MeshDepthMaterial":continue}if($==="color"&&d.material&&!d.object.progressive_debug_color){d.object.progressive_debug_color=!0;const g=Math.random()*16777215,D=new p.MeshStandardMaterial({color:g});d.object.material=D}const h=d.object;(h instanceof p.Mesh||h.isMesh)&&this.updateLODs(t,e,h,r)}const i=s.transparent;for(const d of i){const h=d.object;(h instanceof p.Mesh||h.isMesh)&&this.updateLODs(t,e,h,r)}const a=s.transmissive;for(const d of a){const h=d.object;(h instanceof p.Mesh||h.isMesh)&&this.updateLODs(t,e,h,r)}}updateLODs(t,e,s,o){var a,l;s.userData||(s.userData={});let r=s[Oe];if(r||(r=new at,s[Oe]=r),r.frames++<2)return;for(const u of Q)(a=u.onBeforeUpdateLOD)==null||a.call(u,this.renderer,t,e,s);const i=x.overrideGlobalLodLevel!==void 0?x.overrideGlobalLodLevel:ee;i>=0?(E.mesh_lod=i,E.texture_lod=i):(this.calculateLodLevel(e,s,r,o,E),E.mesh_lod=Math.round(E.mesh_lod),E.texture_lod=Math.round(E.texture_lod)),E.mesh_lod>=0&&this.loadProgressiveMeshes(s,E.mesh_lod),s.material&&E.texture_lod>=0&&this.loadProgressiveTextures(s.material,E.texture_lod),L&&s.material&&!s.isGizmo&&Ne(s.material);for(const u of Q)(l=u.onAfterUpdatedLOD)==null||l.call(u,this.renderer,t,e,s,E);r.lastLodLevel_Mesh=E.mesh_lod,r.lastLodLevel_Texture=E.texture_lod}loadProgressiveTextures(t,e){if(!t)return;if(Array.isArray(t)){for(const r of t)this.loadProgressiveTextures(r,e);return}let s=!1;(t[J]===void 0||e<t[J])&&(s=!0);const o=t["DEBUG:LOD"];if(o!=null&&(s=t[J]!=o,e=o),s){t[J]=e;const r=F.assignTextureLOD(t,e).then(i=>{this._lodchangedlisteners.forEach(a=>a({type:"texture",level:e,object:t}))});me.addPromise("texture",t,r,this._newPromiseGroups)}}loadProgressiveMeshes(t,e){if(!t)return Promise.resolve(null);let s=t[J]!==e;const o=t["DEBUG:LOD"];if(o!=null&&(s=t[J]!=o,e=o),s){t[J]=e;const r=t.geometry,i=F.assignMeshLOD(t,e).then(a=>(a&&t[J]==e&&r!=t.geometry&&this._lodchangedlisteners.forEach(l=>l({type:"mesh",level:e,object:t})),a));return me.addPromise("mesh",t,i,this._newPromiseGroups),i}return Promise.resolve(null)}static isInside(t,e){const s=t.min,o=t.max,r=(s.x+o.x)*.5,i=(s.y+o.y)*.5;return this._tempPtInside.set(r,i,s.z).applyMatrix4(e).z<0}calculateLodLevel(t,e,s,o,r){var N,X,v;if(!e){r.mesh_lod=-1,r.texture_lod=-1;return}if(!t){r.mesh_lod=-1,r.texture_lod=-1;return}let a=10+1,l=!1;if($&&e["DEBUG:LOD"]!=null)return e["DEBUG:LOD"];const u=(N=F.getMeshLODExtension(e.geometry))==null?void 0:N.lods,d=F.getPrimitiveIndex(e.geometry),h=u&&u.length>0,g=F.getMaterialMinMaxLODsCount(e.material),D=(g==null?void 0:g.min_count)!=1/0&&g.min_count>0&&g.max_count>0;if(!h&&!D){r.mesh_lod=0,r.texture_lod=0;return}h||(l=!0,a=0);const S=this.renderer.domElement.clientHeight||this.renderer.domElement.height;let M=e.geometry.boundingBox;if(e.type==="SkinnedMesh"){const b=e;if(!b.boundingBox)b.computeBoundingBox();else if(this.skinnedMeshAutoUpdateBoundsInterval>0&&s.frames%this.skinnedMeshAutoUpdateBoundsInterval===0){const y=ie(b),q=b.geometry;y&&(b.geometry=y),b.computeBoundingBox(),b.geometry=q}M=b.boundingBox}if(M){const b=t;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 w=t.getWorldPosition(this._tempWorldPosition);if(this._sphere.containsPoint(w)){r.mesh_lod=0,r.texture_lod=0;return}}if(this._tempBox.copy(M),this._tempBox.applyMatrix4(e.matrixWorld),b.isPerspectiveCamera&&x.isInside(this._tempBox,this.projectionScreenMatrix)){r.mesh_lod=0,r.texture_lod=0;return}if(this._tempBox.applyMatrix4(this.projectionScreenMatrix),this.renderer.xr.enabled&&b.isPerspectiveCamera&&b.fov>70){const w=this._tempBox.min,O=this._tempBox.max;let C=w.x,k=w.y,V=O.x,oe=O.y;const ue=2,we=1.5,fe=(w.x+O.x)*.5,he=(w.y+O.y)*.5;C=(C-fe)*ue+fe,k=(k-he)*ue+he,V=(V-fe)*ue+fe,oe=(oe-he)*ue+he;const We=C<0&&V>0?0:Math.min(Math.abs(w.x),Math.abs(O.x)),Xe=k<0&&oe>0?0:Math.min(Math.abs(w.y),Math.abs(O.y)),_e=Math.max(We,Xe);s.lastCentrality=(we-_e)*(we-_e)*(we-_e)}else s.lastCentrality=1;const y=this._tempBox.getSize(this._tempBoxSize);y.multiplyScalar(.5),screen.availHeight>0&&S>0&&y.multiplyScalar(S/screen.availHeight),t.isPerspectiveCamera?y.x*=t.aspect:t.isOrthographicCamera;const q=t.matrixWorldInverse,A=this._tempBox2;A.copy(M),A.applyMatrix4(e.matrixWorld),A.applyMatrix4(q);const R=A.getSize(this._tempBox2Size),I=Math.max(R.x,R.y);if(Math.max(y.x,y.y)!=0&&I!=0&&(y.z=R.z/Math.max(R.x,R.y)*Math.max(y.x,y.y)),s.lastScreenCoverage=Math.max(y.x,y.y,y.z),s.lastScreenspaceVolume.copy(y),s.lastScreenCoverage*=s.lastCentrality,$&&x.debugDrawLine){const w=this.tempMatrix.copy(this.projectionScreenMatrix);w.invert();const O=x.corner0,C=x.corner1,k=x.corner2,V=x.corner3;O.copy(this._tempBox.min),C.copy(this._tempBox.max),C.x=O.x,k.copy(this._tempBox.max),k.y=O.y,V.copy(this._tempBox.max);const oe=(O.z+V.z)*.5;O.z=C.z=k.z=V.z=oe,O.applyMatrix4(w),C.applyMatrix4(w),k.applyMatrix4(w),V.applyMatrix4(w),x.debugDrawLine(O,C,255),x.debugDrawLine(O,k,255),x.debugDrawLine(C,V,255),x.debugDrawLine(k,V,255)}let f=999;if(u&&s.lastScreenCoverage>0)for(let w=0;w<u.length;w++){const O=u[w];if((((X=O.densities)==null?void 0:X[d])||O.density||1e-5)/s.lastScreenCoverage<o){f=w;break}}f<a&&(a=f,l=!0)}if(l?r.mesh_lod=a:r.mesh_lod=s.lastLodLevel_Mesh,$&&r.mesh_lod!=s.lastLodLevel_Mesh){const y=u==null?void 0:u[r.mesh_lod];y&&console.log(`Mesh LOD changed: ${s.lastLodLevel_Mesh} → ${r.mesh_lod} (${y.density.toFixed(0)}) - ${e.name}`)}if(D){const b="saveData"in globalThis.navigator&&globalThis.navigator.saveData===!0;if(s.lastLodLevel_Texture<0){if(r.texture_lod=g.max_count-1,$){const y=g.lods[g.max_count-1];$&&console.log(`First Texture LOD ${r.texture_lod} (${y.max_height}px) - ${e.name}`)}}else{const y=s.lastScreenspaceVolume.x+s.lastScreenspaceVolume.y+s.lastScreenspaceVolume.z;let q=s.lastScreenCoverage*4;((v=this.context)==null?void 0:v.engine)==="model-viewer"&&(q*=1.5);const R=S/window.devicePixelRatio*q;let I=!1;for(let P=g.lods.length-1;P>=0;P--){const f=g.lods[P];if(!(b&&f.max_height>=2048)&&!(Ze()&&f.max_height>4096)&&(f.max_height>R||!I&&P===0)){if(I=!0,r.texture_lod=P,r.texture_lod<s.lastLodLevel_Texture){const T=f.max_height;$&&console.log(`Texture LOD changed: ${s.lastLodLevel_Texture} → ${r.texture_lod} = ${T}px
|
|
6
|
-
Screensize: ${R.toFixed(0)}px, Coverage: ${(100*s.lastScreenCoverage).toFixed(2)}%, Volume ${y.toFixed(1)}
|
|
7
|
-
${e.name}`)}break}}}}else r.texture_lod=0}},G=new WeakMap,Y=new WeakMap,Le=new WeakMap,Z=new WeakMap,re=new WeakMap,xe=new WeakMap,H=new WeakMap,c(x,"debugDrawLine"),c(x,"overrideGlobalLodLevel"),c(x,"corner0",new p.Vector3),c(x,"corner1",new p.Vector3),c(x,"corner2",new p.Vector3),c(x,"corner3",new p.Vector3),c(x,"_tempPtInside",new p.Vector3),x);class at{constructor(){c(this,"frames",0);c(this,"lastLodLevel_Mesh",-1);c(this,"lastLodLevel_Texture",-1);c(this,"lastScreenCoverage",0);c(this,"lastScreenspaceVolume",new p.Vector3);c(this,"lastCentrality",0)}}const Be=Symbol("NEEDLE_mesh_lod"),ge=Symbol("NEEDLE_texture_lod");let le=null;function Ve(){const n=lt();n&&(n.mapURLs(function(t){return Ie(),t}),Ie(),le==null||le.disconnect(),le=new MutationObserver(t=>{t.forEach(e=>{e.addedNodes.forEach(s=>{s instanceof HTMLElement&&s.tagName.toLowerCase()==="model-viewer"&&ze(s)})})}),le.observe(document,{childList:!0,subtree:!0}))}function lt(){if(typeof customElements>"u")return null;const n=customElements.get("model-viewer");return n||(customElements.whenDefined("model-viewer").then(()=>{console.debug("[gltf-progressive] model-viewer defined"),Ve()}),null)}function Ie(){if(typeof document>"u")return;document.querySelectorAll("model-viewer").forEach(t=>{ze(t)})}const Re=new WeakSet;let ct=0;function ze(n){if(!n||Re.has(n))return null;Re.add(n),console.debug("[gltf-progressive] found new model-viewer..."+ ++ct+`
|
|
8
|
-
`,n.getAttribute("src"));let t=null,e=null,s=null;for(let o=n;o!=null;o=Object.getPrototypeOf(o)){const r=Object.getOwnPropertySymbols(o),i=r.find(u=>u.toString()=="Symbol(renderer)"),a=r.find(u=>u.toString()=="Symbol(scene)"),l=r.find(u=>u.toString()=="Symbol(needsRender)");!t&&i!=null&&(t=n[i].threeRenderer),!e&&a!=null&&(e=n[a]),!s&&l!=null&&(s=n[l])}if(t&&e){let o=function(){if(s){let i=0,a=setInterval(()=>{if(i++>5){clearInterval(a);return}s==null||s.call(n)},300)}};console.debug("[gltf-progressive] setup model-viewer");const r=ce.get(t,{engine:"model-viewer"});return ce.addPlugin(new dt),r.enable(),r.addEventListener("changed",()=>{s==null||s.call(n)}),n.addEventListener("model-visibility",i=>{i.detail.visible&&(s==null||s.call(n))}),n.addEventListener("load",()=>{o()}),()=>{r.disable()}}return null}class dt{constructor(){c(this,"_didWarnAboutMissingUrl",!1)}onBeforeUpdateLOD(t,e,s,o){this.tryParseMeshLOD(e,o),this.tryParseTextureLOD(e,o)}getUrl(t){if(!t)return null;let e=t.getAttribute("src");return e||(e=t.src),e||(this._didWarnAboutMissingUrl||console.warn("No url found in modelviewer",t),this._didWarnAboutMissingUrl=!0),e}tryGetCurrentGLTF(t){return t._currentGLTF}tryGetCurrentModelViewer(t){return t.element}tryParseTextureLOD(t,e){if(e[ge]==!0)return;e[ge]=!0;const s=this.tryGetCurrentGLTF(t),o=this.tryGetCurrentModelViewer(t),r=this.getUrl(o);if(r&&s&&e.material){let i=function(l){var d,h,g;if(l[ge]==!0)return;l[ge]=!0,l.userData&&(l.userData.LOD=-1);const u=Object.keys(l);for(let D=0;D<u.length;D++){const S=u[D],M=l[S];if((M==null?void 0:M.isTexture)===!0){const N=(h=(d=M.userData)==null?void 0:d.associations)==null?void 0:h.textures;if(N==null)continue;const X=s.parser.json.textures[N];if(!X){console.warn("Texture data not found for texture index "+N);continue}if((g=X==null?void 0:X.extensions)!=null&&g[K]){const v=X.extensions[K];v&&r&&F.registerTexture(r,M,v.lods.length,N,v)}}}};const a=e.material;if(Array.isArray(a))for(const l of a)i(l);else i(a)}}tryParseMeshLOD(t,e){var i,a;if(e[Be]==!0)return;e[Be]=!0;const s=this.tryGetCurrentModelViewer(t),o=this.getUrl(s);if(!o)return;const r=(a=(i=e.userData)==null?void 0:i.gltfExtensions)==null?void 0:a[K];if(r&&o){const l=e.uuid;F.registerMesh(o,l,e,0,r.lods.length,r)}}}function ut(n,t,e,s){Te(t),Ae(e),Ce(e,{progressive:!0,...s==null?void 0:s.hints}),e.register(r=>new F(r,n));const o=ce.get(t);return(s==null?void 0:s.enableLODsManager)!==!1&&o.enable(),o}Ve();if(!tt){const n={gltfProgressive:{useNeedleProgressive:ut,LODsManager:ce,configureLoader:Ce,getRaycastMesh:ie,useRaycastMeshes:rt}};if(!globalThis.Needle)globalThis.Needle=n;else for(const t in n)globalThis.Needle[t]=n[t]}exports.LODsManager=ce;exports.NEEDLE_progressive=F;exports.addDracoAndKTX2Loaders=Ae;exports.configureLoader=Ce;exports.createLoaders=Te;exports.getRaycastMesh=ie;exports.setDracoDecoderLocation=$e;exports.setKTX2TranscoderLocation=Fe;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
var Ke=Object.defineProperty,Ee=s=>{throw TypeError(s)},He=(s,e,t)=>e in s?Ke(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,c=(s,e,t)=>He(s,typeof e!="symbol"?e+"":e,t),Ce=(s,e,t)=>e.has(s)||Ee("Cannot "+t),v=(s,e,t)=>(Ce(s,e,"read from private field"),t?t.call(s):e.get(s)),J=(s,e,t)=>e.has(s)?Ee("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),$=(s,e,t,n)=>(Ce(s,e,"write to private field"),n?n.call(s,t):e.set(s,t),t);import{BufferGeometry as de,Mesh as Q,Texture as se,TextureLoader as Ye,Matrix4 as Ie,Clock as Je,MeshStandardMaterial as Qe,Sphere as Ze,Box3 as Be,Vector3 as F}from"./three-DuDKwKB8.min.js";import{DRACOLoader as et,KTX2Loader as tt,MeshoptDecoder as st,GLTFLoader as Le}from"./three-examples-DaDLBuy6.min.js";const rt="";globalThis.GLTF_PROGRESSIVE_VERSION=rt,console.debug("[gltf-progressive] version -");let W="https://www.gstatic.com/draco/versioned/decoders/1.5.7/",ee="https://www.gstatic.com/basis-universal/versioned/2021-04-15-ba1c3e4/";const nt=W,ot=ee,Ge=new URL(W+"draco_decoder.js");Ge.searchParams.append("range","true"),fetch(Ge,{method:"GET",headers:{Range:"bytes=0-1"}}).catch(s=>{console.debug(`Failed to fetch remote Draco decoder from ${W} (offline: ${typeof navigator<"u"?navigator.onLine:"unknown"})`),W===nt&&ke("./include/draco/"),ee===ot&&je("./include/ktx2/")}).finally(()=>{Re()});function ke(s){W=s,A&&A[we]!=W?(console.debug("Updating Draco decoder path to "+s),A[we]=W,A.setDecoderPath(W),A.preload()):console.debug("Setting Draco decoder path to "+s)}function je(s){ee=s,B&&B.transcoderPath!=ee?(console.debug("Updating KTX2 transcoder path to "+s),B.setTranscoderPath(ee),B.init()):console.debug("Setting KTX2 transcoder path to "+s)}const we=Symbol("dracoDecoderPath");let A,ce,B;function Re(){A||(A=new et,A[we]=W,A.setDecoderPath(W),A.setDecoderConfig({type:"js"}),A.preload()),B||(B=new tt,B.setTranscoderPath(ee),B.init()),ce||(ce=st)}function _e(s){return Re(),s?B.detectSupport(s):s!==null&&console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures might fail"),{dracoLoader:A,ktx2Loader:B,meshoptDecoder:ce}}function Me(s){s.dracoLoader||s.setDRACOLoader(A),s.ktx2Loader||s.setKTX2Loader(B),s.meshoptDecoder||s.setMeshoptDecoder(ce)}const De=new WeakMap;function be(s,e){let t=De.get(s);t?t=Object.assign(t,e):t=e,De.set(s,t)}const Ne=Le.prototype.load;function it(...s){const e=De.get(this);let t=s[0];const n=new URL(t,window.location.href);if(n.hostname.endsWith("needle.tools")){const r=e?.progressive!==void 0?e.progressive:!0,i=e!=null&&e.usecase?e.usecase:"default";r?this.requestHeader.Accept=`*/*;progressive=allowed;usecase=${i}`:this.requestHeader.Accept=`*/*;usecase=${i}`,t=n.toString()}return s[0]=t,Ne?.call(this,...s)}Le.prototype.load=it,re("debugprogressive");function re(s){if(typeof window>"u")return!1;const e=new URL(window.location.href).searchParams.get(s);return e==null||e==="0"||e==="false"?!1:e===""?!0:e}function at(s,e){if(e===void 0||e.startsWith("./")||e.startsWith("http")||s===void 0)return e;const t=s.lastIndexOf("/");if(t>=0){const n=s.substring(0,t+1);for(;n.endsWith("/")&&e.startsWith("/");)e=e.substring(1);return n+e}return e}let he;function lt(){return he!==void 0||(he=/iPhone|iPad|iPod|Android|IEMobile/i.test(navigator.userAgent),re("debugprogressive")&&console.log("[glTF Progressive]: isMobileDevice",he)),he}function ut(){if(typeof window>"u")return!1;const s=new URL(window.location.href),e=s.hostname==="localhost"||/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(s.hostname);return s.hostname==="127.0.0.1"||e}const dt=typeof window>"u"&&typeof document>"u",Oe=Symbol("needle:raycast-mesh");function te(s){return s?.[Oe]instanceof de?s[Oe]:null}function ct(s,e){if((s.type==="Mesh"||s.type==="SkinnedMesh")&&!te(s)){const t=gt(e);t.userData={isRaycastMesh:!0},s[Oe]=t}}function ht(s=!0){if(s){if(ne)return;const e=ne=Q.prototype.raycast;Q.prototype.raycast=function(t,n){const r=this,i=te(r);let o;i&&r.isMesh&&(o=r.geometry,r.geometry=i),e.call(this,t,n),o&&(r.geometry=o)}}else{if(!ne)return;Q.prototype.raycast=ne,ne=null}}let ne=null;function gt(s){const e=new de;for(const t in s.attributes)e.setAttribute(t,s.getAttribute(t));return e.setIndex(s.getIndex()),e}const X=new Array,x=re("debugprogressive");let ge,Z=-1;if(x){let s=function(){Z+=1,Z>=e&&(Z=-1),console.log(`Toggle LOD level [${Z}]`)},e=6;window.addEventListener("keyup",t=>{t.key==="p"&&s(),t.key==="w"&&(ge=!ge,console.log(`Toggle wireframe [${ge}]`));const n=parseInt(t.key);!isNaN(n)&&n>=0&&(Z=n,console.log(`Set LOD level to [${Z}]`))})}function We(s){if(x)if(Array.isArray(s))for(const e of s)We(e);else s&&"wireframe"in s&&(s.wireframe=ge===!0)}const U="NEEDLE_progressive",Se=Symbol("needle-progressive-texture"),E=class k{constructor(e,t){c(this,"parser"),c(this,"url"),c(this,"_isLoadingMesh"),c(this,"loadMesh",n=>{var r,i;if(this._isLoadingMesh)return null;const o=(i=(r=this.parser.json.meshes[n])==null?void 0:r.extensions)==null?void 0:i[U];return o?(this._isLoadingMesh=!0,this.parser.getDependency("mesh",n).then(a=>{var l;return this._isLoadingMesh=!1,a&&k.registerMesh(this.url,o.guid,a,(l=o.lods)==null?void 0:l.length,0,o),a})):null}),x&&console.log("Progressive extension registered for",t),this.parser=e,this.url=t}get name(){return U}static getMeshLODExtension(e){const t=this.getAssignedLODInformation(e);return t!=null&&t.key?this.lodInfos.get(t.key):null}static getPrimitiveIndex(e){var t;return((t=this.getAssignedLODInformation(e))==null?void 0:t.index)??-1}static getMaterialMinMaxLODsCount(e,t){const n=this,r="LODS:minmax",i=e[r];if(i!=null)return i;if(t||(t={min_count:1/0,max_count:0,lods:[]}),Array.isArray(e)){for(const a of e)this.getMaterialMinMaxLODsCount(a,t);return e[r]=t,t}if(x==="verbose"&&console.log("getMaterialMinMaxLODsCount",e),e.type==="ShaderMaterial"||e.type==="RawShaderMaterial"){const a=e;for(const l of Object.keys(a.uniforms)){const u=a.uniforms[l].value;u?.isTexture===!0&&o(u,t)}}else if(e.isMaterial)for(const a of Object.keys(e)){const l=e[a];l?.isTexture===!0&&o(l,t)}return e[r]=t,t;function o(a,l){const u=n.getAssignedLODInformation(a);if(u){const d=n.lodInfos.get(u.key);if(d&&d.lods){l.min_count=Math.min(l.min_count,d.lods.length),l.max_count=Math.max(l.max_count,d.lods.length);for(let w=0;w<d.lods.length;w++){const y=d.lods[w];y.width&&(l.lods[w]=l.lods[w]||{min_height:1/0,max_height:0},l.lods[w].min_height=Math.min(l.lods[w].min_height,y.height),l.lods[w].max_height=Math.max(l.lods[w].max_height,y.height))}}}}}static hasLODLevelAvailable(e,t){var n;if(Array.isArray(e)){for(const o of e)if(this.hasLODLevelAvailable(o,t))return!0;return!1}if(e.isMaterial===!0){for(const o of Object.keys(e)){const a=e[o];if(a&&a.isTexture&&this.hasLODLevelAvailable(a,t))return!0}return!1}else if(e.isGroup===!0){for(const o of e.children)if(o.isMesh===!0&&this.hasLODLevelAvailable(o,t))return!0}let r,i;if(e.isMesh?r=e.geometry:(e.isBufferGeometry||e.isTexture)&&(r=e),r&&(n=r?.userData)!=null&&n.LODS){const o=r.userData.LODS;if(i=this.lodInfos.get(o.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 n;if(!e)return Promise.resolve(null);if(e instanceof Q||e.isMesh===!0){const r=e.geometry,i=this.getAssignedLODInformation(r);if(!i)return Promise.resolve(null);for(const o of X)(n=o.onBeforeGetLODMesh)==null||n.call(o,e,t);return e["LOD:requested level"]=t,k.getOrLoadLOD(r,t).then(o=>{if(Array.isArray(o)){const a=i.index||0;o=o[a]}return e["LOD:requested level"]===t&&(delete e["LOD:requested level"],o&&r!=o&&(o?.isBufferGeometry?e.geometry=o:x&&console.error("Invalid LOD geometry",o))),o}).catch(o=>(console.error("Error loading mesh LOD",e,o),null))}else x&&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.isMesh===!0){const n=e;if(Array.isArray(n.material)){const r=new Array;for(const i of n.material){const o=this.assignTextureLOD(i,t);r.push(o)}return Promise.all(r).then(i=>{const o=new Array;for(const a of i)Array.isArray(a)&&o.push(...a);return o})}else return this.assignTextureLOD(n.material,t)}if(e.isMaterial===!0){const n=e,r=[],i=new Array;if(n.uniforms&&(n.isRawShaderMaterial||n.isShaderMaterial===!0)){const o=n;for(const a of Object.keys(o.uniforms)){const l=o.uniforms[a].value;if(l?.isTexture===!0){const u=this.assignTextureLODForSlot(l,t,n,a).then(d=>(d&&o.uniforms[a].value!=d&&(o.uniforms[a].value=d,o.uniformsNeedUpdate=!0),d));r.push(u),i.push(a)}}}else for(const o of Object.keys(n)){const a=n[o];if(a?.isTexture===!0){const l=this.assignTextureLODForSlot(a,t,n,o);r.push(l),i.push(o)}}return Promise.all(r).then(o=>{const a=new Array;for(let l=0;l<o.length;l++){const u=o[l],d=i[l];u&&u.isTexture===!0?a.push({material:n,slot:d,texture:u,level:t}):a.push({material:n,slot:d,texture:null,level:t})}return a})}if(e instanceof se||e.isTexture===!0){const n=e;return this.assignTextureLODForSlot(n,t,null,null)}return Promise.resolve(null)}static assignTextureLODForSlot(e,t,n,r){return e?.isTexture!==!0?Promise.resolve(null):r==="glyphMap"?Promise.resolve(e):k.getOrLoadLOD(e,t).then(i=>{if(Array.isArray(i))return null;if(i?.isTexture===!0){if(i!=e&&n&&r){const o=n[r];if(o&&!x){const a=this.getAssignedLODInformation(o);if(a&&a?.level<t)return x==="verbose"&&console.warn("Assigned texture level is already higher: ",a.level,t,n,o,i),null}n[r]=i}return i}else x=="verbose"&&console.warn("No LOD found for",e,t);return null}).catch(i=>(console.error("Error loading LOD",e,i),null))}afterRoot(e){var t,n;return x&&console.log("AFTER",this.url,e),(t=this.parser.json.textures)==null||t.forEach((r,i)=>{var o;if(r!=null&&r.extensions){const a=r?.extensions[U];if(a){if(!a.lods){x&&console.warn("Texture has no LODs",a);return}let l=!1;for(const u of this.parser.associations.keys())if(u.isTexture===!0){const d=this.parser.associations.get(u);d?.textures===i&&(l=!0,k.registerTexture(this.url,u,(o=a.lods)==null?void 0:o.length,i,a))}l||this.parser.getDependency("texture",i).then(u=>{var d;u&&k.registerTexture(this.url,u,(d=a.lods)==null?void 0:d.length,i,a)})}}}),(n=this.parser.json.meshes)==null||n.forEach((r,i)=>{if(r!=null&&r.extensions){const o=r?.extensions[U];if(o&&o.lods){for(const a of this.parser.associations.keys())if(a.isMesh){const l=this.parser.associations.get(a);l?.meshes===i&&k.registerMesh(this.url,o.guid,a,o.lods.length,l.primitives,o)}}}}),null}static async getOrLoadLOD(e,t){var n,r,i,o;const a=x=="verbose",l=e.userData.LODS;if(!l)return null;const u=l?.key;let d;if(e.isTexture===!0){const w=e;w.source&&w.source[Se]&&(d=w.source[Se])}if(d||(d=k.lodInfos.get(u)),d){if(t>0){let m=!1;const j=Array.isArray(d.lods);if(j&&t>=d.lods.length?m=!0:j||(m=!0),m)return this.lowresCache.get(u)}const w=Array.isArray(d.lods)?(n=d.lods[t])==null?void 0:n.path:d.lods;if(!w)return x&&!d["missing:uri"]&&(d["missing:uri"]=!0,console.warn("Missing uri for progressive asset for LOD "+t,d)),null;const y=at(l.url,w);if(y.endsWith(".glb")||y.endsWith(".gltf")){if(!d.guid)return console.warn("missing pointer for glb/gltf texture",d),null;const m=y+"_"+d.guid,j=this.previouslyLoaded.get(m);if(j!==void 0){a&&console.log(`LOD ${t} was already loading/loaded: ${m}`);let g=await j.catch(I=>(console.error(`Error loading LOD ${t} from ${y}
|
|
2
|
-
`,I),null)),p=!1;if(g==null||(g instanceof se&&e instanceof se?(r=g.image)!=null&&r.data||(i=g.source)!=null&&i.data?g=this.copySettings(e,g):(p=!0,this.previouslyLoaded.delete(m)):g instanceof de&&e instanceof de&&((o=g.attributes.position)!=null&&o.array||(p=!0,this.previouslyLoaded.delete(m)))),!p)return g}const M=d,C=new Promise(async(g,p)=>{const I=new Le;Me(I),x&&(await new Promise(f=>setTimeout(f,1e3)),a&&console.warn("Start loading (delayed) "+y,M.guid));let R=y;if(M&&Array.isArray(M.lods)){const f=M.lods[t];f.hash&&(R+="?v="+f.hash)}const D=await I.loadAsync(R).catch(f=>(console.error(`Error loading LOD ${t} from ${y}
|
|
3
|
-
`,f),null));if(!D)return null;const N=D.parser;a&&console.log("Loading finished "+y,M.guid);let b=0;if(D.parser.json.textures){let f=!1;for(const h of D.parser.json.textures){if(h!=null&&h.extensions){const L=h?.extensions[U];if(L!=null&&L.guid&&L.guid===M.guid){f=!0;break}}b++}if(f){let h=await N.getDependency("texture",b);return h&&k.assignLODInformation(l.url,h,u,t,void 0),a&&console.log('change "'+e.name+'" \u2192 "'+h.name+'"',y,b,h,m),e instanceof se&&(h=this.copySettings(e,h)),h&&(h.guid=M.guid),g(h)}else x&&console.warn("Could not find texture with guid",M.guid,D.parser.json)}if(b=0,D.parser.json.meshes){let f=!1;for(const h of D.parser.json.meshes){if(h!=null&&h.extensions){const L=h?.extensions[U];if(L!=null&&L.guid&&L.guid===M.guid){f=!0;break}}b++}if(f){const h=await N.getDependency("mesh",b);if(a&&console.log(`Loaded Mesh "${h.name}"`,y,b,h,m),h.isMesh===!0){const L=h.geometry;return k.assignLODInformation(l.url,L,u,t,0),g(L)}else{const L=new Array;for(let O=0;O<h.children.length;O++){const T=h.children[O];if(T.isMesh===!0){const V=T.geometry;k.assignLODInformation(l.url,V,u,t,O),L.push(V)}}return g(L)}}else x&&console.warn("Could not find mesh with guid",M.guid,D.parser.json)}return g(null)});return this.previouslyLoaded.set(m,C),await C}else if(e instanceof se){a&&console.log("Load texture from uri: "+y);const m=await new Ye().loadAsync(y);return m?(m.guid=d.guid,m.flipY=!1,m.needsUpdate=!0,m.colorSpace=e.colorSpace,a&&console.log(d,m)):x&&console.warn("failed loading",y),m}}else x&&console.warn(`Can not load LOD ${t}: no LOD info found for "${u}" ${e.name}`,e.type);return null}static assignLODInformation(e,t,n,r,i){if(!t)return;t.userData||(t.userData={});const o=new ft(e,n,r,i);t.userData.LODS=o}static getAssignedLODInformation(e){var t;return((t=e?.userData)==null?void 0:t.LODS)||null}static copySettings(e,t){return t?(x&&console.warn(`Copy texture settings
|
|
4
|
-
`,e.uuid,`
|
|
5
|
-
`,t.uuid),t=t.clone(),t.offset=e.offset,t.repeat=e.repeat,t.colorSpace=e.colorSpace,t.magFilter=e.magFilter,t.minFilter=e.minFilter,t.wrapS=e.wrapS,t.wrapT=e.wrapT,t.flipY=e.flipY,t.anisotropy=e.anisotropy,t.mipmaps||(t.generateMipmaps=e.generateMipmaps),t):e}};c(E,"registerTexture",(s,e,t,n,r)=>{if(x&&console.log("> Progressive: register texture",n,e.name,e.uuid,e,r),!e){x&&console.error("gltf-progressive: Register texture without texture");return}e.source&&(e.source[Se]=r);const i=r.guid;E.assignLODInformation(s,e,i,t,n),E.lodInfos.set(i,r),E.lowresCache.set(i,e)}),c(E,"registerMesh",(s,e,t,n,r,i)=>{var o;const a=t.geometry;if(!a){x&&console.warn("gltf-progressive: Register mesh without geometry");return}a.userData||(a.userData={}),x&&console.log("> Progressive: register mesh "+t.name,{index:r,uuid:t.uuid},i,t),E.assignLODInformation(s,a,e,n,r),E.lodInfos.set(e,i);let l=E.lowresCache.get(e);l?l.push(t.geometry):l=[t.geometry],E.lowresCache.set(e,l),n>0&&!te(t)&&ct(t,a);for(const u of X)(o=u.onRegisteredNewMesh)==null||o.call(u,t,i)}),c(E,"lodInfos",new Map),c(E,"previouslyLoaded",new Map),c(E,"lowresCache",new Map);let z=E;class ft{constructor(e,t,n,r){c(this,"url"),c(this,"key"),c(this,"level"),c(this,"index"),this.url=e,this.key=t,this.level=n,r!=null&&(this.index=r)}}class fe{constructor(e,t){c(this,"frame_start"),c(this,"frame_capture_end"),c(this,"ready"),c(this,"_resolve"),c(this,"_signal"),c(this,"_resolved",!1),c(this,"_addedCount",0),c(this,"_resolvedCount",0),c(this,"_awaiting",[]),c(this,"_maxPromisesPerObject",1),c(this,"_currentFrame",0),c(this,"_seen",new WeakMap);var n;const r=Math.max(t.frames??2,2);this.frame_start=e,this.frame_capture_end=e+r,this.ready=new Promise(i=>{this._resolve=i}),this.ready.finally(()=>{this._resolved=!0,this._awaiting.length=0}),this._signal=t.signal,(n=this._signal)==null||n.addEventListener("abort",()=>{this.resolveNow()}),this._maxPromisesPerObject=Math.max(1,t.maxPromisesPerObject??1)}get awaitedCount(){return this._addedCount}get resolvedCount(){return this._resolvedCount}get currentlyAwaiting(){return this._awaiting.length}update(e){var t;this._currentFrame=e,((t=this._signal)!=null&&t.aborted||this._currentFrame>this.frame_capture_end&&this._awaiting.length===0)&&this.resolveNow()}add(e,t,n){if(this._resolved){x&&console.warn("PromiseGroup: Trying to add a promise to a resolved group, ignoring.");return}if(!(this._currentFrame>this.frame_capture_end)){if(this._maxPromisesPerObject>=1)if(this._seen.has(t)){let r=this._seen.get(t);if(r>=this._maxPromisesPerObject){x&&console.warn("PromiseGroup: Already awaiting object ignoring new promise for it.");return}this._seen.set(t,r+1)}else this._seen.set(t,1);this._awaiting.push(n),this._addedCount++,n.finally(()=>{this._resolvedCount++,this._awaiting.splice(this._awaiting.indexOf(n),1)})}}resolveNow(){var e,t;this._resolved||(t=this._resolve)==null||t.call(this,{awaited_count:this._addedCount,resolved_count:this._resolvedCount,cancelled:((e=this._signal)==null?void 0:e.aborted)??!1})}}c(fe,"addPromise",(s,e,t,n)=>{n.forEach(r=>{r.add(s,e,t)})});const G=re("debugprogressive"),mt=re("noprogressive"),Pe=Symbol("Needle:LODSManager"),Te=Symbol("Needle:LODState"),q=Symbol("Needle:CurrentLOD"),S={mesh_lod:-1,texture_lod:-1};var _,P,K,Ae,H,oe,me,Y;let ie=(_=class{constructor(s,e){c(this,"renderer"),c(this,"context"),c(this,"projectionScreenMatrix",new Ie),c(this,"targetTriangleDensity",2e5),c(this,"skinnedMeshAutoUpdateBoundsInterval",30),c(this,"updateInterval","auto"),J(this,P,1),c(this,"pause",!1),c(this,"manual",!1),c(this,"_newPromiseGroups",[]),c(this,"_promiseGroupIds",0),c(this,"_lodchangedlisteners",[]),J(this,K),J(this,Ae,new Je),J(this,H,0),J(this,oe,0),J(this,me,0),J(this,Y,0),c(this,"_fpsBuffer",[60,60,60,60,60]),c(this,"_sphere",new Ze),c(this,"_tempBox",new Be),c(this,"_tempBox2",new Be),c(this,"tempMatrix",new Ie),c(this,"_tempWorldPosition",new F),c(this,"_tempBoxSize",new F),c(this,"_tempBox2Size",new F),this.renderer=s,this.context={...e}}static getObjectLODState(s){return s[Te]}static addPlugin(s){X.push(s)}static removePlugin(s){const e=X.indexOf(s);e>=0&&X.splice(e,1)}static get(s,e){if(s[Pe])return console.debug("[gltf-progressive] LODsManager already exists for this renderer"),s[Pe];const t=new _(s,{engine:"unknown",...e});return s[Pe]=t,t}get plugins(){return X}awaitLoading(s){const e=this._promiseGroupIds++,t=new fe(v(this,H),{...s});this._newPromiseGroups.push(t);const n=performance.now();return t.ready.finally(()=>{const r=this._newPromiseGroups.indexOf(t);r>=0&&(this._newPromiseGroups.splice(r,1),ut()&&performance.measure("LODsManager:awaitLoading",{start:n,detail:{id:e,name:s?.name,awaited:t.awaitedCount,resolved:t.resolvedCount}}))}),t.ready}_postprocessPromiseGroups(){if(this._newPromiseGroups.length!==0)for(let s=this._newPromiseGroups.length-1;s>=0;s--)this._newPromiseGroups[s].update(v(this,H))}addEventListener(s,e){s==="changed"&&this._lodchangedlisteners.push(e)}removeEventListener(s,e){if(s==="changed"){const t=this._lodchangedlisteners.indexOf(e);t>=0&&this._lodchangedlisteners.splice(t,1)}}enable(){if(v(this,K))return;console.debug("[gltf-progressive] Enabling LODsManager for renderer");let s=0;$(this,K,this.renderer.render);const e=this;_e(this.renderer),this.renderer.render=function(t,n){const r=e.renderer.getRenderTarget();(r==null||"isXRRenderTarget"in r&&r.isXRRenderTarget)&&(s=0,$(e,H,v(e,H)+1),$(e,oe,v(e,Ae).getDelta()),$(e,me,v(e,me)+v(e,oe)),e._fpsBuffer.shift(),e._fpsBuffer.push(1/v(e,oe)),$(e,Y,e._fpsBuffer.reduce((o,a)=>o+a)/e._fpsBuffer.length),G&&v(e,H)%200===0&&console.log("FPS",Math.round(v(e,Y)),"Interval:",v(e,P)));const i=s++;v(e,K).call(this,t,n),e.onAfterRender(t,n,i)}}disable(){v(this,K)&&(console.debug("[gltf-progressive] Disabling LODsManager for renderer"),this.renderer.render=v(this,K),$(this,K,void 0))}update(s,e){this.internalUpdate(s,e)}onAfterRender(s,e,t){if(this.pause)return;const n=this.renderer.renderLists.get(s,0).opaque;let r=!0;if(n.length===1){const i=n[0].material;(i.name==="EffectMaterial"||i.name==="CopyShader")&&(r=!1)}if((e.parent&&e.parent.type==="CubeCamera"||t>=1&&e.type==="OrthographicCamera")&&(r=!1),r){if(mt||(this.updateInterval==="auto"?v(this,Y)<40&&v(this,P)<10?($(this,P,v(this,P)+1),G&&console.warn("\u2193 Reducing LOD updates",v(this,P),v(this,Y).toFixed(0))):v(this,Y)>=60&&v(this,P)>1&&($(this,P,v(this,P)-1),G&&console.warn("\u2191 Increasing LOD updates",v(this,P),v(this,Y).toFixed(0))):$(this,P,this.updateInterval),v(this,P)>0&&v(this,H)%v(this,P)!=0))return;this.internalUpdate(s,e),this._postprocessPromiseGroups()}}internalUpdate(s,e){var t,n;const r=this.renderer.renderLists.get(s,0),i=r.opaque;this.projectionScreenMatrix.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse);const o=this.targetTriangleDensity;for(const u of i){if(u.material&&(((t=u.geometry)==null?void 0:t.type)==="BoxGeometry"||((n=u.geometry)==null?void 0:n.type)==="BufferGeometry")&&(u.material.name==="SphericalGaussianBlur"||u.material.name=="BackgroundCubeMaterial"||u.material.name==="CubemapFromEquirect"||u.material.name==="EquirectangularToCubeUV")){G&&(u.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]||(u.material["NEEDLE_PROGRESSIVE:IGNORE-WARNING"]=!0,console.warn("Ignoring skybox or BLIT object",u,u.material.name,u.material.type)));continue}switch(u.material.type){case"LineBasicMaterial":case"LineDashedMaterial":case"PointsMaterial":case"ShadowMaterial":case"MeshDistanceMaterial":case"MeshDepthMaterial":continue}if(G==="color"&&u.material&&!u.object.progressive_debug_color){u.object.progressive_debug_color=!0;const w=Math.random()*16777215,y=new Qe({color:w});u.object.material=y}const d=u.object;(d instanceof Q||d.isMesh)&&this.updateLODs(s,e,d,o)}const a=r.transparent;for(const u of a){const d=u.object;(d instanceof Q||d.isMesh)&&this.updateLODs(s,e,d,o)}const l=r.transmissive;for(const u of l){const d=u.object;(d instanceof Q||d.isMesh)&&this.updateLODs(s,e,d,o)}}updateLODs(s,e,t,n){var r,i;t.userData||(t.userData={});let o=t[Te];if(o||(o=new pt,t[Te]=o),o.frames++<2)return;for(const l of X)(r=l.onBeforeUpdateLOD)==null||r.call(l,this.renderer,s,e,t);const a=_.overrideGlobalLodLevel!==void 0?_.overrideGlobalLodLevel:Z;a>=0?(S.mesh_lod=a,S.texture_lod=a):(this.calculateLodLevel(e,t,o,n,S),S.mesh_lod=Math.round(S.mesh_lod),S.texture_lod=Math.round(S.texture_lod)),S.mesh_lod>=0&&this.loadProgressiveMeshes(t,S.mesh_lod),t.material&&S.texture_lod>=0&&this.loadProgressiveTextures(t.material,S.texture_lod),x&&t.material&&!t.isGizmo&&We(t.material);for(const l of X)(i=l.onAfterUpdatedLOD)==null||i.call(l,this.renderer,s,e,t,S);o.lastLodLevel_Mesh=S.mesh_lod,o.lastLodLevel_Texture=S.texture_lod}loadProgressiveTextures(s,e){if(!s)return;if(Array.isArray(s)){for(const r of s)this.loadProgressiveTextures(r,e);return}let t=!1;(s[q]===void 0||e<s[q])&&(t=!0);const n=s["DEBUG:LOD"];if(n!=null&&(t=s[q]!=n,e=n),t){s[q]=e;const r=z.assignTextureLOD(s,e).then(i=>{this._lodchangedlisteners.forEach(o=>o({type:"texture",level:e,object:s}))});fe.addPromise("texture",s,r,this._newPromiseGroups)}}loadProgressiveMeshes(s,e){if(!s)return Promise.resolve(null);let t=s[q]!==e;const n=s["DEBUG:LOD"];if(n!=null&&(t=s[q]!=n,e=n),t){s[q]=e;const r=s.geometry,i=z.assignMeshLOD(s,e).then(o=>(o&&s[q]==e&&r!=s.geometry&&this._lodchangedlisteners.forEach(a=>a({type:"mesh",level:e,object:s})),o));return fe.addPromise("mesh",s,i,this._newPromiseGroups),i}return Promise.resolve(null)}static isInside(s,e){const t=s.min,n=s.max,r=(t.x+n.x)*.5,i=(t.y+n.y)*.5;return this._tempPtInside.set(r,i,t.z).applyMatrix4(e).z<0}calculateLodLevel(s,e,t,n,r){var i,o,a;if(!e){r.mesh_lod=-1,r.texture_lod=-1;return}if(!s){r.mesh_lod=-1,r.texture_lod=-1;return}let l=10+1,u=!1;if(G&&e["DEBUG:LOD"]!=null)return e["DEBUG:LOD"];const d=(i=z.getMeshLODExtension(e.geometry))==null?void 0:i.lods,w=z.getPrimitiveIndex(e.geometry),y=d&&d.length>0,m=z.getMaterialMinMaxLODsCount(e.material),j=m?.min_count!=1/0&&m.min_count>0&&m.max_count>0;if(!y&&!j){r.mesh_lod=0,r.texture_lod=0;return}y||(u=!0,l=0);const M=this.renderer.domElement.clientHeight||this.renderer.domElement.height;let C=e.geometry.boundingBox;if(e.type==="SkinnedMesh"){const g=e;if(!g.boundingBox)g.computeBoundingBox();else if(this.skinnedMeshAutoUpdateBoundsInterval>0&&t.frames%this.skinnedMeshAutoUpdateBoundsInterval===0){const p=te(g),I=g.geometry;p&&(g.geometry=p),g.computeBoundingBox(),g.geometry=I}C=g.boundingBox}if(C){const g=s;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=s.getWorldPosition(this._tempWorldPosition);if(this._sphere.containsPoint(f)){r.mesh_lod=0,r.texture_lod=0;return}}if(this._tempBox.copy(C),this._tempBox.applyMatrix4(e.matrixWorld),g.isPerspectiveCamera&&_.isInside(this._tempBox,this.projectionScreenMatrix)){r.mesh_lod=0,r.texture_lod=0;return}if(this._tempBox.applyMatrix4(this.projectionScreenMatrix),this.renderer.xr.enabled&&g.isPerspectiveCamera&&g.fov>70){const f=this._tempBox.min,h=this._tempBox.max;let L=f.x,O=f.y,T=h.x,V=h.y;const ae=2,xe=1.5,le=(f.x+h.x)*.5,ue=(f.y+h.y)*.5;L=(L-le)*ae+le,O=(O-ue)*ae+ue,T=(T-le)*ae+le,V=(V-ue)*ae+ue;const Xe=L<0&&T>0?0:Math.min(Math.abs(f.x),Math.abs(h.x)),qe=O<0&&V>0?0:Math.min(Math.abs(f.y),Math.abs(h.y)),ye=Math.max(Xe,qe);t.lastCentrality=(xe-ye)*(xe-ye)*(xe-ye)}else t.lastCentrality=1;const p=this._tempBox.getSize(this._tempBoxSize);p.multiplyScalar(.5),screen.availHeight>0&&M>0&&p.multiplyScalar(M/screen.availHeight),s.isPerspectiveCamera?p.x*=s.aspect:s.isOrthographicCamera;const I=s.matrixWorldInverse,R=this._tempBox2;R.copy(C),R.applyMatrix4(e.matrixWorld),R.applyMatrix4(I);const D=R.getSize(this._tempBox2Size),N=Math.max(D.x,D.y);if(Math.max(p.x,p.y)!=0&&N!=0&&(p.z=D.z/Math.max(D.x,D.y)*Math.max(p.x,p.y)),t.lastScreenCoverage=Math.max(p.x,p.y,p.z),t.lastScreenspaceVolume.copy(p),t.lastScreenCoverage*=t.lastCentrality,G&&_.debugDrawLine){const f=this.tempMatrix.copy(this.projectionScreenMatrix);f.invert();const h=_.corner0,L=_.corner1,O=_.corner2,T=_.corner3;h.copy(this._tempBox.min),L.copy(this._tempBox.max),L.x=h.x,O.copy(this._tempBox.max),O.y=h.y,T.copy(this._tempBox.max);const V=(h.z+T.z)*.5;h.z=L.z=O.z=T.z=V,h.applyMatrix4(f),L.applyMatrix4(f),O.applyMatrix4(f),T.applyMatrix4(f),_.debugDrawLine(h,L,255),_.debugDrawLine(h,O,255),_.debugDrawLine(L,T,255),_.debugDrawLine(O,T,255)}let b=999;if(d&&t.lastScreenCoverage>0)for(let f=0;f<d.length;f++){const h=d[f];if((((o=h.densities)==null?void 0:o[w])||h.density||1e-5)/t.lastScreenCoverage<n){b=f;break}}b<l&&(l=b,u=!0)}if(u?r.mesh_lod=l:r.mesh_lod=t.lastLodLevel_Mesh,G&&r.mesh_lod!=t.lastLodLevel_Mesh){const g=d?.[r.mesh_lod];g&&console.log(`Mesh LOD changed: ${t.lastLodLevel_Mesh} \u2192 ${r.mesh_lod} (${g.density.toFixed(0)}) - ${e.name}`)}if(j){const g="saveData"in globalThis.navigator&&globalThis.navigator.saveData===!0;if(t.lastLodLevel_Texture<0){if(r.texture_lod=m.max_count-1,G){const p=m.lods[m.max_count-1];G&&console.log(`First Texture LOD ${r.texture_lod} (${p.max_height}px) - ${e.name}`)}}else{const p=t.lastScreenspaceVolume.x+t.lastScreenspaceVolume.y+t.lastScreenspaceVolume.z;let I=t.lastScreenCoverage*4;((a=this.context)==null?void 0:a.engine)==="model-viewer"&&(I*=1.5);const R=M/window.devicePixelRatio*I;let D=!1;for(let N=m.lods.length-1;N>=0;N--){const b=m.lods[N];if(!(g&&b.max_height>=2048)&&!(lt()&&b.max_height>4096)&&(b.max_height>R||!D&&N===0)){if(D=!0,r.texture_lod=N,r.texture_lod<t.lastLodLevel_Texture){const f=b.max_height;G&&console.log(`Texture LOD changed: ${t.lastLodLevel_Texture} \u2192 ${r.texture_lod} = ${f}px
|
|
6
|
-
Screensize: ${R.toFixed(0)}px, Coverage: ${(100*t.lastScreenCoverage).toFixed(2)}%, Volume ${p.toFixed(1)}
|
|
7
|
-
${e.name}`)}break}}}}else r.texture_lod=0}},P=new WeakMap,K=new WeakMap,Ae=new WeakMap,H=new WeakMap,oe=new WeakMap,me=new WeakMap,Y=new WeakMap,c(_,"debugDrawLine"),c(_,"overrideGlobalLodLevel"),c(_,"corner0",new F),c(_,"corner1",new F),c(_,"corner2",new F),c(_,"corner3",new F),c(_,"_tempPtInside",new F),_);class pt{constructor(){c(this,"frames",0),c(this,"lastLodLevel_Mesh",-1),c(this,"lastLodLevel_Texture",-1),c(this,"lastScreenCoverage",0),c(this,"lastScreenspaceVolume",new F),c(this,"lastCentrality",0)}}const $e=Symbol("NEEDLE_mesh_lod"),pe=Symbol("NEEDLE_texture_lod");let ve=null;function Fe(){const s=vt();s&&(s.mapURLs(function(e){return Ue(),e}),Ue(),ve?.disconnect(),ve=new MutationObserver(e=>{e.forEach(t=>{t.addedNodes.forEach(n=>{n instanceof HTMLElement&&n.tagName.toLowerCase()==="model-viewer"&&Ve(n)})})}),ve.observe(document,{childList:!0,subtree:!0}))}function vt(){return typeof customElements>"u"?null:customElements.get("model-viewer")||(customElements.whenDefined("model-viewer").then(()=>{console.debug("[gltf-progressive] model-viewer defined"),Fe()}),null)}function Ue(){typeof document>"u"||document.querySelectorAll("model-viewer").forEach(s=>{Ve(s)})}const ze=new WeakSet;let xt=0;function Ve(s){if(!s||ze.has(s))return null;ze.add(s),console.debug("[gltf-progressive] found new model-viewer..."+ ++xt+`
|
|
8
|
-
`,s.getAttribute("src"));let e=null,t=null,n=null;for(let r=s;r!=null;r=Object.getPrototypeOf(r)){const i=Object.getOwnPropertySymbols(r),o=i.find(u=>u.toString()=="Symbol(renderer)"),a=i.find(u=>u.toString()=="Symbol(scene)"),l=i.find(u=>u.toString()=="Symbol(needsRender)");!e&&o!=null&&(e=s[o].threeRenderer),!t&&a!=null&&(t=s[a]),!n&&l!=null&&(n=s[l])}if(e&&t){let r=function(){if(n){let o=0,a=setInterval(()=>{if(o++>5){clearInterval(a);return}n?.call(s)},300)}};console.debug("[gltf-progressive] setup model-viewer");const i=ie.get(e,{engine:"model-viewer"});return ie.addPlugin(new yt),i.enable(),i.addEventListener("changed",()=>{n?.call(s)}),s.addEventListener("model-visibility",o=>{o.detail.visible&&n?.call(s)}),s.addEventListener("load",()=>{r()}),()=>{i.disable()}}return null}class yt{constructor(){c(this,"_didWarnAboutMissingUrl",!1)}onBeforeUpdateLOD(e,t,n,r){this.tryParseMeshLOD(t,r),this.tryParseTextureLOD(t,r)}getUrl(e){if(!e)return null;let t=e.getAttribute("src");return t||(t=e.src),t||(this._didWarnAboutMissingUrl||console.warn("No url found in modelviewer",e),this._didWarnAboutMissingUrl=!0),t}tryGetCurrentGLTF(e){return e._currentGLTF}tryGetCurrentModelViewer(e){return e.element}tryParseTextureLOD(e,t){if(t[pe]==!0)return;t[pe]=!0;const n=this.tryGetCurrentGLTF(e),r=this.tryGetCurrentModelViewer(e),i=this.getUrl(r);if(i&&n&&t.material){let o=function(l){var u,d,w;if(l[pe]==!0)return;l[pe]=!0,l.userData&&(l.userData.LOD=-1);const y=Object.keys(l);for(let m=0;m<y.length;m++){const j=y[m],M=l[j];if(M?.isTexture===!0){const C=(d=(u=M.userData)==null?void 0:u.associations)==null?void 0:d.textures;if(C==null)continue;const g=n.parser.json.textures[C];if(!g){console.warn("Texture data not found for texture index "+C);continue}if((w=g?.extensions)!=null&&w[U]){const p=g.extensions[U];p&&i&&z.registerTexture(i,M,p.lods.length,C,p)}}}};const a=t.material;if(Array.isArray(a))for(const l of a)o(l);else o(a)}}tryParseMeshLOD(e,t){var n,r;if(t[$e]==!0)return;t[$e]=!0;const i=this.tryGetCurrentModelViewer(e),o=this.getUrl(i);if(!o)return;const a=(r=(n=t.userData)==null?void 0:n.gltfExtensions)==null?void 0:r[U];if(a&&o){const l=t.uuid;z.registerMesh(o,l,t,0,a.lods.length,a)}}}function Lt(s,e,t,n){_e(e),Me(t),be(t,{progressive:!0,...n?.hints}),t.register(i=>new z(i,s));const r=ie.get(e);return n?.enableLODsManager!==!1&&r.enable(),r}if(Fe(),!dt){const s={gltfProgressive:{useNeedleProgressive:Lt,LODsManager:ie,configureLoader:be,getRaycastMesh:te,useRaycastMeshes:ht}};if(!globalThis.Needle)globalThis.Needle=s;else for(const e in s)globalThis.Needle[e]=s[e]}export{ie as LODsManager,z as NEEDLE_progressive,Me as addDracoAndKTX2Loaders,be as configureLoader,_e as createLoaders,te as getRaycastMesh,ke as setDracoDecoderLocation,je as setKTX2TranscoderLocation};
|