@loaders.gl/draco 4.0.0-alpha.6 → 4.0.0-alpha.7

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.
Files changed (60) hide show
  1. package/dist/dist.min.js +2 -2
  2. package/dist/dist.min.js.map +3 -3
  3. package/dist/draco-loader.d.ts.map +1 -1
  4. package/dist/draco-loader.js +1 -3
  5. package/dist/draco-worker-node.js +190 -0
  6. package/dist/{draco-writer-nodejs-worker.js.map → draco-worker-node.js.map} +3 -3
  7. package/dist/draco-worker.js +1 -1
  8. package/dist/draco-worker.js.map +2 -2
  9. package/dist/draco-writer-worker-node.js +192 -0
  10. package/dist/{draco-nodejs-worker.js.map → draco-writer-worker-node.js.map} +3 -3
  11. package/dist/draco-writer-worker.js +2 -2
  12. package/dist/es5/draco-loader.js +1 -2
  13. package/dist/es5/draco-loader.js.map +1 -1
  14. package/dist/es5/index.js +1 -2
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/lib/utils/version.js +1 -1
  17. package/dist/es5/workers/{draco-nodejs-worker.js → draco-worker-node.js} +2 -2
  18. package/dist/es5/workers/draco-worker-node.js.map +1 -0
  19. package/dist/es5/workers/{draco-writer-nodejs-worker.js → draco-writer-worker-node.js} +4 -3
  20. package/dist/es5/workers/draco-writer-worker-node.js.map +1 -0
  21. package/dist/esm/draco-loader.js +1 -2
  22. package/dist/esm/draco-loader.js.map +1 -1
  23. package/dist/esm/index.js +1 -2
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/lib/utils/version.js +1 -1
  26. package/dist/esm/workers/{draco-nodejs-worker.js → draco-worker-node.js} +2 -2
  27. package/dist/esm/workers/draco-worker-node.js.map +1 -0
  28. package/dist/esm/workers/{draco-writer-nodejs-worker.js → draco-writer-worker-node.js} +4 -3
  29. package/dist/esm/workers/draco-writer-worker-node.js.map +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -3
  32. package/dist/workers/draco-worker-node.d.ts +2 -0
  33. package/dist/workers/draco-worker-node.d.ts.map +1 -0
  34. package/dist/workers/{draco-nodejs-worker.js → draco-worker-node.js} +2 -1
  35. package/dist/workers/draco-writer-worker-node.d.ts +2 -0
  36. package/dist/workers/draco-writer-worker-node.d.ts.map +1 -0
  37. package/dist/workers/{draco-writer-nodejs-worker.js → draco-writer-worker-node.js} +4 -2
  38. package/package.json +12 -12
  39. package/src/draco-loader.ts +2 -4
  40. package/src/index.ts +1 -3
  41. package/src/workers/{draco-nodejs-worker.ts → draco-worker-node.ts} +2 -1
  42. package/src/workers/{draco-writer-nodejs-worker.ts → draco-writer-worker-node.ts} +4 -2
  43. package/dist/draco-nodejs-worker.js +0 -191
  44. package/dist/draco-writer-nodejs-worker.js +0 -193
  45. package/dist/draco-writer-nodejs.d.ts +0 -3
  46. package/dist/draco-writer-nodejs.d.ts.map +0 -1
  47. package/dist/draco-writer-nodejs.js +0 -7
  48. package/dist/es5/draco-writer-nodejs.js +0 -14
  49. package/dist/es5/draco-writer-nodejs.js.map +0 -1
  50. package/dist/es5/workers/draco-nodejs-worker.js.map +0 -1
  51. package/dist/es5/workers/draco-writer-nodejs-worker.js.map +0 -1
  52. package/dist/esm/draco-writer-nodejs.js +0 -3
  53. package/dist/esm/draco-writer-nodejs.js.map +0 -1
  54. package/dist/esm/workers/draco-nodejs-worker.js.map +0 -1
  55. package/dist/esm/workers/draco-writer-nodejs-worker.js.map +0 -1
  56. package/dist/workers/draco-nodejs-worker.d.ts +0 -2
  57. package/dist/workers/draco-nodejs-worker.d.ts.map +0 -1
  58. package/dist/workers/draco-writer-nodejs-worker.d.ts +0 -2
  59. package/dist/workers/draco-writer-nodejs-worker.d.ts.map +0 -1
  60. package/src/draco-writer-nodejs.ts +0 -4
