@loaders.gl/terrain 4.0.0-alpha.20 → 4.0.0-alpha.22

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/dist.min.js CHANGED
@@ -13,6 +13,44 @@
13
13
  __defProp(target, name, { get: all[name], enumerable: true });
14
14
  };
15
15
 
16
+ // ../loader-utils/src/loader-types.ts
17
+ async function parseFromContext(data, loaders, options, context) {
18
+ return context._parse(data, loaders, options, context);
19
+ }
20
+ var init_loader_types = __esm({
21
+ "../loader-utils/src/loader-types.ts"() {
22
+ }
23
+ });
24
+
25
+ // ../loader-utils/src/lib/binary-utils/array-buffer-utils.ts
26
+ function concatenateTypedArrays(...typedArrays) {
27
+ const arrays = typedArrays;
28
+ const TypedArrayConstructor = arrays && arrays.length > 1 && arrays[0].constructor || null;
29
+ if (!TypedArrayConstructor) {
30
+ throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');
31
+ }
32
+ const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);
33
+ const result = new TypedArrayConstructor(sumLength);
34
+ let offset = 0;
35
+ for (const array of arrays) {
36
+ result.set(array, offset);
37
+ offset += array.length;
38
+ }
39
+ return result;
40
+ }
41
+ var init_array_buffer_utils = __esm({
42
+ "../loader-utils/src/lib/binary-utils/array-buffer-utils.ts"() {
43
+ }
44
+ });
45
+
46
+ // ../loader-utils/src/index.ts
47
+ var init_src = __esm({
48
+ "../loader-utils/src/index.ts"() {
49
+ init_loader_types();
50
+ init_array_buffer_utils();
51
+ }
52
+ });
53
+
16
54
  // ../schema/src/lib/mesh/mesh-utils.ts
17
55
  function getMeshBoundingBox(attributes) {
18
56
  let minX = Infinity;
@@ -45,7 +83,7 @@
45
83
  });
46
84
 
47
85
  // ../schema/src/index.ts
48
- var init_src = __esm({
86
+ var init_src2 = __esm({
49
87
  "../schema/src/index.ts"() {
50
88
  init_mesh_utils();
51
89
  }
@@ -260,34 +298,6 @@
260
298
  }
261
299
  });
262
300
 
263
- // ../loader-utils/src/lib/binary-utils/array-buffer-utils.ts
264
- function concatenateTypedArrays(...typedArrays) {
265
- const arrays = typedArrays;
266
- const TypedArrayConstructor = arrays && arrays.length > 1 && arrays[0].constructor || null;
267
- if (!TypedArrayConstructor) {
268
- throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');
269
- }
270
- const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);
271
- const result = new TypedArrayConstructor(sumLength);
272
- let offset = 0;
273
- for (const array of arrays) {
274
- result.set(array, offset);
275
- offset += array.length;
276
- }
277
- return result;
278
- }
279
- var init_array_buffer_utils = __esm({
280
- "../loader-utils/src/lib/binary-utils/array-buffer-utils.ts"() {
281
- }
282
- });
283
-
284
- // ../loader-utils/src/index.ts
285
- var init_src2 = __esm({
286
- "../loader-utils/src/index.ts"() {
287
- init_array_buffer_utils();
288
- }
289
- });
290
-
291
301
  // src/lib/helpers/skirt.ts
292
302
  function addSkirt(attributes, triangles, skirtHeight, outsideIndices) {
293
303
  const outsideEdges = outsideIndices ? getOutsideEdgesFromIndices(outsideIndices, attributes.POSITION.value) : getOutsideEdgesFromTriangles(triangles);
@@ -376,7 +386,7 @@
376
386
  }
377
387
  var init_skirt = __esm({
378
388
  "src/lib/helpers/skirt.ts"() {
379
- init_src2();
389
+ init_src();
380
390
  }
381
391
  });
382
392
 
@@ -446,7 +456,7 @@
446
456
  }
