import{a as u,U as G,dU as F,b1 as R,k as T,b4 as h,fU as M,l0 as B,h8 as P,ab as D,t as U}from"./index.6c049565.js";import{e as I}from"./mat3f64.6d32a1d7.js";import{p as k,m as j,c as q,g as z}from"./meshFeatureSet.e448c389.js";import{T as V,i as N,c as O,x as _,u as K,L as Q,O as L,E as W}from"./BufferView.f5101c27.js";import{t as X,r as Y,o as Z,b as H,f as J,e as ee,n as te}from"./vec33.9bd40b84.js";import{a as re,m as oe,r as b,b as ne,h as se,t as E,c as ae,j as ie,d as ue,e as ce,k as le,i as fe,f as me,g as pe,l as de,o as xe}from"./DefaultMaterial_COLOR_GAMMA.54ecca40.js";import{_ as $e}from"./georeference.11d1c93a.js";import{E as A,D as C}from"./enums.2d9e6f64.js";import"./imageUtils.753f41b1.js";import"./earcut.afc1d357.js";import"./deduplicate.b87c02b8.js";import"./mat4f64.ff2a477c.js";import"./types.44c7402c.js";import"./quat.4f976512.js";import"./quatf64.4ae3e6f1.js";async function ze(e,t,n){const s=new re(ge(n)),r=(await oe(s,t,n,!0)).model,m=r.lods.shift(),c=new Map,l=new Map;r.textures.forEach((g,y)=>c.set(y,be(g))),r.materials.forEach((g,y)=>l.set(y,ve(g,c)));const i=he(m);for(const g of i.parts)we(i,g,l);const{position:d,normal:f,tangent:o,color:a,texCoord0:p}=i.vertexAttributes,$={position:d.typedBuffer,normal:u(f)?f.typedBuffer:null,tangent:u(o)?o.typedBuffer:null,uv:u(p)?p.typedBuffer:null,color:u(a)?a.typedBuffer:null},w=$e($,e,n);return{transform:w.transform,components:i.components,spatialReference:e.spatialReference,vertexAttributes:new k({position:w.vertexAttributes.position,normal:w.vertexAttributes.normal,tangent:w.vertexAttributes.tangent,color:$.color,uv:$.uv})}}function ge(e){const t=e==null?void 0:e.resolveFile;return t?{busy:!1,request:async(n,s,r)=>{const m=t(n);return(await G(m,{responseType:s==="image"?"image":s==="binary"?"array-buffer":"json",signal:u(r)?r.signal:null})).data}}:null}function v(e,t){if(U(e))return"-";const n=e.typedBuffer;return`${F(t,n.buffer,()=>t.size)}/${n.byteOffset}/${n.byteLength}`}function Te(e){return u(e)?e.toString():"-"}function he(e){let t=0;const n={color:!1,tangent:!1,normal:!1,texCoord0:!1},s=new Map,r=new Map,m=[];for(const c of e.parts){const{attributes:{position:l,normal:i,color:d,tangent:f,texCoord0:o}}=c,a=` ${v(l,s)}/ ${v(i,s)}/ ${v(d,s)}/ ${v(f,s)}/ ${v(o,s)}/ ${Te(c.transform)} `;let p=!1;const $=F(r,a,()=>(p=!0,{start:t,length:l.count}));p&&(t+=l.count),i&&(n.normal=!0),d&&(n.color=!0),f&&(n.tangent=!0),o&&(n.texCoord0=!0),m.push({gltf:c,writeVertices:p,region:$})}return{vertexAttributes:{position:b(V,t),normal:n.normal?b(N,t):null,tangent:n.tangent?b(O,t):null,color:n.color?b(_,t):null,texCoord0:n.texCoord0?b(K,t):null},parts:m,components:[]}}function be(e){return new j({data:e.data,wrap:Ce(e.parameters.wrap)})}function ve(e,t){const n=new R(Re(e.color,e.opacity)),s=e.emissiveFactor?new R(Me(e.emissiveFactor)):null;return new q({color:n,colorTexture:T(h(e.textureColor,r=>t.get(r))),normalTexture:T(h(e.textureNormal,r=>t.get(r))),emissiveColor:s,emissiveTexture:T(h(e.textureEmissive,r=>t.get(r))),occlusionTexture:T(h(e.textureOcclusion,r=>t.get(r))),alphaMode:Ae(e.alphaMode),alphaCutoff:e.alphaCutoff,doubleSided:e.doubleSided,metallic:e.metallicFactor,roughness:e.roughnessFactor,metallicRoughnessTexture:T(h(e.textureMetallicRoughness,r=>t.get(r))),colorTextureTransform:e.colorTextureTransform,normalTextureTransform:e.normalTextureTransform,occlusionTextureTransform:e.occlusionTextureTransform,emissiveTextureTransform:e.emissiveTextureTransform,metallicRoughnessTextureTransform:e.metallicRoughnessTextureTransform})}function we(e,t,n){t.writeVertices&&ye(e,t);const s=t.gltf,r=Ee(s.indices||s.attributes.position.count,s.primitiveType),m=t.region.start;if(m)for(let c=0;c