@@ -1,4 +1,4 @@
1
- (()=>{var L=Object.create;var b=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var $=t=>b(t,"__esModule",{value:!0});var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var U=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of v(e))!V.call(t,o)&&o!=="default"&&b(t,o,{get:()=>e[o],enumerable:!(r=x(e,o))||r.enumerable});return t},j=t=>U($(b(t!=null?L(F(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var R=q(()=>{});var w="4.0.0-alpha.6";function O(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var c={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global,document:typeof document!="undefined"&&document},ie=c.self||c.window||c.global||{},de=c.window||c.self||c.global||{},k=c.global||c.self||c.window||{},ce=c.document||{};var h=typeof process!="object"||String(process)!=="[object process]"||process.browser,g=typeof importScripts=="function",le=typeof window!="undefined"&&typeof window.orientation!="undefined",T=typeof process!="undefined"&&process.version&&/v([0-9]*)/.exec(process.version),ue=T&&parseFloat(T[1])||0;function M(t,e=!0,r){let o=r||new Set;if(t){if(P(t))o.add(t);else if(P(t.buffer))o.add(t.buffer);else if(!ArrayBuffer.isView(t)){if(e&&typeof t=="object")for(let a in t)M(t[a],e,o)}}return r===void 0?Array.from(o):[]}function P(t){return t?t instanceof ArrayBuffer||typeof MessagePort!="undefined"&&t instanceof MessagePort||typeof ImageBitmap!="undefined"&&t instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&t instanceof OffscreenCanvas:!1}function f(){let parentPort;try{eval("globalThis.parentPort = require('worker_threads').parentPort"),parentPort=globalThis.parentPort}catch{}return parentPort}var _=new Map,u=class{static inWorkerThread(){return typeof self!="undefined"||Boolean(f())}static set onmessage(e){function r(a){let s=f(),{type:i,payload:n}=s?a:a.data;e(i,n)}let o=f();o?(o.on("message",r),o.on("exit",()=>console.debug("Node worker closing"))):globalThis.onmessage=r}static addEventListener(e){let r=_.get(e);r||(r=a=>{if(!G(a))return;let s=f(),{type:i,payload:n}=s?a:a.data;e(i,n)}),f()?console.error("not implemented"):globalThis.addEventListener("message",r)}static removeEventListener(e){let r=_.get(e);_.delete(e),f()?console.error("not implemented"):globalThis.removeEventListener("message",r)}static postMessage(e,r){let o={source:"loaders.gl",type:e,payload:r},a=M(r),s=f();s?s.postMessage(o,a):globalThis.postMessage(o,a)}};function G(t){let{type:e,data:r}=t;return e==="message"&&r&&typeof r.source=="string"&&r.source.startsWith("loaders.gl")}var p=j(R());var z="beta",Q=typeof w!="undefined"?w:z,E={};async function A(t,e=null,r={}){return e&&(t=I(t,e,r)),E[t]=E[t]||H(t),await E[t]}function I(t,e,r){if(t.startsWith("http"))return t;let o=r.modules||{};return o[t]?o[t]:h?r.CDN?(O(r.CDN.startsWith("http")),`${r.CDN}/${e}@${Q}/dist/libs/${t}`):g?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}async function H(t){if(t.endsWith("wasm"))return await(await fetch(t)).arrayBuffer();if(!h)try{return p&&p.requireFromFile&&await p.requireFromFile(t)}catch{return null}if(g)return importScripts(t);let r=await(await fetch(t)).text();return X(r,t)}function X(t,e){if(!h)return p.requireFromString&&p.requireFromString(t,e);if(g)return eval.call(k,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}var W={POSITION:"POSITION",NORMAL:"NORMAL",COLOR_0:"COLOR",TEXCOORD_0:"TEX_COORD"},J=()=>{},m=class{constructor(e){this.draco=e,this.dracoEncoder=new this.draco.Encoder,this.dracoMeshBuilder=new this.draco.MeshBuilder,this.dracoMetadataBuilder=new this.draco.MetadataBuilder}destroy(){this.destroyEncodedObject(this.dracoMeshBuilder),this.destroyEncodedObject(this.dracoEncoder),this.destroyEncodedObject(this.dracoMetadataBuilder),this.dracoMeshBuilder=null,this.dracoEncoder=null,this.draco=null}destroyEncodedObject(e){e&&this.draco.destroy(e)}encodeSync(e,r={}){return this.log=J,this._setOptions(r),r.pointcloud?this._encodePointCloud(e,r):this._encodeMesh(e,r)}_getAttributesFromMesh(e){let r={...e,...e.attributes};return e.indices&&(r.indices=e.indices),r}_encodePointCloud(e,r){let o=new this.draco.PointCloud;r.metadata&&this._addGeometryMetadata(o,r.metadata);let a=this._getAttributesFromMesh(e);this._createDracoPointCloud(o,a,r);let s=new this.draco.DracoInt8Array;try{let i=this.dracoEncoder.EncodePointCloudToDracoBuffer(o,!1,s);if(!(i>0))throw new Error("Draco encoding failed.");return this.log(`DRACO encoded ${o.num_points()} points
1
+ (()=>{var L=Object.create;var b=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var $=t=>b(t,"__esModule",{value:!0});var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var U=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of v(e))!V.call(t,o)&&o!=="default"&&b(t,o,{get:()=>e[o],enumerable:!(r=x(e,o))||r.enumerable});return t},j=t=>U($(b(t!=null?L(F(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var R=q(()=>{});var w="4.0.0-alpha.7";function O(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var c={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global,document:typeof document!="undefined"&&document},ie=c.self||c.window||c.global||{},de=c.window||c.self||c.global||{},k=c.global||c.self||c.window||{},ce=c.document||{};var h=typeof process!="object"||String(process)!=="[object process]"||process.browser,g=typeof importScripts=="function",le=typeof window!="undefined"&&typeof window.orientation!="undefined",T=typeof process!="undefined"&&process.version&&/v([0-9]*)/.exec(process.version),ue=T&&parseFloat(T[1])||0;function M(t,e=!0,r){let o=r||new Set;if(t){if(P(t))o.add(t);else if(P(t.buffer))o.add(t.buffer);else if(!ArrayBuffer.isView(t)){if(e&&typeof t=="object")for(let a in t)M(t[a],e,o)}}return r===void 0?Array.from(o):[]}function P(t){return t?t instanceof ArrayBuffer||typeof MessagePort!="undefined"&&t instanceof MessagePort||typeof ImageBitmap!="undefined"&&t instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&t instanceof OffscreenCanvas:!1}function f(){let parentPort;try{eval("globalThis.parentPort = require('worker_threads').parentPort"),parentPort=globalThis.parentPort}catch{}return parentPort}var _=new Map,u=class{static inWorkerThread(){return typeof self!="undefined"||Boolean(f())}static set onmessage(e){function r(a){let s=f(),{type:i,payload:n}=s?a:a.data;e(i,n)}let o=f();o?(o.on("message",r),o.on("exit",()=>console.debug("Node worker closing"))):globalThis.onmessage=r}static addEventListener(e){let r=_.get(e);r||(r=a=>{if(!G(a))return;let s=f(),{type:i,payload:n}=s?a:a.data;e(i,n)}),f()?console.error("not implemented"):globalThis.addEventListener("message",r)}static removeEventListener(e){let r=_.get(e);_.delete(e),f()?console.error("not implemented"):globalThis.removeEventListener("message",r)}static postMessage(e,r){let o={source:"loaders.gl",type:e,payload:r},a=M(r),s=f();s?s.postMessage(o,a):globalThis.postMessage(o,a)}};function G(t){let{type:e,data:r}=t;return e==="message"&&r&&typeof r.source=="string"&&r.source.startsWith("loaders.gl")}var p=j(R());var z="beta",Q=typeof w!="undefined"?w:z,E={};async function A(t,e=null,r={}){return e&&(t=I(t,e,r)),E[t]=E[t]||H(t),await E[t]}function I(t,e,r){if(t.startsWith("http"))return t;let o=r.modules||{};return o[t]?o[t]:h?r.CDN?(O(r.CDN.startsWith("http")),`${r.CDN}/${e}@${Q}/dist/libs/${t}`):g?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}async function H(t){if(t.endsWith("wasm"))return await(await fetch(t)).arrayBuffer();if(!h)try{return p&&p.requireFromFile&&await p.requireFromFile(t)}catch{return null}if(g)return importScripts(t);let r=await(await fetch(t)).text();return X(r,t)}function X(t,e){if(!h)return p.requireFromString&&p.requireFromString(t,e);if(g)return eval.call(k,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}var W={POSITION:"POSITION",NORMAL:"NORMAL",COLOR_0:"COLOR",TEXCOORD_0:"TEX_COORD"},J=()=>{},m=class{constructor(e){this.draco=e,this.dracoEncoder=new this.draco.Encoder,this.dracoMeshBuilder=new this.draco.MeshBuilder,this.dracoMetadataBuilder=new this.draco.MetadataBuilder}destroy(){this.destroyEncodedObject(this.dracoMeshBuilder),this.destroyEncodedObject(this.dracoEncoder),this.destroyEncodedObject(this.dracoMetadataBuilder),this.dracoMeshBuilder=null,this.dracoEncoder=null,this.draco=null}destroyEncodedObject(e){e&&this.draco.destroy(e)}encodeSync(e,r={}){return this.log=J,this._setOptions(r),r.pointcloud?this._encodePointCloud(e,r):this._encodeMesh(e,r)}_getAttributesFromMesh(e){let r={...e,...e.attributes};return e.indices&&(r.indices=e.indices),r}_encodePointCloud(e,r){let o=new this.draco.PointCloud;r.metadata&&this._addGeometryMetadata(o,r.metadata);let a=this._getAttributesFromMesh(e);this._createDracoPointCloud(o,a,r);let s=new this.draco.DracoInt8Array;try{let i=this.dracoEncoder.EncodePointCloudToDracoBuffer(o,!1,s);if(!(i>0))throw new Error("Draco encoding failed.");return this.log(`DRACO encoded ${o.num_points()} points
2
2
  with ${o.num_attributes()} attributes into ${i} bytes`),B(s)}finally{this.destroyEncodedObject(s),this.destroyEncodedObject(o)}}_encodeMesh(e,r){let o=new this.draco.Mesh;r.metadata&&this._addGeometryMetadata(o,r.metadata);let a=this._getAttributesFromMesh(e);this._createDracoMesh(o,a,r);let s=new this.draco.DracoInt8Array;try{let i=this.dracoEncoder.EncodeMeshToDracoBuffer(o,s);if(i<=0)throw new Error("Draco encoding failed.");return this.log(`DRACO encoded ${o.num_points()} points
3
- with ${o.num_attributes()} attributes into ${i} bytes`),B(s)}finally{this.destroyEncodedObject(s),this.destroyEncodedObject(o)}}_setOptions(e){if("speed"in e&&this.dracoEncoder.SetSpeedOptions(...e.speed),"method"in e){let r=this.draco[e.method||"MESH_SEQUENTIAL_ENCODING"];this.dracoEncoder.SetEncodingMethod(r)}if("quantization"in e)for(let r in e.quantization){let o=e.quantization[r],a=this.draco[r];this.dracoEncoder.SetAttributeQuantization(a,o)}}_createDracoMesh(e,r,o){let a=o.attributesMetadata||{};try{let s=this._getPositionAttribute(r);if(!s)throw new Error("positions");let i=s.length/3;for(let n in r){let d=r[n];n=W[n]||n;let l=this._addAttributeToMesh(e,n,d,i);l!==-1&&this._addAttributeMetadata(e,l,{name:n,...a[n]||{}})}}catch(s){throw this.destroyEncodedObject(e),s}return e}_createDracoPointCloud(e,r,o){let a=o.attributesMetadata||{};try{let s=this._getPositionAttribute(r);if(!s)throw new Error("positions");let i=s.length/3;for(let n in r){let d=r[n];n=W[n]||n;let l=this._addAttributeToMesh(e,n,d,i);l!==-1&&this._addAttributeMetadata(e,l,{name:n,...a[n]||{}})}}catch(s){throw this.destroyEncodedObject(e),s}return e}_addAttributeToMesh(e,r,o,a){if(!ArrayBuffer.isView(o))return-1;let s=this._getDracoAttributeType(r),i=o.length/a;if(s==="indices"){let l=o.length/3;return this.log(`Adding attribute ${r}, size ${l}`),this.dracoMeshBuilder.AddFacesToMesh(e,l,o),-1}this.log(`Adding attribute ${r}, size ${i}`);let n=this.dracoMeshBuilder,{buffer:d}=o;switch(o.constructor){case Int8Array:return n.AddInt8Attribute(e,s,a,i,new Int8Array(d));case Int16Array:return n.AddInt16Attribute(e,s,a,i,new Int16Array(d));case Int32Array:return n.AddInt32Attribute(e,s,a,i,new Int32Array(d));case Uint8Array:case Uint8ClampedArray:return n.AddUInt8Attribute(e,s,a,i,new Uint8Array(d));case Uint16Array:return n.AddUInt16Attribute(e,s,a,i,new Uint16Array(d));case Uint32Array:return n.AddUInt32Attribute(e,s,a,i,new Uint32Array(d));case Float32Array:default:return n.AddFloatAttribute(e,s,a,i,new Float32Array(d))}}_getDracoAttributeType(e){switch(e.toLowerCase()){case"indices":return"indices";case"position":case"positions":case"vertices":return this.draco.POSITION;case"normal":case"normals":return this.draco.NORMAL;case"color":case"colors":return this.draco.COLOR;case"texcoord":case"texcoords":return this.draco.TEX_COORD;default:return this.draco.GENERIC}}_getPositionAttribute(e){for(let r in e){let o=e[r];if(this._getDracoAttributeType(r)===this.draco.POSITION)return o}return null}_addGeometryMetadata(e,r){let o=new this.draco.Metadata;this._populateDracoMetadata(o,r),this.dracoMeshBuilder.AddMetadata(e,o)}_addAttributeMetadata(e,r,o){let a=new this.draco.Metadata;this._populateDracoMetadata(a,o),this.dracoMeshBuilder.SetMetadataForAttribute(e,r,a)}_populateDracoMetadata(e,r){for(let[o,a]of K(r))switch(typeof a){case"number":Math.trunc(a)===a?this.dracoMetadataBuilder.AddIntEntry(e,o,a):this.dracoMetadataBuilder.AddDoubleEntry(e,o,a);break;case"object":a instanceof Int32Array&&this.dracoMetadataBuilder.AddIntEntryArray(e,o,a,a.length);break;case"string":default:this.dracoMetadataBuilder.AddStringEntry(e,o,a)}}};function B(t){let e=t.size(),r=new ArrayBuffer(e),o=new Int8Array(r);for(let a=0;a<e;++a)o[a]=t.GetValue(a);return r}function K(t){return t.entries&&!t.hasOwnProperty("entries")?t.entries():Object.entries(t)}var Y="1.5.5",Z="1.4.1",D=`https://www.gstatic.com/draco/versioned/decoders/${Y}`,Te=`${D}/draco_decoder.js`,Pe=`${D}/draco_wasm_wrapper.js`,Re=`${D}/draco_decoder.wasm`,ee=`https://raw.githubusercontent.com/google/draco/${Z}/javascript/draco_encoder.js`;var y;async function S(t){let e=t.modules||{};return e.draco3d?y=y||e.draco3d.createEncoderModule({}).then(r=>({draco:r})):y=y||re(t),await y}async function re(t){let e=await A(ee,"draco",t);return e=e||globalThis.DracoEncoderModule,new Promise(r=>{e({onModuleLoaded:o=>r({draco:o})})})}var N="4.0.0-alpha.6";var te={pointcloud:!1,attributeNameEntry:"name"},C={name:"DRACO",id:"draco",module:"draco",version:N,extensions:["drc"],encode:oe,options:{draco:te}};async function oe(t,e={}){let{draco:r}=await S(e),o=new m(r);try{return o.encodeSync(t,e.draco)}finally{o.destroy()}}(()=>{!u.inWorkerThread()||(u.onmessage=async(t,e)=>{switch(t){case"process":try{let{input:r,options:o}=e,a=await C.encode(r,o);u.postMessage("done",{result:a})}catch(r){let o=r instanceof Error?r.message:"";u.postMessage("error",{error:o})}break;default:}})})();})();
3
+ with ${o.num_attributes()} attributes into ${i} bytes`),B(s)}finally{this.destroyEncodedObject(s),this.destroyEncodedObject(o)}}_setOptions(e){if("speed"in e&&this.dracoEncoder.SetSpeedOptions(...e.speed),"method"in e){let r=this.draco[e.method||"MESH_SEQUENTIAL_ENCODING"];this.dracoEncoder.SetEncodingMethod(r)}if("quantization"in e)for(let r in e.quantization){let o=e.quantization[r],a=this.draco[r];this.dracoEncoder.SetAttributeQuantization(a,o)}}_createDracoMesh(e,r,o){let a=o.attributesMetadata||{};try{let s=this._getPositionAttribute(r);if(!s)throw new Error("positions");let i=s.length/3;for(let n in r){let d=r[n];n=W[n]||n;let l=this._addAttributeToMesh(e,n,d,i);l!==-1&&this._addAttributeMetadata(e,l,{name:n,...a[n]||{}})}}catch(s){throw this.destroyEncodedObject(e),s}return e}_createDracoPointCloud(e,r,o){let a=o.attributesMetadata||{};try{let s=this._getPositionAttribute(r);if(!s)throw new Error("positions");let i=s.length/3;for(let n in r){let d=r[n];n=W[n]||n;let l=this._addAttributeToMesh(e,n,d,i);l!==-1&&this._addAttributeMetadata(e,l,{name:n,...a[n]||{}})}}catch(s){throw this.destroyEncodedObject(e),s}return e}_addAttributeToMesh(e,r,o,a){if(!ArrayBuffer.isView(o))return-1;let s=this._getDracoAttributeType(r),i=o.length/a;if(s==="indices"){let l=o.length/3;return this.log(`Adding attribute ${r}, size ${l}`),this.dracoMeshBuilder.AddFacesToMesh(e,l,o),-1}this.log(`Adding attribute ${r}, size ${i}`);let n=this.dracoMeshBuilder,{buffer:d}=o;switch(o.constructor){case Int8Array:return n.AddInt8Attribute(e,s,a,i,new Int8Array(d));case Int16Array:return n.AddInt16Attribute(e,s,a,i,new Int16Array(d));case Int32Array:return n.AddInt32Attribute(e,s,a,i,new Int32Array(d));case Uint8Array:case Uint8ClampedArray:return n.AddUInt8Attribute(e,s,a,i,new Uint8Array(d));case Uint16Array:return n.AddUInt16Attribute(e,s,a,i,new Uint16Array(d));case Uint32Array:return n.AddUInt32Attribute(e,s,a,i,new Uint32Array(d));case Float32Array:default:return n.AddFloatAttribute(e,s,a,i,new Float32Array(d))}}_getDracoAttributeType(e){switch(e.toLowerCase()){case"indices":return"indices";case"position":case"positions":case"vertices":return this.draco.POSITION;case"normal":case"normals":return this.draco.NORMAL;case"color":case"colors":return this.draco.COLOR;case"texcoord":case"texcoords":return this.draco.TEX_COORD;default:return this.draco.GENERIC}}_getPositionAttribute(e){for(let r in e){let o=e[r];if(this._getDracoAttributeType(r)===this.draco.POSITION)return o}return null}_addGeometryMetadata(e,r){let o=new this.draco.Metadata;this._populateDracoMetadata(o,r),this.dracoMeshBuilder.AddMetadata(e,o)}_addAttributeMetadata(e,r,o){let a=new this.draco.Metadata;this._populateDracoMetadata(a,o),this.dracoMeshBuilder.SetMetadataForAttribute(e,r,a)}_populateDracoMetadata(e,r){for(let[o,a]of K(r))switch(typeof a){case"number":Math.trunc(a)===a?this.dracoMetadataBuilder.AddIntEntry(e,o,a):this.dracoMetadataBuilder.AddDoubleEntry(e,o,a);break;case"object":a instanceof Int32Array&&this.dracoMetadataBuilder.AddIntEntryArray(e,o,a,a.length);break;case"string":default:this.dracoMetadataBuilder.AddStringEntry(e,o,a)}}};function B(t){let e=t.size(),r=new ArrayBuffer(e),o=new Int8Array(r);for(let a=0;a<e;++a)o[a]=t.GetValue(a);return r}function K(t){return t.entries&&!t.hasOwnProperty("entries")?t.entries():Object.entries(t)}var Y="1.5.5",Z="1.4.1",D=`https://www.gstatic.com/draco/versioned/decoders/${Y}`,Te=`${D}/draco_decoder.js`,Pe=`${D}/draco_wasm_wrapper.js`,Re=`${D}/draco_decoder.wasm`,ee=`https://raw.githubusercontent.com/google/draco/${Z}/javascript/draco_encoder.js`;var y;async function S(t){let e=t.modules||{};return e.draco3d?y=y||e.draco3d.createEncoderModule({}).then(r=>({draco:r})):y=y||re(t),await y}async function re(t){let e=await A(ee,"draco",t);return e=e||globalThis.DracoEncoderModule,new Promise(r=>{e({onModuleLoaded:o=>r({draco:o})})})}var N="4.0.0-alpha.7";var te={pointcloud:!1,attributeNameEntry:"name"},C={name:"DRACO",id:"draco",module:"draco",version:N,extensions:["drc"],encode:oe,options:{draco:te}};async function oe(t,e={}){let{draco:r}=await S(e),o=new m(r);try{return o.encodeSync(t,e.draco)}finally{o.destroy()}}(()=>{!u.inWorkerThread()||(u.onmessage=async(t,e)=>{switch(t){case"process":try{let{input:r,options:o}=e,a=await C.encode(r,o);u.postMessage("done",{result:a})}catch(r){let o=r instanceof Error?r.message:"";u.postMessage("error",{error:o})}break;default:}})})();})();
4
4
  //# sourceMappingURL=draco-writer-worker.js.map
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports._TypecheckDracoLoader = exports.DracoLoader = void 0;
8
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
- var _workerUtils = require("@loaders.gl/worker-utils");
10
9
  var _version = require("./lib/utils/version");
11
10
  var DEFAULT_DRACO_OPTIONS = {
12
11
  draco: {
@@ -18,7 +17,7 @@ var DEFAULT_DRACO_OPTIONS = {
18
17
  };
19
18
  var DracoLoader = {
20
19
  name: 'Draco',
21
- id: _workerUtils.isBrowser ? 'draco' : 'draco-nodejs',
20
+ id: 'draco',
22
21
  module: 'draco',
23
22
  version: _version.VERSION,
24
23
  worker: true,
@@ -1 +1 @@
1
- {"version":3,"file":"draco-loader.js","names":["_workerUtils","require","_version","DEFAULT_DRACO_OPTIONS","draco","decoderType","WebAssembly","_typeof2","default","libraryPath","extraAttributes","attributeNameEntry","undefined","DracoLoader","name","id","isBrowser","module","version","VERSION","worker","extensions","mimeTypes","binary","tests","options","exports","_TypecheckDracoLoader"],"sources":["../../src/draco-loader.ts"],"sourcesContent":["//\n\nimport {isBrowser} from '@loaders.gl/worker-utils';\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {DracoMesh} from './lib/draco-types';\nimport type {DracoParseOptions} from './lib/draco-parser';\nimport {VERSION} from './lib/utils/version';\n\nexport type DracoLoaderOptions = LoaderOptions & {\n draco?: DracoParseOptions & {\n decoderType?: 'wasm' | 'js';\n libraryPath?: string;\n extraAttributes?;\n attributeNameEntry?: string;\n workerUrl?: string;\n };\n};\n\nconst DEFAULT_DRACO_OPTIONS: DracoLoaderOptions = {\n draco: {\n decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js', // 'js' for IE11\n libraryPath: 'libs/',\n extraAttributes: {},\n attributeNameEntry: undefined\n }\n};\n\n/**\n * Worker loader for Draco3D compressed geometries\n */\nexport const DracoLoader: Loader<DracoMesh, never, DracoLoaderOptions> = {\n name: 'Draco',\n id: isBrowser ? 'draco' : 'draco-nodejs',\n module: 'draco',\n // shapes: ['mesh'],\n version: VERSION,\n worker: true,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['DRACO'],\n options: DEFAULT_DRACO_OPTIONS\n};\n\nexport const _TypecheckDracoLoader: Loader = DracoLoader;\n"],"mappings":";;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AAYA,IAAME,qBAAyC,GAAG;EAChDC,KAAK,EAAE;IACLC,WAAW,EAAE,QAAOC,WAAW,qCAAAC,QAAA,CAAAC,OAAA,EAAXF,WAAW,OAAK,QAAQ,GAAG,MAAM,GAAG,IAAI;IAC5DG,WAAW,EAAE,OAAO;IACpBC,eAAe,EAAE,CAAC,CAAC;IACnBC,kBAAkB,EAAEC;EACtB;AACF,CAAC;AAKM,IAAMC,WAAyD,GAAG;EACvEC,IAAI,EAAE,OAAO;EACbC,EAAE,EAAEC,sBAAS,GAAG,OAAO,GAAG,cAAc;EACxCC,MAAM,EAAE,OAAO;EAEfC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,OAAO,EAAEtB;AACX,CAAC;AAACuB,OAAA,CAAAb,WAAA,GAAAA,WAAA;AAEK,IAAMc,qBAA6B,GAAGd,WAAW;AAACa,OAAA,CAAAC,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"file":"draco-loader.js","names":["_version","require","DEFAULT_DRACO_OPTIONS","draco","decoderType","WebAssembly","_typeof2","default","libraryPath","extraAttributes","attributeNameEntry","undefined","DracoLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","binary","tests","options","exports","_TypecheckDracoLoader"],"sources":["../../src/draco-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {DracoMesh} from './lib/draco-types';\nimport type {DracoParseOptions} from './lib/draco-parser';\nimport {VERSION} from './lib/utils/version';\n\nexport type DracoLoaderOptions = LoaderOptions & {\n draco?: DracoParseOptions & {\n decoderType?: 'wasm' | 'js';\n libraryPath?: string;\n extraAttributes?;\n attributeNameEntry?: string;\n workerUrl?: string;\n };\n};\n\nconst DEFAULT_DRACO_OPTIONS: DracoLoaderOptions = {\n draco: {\n decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js', // 'js' for IE11\n libraryPath: 'libs/',\n extraAttributes: {},\n attributeNameEntry: undefined\n }\n};\n\n/**\n * Worker loader for Draco3D compressed geometries\n */\nexport const DracoLoader: Loader<DracoMesh, never, DracoLoaderOptions> = {\n name: 'Draco',\n id: 'draco',\n module: 'draco',\n // shapes: ['mesh'],\n version: VERSION,\n worker: true,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['DRACO'],\n options: DEFAULT_DRACO_OPTIONS\n};\n\nexport const _TypecheckDracoLoader: Loader = DracoLoader;\n"],"mappings":";;;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAYA,IAAMC,qBAAyC,GAAG;EAChDC,KAAK,EAAE;IACLC,WAAW,EAAE,QAAOC,WAAW,qCAAAC,QAAA,CAAAC,OAAA,EAAXF,WAAW,OAAK,QAAQ,GAAG,MAAM,GAAG,IAAI;IAC5DG,WAAW,EAAE,OAAO;IACpBC,eAAe,EAAE,CAAC,CAAC;IACnBC,kBAAkB,EAAEC;EACtB;AACF,CAAC;AAKM,IAAMC,WAAyD,GAAG;EACvEC,IAAI,EAAE,OAAO;EACbC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EAEfC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,OAAO,EAAErB;AACX,CAAC;AAACsB,OAAA,CAAAZ,WAAA,GAAAA,WAAA;AAEK,IAAMa,qBAA6B,GAAGb,WAAW;AAACY,OAAA,CAAAC,qBAAA,GAAAA,qBAAA"}
package/dist/es5/index.js CHANGED
@@ -21,7 +21,6 @@ exports._TypecheckDracoLoader = exports.DracoWriterWorker = void 0;
21
21
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
22
22
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
23
23
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
- var _workerUtils = require("@loaders.gl/worker-utils");
25
24
  var _dracoLoader = require("./draco-loader");
26
25
  var _dracoParser = _interopRequireDefault(require("./lib/draco-parser"));
27
26
  var _dracoModuleLoader = require("./lib/draco-module-loader");
@@ -30,7 +29,7 @@ var _dracoWriter = require("./draco-writer");
30
29
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
30
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
31
  var DracoWriterWorker = {
33
- id: _workerUtils.isBrowser ? 'draco-writer' : 'draco-writer-nodejs',
32
+ id: 'draco-writer',
34
33
  name: 'Draco compressed geometry writer',
35
34
  module: 'draco',
36
35
  version: _version.VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_workerUtils","require","_dracoLoader","_dracoParser","_interopRequireDefault","_dracoModuleLoader","_version","_dracoWriter","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DracoWriterWorker","id","isBrowser","name","module","version","VERSION","worker","options","draco","exports","DracoLoader","DracoWorkerLoader","parse","_x","_x2","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","_yield$loadDracoDecod","dracoParser","wrap","_callee$","_context","prev","next","loadDracoDecoderModule","sent","DracoParser","abrupt","parseSync","destroy","finish","stop","_TypecheckDracoLoader"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {isBrowser} from '@loaders.gl/worker-utils';\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {DracoMesh, DracoLoaderData} from './lib/draco-types';\nimport type {DracoLoaderOptions} from './draco-loader';\nimport {DracoLoader as DracoWorkerLoader} from './draco-loader';\nimport DracoParser from './lib/draco-parser';\nimport {loadDracoDecoderModule} from './lib/draco-module-loader';\nimport {VERSION} from './lib/utils/version';\n\n// Draco data types\n\nexport type {DracoMesh, DracoLoaderData};\n\n// Draco Writer\n\nexport type {DracoWriterOptions} from './draco-writer';\nexport {DracoWriter} from './draco-writer';\n\n/**\n * Browser worker doesn't work because of issue during \"draco_encoder.js\" loading.\n * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.\n */\nexport const DracoWriterWorker = {\n id: isBrowser ? 'draco-writer' : 'draco-writer-nodejs',\n name: 'Draco compressed geometry writer',\n module: 'draco',\n version: VERSION,\n worker: true,\n options: {\n draco: {},\n source: null\n }\n};\n\n// Draco Loader\n\nexport type {DracoLoaderOptions};\nexport {DracoWorkerLoader};\n\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoLoader: LoaderWithParser<DracoMesh, never, DracoLoaderOptions> = {\n ...DracoWorkerLoader,\n parse\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions): Promise<DracoMesh> {\n const {draco} = await loadDracoDecoderModule(options);\n const dracoParser = new DracoParser(draco);\n try {\n return dracoParser.parseSync(arrayBuffer, options?.draco);\n } finally {\n dracoParser.destroy();\n }\n}\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckDracoLoader: LoaderWithParser = DracoLoader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_dracoLoader","require","_dracoParser","_interopRequireDefault","_dracoModuleLoader","_version","_dracoWriter","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DracoWriterWorker","id","name","module","version","VERSION","worker","options","draco","exports","DracoLoader","DracoWorkerLoader","parse","_x","_x2","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","_yield$loadDracoDecod","dracoParser","wrap","_callee$","_context","prev","next","loadDracoDecoderModule","sent","DracoParser","abrupt","parseSync","destroy","finish","stop","_TypecheckDracoLoader"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {DracoMesh, DracoLoaderData} from './lib/draco-types';\nimport type {DracoLoaderOptions} from './draco-loader';\nimport {DracoLoader as DracoWorkerLoader} from './draco-loader';\nimport DracoParser from './lib/draco-parser';\nimport {loadDracoDecoderModule} from './lib/draco-module-loader';\nimport {VERSION} from './lib/utils/version';\n\n// Draco data types\n\nexport type {DracoMesh, DracoLoaderData};\n\n// Draco Writer\n\nexport type {DracoWriterOptions} from './draco-writer';\nexport {DracoWriter} from './draco-writer';\n\n/**\n * Browser worker doesn't work because of issue during \"draco_encoder.js\" loading.\n * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.\n */\nexport const DracoWriterWorker = {\n id: 'draco-writer',\n name: 'Draco compressed geometry writer',\n module: 'draco',\n version: VERSION,\n worker: true,\n options: {\n draco: {},\n source: null\n }\n};\n\n// Draco Loader\n\nexport type {DracoLoaderOptions};\nexport {DracoWorkerLoader};\n\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoLoader: LoaderWithParser<DracoMesh, never, DracoLoaderOptions> = {\n ...DracoWorkerLoader,\n parse\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions): Promise<DracoMesh> {\n const {draco} = await loadDracoDecoderModule(options);\n const dracoParser = new DracoParser(draco);\n try {\n return dracoParser.parseSync(arrayBuffer, options?.draco);\n } finally {\n dracoParser.destroy();\n }\n}\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckDracoLoader: LoaderWithParser = DracoLoader;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AASA,IAAAK,YAAA,GAAAL,OAAA;AAA2C,SAAAM,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAMpC,IAAMY,iBAAiB,GAAG;EAC/BC,EAAE,EAAE,cAAc;EAClBC,IAAI,EAAE,kCAAkC;EACxCC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,KAAK,EAAE,CAAC,CAAC;IACThB,MAAM,EAAE;EACV;AACF,CAAC;AAACiB,OAAA,CAAAT,iBAAA,GAAAA,iBAAA;AAUK,IAAMU,WAAmE,GAAAvB,aAAA,CAAAA,aAAA,KAC3EwB,wBAAiB;EACpBC,KAAK,EAALA;AAAK,EACN;AAACH,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAAA,SAEaE,KAAKA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,MAAA,CAAA7B,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAAyB,OAAA;EAAAA,MAAA,OAAAC,kBAAA,CAAApB,OAAA,EAAAqB,YAAA,CAAArB,OAAA,CAAAsB,IAAA,CAApB,SAAAC,QAAqBC,WAAwB,EAAEb,OAA4B;IAAA,IAAAc,qBAAA,EAAAb,KAAA,EAAAc,WAAA;IAAA,OAAAL,YAAA,CAAArB,OAAA,CAAA2B,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACnD,IAAAC,yCAAsB,EAACrB,OAAO,CAAC;QAAA;UAAAc,qBAAA,GAAAI,QAAA,CAAAI,IAAA;UAA9CrB,KAAK,GAAAa,qBAAA,CAALb,KAAK;UACNc,WAAW,GAAG,IAAIQ,oBAAW,CAACtB,KAAK,CAAC;UAAAiB,QAAA,CAAAC,IAAA;UAAA,OAAAD,QAAA,CAAAM,MAAA,WAEjCT,WAAW,CAACU,SAAS,CAACZ,WAAW,EAAEb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,KAAK,CAAC;QAAA;UAAAiB,QAAA,CAAAC,IAAA;UAEzDJ,WAAW,CAACW,OAAO,CAAC,CAAC;UAAC,OAAAR,QAAA,CAAAS,MAAA;QAAA;QAAA;UAAA,OAAAT,QAAA,CAAAU,IAAA;MAAA;IAAA,GAAAhB,OAAA;EAAA,CAEzB;EAAA,OAAAJ,MAAA,CAAA7B,KAAA,OAAAI,SAAA;AAAA;AAGM,IAAM8C,qBAAuC,GAAG1B,WAAW;AAACD,OAAA,CAAA2B,qBAAA,GAAAA,qBAAA"}
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VERSION = void 0;
7
- var VERSION = typeof "4.0.0-alpha.6" !== 'undefined' ? "4.0.0-alpha.6" : 'latest';
7
+ var VERSION = typeof "4.0.0-alpha.7" !== 'undefined' ? "4.0.0-alpha.7" : 'latest';
8
8
  exports.VERSION = VERSION;
9
9
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _loaderUtils = require("@loaders.gl/loader-utils");
4
3
  require("@loaders.gl/polyfills");
4
+ var _loaderUtils = require("@loaders.gl/loader-utils");
5
5
  var _index = require("../index");
6
6
  (0, _loaderUtils.createLoaderWorker)(_index.DracoLoader);
7
- //# sourceMappingURL=draco-nodejs-worker.js.map
7
+ //# sourceMappingURL=draco-worker-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-worker-node.js","names":["require","_loaderUtils","_index","createLoaderWorker","DracoLoader"],"sources":["../../../src/workers/draco-worker-node.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\nimport {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {DracoLoader} from '../index';\n\ncreateLoaderWorker(DracoLoader);\n"],"mappings":";;AACAA,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,+BAAkB,EAACC,kBAAW,CAAC"}
@@ -3,8 +3,9 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ require("@loaders.gl/polyfills");
6
7
  var _workerUtils = require("@loaders.gl/worker-utils");
7
- var _dracoWriterNodejs = require("../draco-writer-nodejs");
8
+ var _dracoWriter = require("../draco-writer");
8
9
  (function () {
9
10
  if (!_workerUtils.WorkerBody.inWorkerThread()) {
10
11
  return;
@@ -22,7 +23,7 @@ var _dracoWriterNodejs = require("../draco-writer-nodejs");
22
23
  _context.prev = 3;
23
24
  input = payload.input, options = payload.options;
24
25
  _context.next = 7;
25
- return _dracoWriterNodejs.DracoWriterNodeJS.encode(input, options);
26
+ return _dracoWriter.DracoWriter.encode(input, options);
26
27
  case 7:
27
28
  result = _context.sent;
28
29
  _workerUtils.WorkerBody.postMessage('done', {
@@ -50,4 +51,4 @@ var _dracoWriterNodejs = require("../draco-writer-nodejs");
50
51
  };
51
52
  }();
52
53
  })();
53
- //# sourceMappingURL=draco-writer-nodejs-worker.js.map
54
+ //# sourceMappingURL=draco-writer-worker-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-writer-worker-node.js","names":["require","_workerUtils","_dracoWriter","WorkerBody","inWorkerThread","onmessage","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","type","payload","input","options","result","message","wrap","_callee$","_context","prev","next","t0","DracoWriter","encode","sent","postMessage","t1","Error","error","abrupt","stop","_x","_x2","apply","arguments"],"sources":["../../../src/workers/draco-writer-worker-node.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\nimport {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {DracoWriter} from '../draco-writer';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await DracoWriter.encode!(input, options);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":";;;;;AACAA,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,CAAC,YAAM;EAEL,IAAI,CAACG,uBAAU,CAACC,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAD,uBAAU,CAACE,SAAS;IAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAG,SAAAC,QAAOC,IAAI,EAAEC,OAA6B;MAAA,IAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,OAAA;MAAA,OAAAR,YAAA,CAAAD,OAAA,CAAAU,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAG,EAAA,GACvDX,IAAI;YAAAQ,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAG,EAAA,KACL,SAAS;YAAA;UAAA;YAAAH,QAAA,CAAAC,IAAA;YAEHP,KAAK,GAAaD,OAAO,CAAzBC,KAAK,EAAEC,OAAO,GAAIF,OAAO,CAAlBE,OAAO;YAAAK,QAAA,CAAAE,IAAA;YAAA,OACAE,wBAAW,CAACC,MAAM,CAAEX,KAAK,EAAEC,OAAO,CAAC;UAAA;YAAlDC,MAAM,GAAAI,QAAA,CAAAM,IAAA;YACZvB,uBAAU,CAACwB,WAAW,CAAC,MAAM,EAAE;cAACX,MAAM,EAANA;YAAM,CAAC,CAAC;YAACI,QAAA,CAAAE,IAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAQ,EAAA,GAAAR,QAAA;YAEnCH,OAAO,GAAGG,QAAA,CAAAQ,EAAA,YAAiBC,KAAK,GAAGT,QAAA,CAAAQ,EAAA,CAAMX,OAAO,GAAG,EAAE;YAC3Dd,uBAAU,CAACwB,WAAW,CAAC,OAAO,EAAE;cAACG,KAAK,EAAEb;YAAO,CAAC,CAAC;UAAC;YAAA,OAAAG,QAAA,CAAAW,MAAA;UAAA;UAAA;YAAA,OAAAX,QAAA,CAAAY,IAAA;QAAA;MAAA,GAAArB,OAAA;IAAA,CAKzD;IAAA,iBAAAsB,EAAA,EAAAC,GAAA;MAAA,OAAA5B,IAAA,CAAA6B,KAAA,OAAAC,SAAA;IAAA;EAAA;AACH,CAAC,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- import { isBrowser } from '@loaders.gl/worker-utils';
2
1
  import { VERSION } from './lib/utils/version';
3
2
  const DEFAULT_DRACO_OPTIONS = {
4
3
  draco: {
@@ -10,7 +9,7 @@ const DEFAULT_DRACO_OPTIONS = {
10
9
  };
11
10
  export const DracoLoader = {
12
11
  name: 'Draco',
13
- id: isBrowser ? 'draco' : 'draco-nodejs',
12
+ id: 'draco',
14
13
  module: 'draco',
15
14
  version: VERSION,
16
15
  worker: true,
@@ -1 +1 @@
1
- {"version":3,"file":"draco-loader.js","names":["isBrowser","VERSION","DEFAULT_DRACO_OPTIONS","draco","decoderType","WebAssembly","libraryPath","extraAttributes","attributeNameEntry","undefined","DracoLoader","name","id","module","version","worker","extensions","mimeTypes","binary","tests","options","_TypecheckDracoLoader"],"sources":["../../src/draco-loader.ts"],"sourcesContent":["//\n\nimport {isBrowser} from '@loaders.gl/worker-utils';\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {DracoMesh} from './lib/draco-types';\nimport type {DracoParseOptions} from './lib/draco-parser';\nimport {VERSION} from './lib/utils/version';\n\nexport type DracoLoaderOptions = LoaderOptions & {\n draco?: DracoParseOptions & {\n decoderType?: 'wasm' | 'js';\n libraryPath?: string;\n extraAttributes?;\n attributeNameEntry?: string;\n workerUrl?: string;\n };\n};\n\nconst DEFAULT_DRACO_OPTIONS: DracoLoaderOptions = {\n draco: {\n decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js', // 'js' for IE11\n libraryPath: 'libs/',\n extraAttributes: {},\n attributeNameEntry: undefined\n }\n};\n\n/**\n * Worker loader for Draco3D compressed geometries\n */\nexport const DracoLoader: Loader<DracoMesh, never, DracoLoaderOptions> = {\n name: 'Draco',\n id: isBrowser ? 'draco' : 'draco-nodejs',\n module: 'draco',\n // shapes: ['mesh'],\n version: VERSION,\n worker: true,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['DRACO'],\n options: DEFAULT_DRACO_OPTIONS\n};\n\nexport const _TypecheckDracoLoader: Loader = DracoLoader;\n"],"mappings":"AAEA,SAAQA,SAAS,QAAO,0BAA0B;AAIlD,SAAQC,OAAO,QAAO,qBAAqB;AAY3C,MAAMC,qBAAyC,GAAG;EAChDC,KAAK,EAAE;IACLC,WAAW,EAAE,OAAOC,WAAW,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI;IAC5DC,WAAW,EAAE,OAAO;IACpBC,eAAe,EAAE,CAAC,CAAC;IACnBC,kBAAkB,EAAEC;EACtB;AACF,CAAC;AAKD,OAAO,MAAMC,WAAyD,GAAG;EACvEC,IAAI,EAAE,OAAO;EACbC,EAAE,EAAEZ,SAAS,GAAG,OAAO,GAAG,cAAc;EACxCa,MAAM,EAAE,OAAO;EAEfC,OAAO,EAAEb,OAAO;EAChBc,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,OAAO,EAAElB;AACX,CAAC;AAED,OAAO,MAAMmB,qBAA6B,GAAGX,WAAW"}
1
+ {"version":3,"file":"draco-loader.js","names":["VERSION","DEFAULT_DRACO_OPTIONS","draco","decoderType","WebAssembly","libraryPath","extraAttributes","attributeNameEntry","undefined","DracoLoader","name","id","module","version","worker","extensions","mimeTypes","binary","tests","options","_TypecheckDracoLoader"],"sources":["../../src/draco-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {DracoMesh} from './lib/draco-types';\nimport type {DracoParseOptions} from './lib/draco-parser';\nimport {VERSION} from './lib/utils/version';\n\nexport type DracoLoaderOptions = LoaderOptions & {\n draco?: DracoParseOptions & {\n decoderType?: 'wasm' | 'js';\n libraryPath?: string;\n extraAttributes?;\n attributeNameEntry?: string;\n workerUrl?: string;\n };\n};\n\nconst DEFAULT_DRACO_OPTIONS: DracoLoaderOptions = {\n draco: {\n decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js', // 'js' for IE11\n libraryPath: 'libs/',\n extraAttributes: {},\n attributeNameEntry: undefined\n }\n};\n\n/**\n * Worker loader for Draco3D compressed geometries\n */\nexport const DracoLoader: Loader<DracoMesh, never, DracoLoaderOptions> = {\n name: 'Draco',\n id: 'draco',\n module: 'draco',\n // shapes: ['mesh'],\n version: VERSION,\n worker: true,\n extensions: ['drc'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['DRACO'],\n options: DEFAULT_DRACO_OPTIONS\n};\n\nexport const _TypecheckDracoLoader: Loader = DracoLoader;\n"],"mappings":"AAIA,SAAQA,OAAO,QAAO,qBAAqB;AAY3C,MAAMC,qBAAyC,GAAG;EAChDC,KAAK,EAAE;IACLC,WAAW,EAAE,OAAOC,WAAW,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI;IAC5DC,WAAW,EAAE,OAAO;IACpBC,eAAe,EAAE,CAAC,CAAC;IACnBC,kBAAkB,EAAEC;EACtB;AACF,CAAC;AAKD,OAAO,MAAMC,WAAyD,GAAG;EACvEC,IAAI,EAAE,OAAO;EACbC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EAEfC,OAAO,EAAEb,OAAO;EAChBc,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,OAAO,EAAElB;AACX,CAAC;AAED,OAAO,MAAMmB,qBAA6B,GAAGX,WAAW"}
package/dist/esm/index.js CHANGED
@@ -1,11 +1,10 @@
1
- import { isBrowser } from '@loaders.gl/worker-utils';
2
1
  import { DracoLoader as DracoWorkerLoader } from './draco-loader';
3
2
  import DracoParser from './lib/draco-parser';
4
3
  import { loadDracoDecoderModule } from './lib/draco-module-loader';
5
4
  import { VERSION } from './lib/utils/version';
6
5
  export { DracoWriter } from './draco-writer';
7
6
  export const DracoWriterWorker = {
8
- id: isBrowser ? 'draco-writer' : 'draco-writer-nodejs',
7
+ id: 'draco-writer',
9
8
  name: 'Draco compressed geometry writer',
10
9
  module: 'draco',
11
10
  version: VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isBrowser","DracoLoader","DracoWorkerLoader","DracoParser","loadDracoDecoderModule","VERSION","DracoWriter","DracoWriterWorker","id","name","module","version","worker","options","draco","source","parse","arrayBuffer","dracoParser","parseSync","destroy","_TypecheckDracoLoader"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {isBrowser} from '@loaders.gl/worker-utils';\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {DracoMesh, DracoLoaderData} from './lib/draco-types';\nimport type {DracoLoaderOptions} from './draco-loader';\nimport {DracoLoader as DracoWorkerLoader} from './draco-loader';\nimport DracoParser from './lib/draco-parser';\nimport {loadDracoDecoderModule} from './lib/draco-module-loader';\nimport {VERSION} from './lib/utils/version';\n\n// Draco data types\n\nexport type {DracoMesh, DracoLoaderData};\n\n// Draco Writer\n\nexport type {DracoWriterOptions} from './draco-writer';\nexport {DracoWriter} from './draco-writer';\n\n/**\n * Browser worker doesn't work because of issue during \"draco_encoder.js\" loading.\n * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.\n */\nexport const DracoWriterWorker = {\n id: isBrowser ? 'draco-writer' : 'draco-writer-nodejs',\n name: 'Draco compressed geometry writer',\n module: 'draco',\n version: VERSION,\n worker: true,\n options: {\n draco: {},\n source: null\n }\n};\n\n// Draco Loader\n\nexport type {DracoLoaderOptions};\nexport {DracoWorkerLoader};\n\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoLoader: LoaderWithParser<DracoMesh, never, DracoLoaderOptions> = {\n ...DracoWorkerLoader,\n parse\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions): Promise<DracoMesh> {\n const {draco} = await loadDracoDecoderModule(options);\n const dracoParser = new DracoParser(draco);\n try {\n return dracoParser.parseSync(arrayBuffer, options?.draco);\n } finally {\n dracoParser.destroy();\n }\n}\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckDracoLoader: LoaderWithParser = DracoLoader;\n"],"mappings":"AAEA,SAAQA,SAAS,QAAO,0BAA0B;AAIlD,SAAQC,WAAW,IAAIC,iBAAiB,QAAO,gBAAgB;AAC/D,OAAOC,WAAW,MAAM,oBAAoB;AAC5C,SAAQC,sBAAsB,QAAO,2BAA2B;AAChE,SAAQC,OAAO,QAAO,qBAAqB;AAS3C,SAAQC,WAAW,QAAO,gBAAgB;AAM1C,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,EAAE,EAAER,SAAS,GAAG,cAAc,GAAG,qBAAqB;EACtDS,IAAI,EAAE,kCAAkC;EACxCC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEN,OAAO;EAChBO,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,KAAK,EAAE,CAAC,CAAC;IACTC,MAAM,EAAE;EACV;AACF,CAAC;AAKD,SAAQb,iBAAiB;AAKzB,OAAO,MAAMD,WAAmE,GAAG;EACjF,GAAGC,iBAAiB;EACpBc;AACF,CAAC;AAED,eAAeA,KAAKA,CAACC,WAAwB,EAAEJ,OAA4B,EAAsB;EAC/F,MAAM;IAACC;EAAK,CAAC,GAAG,MAAMV,sBAAsB,CAACS,OAAO,CAAC;EACrD,MAAMK,WAAW,GAAG,IAAIf,WAAW,CAACW,KAAK,CAAC;EAC1C,IAAI;IACF,OAAOI,WAAW,CAACC,SAAS,CAACF,WAAW,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,KAAK,CAAC;EAC3D,CAAC,SAAS;IACRI,WAAW,CAACE,OAAO,CAAC,CAAC;EACvB;AACF;AAGA,OAAO,MAAMC,qBAAuC,GAAGpB,WAAW"}
1
+ {"version":3,"file":"index.js","names":["DracoLoader","DracoWorkerLoader","DracoParser","loadDracoDecoderModule","VERSION","DracoWriter","DracoWriterWorker","id","name","module","version","worker","options","draco","source","parse","arrayBuffer","dracoParser","parseSync","destroy","_TypecheckDracoLoader"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {DracoMesh, DracoLoaderData} from './lib/draco-types';\nimport type {DracoLoaderOptions} from './draco-loader';\nimport {DracoLoader as DracoWorkerLoader} from './draco-loader';\nimport DracoParser from './lib/draco-parser';\nimport {loadDracoDecoderModule} from './lib/draco-module-loader';\nimport {VERSION} from './lib/utils/version';\n\n// Draco data types\n\nexport type {DracoMesh, DracoLoaderData};\n\n// Draco Writer\n\nexport type {DracoWriterOptions} from './draco-writer';\nexport {DracoWriter} from './draco-writer';\n\n/**\n * Browser worker doesn't work because of issue during \"draco_encoder.js\" loading.\n * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.\n */\nexport const DracoWriterWorker = {\n id: 'draco-writer',\n name: 'Draco compressed geometry writer',\n module: 'draco',\n version: VERSION,\n worker: true,\n options: {\n draco: {},\n source: null\n }\n};\n\n// Draco Loader\n\nexport type {DracoLoaderOptions};\nexport {DracoWorkerLoader};\n\n/**\n * Loader for Draco3D compressed geometries\n */\nexport const DracoLoader: LoaderWithParser<DracoMesh, never, DracoLoaderOptions> = {\n ...DracoWorkerLoader,\n parse\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions): Promise<DracoMesh> {\n const {draco} = await loadDracoDecoderModule(options);\n const dracoParser = new DracoParser(draco);\n try {\n return dracoParser.parseSync(arrayBuffer, options?.draco);\n } finally {\n dracoParser.destroy();\n }\n}\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckDracoLoader: LoaderWithParser = DracoLoader;\n"],"mappings":"AAIA,SAAQA,WAAW,IAAIC,iBAAiB,QAAO,gBAAgB;AAC/D,OAAOC,WAAW,MAAM,oBAAoB;AAC5C,SAAQC,sBAAsB,QAAO,2BAA2B;AAChE,SAAQC,OAAO,QAAO,qBAAqB;AAS3C,SAAQC,WAAW,QAAO,gBAAgB;AAM1C,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,EAAE,EAAE,cAAc;EAClBC,IAAI,EAAE,kCAAkC;EACxCC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEN,OAAO;EAChBO,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,KAAK,EAAE,CAAC,CAAC;IACTC,MAAM,EAAE;EACV;AACF,CAAC;AAKD,SAAQb,iBAAiB;AAKzB,OAAO,MAAMD,WAAmE,GAAG;EACjF,GAAGC,iBAAiB;EACpBc;AACF,CAAC;AAED,eAAeA,KAAKA,CAACC,WAAwB,EAAEJ,OAA4B,EAAsB;EAC/F,MAAM;IAACC;EAAK,CAAC,GAAG,MAAMV,sBAAsB,CAACS,OAAO,CAAC;EACrD,MAAMK,WAAW,GAAG,IAAIf,WAAW,CAACW,KAAK,CAAC;EAC1C,IAAI;IACF,OAAOI,WAAW,CAACC,SAAS,CAACF,WAAW,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,KAAK,CAAC;EAC3D,CAAC,SAAS;IACRI,WAAW,CAACE,OAAO,CAAC,CAAC;EACvB;AACF;AAGA,OAAO,MAAMC,qBAAuC,GAAGpB,WAAW"}
@@ -1,2 +1,2 @@
1
- export const VERSION = typeof "4.0.0-alpha.6" !== 'undefined' ? "4.0.0-alpha.6" : 'latest';
1
+ export const VERSION = typeof "4.0.0-alpha.7" !== 'undefined' ? "4.0.0-alpha.7" : 'latest';
2
2
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,5 @@
1
- import { createLoaderWorker } from '@loaders.gl/loader-utils';
2
1
  import '@loaders.gl/polyfills';
2
+ import { createLoaderWorker } from '@loaders.gl/loader-utils';
3
3
  import { DracoLoader } from '../index';
4
4
  createLoaderWorker(DracoLoader);
5
- //# sourceMappingURL=draco-nodejs-worker.js.map
5
+ //# sourceMappingURL=draco-worker-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-worker-node.js","names":["createLoaderWorker","DracoLoader"],"sources":["../../../src/workers/draco-worker-node.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\nimport {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {DracoLoader} from '../index';\n\ncreateLoaderWorker(DracoLoader);\n"],"mappings":"AACA,OAAO,uBAAuB;AAC9B,SAAQA,kBAAkB,QAAO,0BAA0B;AAC3D,SAAQC,WAAW,QAAO,UAAU;AAEpCD,kBAAkB,CAACC,WAAW,CAAC"}
@@ -1,5 +1,6 @@
1
+ import '@loaders.gl/polyfills';
1
2
  import { WorkerBody } from '@loaders.gl/worker-utils';
2
- import { DracoWriterNodeJS } from '../draco-writer-nodejs';
3
+ import { DracoWriter } from '../draco-writer';
3
4
  (() => {
4
5
  if (!WorkerBody.inWorkerThread()) {
5
6
  return;
@@ -12,7 +13,7 @@ import { DracoWriterNodeJS } from '../draco-writer-nodejs';
12
13
  input,
13
14
  options
14
15
  } = payload;
15
- const result = await DracoWriterNodeJS.encode(input, options);
16
+ const result = await DracoWriter.encode(input, options);
16
17
  WorkerBody.postMessage('done', {
17
18
  result
18
19
  });
@@ -27,4 +28,4 @@ import { DracoWriterNodeJS } from '../draco-writer-nodejs';
27
28
  }
28
29
  };
29
30
  })();
30
- //# sourceMappingURL=draco-writer-nodejs-worker.js.map
31
+ //# sourceMappingURL=draco-writer-worker-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-writer-worker-node.js","names":["WorkerBody","DracoWriter","inWorkerThread","onmessage","type","payload","input","options","result","encode","postMessage","error","message","Error"],"sources":["../../../src/workers/draco-writer-worker-node.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\nimport {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {DracoWriter} from '../draco-writer';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await DracoWriter.encode!(input, options);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":"AACA,OAAO,uBAAuB;AAC9B,SAAQA,UAAU,QAA6B,0BAA0B;AACzE,SAAQC,WAAW,QAAO,iBAAiB;AAE3C,CAAC,MAAM;EAEL,IAAI,CAACD,UAAU,CAACE,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAF,UAAU,CAACG,SAAS,GAAG,OAAOC,IAAI,EAAEC,OAA6B,KAAK;IACpE,QAAQD,IAAI;MACV,KAAK,SAAS;QACZ,IAAI;UACF,MAAM;YAACE,KAAK;YAAEC;UAAO,CAAC,GAAGF,OAAO;UAChC,MAAMG,MAAM,GAAG,MAAMP,WAAW,CAACQ,MAAM,CAAEH,KAAK,EAAEC,OAAO,CAAC;UACxDP,UAAU,CAACU,WAAW,CAAC,MAAM,EAAE;YAACF;UAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,OAAOG,KAAK,EAAE;UACd,MAAMC,OAAO,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACC,OAAO,GAAG,EAAE;UAC3DZ,UAAU,CAACU,WAAW,CAAC,OAAO,EAAE;YAACC,KAAK,EAAEC;UAAO,CAAC,CAAC;QACnD;QACA;MACF;IACF;EACF,CAAC;AACH,CAAC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAOhE,YAAY,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;AAIzC,YAAY,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC;AAIF,YAAY,EAAC,kBAAkB,EAAC,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAC,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAG9E,CAAC;AAaF,eAAO,MAAM,qBAAqB,EAAE,gBAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAOhE,YAAY,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;AAIzC,YAAY,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC;AAIF,YAAY,EAAC,kBAAkB,EAAC,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAC,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAG9E,CAAC;AAaF,eAAO,MAAM,qBAAqB,EAAE,gBAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
- // loaders.gl, MIT license
3
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
4
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
4
  };
6
5
  Object.defineProperty(exports, "__esModule", { value: true });
7
6
  exports._TypecheckDracoLoader = exports.DracoLoader = exports.DracoWorkerLoader = exports.DracoWriterWorker = exports.DracoWriter = void 0;
8
- const worker_utils_1 = require("@loaders.gl/worker-utils");
9
7
  const draco_loader_1 = require("./draco-loader");
10
8
  Object.defineProperty(exports, "DracoWorkerLoader", { enumerable: true, get: function () { return draco_loader_1.DracoLoader; } });
11
9
  const draco_parser_1 = __importDefault(require("./lib/draco-parser"));
@@ -18,7 +16,7 @@ Object.defineProperty(exports, "DracoWriter", { enumerable: true, get: function
18
16
  * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.
19
17
  */
20
18
  exports.DracoWriterWorker = {
21
- id: worker_utils_1.isBrowser ? 'draco-writer' : 'draco-writer-nodejs',
19
+ id: 'draco-writer',
22
20
  name: 'Draco compressed geometry writer',
23
21
  module: 'draco',
24
22
  version: version_1.VERSION,
@@ -0,0 +1,2 @@
1
+ import '@loaders.gl/polyfills';
2
+ //# sourceMappingURL=draco-worker-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-worker-node.d.ts","sourceRoot":"","sources":["../../src/workers/draco-worker-node.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const loader_utils_1 = require("@loaders.gl/loader-utils");
3
+ // Polyfills increases the bundle size significantly. Use it for NodeJS worker only
4
4
  require("@loaders.gl/polyfills");
5
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
5
6
  const index_1 = require("../index");
6
7
  (0, loader_utils_1.createLoaderWorker)(index_1.DracoLoader);
@@ -0,0 +1,2 @@
1
+ import '@loaders.gl/polyfills';
2
+ //# sourceMappingURL=draco-writer-worker-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-writer-worker-node.d.ts","sourceRoot":"","sources":["../../src/workers/draco-writer-worker-node.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,CAAC"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Polyfills increases the bundle size significantly. Use it for NodeJS worker only
4
+ require("@loaders.gl/polyfills");
3
5
  const worker_utils_1 = require("@loaders.gl/worker-utils");
4
- const draco_writer_nodejs_1 = require("../draco-writer-nodejs");
6
+ const draco_writer_1 = require("../draco-writer");
5
7
  (() => {
6
8
  // Check that we are actually in a worker thread
7
9
  if (!worker_utils_1.WorkerBody.inWorkerThread()) {
@@ -12,7 +14,7 @@ const draco_writer_nodejs_1 = require("../draco-writer-nodejs");
12
14
  case 'process':
13
15
  try {
14
16
  const { input, options } = payload;
15
- const result = await draco_writer_nodejs_1.DracoWriterNodeJS.encode(input, options);
17
+ const result = await draco_writer_1.DracoWriter.encode(input, options);
16
18
  worker_utils_1.WorkerBody.postMessage('done', { result });
17
19
  }
18
20
  catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/draco",
3
- "version": "4.0.0-alpha.6",
3
+ "version": "4.0.0-alpha.7",
4
4
  "description": "Framework-independent loader and writer for Draco compressed meshes and point clouds",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -32,23 +32,23 @@
32
32
  "README.md"
33
33
  ],
34
34
  "scripts": {
35
- "pre-build": "npm run build-bundle && npm run build-worker",
35
+ "pre-build": "npm run build-bundle && npm run build-workers",
36
36
  "build-bundle": "esbuild src/bundle.ts --outfile=dist/dist.min.js --bundle --minify --sourcemap",
37
- "build-loader-worker": "esbuild src/workers/draco-worker.ts --outfile=dist/draco-worker.js --bundle --minify --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
38
- "build-loader-worker-nodejs": "esbuild src/workers/draco-nodejs-worker.ts --outfile=dist/draco-nodejs-worker.js --platform=node --target=esnext,node12 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
39
- "build-writer-worker": "esbuild src/workers/draco-writer-worker.ts --outfile=dist/draco-writer-worker.js --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
40
- "build-writer-worker-nodejs": "esbuild src/workers/draco-writer-nodejs-worker.ts --outfile=dist/draco-writer-nodejs-worker.js --platform=node --target=esnext,node12 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
41
- "build-worker": "yarn build-loader-worker && yarn build-loader-worker-nodejs && yarn build-writer-worker && yarn build-writer-worker-nodejs"
37
+ "build-workers": "yarn build-loader-worker && yarn build-loader-worker-node && yarn build-writer-worker && yarn build-writer-worker-node",
38
+ "build-loader-worker": "esbuild src/workers/draco-worker.ts --outfile=dist/draco-worker.js --target=esnext --bundle --minify --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
39
+ "build-loader-worker-node": "esbuild src/workers/draco-worker-node.ts --outfile=dist/draco-worker-node.js --target=node16 --platform=node --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
40
+ "build-writer-worker": "esbuild src/workers/draco-writer-worker.ts --outfile=dist/draco-writer-worker.js --target=esnext --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
41
+ "build-writer-worker-node": "esbuild src/workers/draco-writer-worker-node.ts --outfile=dist/draco-writer-worker-node.js --target=node16 --platform=node --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
42
42
  },
43
43
  "dependencies": {
44
44
  "@babel/runtime": "^7.3.1",
45
- "@loaders.gl/loader-utils": "4.0.0-alpha.6",
46
- "@loaders.gl/schema": "4.0.0-alpha.6",
47
- "@loaders.gl/worker-utils": "4.0.0-alpha.6",
45
+ "@loaders.gl/loader-utils": "4.0.0-alpha.7",
46
+ "@loaders.gl/schema": "4.0.0-alpha.7",
47
+ "@loaders.gl/worker-utils": "4.0.0-alpha.7",
48
48
  "draco3d": "1.5.5"
49
49
  },
50
50
  "devDependencies": {
51
- "@loaders.gl/polyfills": "4.0.0-alpha.6"
51
+ "@loaders.gl/polyfills": "4.0.0-alpha.7"
52
52
  },
53
- "gitHead": "acc1985050dfaa0f1f0c066f8da5bce7454a046c"
53
+ "gitHead": "afb59c4d8e5d8ebb9c28f111cb0c96c5527d0ffd"
54
54
  }
@@ -1,6 +1,4 @@
1
- //
2
-
3
- import {isBrowser} from '@loaders.gl/worker-utils';
1
+ // loaders.gl, MIT license
4
2
  import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';
5
3
  import type {DracoMesh} from './lib/draco-types';
6
4
  import type {DracoParseOptions} from './lib/draco-parser';
@@ -30,7 +28,7 @@ const DEFAULT_DRACO_OPTIONS: DracoLoaderOptions = {
30
28
  */
31
29
  export const DracoLoader: Loader<DracoMesh, never, DracoLoaderOptions> = {
32
30
  name: 'Draco',
33
- id: isBrowser ? 'draco' : 'draco-nodejs',
31
+ id: 'draco',
34
32
  module: 'draco',
35
33
  // shapes: ['mesh'],
36
34
  version: VERSION,
package/src/index.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  // loaders.gl, MIT license
2
-
3
- import {isBrowser} from '@loaders.gl/worker-utils';
4
2
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
5
3
  import type {DracoMesh, DracoLoaderData} from './lib/draco-types';
6
4
  import type {DracoLoaderOptions} from './draco-loader';
@@ -23,7 +21,7 @@ export {DracoWriter} from './draco-writer';
23
21
  * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.
24
22
  */
25
23
  export const DracoWriterWorker = {
26
- id: isBrowser ? 'draco-writer' : 'draco-writer-nodejs',
24
+ id: 'draco-writer',
27
25
  name: 'Draco compressed geometry writer',
28
26
  module: 'draco',
29
27
  version: VERSION,
@@ -1,5 +1,6 @@
1
- import {createLoaderWorker} from '@loaders.gl/loader-utils';
1
+ // Polyfills increases the bundle size significantly. Use it for NodeJS worker only
2
2
  import '@loaders.gl/polyfills';
3
+ import {createLoaderWorker} from '@loaders.gl/loader-utils';
3
4
  import {DracoLoader} from '../index';
4
5
 
5
6
  createLoaderWorker(DracoLoader);
@@ -1,5 +1,7 @@
1
+ // Polyfills increases the bundle size significantly. Use it for NodeJS worker only
2
+ import '@loaders.gl/polyfills';
1
3
  import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';
2
- import {DracoWriterNodeJS} from '../draco-writer-nodejs';
4
+ import {DracoWriter} from '../draco-writer';
3
5
 
4
6
  (() => {
5
7
  // Check that we are actually in a worker thread
@@ -12,7 +14,7 @@ import {DracoWriterNodeJS} from '../draco-writer-nodejs';
12
14
  case 'process':
13
15
  try {
14
16
  const {input, options} = payload;
15
- const result = await DracoWriterNodeJS.encode!(input, options);
17
+ const result = await DracoWriter.encode!(input, options);
16
18
  WorkerBody.postMessage('done', {result});
17
19
  } catch (error) {
18
20
  const message = error instanceof Error ? error.message : '';