447
457
  var init_parse_quantized_mesh = __esm({
448
458
  "src/lib/parse-quantized-mesh.ts"() {
449
- init_src();
459
+ init_src2();
450
460
  init_decode_quantized_mesh();
451
461
  init_skirt();
452
462
  }
@@ -1056,7 +1066,7 @@
1056
1066
  }
1057
1067
  var init_parse_terrain = __esm({
1058
1068
  "src/lib/parse-terrain.ts"() {
1059
- init_src();
1069
+ init_src2();
1060
1070
  init_martini();
1061
1071
  init_delatin();
1062
1072
  init_skirt();
@@ -1140,13 +1150,14 @@
1140
1150
  mimeType: "application/x.image",
1141
1151
  image: { ...options?.image, type: "data" }
1142
1152
  };
1143
- const image = await context?.parse(arrayBuffer, loadImageOptions);
1153
+ const image = await parseFromContext(arrayBuffer, [], loadImageOptions, context);
1144
1154
  const terrainOptions = { ...TerrainLoader2.options.terrain, ...options?.terrain };
1145
1155
  return makeTerrainMeshFromImage(image, terrainOptions);
1146
1156
  }
1147
1157
  var TerrainLoader2, QuantizedMeshLoader2;
1148
1158
  var init_src3 = __esm({
1149
1159
  "src/index.ts"() {
1160
+ init_src();
1150
1161
  init_parse_quantized_mesh();
1151
1162
  init_parse_terrain();
1152
1163
  init_terrain_loader();
package/dist/es5/index.js CHANGED
@@ -22,6 +22,7 @@ exports.parseTerrain = parseTerrain;
22
22
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
23
23
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
24
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+ var _loaderUtils = require("@loaders.gl/loader-utils");
25
26
  var _parseQuantizedMesh = require("./lib/parse-quantized-mesh");
26
27
  var _parseTerrain2 = require("./lib/parse-terrain");
27
28
  var _terrainLoader = require("./terrain-loader");
@@ -48,7 +49,7 @@ function _parseTerrain() {
48
49
  })
49
50
  });
50
51
  _context2.next = 3;
51
- return context === null || context === void 0 ? void 0 : context.parse(arrayBuffer, loadImageOptions);
52
+ return (0, _loaderUtils.parseFromContext)(arrayBuffer, [], loadImageOptions, context);
52
53
  case 3:
53
54
  image = _context2.sent;
54
55
  terrainOptions = _objectSpread(_objectSpread({}, TerrainLoader.options.terrain), options === null || options === void 0 ? void 0 : options.terrain);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_parseQuantizedMesh","require","_parseTerrain2","_terrainLoader","_quantizedMeshLoader","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","TerrainLoader","TerrainWorkerLoader","parse","parseTerrain","exports","_x","_x2","_x3","_parseTerrain","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","options","context","loadImageOptions","image","terrainOptions","wrap","_callee2$","_context2","prev","next","mimeType","type","sent","terrain","abrupt","makeTerrainMeshFromImage","stop","QuantizedMeshLoader","QuantizedMeshWorkerLoader","parseSync","parseQuantizedMesh","_parse","_callee","_callee$","_context","_x4","_x5"],"sources":["../../src/index.ts"],"sourcesContent":["import type {LoaderContext, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parseQuantizedMesh} from './lib/parse-quantized-mesh';\nimport {TerrainOptions, makeTerrainMeshFromImage} from './lib/parse-terrain';\n\nimport {TerrainLoader as TerrainWorkerLoader, TerrainLoaderOptions} from './terrain-loader';\nimport {\n QuantizedMeshLoader as QuantizedMeshWorkerLoader,\n QuantizedMeshLoaderOptions\n} from './quantized-mesh-loader';\n\n// TerrainLoader\n\nexport {TerrainWorkerLoader};\n\nexport const TerrainLoader: LoaderWithParser<any, never, TerrainLoaderOptions> = {\n ...TerrainWorkerLoader,\n parse: parseTerrain\n};\n\nexport async function parseTerrain(\n arrayBuffer: ArrayBuffer,\n options?: TerrainLoaderOptions,\n context?: LoaderContext\n) {\n const loadImageOptions = {\n ...options,\n mimeType: 'application/x.image',\n image: {...options?.image, type: 'data'}\n };\n const image = await context?.parse(arrayBuffer, loadImageOptions);\n // Extend function to support additional mesh generation options (square grid or delatin)\n const terrainOptions = {...TerrainLoader.options.terrain, ...options?.terrain} as TerrainOptions;\n return makeTerrainMeshFromImage(image, terrainOptions);\n}\n\n// QuantizedMeshLoader\n\nexport {QuantizedMeshWorkerLoader};\n\n/**\n * Loader for quantized meshes\n */\nexport const QuantizedMeshLoader: LoaderWithParser<any, never, QuantizedMeshLoaderOptions> = {\n ...QuantizedMeshWorkerLoader,\n parseSync: (arrayBuffer, options) => parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh']),\n parse: async (arrayBuffer, options) =>\n parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh'])\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_loaderUtils","require","_parseQuantizedMesh","_parseTerrain2","_terrainLoader","_quantizedMeshLoader","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","TerrainLoader","TerrainWorkerLoader","parse","parseTerrain","exports","_x","_x2","_x3","_parseTerrain","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","options","context","loadImageOptions","image","terrainOptions","wrap","_callee2$","_context2","prev","next","mimeType","type","parseFromContext","sent","terrain","abrupt","makeTerrainMeshFromImage","stop","QuantizedMeshLoader","QuantizedMeshWorkerLoader","parseSync","parseQuantizedMesh","_parse","_callee","_callee$","_context","_x4","_x5"],"sources":["../../src/index.ts"],"sourcesContent":["import type {LoaderContext, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parseFromContext} from '@loaders.gl/loader-utils';\nimport {parseQuantizedMesh} from './lib/parse-quantized-mesh';\nimport {TerrainOptions, makeTerrainMeshFromImage} from './lib/parse-terrain';\n\nimport {TerrainLoader as TerrainWorkerLoader, TerrainLoaderOptions} from './terrain-loader';\nimport {\n QuantizedMeshLoader as QuantizedMeshWorkerLoader,\n QuantizedMeshLoaderOptions\n} from './quantized-mesh-loader';\n\n// TerrainLoader\n\nexport {TerrainWorkerLoader};\n\nexport const TerrainLoader: LoaderWithParser<any, never, TerrainLoaderOptions> = {\n ...TerrainWorkerLoader,\n parse: parseTerrain\n};\n\nexport async function parseTerrain(\n arrayBuffer: ArrayBuffer,\n options?: TerrainLoaderOptions,\n context?: LoaderContext\n) {\n const loadImageOptions = {\n ...options,\n mimeType: 'application/x.image',\n image: {...options?.image, type: 'data'}\n };\n const image = await parseFromContext(arrayBuffer, [], loadImageOptions, context!);\n // Extend function to support additional mesh generation options (square grid or delatin)\n const terrainOptions = {...TerrainLoader.options.terrain, ...options?.terrain} as TerrainOptions;\n // @ts-expect-error sort out image typing asap\n return makeTerrainMeshFromImage(image, terrainOptions);\n}\n\n// QuantizedMeshLoader\n\nexport {QuantizedMeshWorkerLoader};\n\n/**\n * Loader for quantized meshes\n */\nexport const QuantizedMeshLoader: LoaderWithParser<any, never, QuantizedMeshLoaderOptions> = {\n ...QuantizedMeshWorkerLoader,\n parseSync: (arrayBuffer, options) => parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh']),\n parse: async (arrayBuffer, options) =>\n parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh'])\n};\n"],"mappings":"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"}
@@ -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.20" !== 'undefined' ? "4.0.0-alpha.20" : 'latest';
7
+ var VERSION = typeof "4.0.0-alpha.22" !== 'undefined' ? "4.0.0-alpha.22" : 'latest';
8
8
  exports.VERSION = VERSION;
9
9
  //# sourceMappingURL=version.js.map
package/dist/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { parseFromContext } from '@loaders.gl/loader-utils';
1
2
  import { parseQuantizedMesh } from './lib/parse-quantized-mesh';
2
3
  import { makeTerrainMeshFromImage } from './lib/parse-terrain';
3
4
  import { TerrainLoader as TerrainWorkerLoader } from './terrain-loader';
@@ -16,7 +17,7 @@ export async function parseTerrain(arrayBuffer, options, context) {
16
17
  type: 'data'
17
18
  }
18
19
  };
19
- const image = await (context === null || context === void 0 ? void 0 : context.parse(arrayBuffer, loadImageOptions));
20
+ const image = await parseFromContext(arrayBuffer, [], loadImageOptions, context);
20
21
  const terrainOptions = {
21
22
  ...TerrainLoader.options.terrain,
22
23
  ...(options === null || options === void 0 ? void 0 : options.terrain)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["parseQuantizedMesh","makeTerrainMeshFromImage","TerrainLoader","TerrainWorkerLoader","QuantizedMeshLoader","QuantizedMeshWorkerLoader","parse","parseTerrain","arrayBuffer","options","context","loadImageOptions","mimeType","image","type","terrainOptions","terrain","parseSync"],"sources":["../../src/index.ts"],"sourcesContent":["import type {LoaderContext, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parseQuantizedMesh} from './lib/parse-quantized-mesh';\nimport {TerrainOptions, makeTerrainMeshFromImage} from './lib/parse-terrain';\n\nimport {TerrainLoader as TerrainWorkerLoader, TerrainLoaderOptions} from './terrain-loader';\nimport {\n QuantizedMeshLoader as QuantizedMeshWorkerLoader,\n QuantizedMeshLoaderOptions\n} from './quantized-mesh-loader';\n\n// TerrainLoader\n\nexport {TerrainWorkerLoader};\n\nexport const TerrainLoader: LoaderWithParser<any, never, TerrainLoaderOptions> = {\n ...TerrainWorkerLoader,\n parse: parseTerrain\n};\n\nexport async function parseTerrain(\n arrayBuffer: ArrayBuffer,\n options?: TerrainLoaderOptions,\n context?: LoaderContext\n) {\n const loadImageOptions = {\n ...options,\n mimeType: 'application/x.image',\n image: {...options?.image, type: 'data'}\n };\n const image = await context?.parse(arrayBuffer, loadImageOptions);\n // Extend function to support additional mesh generation options (square grid or delatin)\n const terrainOptions = {...TerrainLoader.options.terrain, ...options?.terrain} as TerrainOptions;\n return makeTerrainMeshFromImage(image, terrainOptions);\n}\n\n// QuantizedMeshLoader\n\nexport {QuantizedMeshWorkerLoader};\n\n/**\n * Loader for quantized meshes\n */\nexport const QuantizedMeshLoader: LoaderWithParser<any, never, QuantizedMeshLoaderOptions> = {\n ...QuantizedMeshWorkerLoader,\n parseSync: (arrayBuffer, options) => parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh']),\n parse: async (arrayBuffer, options) =>\n parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh'])\n};\n"],"mappings":"AACA,SAAQA,kBAAkB,QAAO,4BAA4B;AAC7D,SAAwBC,wBAAwB,QAAO,qBAAqB;AAE5E,SAAQC,aAAa,IAAIC,mBAAmB,QAA6B,kBAAkB;AAC3F,SACEC,mBAAmB,IAAIC,yBAAyB,QAE3C,yBAAyB;AAIhC,SAAQF,mBAAmB;AAE3B,OAAO,MAAMD,aAAiE,GAAG;EAC/E,GAAGC,mBAAmB;EACtBG,KAAK,EAAEC;AACT,CAAC;AAED,OAAO,eAAeA,YAAYA,CAChCC,WAAwB,EACxBC,OAA8B,EAC9BC,OAAuB,EACvB;EACA,MAAMC,gBAAgB,GAAG;IACvB,GAAGF,OAAO;IACVG,QAAQ,EAAE,qBAAqB;IAC/BC,KAAK,EAAE;MAAC,IAAGJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,KAAK;MAAEC,IAAI,EAAE;IAAM;EACzC,CAAC;EACD,MAAMD,KAAK,GAAG,OAAMH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ,KAAK,CAACE,WAAW,EAAEG,gBAAgB,CAAC;EAEjE,MAAMI,cAAc,GAAG;IAAC,GAAGb,aAAa,CAACO,OAAO,CAACO,OAAO;IAAE,IAAGP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,OAAO;EAAA,CAAmB;EAChG,OAAOf,wBAAwB,CAACY,KAAK,EAAEE,cAAc,CAAC;AACxD;AAIA,SAAQV,yBAAyB;AAKjC,OAAO,MAAMD,mBAA6E,GAAG;EAC3F,GAAGC,yBAAyB;EAC5BY,SAAS,EAAEA,CAACT,WAAW,EAAEC,OAAO,KAAKT,kBAAkB,CAACQ,WAAW,EAAEC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,gBAAgB,CAAC,CAAC;EACjGH,KAAK,EAAE,MAAAA,CAAOE,WAAW,EAAEC,OAAO,KAChCT,kBAAkB,CAACQ,WAAW,EAAEC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,gBAAgB,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"index.js","names":["parseFromContext","parseQuantizedMesh","makeTerrainMeshFromImage","TerrainLoader","TerrainWorkerLoader","QuantizedMeshLoader","QuantizedMeshWorkerLoader","parse","parseTerrain","arrayBuffer","options","context","loadImageOptions","mimeType","image","type","terrainOptions","terrain","parseSync"],"sources":["../../src/index.ts"],"sourcesContent":["import type {LoaderContext, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parseFromContext} from '@loaders.gl/loader-utils';\nimport {parseQuantizedMesh} from './lib/parse-quantized-mesh';\nimport {TerrainOptions, makeTerrainMeshFromImage} from './lib/parse-terrain';\n\nimport {TerrainLoader as TerrainWorkerLoader, TerrainLoaderOptions} from './terrain-loader';\nimport {\n QuantizedMeshLoader as QuantizedMeshWorkerLoader,\n QuantizedMeshLoaderOptions\n} from './quantized-mesh-loader';\n\n// TerrainLoader\n\nexport {TerrainWorkerLoader};\n\nexport const TerrainLoader: LoaderWithParser<any, never, TerrainLoaderOptions> = {\n ...TerrainWorkerLoader,\n parse: parseTerrain\n};\n\nexport async function parseTerrain(\n arrayBuffer: ArrayBuffer,\n options?: TerrainLoaderOptions,\n context?: LoaderContext\n) {\n const loadImageOptions = {\n ...options,\n mimeType: 'application/x.image',\n image: {...options?.image, type: 'data'}\n };\n const image = await parseFromContext(arrayBuffer, [], loadImageOptions, context!);\n // Extend function to support additional mesh generation options (square grid or delatin)\n const terrainOptions = {...TerrainLoader.options.terrain, ...options?.terrain} as TerrainOptions;\n // @ts-expect-error sort out image typing asap\n return makeTerrainMeshFromImage(image, terrainOptions);\n}\n\n// QuantizedMeshLoader\n\nexport {QuantizedMeshWorkerLoader};\n\n/**\n * Loader for quantized meshes\n */\nexport const QuantizedMeshLoader: LoaderWithParser<any, never, QuantizedMeshLoaderOptions> = {\n ...QuantizedMeshWorkerLoader,\n parseSync: (arrayBuffer, options) => parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh']),\n parse: async (arrayBuffer, options) =>\n parseQuantizedMesh(arrayBuffer, options?.['quantized-mesh'])\n};\n"],"mappings":"AACA,SAAQA,gBAAgB,QAAO,0BAA0B;AACzD,SAAQC,kBAAkB,QAAO,4BAA4B;AAC7D,SAAwBC,wBAAwB,QAAO,qBAAqB;AAE5E,SAAQC,aAAa,IAAIC,mBAAmB,QAA6B,kBAAkB;AAC3F,SACEC,mBAAmB,IAAIC,yBAAyB,QAE3C,yBAAyB;AAIhC,SAAQF,mBAAmB;AAE3B,OAAO,MAAMD,aAAiE,GAAG;EAC/E,GAAGC,mBAAmB;EACtBG,KAAK,EAAEC;AACT,CAAC;AAED,OAAO,eAAeA,YAAYA,CAChCC,WAAwB,EACxBC,OAA8B,EAC9BC,OAAuB,EACvB;EACA,MAAMC,gBAAgB,GAAG;IACvB,GAAGF,OAAO;IACVG,QAAQ,EAAE,qBAAqB;IAC/BC,KAAK,EAAE;MAAC,IAAGJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,KAAK;MAAEC,IAAI,EAAE;IAAM;EACzC,CAAC;EACD,MAAMD,KAAK,GAAG,MAAMd,gBAAgB,CAACS,WAAW,EAAE,EAAE,EAAEG,gBAAgB,EAAED,OAAQ,CAAC;EAEjF,MAAMK,cAAc,GAAG;IAAC,GAAGb,aAAa,CAACO,OAAO,CAACO,OAAO;IAAE,IAAGP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,OAAO;EAAA,CAAmB;EAEhG,OAAOf,wBAAwB,CAACY,KAAK,EAAEE,cAAc,CAAC;AACxD;AAIA,SAAQV,yBAAyB;AAKjC,OAAO,MAAMD,mBAA6E,GAAG;EAC3F,GAAGC,yBAAyB;EAC5BY,SAAS,EAAEA,CAACT,WAAW,EAAEC,OAAO,KAAKT,kBAAkB,CAACQ,WAAW,EAAEC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,gBAAgB,CAAC,CAAC;EACjGH,KAAK,EAAE,MAAAA,CAAOE,WAAW,EAAEC,OAAO,KAChCT,kBAAkB,CAACQ,WAAW,EAAEC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,gBAAgB,CAAC;AAC/D,CAAC"}
@@ -1,2 +1,2 @@
1
- export const VERSION = typeof "4.0.0-alpha.20" !== 'undefined' ? "4.0.0-alpha.20" : 'latest';
1
+ export const VERSION = typeof "4.0.0-alpha.22" !== 'undefined' ? "4.0.0-alpha.22" : 'latest';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAI9E,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EACL,mBAAmB,IAAI,yBAAyB,EAChD,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAE7B,eAAO,MAAM,aAAa,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAG5E,CAAC;AAEF,wBAAsB,YAAY,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;GAWxB;AAID,OAAO,EAAC,yBAAyB,EAAC,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,0BAA0B,CAKxF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAK9E,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EACL,mBAAmB,IAAI,yBAAyB,EAChD,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAE7B,eAAO,MAAM,aAAa,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAG5E,CAAC;AAEF,wBAAsB,YAAY,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;GAYxB;AAID,OAAO,EAAC,yBAAyB,EAAC,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,0BAA0B,CAKxF,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QuantizedMeshLoader = exports.QuantizedMeshWorkerLoader = exports.parseTerrain = exports.TerrainLoader = exports.TerrainWorkerLoader = void 0;
4
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
4
5
  const parse_quantized_mesh_1 = require("./lib/parse-quantized-mesh");
5
6
  const parse_terrain_1 = require("./lib/parse-terrain");
6
7
  const terrain_loader_1 = require("./terrain-loader");
@@ -17,9 +18,10 @@ async function parseTerrain(arrayBuffer, options, context) {
17
18
  mimeType: 'application/x.image',
18
19
  image: { ...options?.image, type: 'data' }
19
20
  };
20
- const image = await context?.parse(arrayBuffer, loadImageOptions);
21
+ const image = await (0, loader_utils_1.parseFromContext)(arrayBuffer, [], loadImageOptions, context);
21
22
  // Extend function to support additional mesh generation options (square grid or delatin)
22
23
  const terrainOptions = { ...exports.TerrainLoader.options.terrain, ...options?.terrain };
24
+ // @ts-expect-error sort out image typing asap
23
25
  return (0, parse_terrain_1.makeTerrainMeshFromImage)(image, terrainOptions);
24
26
  }
25
27
  exports.parseTerrain = parseTerrain;
@@ -1,4 +1,9 @@
1
1
  (() => {
2
+ // ../loader-utils/src/loader-types.ts
3
+ async function parseFromContext(data, loaders, options, context) {
4
+ return context._parse(data, loaders, options, context);
5
+ }
6
+
2
7
  // ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
3
8
  function getTransferList(object, recursive = true, transfers) {
4
9
  const transfersSet = transfers || new Set();
@@ -125,7 +130,7 @@
125
130
  options,
126
131
  context: {
127
132
  ...context,
128
- parse: parseOnMainThread
133
+ _parse: parseOnMainThread
129
134
  }
130
135
  });
131
136
  WorkerBody.postMessage("done", { result });
@@ -138,7 +143,7 @@
138
143
  }
139
144
  };
