UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 6.11 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5902],{63907(e,t,n){n.d(t,{$0:()=>T,CQ:()=>o,H0:()=>l,SB:()=>R,WR:()=>r,XN:()=>_,iE:()=>s,ld:()=>i,nI:()=>c,pe:()=>a,r6:()=>S,vt:()=>E,yI:()=>u});const r={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},a={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},l={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},_=Object.values(l),s={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},R={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},i={FLOAT:a.FLOAT,UNSIGNED_BYTE:a.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:a.BYTE,UNSIGNED_SHORT:a.UNSIGNED_SHORT,SHORT:a.SHORT,UNSIGNED_INT:a.UNSIGNED_INT,INT:a.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},E={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},T=0,S=36064,u=36065,c=33306,o={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},95902(e,t,n){n.r(t),n.d(t,{TextureCompressionWorkerOutput:()=>T,compress:()=>u,compressRGBADataToKTX2:()=>G,createTextureDataKTX2:()=>I,destroy:()=>S,initializeBasisEncoder:()=>c,initializeDXTEncoder:()=>o});var r=n(2741);let a,l;var _=n(63907);let s,R,i=null,E=null;class T{constructor(e,t){this.internalFormat=e,this.compressedTexture=t}}function S(){i=null,s=null,E=null,R=null,a=null,l=null}async function u(e){let t;t=e.data instanceof ImageBitmap?function(e){const t=new OffscreenCanvas(e.width,e.height),n=t.getContext("2d");return n.drawImage(e,0,0),n.getImageData(0,0,t.width,t.height).data}(e.data):function(e,t,n,r,a){const l=new Uint8ClampedArray(e).subarray(0,t*n*r);if(!a)return l;const _=new Uint8ClampedArray(l.length),s=t*r;for(let e=0;e<n;e++){const t=e*s,r=(n-e-1)*s;_.set(l.subarray(t,t+s),r)}return _}(e.data,e.width,e.height,e.components,e.needsFlip);try{if(e.hasS3TC){E||await o();const n=new Uint8Array(t.length);if(E?.encode(t,e.width,e.height,e.preMultiplyAlpha,n)){const e=function(e){const t=new Int32Array(e.buffer,e.byteOffset,31);let n,r;switch(t[21]){case N:n=8,r=_.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case B:n=16,r=_.CQ.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case D:n=16,r=_.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}let a=1,l=t[4],s=t[3];(3&l||3&s)&&(l=l+3&-4,s=s+3&-4);const R=l,i=s;let E,T;t[2]&C&&(a=Math.max(1,t[7]));let S=e.byteOffset+t[1]+4;const u=[];for(let t=0;t<a;++t)T=(l+3>>2)*(s+3>>2)*n,E=new Uint8Array(e.buffer,S,T),u.push(E),S+=T,l=Math.max(1,l>>1),s=Math.max(1,s>>1);return{textureData:{type:"compressed",levels:u},internalFormat:r,width:R,height:i}}(n),t=[n.buffer];return{result:new T(e?.internalFormat??null,e?.textureData??null),transferList:t}}return{result:new T(null,null)}}if(e.hasETC){if(i||await c(),e.preMultiplyAlpha&&!E&&await o(),e.preMultiplyAlpha){const n=new Uint8ClampedArray(t.length);E?.premultiply(new Uint8Array(t),e.width,e.height,n),t=n}const n=G(t,e.width,e.height,e.hasMipmap),r=n?I(n):null,a=r?.compressedTexture?.levels.map(e=>e.buffer)||[];return{result:new T(r?.internalFormat??null,r?.compressedTexture??null),transferList:a}}return{result:new T(null,null)}}finally{t instanceof ImageBitmap&&t.close()}}async function c(){i||(i=await(s??=(a??=(async()=>{const e=await n.e(2372).then(n.bind(n,62372)),t=await e.default({locateFile:e=>(0,r.s)(`esri/libs/basisu/${e}`)});return t.initializeBasis(),t})(),a)),s=null)}async function o(){E||(E=await(R??=(l??=(async()=>{const e=await n.e(8714).then(n.bind(n,98714));return await e.default({locateFile:e=>(0,r.s)(`esri/libs/dxtEncoder/${e}`)})})(),l)),R=null)}function G(e,t,n,r,a=255,l=0,_=!1,s=!1){if(!i)return null;const R=new i.BasisEncoder;R.setPerceptual(!s),R.setCheckForAlpha(!0),R.setForceAlpha(!1),R.setRenormalize(s),R.setMipGen(r),R.setMipSRGB(!s),R.setCreateKTX2File(!0),R.setKTX2SRGBTransferFunc(!s),R.setQualityLevel(a),R.setCompressionLevel(l);const E=new Uint8Array(e.byteLength);R.setSliceSourceImage(0,new Uint8Array(e),t,n,_);const T=R.encode(E),S=new Uint8Array(E.buffer,0,T),u=new i.KTX2File(new Uint8Array(S));return u.isValid()?(R.delete(),S):(u.close(),u.delete(),R.delete(),null)}function I(e){if(!i)return new T(null,null);const t=new i.KTX2File(new Uint8Array(e));t.startTranscoding();const[n,r]=t.getHasAlpha()?[1,_.CQ.COMPRESSED_RGBA8_ETC2_EAC]:[0,_.CQ.COMPRESSED_RGB8_ETC2],a=t.getLevels(),l=[];for(let e=0;e<a;e++)l.push(new Uint8Array(t.getImageTranscodedSizeInBytes(e,0,0,n))),t.transcodeImage(l[e],e,0,0,n,0,-1,-1);return t.close(),t.delete(),{internalFormat:r,compressedTexture:{type:"compressed",levels:l}}}const C=131072;function A(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const N=A("DXT1"),B=A("DXT3"),D=A("DXT5")}}]);