140
145
  }
141
- function parseOnMainThread(arrayBuffer, options) {
146
+ function parseOnMainThread(arrayBuffer, loader, options, context) {
142
147
  return new Promise((resolve, reject) => {
143
148
  const id = requestId++;
144
149
  const onMessage = (type, payload2) => {
@@ -162,7 +167,12 @@
162
167
  WorkerBody.postMessage("process", payload);
163
168
  });
164
169
  }
165
- async function parseData({ loader, arrayBuffer, options, context }) {
170
+ async function parseData({
171
+ loader,
172
+ arrayBuffer,
173
+ options,
174
+ context
175
+ }) {
166
176
  let data;
167
177
  let parser;
168
178
  if (loader.parseSync || loader.parse) {
@@ -1177,7 +1187,7 @@
1177
1187
  }
1178
1188
 
1179
1189
  // src/lib/utils/version.ts
1180
- var VERSION = true ? "4.0.0-alpha.20" : "latest";
1190
+ var VERSION = true ? "4.0.0-alpha.22" : "latest";
1181
1191
 
1182
1192
  // src/terrain-loader.ts
1183
1193
  var TerrainLoader = {
@@ -1232,7 +1242,7 @@
1232
1242
  mimeType: "application/x.image",
1233
1243
  image: { ...options?.image, type: "data" }
1234
1244
  };
1235
- const image = await context?.parse(arrayBuffer, loadImageOptions);
1245
+ const image = await parseFromContext(arrayBuffer, [], loadImageOptions, context);
1236
1246
  const terrainOptions = { ...TerrainLoader2.options.terrain, ...options?.terrain };
1237
1247
  return makeTerrainMeshFromImage(image, terrainOptions);
1238
1248
  }
@@ -1,4 +1,9 @@
1
1
  (() => {
2
+ // ../loader-utils/src/loader-types.ts
3
+ async function parseFromContext(data, loaders, options, context) {
4
+ return context._parse(data, loaders, options, context);
5
+ }
6
+
2
7
  // ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
3
8
  function getTransferList(object, recursive = true, transfers) {
4
9
  const transfersSet = transfers || new Set();
@@ -125,7 +130,7 @@
125
130
  options,
126
131
  context: {
127
132
  ...context,
128
- parse: parseOnMainThread
133
+ _parse: parseOnMainThread
129
134
  }
130
135
  });
131
136
  WorkerBody.postMessage("done", { result });
@@ -138,7 +143,7 @@
138
143
  }
139
144
  };
140
145
  }
141
- function parseOnMainThread(arrayBuffer, options) {
146
+ function parseOnMainThread(arrayBuffer, loader, options, context) {
142
147
  return new Promise((resolve, reject) => {
143
148
  const id = requestId++;
144
149
  const onMessage = (type, payload2) => {
@@ -162,7 +167,12 @@
162
167
  WorkerBody.postMessage("process", payload);
163
168
  });
164
169
  }
165
- async function parseData({ loader, arrayBuffer, options, context }) {
170
+ async function parseData({
171
+ loader,
172
+ arrayBuffer,
173
+ options,
174
+ context
175
+ }) {
166
176
  let data;
167
177
  let parser;
168
178
  if (loader.parseSync || loader.parse) {
@@ -1177,7 +1187,7 @@
1177
1187
  }
1178
1188
 
1179
1189
  // src/lib/utils/version.ts
1180
- var VERSION = true ? "4.0.0-alpha.20" : "latest";
1190
+ var VERSION = true ? "4.0.0-alpha.22" : "latest";
1181
1191
 
1182
1192
  // src/terrain-loader.ts
1183
1193
  var TerrainLoader = {
@@ -1232,7 +1242,7 @@
1232
1242
  mimeType: "application/x.image",
1233
1243
  image: { ...options?.image, type: "data" }
1234
1244
  };
1235
- const image = await context?.parse(arrayBuffer, loadImageOptions);
1245
+ const image = await parseFromContext(arrayBuffer, [], loadImageOptions, context);
1236
1246
  const terrainOptions = { ...TerrainLoader2.options.terrain, ...options?.terrain };
1237
1247
  return makeTerrainMeshFromImage(image, terrainOptions);
1238
1248
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/terrain",
3
- "version": "4.0.0-alpha.20",
3
+ "version": "4.0.0-alpha.22",
4
4
  "description": "Framework-independent loader for terrain raster formats",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -35,10 +35,10 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@babel/runtime": "^7.3.1",
38
- "@loaders.gl/images": "4.0.0-alpha.20",
39
- "@loaders.gl/loader-utils": "4.0.0-alpha.20",
40
- "@loaders.gl/schema": "4.0.0-alpha.20",
38
+ "@loaders.gl/images": "4.0.0-alpha.22",
39
+ "@loaders.gl/loader-utils": "4.0.0-alpha.22",
40
+ "@loaders.gl/schema": "4.0.0-alpha.22",
41
41
  "@mapbox/martini": "^0.2.0"
42
42
  },
43
- "gitHead": "ac122e83102657c38207d59c631a5ce4e7aa46bd"
43
+ "gitHead": "0da838c506d1275383f2fd3d244d9c72b25397d2"
44
44
  }
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type {LoaderContext, LoaderWithParser} from '@loaders.gl/loader-utils';
2
+ import {parseFromContext} from '@loaders.gl/loader-utils';
2
3
  import {parseQuantizedMesh} from './lib/parse-quantized-mesh';
3
4
  import {TerrainOptions, makeTerrainMeshFromImage} from './lib/parse-terrain';
4
5
 
@@ -27,9 +28,10 @@ export async function parseTerrain(
27
28
  mimeType: 'application/x.image',
28
29
  image: {...options?.image, type: 'data'}
29
30
  };
30
- const image = await context?.parse(arrayBuffer, loadImageOptions);
31
+ const image = await parseFromContext(arrayBuffer, [], loadImageOptions, context!);
31
32
  // Extend function to support additional mesh generation options (square grid or delatin)
32
33
  const terrainOptions = {...TerrainLoader.options.terrain, ...options?.terrain} as TerrainOptions;
34
+ // @ts-expect-error sort out image typing asap
33
35
  return makeTerrainMeshFromImage(image, terrainOptions);
34
36
  }
35
37