@loaders.gl/i3s 4.0.0-beta.2 → 4.0.0-beta.4

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 (210) hide show
  1. package/dist/arcgis-webscene-loader.d.ts.map +1 -0
  2. package/dist/{esm/arcgis-webscene-loader.js → arcgis-webscene-loader.js} +2 -2
  3. package/dist/arcgis-webscene-loader.js.map +1 -0
  4. package/dist/dist.dev.js +14346 -0
  5. package/dist/i3s-attribute-loader.d.ts.map +1 -0
  6. package/dist/{esm/i3s-attribute-loader.js → i3s-attribute-loader.js} +3 -3
  7. package/dist/i3s-attribute-loader.js.map +1 -0
  8. package/dist/i3s-building-scene-layer-loader.d.ts.map +1 -0
  9. package/dist/{esm/i3s-building-scene-layer-loader.js → i3s-building-scene-layer-loader.js} +2 -2
  10. package/dist/i3s-building-scene-layer-loader.js.map +1 -0
  11. package/dist/i3s-content-loader.d.ts.map +1 -0
  12. package/dist/{esm/i3s-content-loader.js → i3s-content-loader.js} +2 -2
  13. package/dist/i3s-content-loader.js.map +1 -0
  14. package/dist/i3s-content-worker-node.js +300 -155
  15. package/dist/i3s-content-worker-node.js.map +4 -4
  16. package/dist/i3s-content-worker.js +1343 -489
  17. package/dist/i3s-loader.d.ts.map +1 -0
  18. package/dist/{esm/i3s-loader.js → i3s-loader.js} +8 -6
  19. package/dist/i3s-loader.js.map +1 -0
  20. package/dist/i3s-node-page-loader.d.ts.map +1 -0
  21. package/dist/{esm/i3s-node-page-loader.js → i3s-node-page-loader.js} +1 -1
  22. package/dist/i3s-node-page-loader.js.map +1 -0
  23. package/dist/{src/i3s-slpk-loader.d.ts → i3s-slpk-loader.d.ts} +3 -1
  24. package/dist/i3s-slpk-loader.d.ts.map +1 -0
  25. package/dist/i3s-slpk-loader.js +19 -0
  26. package/dist/i3s-slpk-loader.js.map +1 -0
  27. package/dist/index.cjs +1597 -0
  28. package/dist/{src/index.d.ts → index.d.ts} +2 -1
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +10 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -0
  33. package/dist/{esm/lib → lib}/helpers/i3s-nodepages-tiles.js +16 -17
  34. package/dist/lib/helpers/i3s-nodepages-tiles.js.map +1 -0
  35. package/dist/lib/parsers/constants.d.ts.map +1 -0
  36. package/dist/{esm/lib → lib}/parsers/constants.js +2 -2
  37. package/dist/lib/parsers/constants.js.map +1 -0
  38. package/dist/lib/parsers/parse-arcgis-webscene.d.ts.map +1 -0
  39. package/dist/lib/parsers/parse-arcgis-webscene.js.map +1 -0
  40. package/dist/lib/parsers/parse-i3s-attribute.d.ts.map +1 -0
  41. package/dist/{esm/lib → lib}/parsers/parse-i3s-attribute.js +1 -1
  42. package/dist/lib/parsers/parse-i3s-attribute.js.map +1 -0
  43. package/dist/lib/parsers/parse-i3s-building-scene-layer.d.ts.map +1 -0
  44. package/dist/{esm/lib → lib}/parsers/parse-i3s-building-scene-layer.js +1 -1
  45. package/dist/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -0
  46. package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -0
  47. package/dist/{esm/lib → lib}/parsers/parse-i3s-tile-content.js +6 -5
  48. package/dist/lib/parsers/parse-i3s-tile-content.js.map +1 -0
  49. package/dist/lib/parsers/parse-i3s.d.ts.map +1 -0
  50. package/dist/{esm/lib → lib}/parsers/parse-i3s.js +7 -7
  51. package/dist/lib/parsers/parse-i3s.js.map +1 -0
  52. package/dist/{src/lib → lib}/parsers/parse-slpk/parse-slpk.d.ts +1 -1
  53. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -0
  54. package/dist/{esm/lib → lib}/parsers/parse-slpk/parse-slpk.js +9 -11
  55. package/dist/lib/parsers/parse-slpk/parse-slpk.js.map +1 -0
  56. package/dist/{src/lib → lib}/parsers/parse-slpk/slpk-archieve.d.ts +10 -7
  57. package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -0
  58. package/dist/{esm/lib → lib}/parsers/parse-slpk/slpk-archieve.js +21 -21
  59. package/dist/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -0
  60. package/dist/lib/utils/convert-i3s-obb-to-mbs.d.ts.map +1 -0
  61. package/dist/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -0
  62. package/dist/lib/utils/customize-/321/201olors.d.ts.map +1 -0
  63. package/dist/{esm/lib → lib}/utils/customize-/321/201olors.js +2 -2
  64. package/dist/lib/utils/customize-/321/201olors.js.map +1 -0
  65. package/dist/{src/lib → lib}/utils/url-utils.d.ts +6 -0
  66. package/dist/lib/utils/url-utils.d.ts.map +1 -0
  67. package/dist/{esm/lib → lib}/utils/url-utils.js +11 -3
  68. package/dist/lib/utils/url-utils.js.map +1 -0
  69. package/dist/types.d.ts.map +1 -0
  70. package/dist/types.js.map +1 -0
  71. package/dist/workers/i3s-content-worker-node.d.ts.map +1 -0
  72. package/dist/{esm/workers → workers}/i3s-content-worker-node.js +1 -1
  73. package/dist/workers/i3s-content-worker-node.js.map +1 -0
  74. package/dist/workers/i3s-content-worker.d.ts.map +1 -0
  75. package/dist/workers/i3s-content-worker.js +4 -0
  76. package/dist/workers/i3s-content-worker.js.map +1 -0
  77. package/package.json +26 -18
  78. package/src/i3s-loader.ts +5 -2
  79. package/src/i3s-slpk-loader.ts +9 -18
  80. package/src/index.ts +3 -1
  81. package/src/lib/parsers/parse-i3s-tile-content.ts +2 -1
  82. package/src/lib/parsers/parse-i3s.ts +2 -2
  83. package/src/lib/parsers/parse-slpk/parse-slpk.ts +13 -13
  84. package/src/lib/parsers/parse-slpk/slpk-archieve.ts +27 -19
  85. package/src/lib/utils/url-utils.ts +17 -0
  86. package/dist/dist.min.js +0 -15742
  87. package/dist/es5/arcgis-webscene-loader.js +0 -40
  88. package/dist/es5/arcgis-webscene-loader.js.map +0 -1
  89. package/dist/es5/bundle.js +0 -6
  90. package/dist/es5/bundle.js.map +0 -1
  91. package/dist/es5/i3s-attribute-loader.js +0 -195
  92. package/dist/es5/i3s-attribute-loader.js.map +0 -1
  93. package/dist/es5/i3s-building-scene-layer-loader.js +0 -46
  94. package/dist/es5/i3s-building-scene-layer-loader.js.map +0 -1
  95. package/dist/es5/i3s-content-loader.js +0 -56
  96. package/dist/es5/i3s-content-loader.js.map +0 -1
  97. package/dist/es5/i3s-loader.js +0 -193
  98. package/dist/es5/i3s-loader.js.map +0 -1
  99. package/dist/es5/i3s-node-page-loader.js +0 -41
  100. package/dist/es5/i3s-node-page-loader.js.map +0 -1
  101. package/dist/es5/i3s-slpk-loader.js +0 -48
  102. package/dist/es5/i3s-slpk-loader.js.map +0 -1
  103. package/dist/es5/index.js +0 -75
  104. package/dist/es5/index.js.map +0 -1
  105. package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +0 -316
  106. package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +0 -1
  107. package/dist/es5/lib/parsers/constants.js +0 -71
  108. package/dist/es5/lib/parsers/constants.js.map +0 -1
  109. package/dist/es5/lib/parsers/parse-arcgis-webscene.js +0 -158
  110. package/dist/es5/lib/parsers/parse-arcgis-webscene.js.map +0 -1
  111. package/dist/es5/lib/parsers/parse-i3s-attribute.js +0 -76
  112. package/dist/es5/lib/parsers/parse-i3s-attribute.js.map +0 -1
  113. package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js +0 -65
  114. package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js.map +0 -1
  115. package/dist/es5/lib/parsers/parse-i3s-tile-content.js +0 -513
  116. package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +0 -1
  117. package/dist/es5/lib/parsers/parse-i3s.js +0 -128
  118. package/dist/es5/lib/parsers/parse-i3s.js.map +0 -1
  119. package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js +0 -69
  120. package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js.map +0 -1
  121. package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js +0 -254
  122. package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js.map +0 -1
  123. package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js +0 -17
  124. package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js.map +0 -1
  125. package/dist/es5/lib/utils/customize-/321/201olors.js +0 -184
  126. package/dist/es5/lib/utils/customize-/321/201olors.js.map +0 -1
  127. package/dist/es5/lib/utils/url-utils.js +0 -33
  128. package/dist/es5/lib/utils/url-utils.js.map +0 -1
  129. package/dist/es5/types.js +0 -13
  130. package/dist/es5/types.js.map +0 -1
  131. package/dist/es5/workers/i3s-content-worker-node.js +0 -7
  132. package/dist/es5/workers/i3s-content-worker-node.js.map +0 -1
  133. package/dist/es5/workers/i3s-content-worker.js +0 -6
  134. package/dist/es5/workers/i3s-content-worker.js.map +0 -1
  135. package/dist/esm/arcgis-webscene-loader.js.map +0 -1
  136. package/dist/esm/bundle.js +0 -4
  137. package/dist/esm/bundle.js.map +0 -1
  138. package/dist/esm/i3s-attribute-loader.js.map +0 -1
  139. package/dist/esm/i3s-building-scene-layer-loader.js.map +0 -1
  140. package/dist/esm/i3s-content-loader.js.map +0 -1
  141. package/dist/esm/i3s-loader.js.map +0 -1
  142. package/dist/esm/i3s-node-page-loader.js.map +0 -1
  143. package/dist/esm/i3s-slpk-loader.js +0 -19
  144. package/dist/esm/i3s-slpk-loader.js.map +0 -1
  145. package/dist/esm/index.js +0 -10
  146. package/dist/esm/index.js.map +0 -1
  147. package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +0 -1
  148. package/dist/esm/lib/parsers/constants.js.map +0 -1
  149. package/dist/esm/lib/parsers/parse-arcgis-webscene.js.map +0 -1
  150. package/dist/esm/lib/parsers/parse-i3s-attribute.js.map +0 -1
  151. package/dist/esm/lib/parsers/parse-i3s-building-scene-layer.js.map +0 -1
  152. package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +0 -1
  153. package/dist/esm/lib/parsers/parse-i3s.js.map +0 -1
  154. package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js.map +0 -1
  155. package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js.map +0 -1
  156. package/dist/esm/lib/utils/convert-i3s-obb-to-mbs.js.map +0 -1
  157. package/dist/esm/lib/utils/customize-/321/201olors.js.map +0 -1
  158. package/dist/esm/lib/utils/url-utils.js.map +0 -1
  159. package/dist/esm/types.js.map +0 -1
  160. package/dist/esm/workers/i3s-content-worker-node.js.map +0 -1
  161. package/dist/esm/workers/i3s-content-worker.js +0 -4
  162. package/dist/esm/workers/i3s-content-worker.js.map +0 -1
  163. package/dist/src/arcgis-webscene-loader.d.ts.map +0 -1
  164. package/dist/src/bundle.d.ts +0 -2
  165. package/dist/src/bundle.d.ts.map +0 -1
  166. package/dist/src/i3s-attribute-loader.d.ts.map +0 -1
  167. package/dist/src/i3s-building-scene-layer-loader.d.ts.map +0 -1
  168. package/dist/src/i3s-content-loader.d.ts.map +0 -1
  169. package/dist/src/i3s-loader.d.ts.map +0 -1
  170. package/dist/src/i3s-node-page-loader.d.ts.map +0 -1
  171. package/dist/src/i3s-slpk-loader.d.ts.map +0 -1
  172. package/dist/src/index.d.ts.map +0 -1
  173. package/dist/src/lib/helpers/i3s-nodepages-tiles.d.ts.map +0 -1
  174. package/dist/src/lib/parsers/constants.d.ts.map +0 -1
  175. package/dist/src/lib/parsers/parse-arcgis-webscene.d.ts.map +0 -1
  176. package/dist/src/lib/parsers/parse-i3s-attribute.d.ts.map +0 -1
  177. package/dist/src/lib/parsers/parse-i3s-building-scene-layer.d.ts.map +0 -1
  178. package/dist/src/lib/parsers/parse-i3s-tile-content.d.ts.map +0 -1
  179. package/dist/src/lib/parsers/parse-i3s.d.ts.map +0 -1
  180. package/dist/src/lib/parsers/parse-slpk/parse-slpk.d.ts.map +0 -1
  181. package/dist/src/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +0 -1
  182. package/dist/src/lib/utils/convert-i3s-obb-to-mbs.d.ts.map +0 -1
  183. package/dist/src/lib/utils/customize-/321/201olors.d.ts.map +0 -1
  184. package/dist/src/lib/utils/url-utils.d.ts.map +0 -1
  185. package/dist/src/types.d.ts.map +0 -1
  186. package/dist/src/workers/i3s-content-worker-node.d.ts.map +0 -1
  187. package/dist/src/workers/i3s-content-worker.d.ts.map +0 -1
  188. package/dist/tsconfig.tsbuildinfo +0 -1
  189. package/src/bundle.ts +0 -4
  190. /package/dist/{src/arcgis-webscene-loader.d.ts → arcgis-webscene-loader.d.ts} +0 -0
  191. /package/dist/{src/i3s-attribute-loader.d.ts → i3s-attribute-loader.d.ts} +0 -0
  192. /package/dist/{src/i3s-building-scene-layer-loader.d.ts → i3s-building-scene-layer-loader.d.ts} +0 -0
  193. /package/dist/{src/i3s-content-loader.d.ts → i3s-content-loader.d.ts} +0 -0
  194. /package/dist/{src/i3s-loader.d.ts → i3s-loader.d.ts} +0 -0
  195. /package/dist/{src/i3s-node-page-loader.d.ts → i3s-node-page-loader.d.ts} +0 -0
  196. /package/dist/{src/lib → lib}/helpers/i3s-nodepages-tiles.d.ts +0 -0
  197. /package/dist/{src/lib → lib}/parsers/constants.d.ts +0 -0
  198. /package/dist/{src/lib → lib}/parsers/parse-arcgis-webscene.d.ts +0 -0
  199. /package/dist/{esm/lib → lib}/parsers/parse-arcgis-webscene.js +0 -0
  200. /package/dist/{src/lib → lib}/parsers/parse-i3s-attribute.d.ts +0 -0
  201. /package/dist/{src/lib → lib}/parsers/parse-i3s-building-scene-layer.d.ts +0 -0
  202. /package/dist/{src/lib → lib}/parsers/parse-i3s-tile-content.d.ts +0 -0
  203. /package/dist/{src/lib → lib}/parsers/parse-i3s.d.ts +0 -0
  204. /package/dist/{src/lib → lib}/utils/convert-i3s-obb-to-mbs.d.ts +0 -0
  205. /package/dist/{esm/lib → lib}/utils/convert-i3s-obb-to-mbs.js +0 -0
  206. /package/dist/{src/lib → lib}/utils/customize-/321/201olors.d.ts" +0 -0
  207. /package/dist/{src/types.d.ts → types.d.ts} +0 -0
  208. /package/dist/{esm/types.js → types.js} +0 -0
  209. /package/dist/{src/workers → workers}/i3s-content-worker-node.d.ts +0 -0
  210. /package/dist/{src/workers → workers}/i3s-content-worker.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i3s-loader.d.ts","sourceRoot":"","sources":["../src/i3s-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE9E,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAI9C,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAYxC,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,aAAa,CAwB9E,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { parse } from '@loaders.gl/core';
2
- import { I3SContentLoader } from './i3s-content-loader';
3
- import { normalizeTileData, normalizeTilesetData } from './lib/parsers/parse-i3s';
4
- import { COORDINATE_SYSTEM } from './lib/parsers/constants';
5
- const VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
2
+ import { I3SContentLoader } from "./i3s-content-loader.js";
3
+ import { normalizeTileData, normalizeTilesetData } from "./lib/parsers/parse-i3s.js";
4
+ import { COORDINATE_SYSTEM } from "./lib/parsers/constants.js";
5
+ import { getUrlWithoutParams } from "./lib/utils/url-utils.js";
6
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
6
7
  const TILESET_REGEX = /layers\/[0-9]+$/;
7
8
  const TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
8
9
  const SLPK_HEX = '504b0304';
@@ -41,15 +42,16 @@ async function parseI3S(data) {
41
42
  if (magicNumber === SLPK_HEX) {
42
43
  throw new Error('Files with .slpk extention currently are not supported by I3SLoader');
43
44
  }
45
+ const urlWithoutParams = getUrlWithoutParams(url);
44
46
  let isTileset;
45
47
  if (options.i3s.isTileset === 'auto') {
46
- isTileset = TILESET_REGEX.test(url);
48
+ isTileset = TILESET_REGEX.test(urlWithoutParams);
47
49
  } else {
48
50
  isTileset = options.i3s.isTileset;
49
51
  }
50
52
  let isTileHeader;
51
53
  if (options.isTileHeader === 'auto') {
52
- isTileHeader = TILE_HEADER_REGEX.test(url);
54
+ isTileHeader = TILE_HEADER_REGEX.test(urlWithoutParams);
53
55
  } else {
54
56
  isTileHeader = options.i3s.isTileHeader;
55
57
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i3s-loader.js","names":["parse","I3SContentLoader","normalizeTileData","normalizeTilesetData","COORDINATE_SYSTEM","getUrlWithoutParams","VERSION","__VERSION__","TILESET_REGEX","TILE_HEADER_REGEX","SLPK_HEX","POINT_CLOUD","I3SLoader","name","id","module","version","mimeTypes","parseI3S","extensions","options","i3s","token","isTileset","isTileHeader","tile","tileset","_tileOptions","_tilesetOptions","useDracoGeometry","useCompressedTextures","decodeTextures","coordinateSystem","METER_OFFSETS","colorsByAttribute","data","arguments","length","undefined","context","url","magicNumber","getMagicNumber","Error","urlWithoutParams","test","parseTileset","parseTile","parseTileContent","arrayBuffer","tilesetJson","JSON","TextDecoder","decode","layerType","tilesetPostprocessed","ArrayBuffer","Uint8Array","map","value","toString","padStart","join"],"sources":["../src/i3s-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parse} from '@loaders.gl/core';\nimport type {I3STilesetHeader} from './types';\nimport {I3SContentLoader} from './i3s-content-loader';\nimport {normalizeTileData, normalizeTilesetData} from './lib/parsers/parse-i3s';\nimport {COORDINATE_SYSTEM} from './lib/parsers/constants';\nimport {I3SParseOptions} from './types';\nimport {getUrlWithoutParams} from './lib/utils/url-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nconst TILESET_REGEX = /layers\\/[0-9]+$/;\nconst TILE_HEADER_REGEX = /nodes\\/([0-9-]+|root)$/;\nconst SLPK_HEX = '504b0304';\nconst POINT_CLOUD = 'PointCloud';\n\nexport type I3SLoaderOptions = LoaderOptions & {\n i3s?: I3SParseOptions;\n};\n\n/**\n * Loader for I3S - Indexed 3D Scene Layer\n */\nexport const I3SLoader: LoaderWithParser<I3STilesetHeader, never, LoaderOptions> = {\n name: 'I3S (Indexed Scene Layers)',\n id: 'i3s',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse: parseI3S,\n extensions: ['bin'],\n options: {\n i3s: {\n token: null,\n isTileset: 'auto',\n isTileHeader: 'auto',\n tile: null,\n tileset: null,\n _tileOptions: null,\n _tilesetOptions: null,\n useDracoGeometry: true,\n useCompressedTextures: true,\n decodeTextures: true,\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n colorsByAttribute: null\n }\n }\n};\n\nasync function parseI3S(data, options: I3SLoaderOptions = {}, context): Promise<I3STilesetHeader> {\n const url = context.url;\n options.i3s = options.i3s || {};\n const magicNumber = getMagicNumber(data);\n\n // check if file is slpk\n if (magicNumber === SLPK_HEX) {\n throw new Error('Files with .slpk extention currently are not supported by I3SLoader');\n }\n\n const urlWithoutParams = getUrlWithoutParams(url);\n\n // auto detect file type based on url\n let isTileset;\n if (options.i3s.isTileset === 'auto') {\n isTileset = TILESET_REGEX.test(urlWithoutParams);\n } else {\n isTileset = options.i3s.isTileset;\n }\n\n let isTileHeader;\n if (options.isTileHeader === 'auto') {\n isTileHeader = TILE_HEADER_REGEX.test(urlWithoutParams);\n } else {\n isTileHeader = options.i3s.isTileHeader;\n }\n\n if (isTileset) {\n data = await parseTileset(data, options, context);\n } else if (isTileHeader) {\n data = await parseTile(data, context);\n } else {\n data = await parseTileContent(data, options);\n }\n\n return data;\n}\n\nasync function parseTileContent(arrayBuffer, options: I3SLoaderOptions) {\n return await parse(arrayBuffer, I3SContentLoader, options);\n}\n\nasync function parseTileset(data, options: I3SLoaderOptions, context) {\n const tilesetJson = JSON.parse(new TextDecoder().decode(data));\n\n if (tilesetJson?.layerType === POINT_CLOUD) {\n throw new Error('Point Cloud layers currently are not supported by I3SLoader');\n }\n\n const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);\n return tilesetPostprocessed;\n}\n\nasync function parseTile(data, context) {\n data = JSON.parse(new TextDecoder().decode(data));\n return normalizeTileData(data, context);\n}\n\nfunction getMagicNumber(data) {\n if (data instanceof ArrayBuffer) {\n // slice binary data (4 bytes from the beginning) and transform it to hexadecimal numeral system\n return [...new Uint8Array(data, 0, 4)]\n .map((value) => value.toString(16).padStart(2, '0'))\n .join('');\n }\n return null;\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i3s-node-page-loader.d.ts","sourceRoot":"","sources":["../src/i3s-node-page-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAMtC;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAWjF,CAAC"}
@@ -1,4 +1,4 @@
1
- const VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
1
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
2
2
  export const I3SNodePageLoader = {
3
3
  name: 'I3S Node Page',
4
4
  id: 'i3s-node-page',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i3s-node-page-loader.js","names":["VERSION","__VERSION__","I3SNodePageLoader","name","id","module","version","mimeTypes","parse","parseNodePage","extensions","options","i3s","data","JSON","TextDecoder","decode"],"sources":["../src/i3s-node-page-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {I3SLoaderOptions} from './i3s-loader';\nimport type {NodePage} from './types';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * Loader for I3S node pages\n */\nexport const I3SNodePageLoader: LoaderWithParser<NodePage, never, I3SLoaderOptions> = {\n name: 'I3S Node Page',\n id: 'i3s-node-page',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/json'],\n parse: parseNodePage,\n extensions: ['json'],\n options: {\n i3s: {}\n }\n};\n\nasync function parseNodePage(data: ArrayBuffer, options?: LoaderOptions): Promise<NodePage> {\n return JSON.parse(new TextDecoder().decode(data)) as NodePage;\n}\n"],"mappings":"AAMA,MAAMA,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAK3E,OAAO,MAAMC,iBAAsE,GAAG;EACpFC,IAAI,EAAE,eAAe;EACrBC,EAAE,EAAE,eAAe;EACnBC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEN,OAAO;EAChBO,SAAS,EAAE,CAAC,kBAAkB,CAAC;EAC/BC,KAAK,EAAEC,aAAa;EACpBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAED,eAAeH,aAAaA,CAACI,IAAiB,EAAEF,OAAuB,EAAqB;EAC1F,OAAOG,IAAI,CAACN,KAAK,CAAC,IAAIO,WAAW,CAAC,CAAC,CAACC,MAAM,CAACH,IAAI,CAAC,CAAC;AACnD"}
@@ -9,7 +9,9 @@ export type SLPKLoaderOptions = LoaderOptions & {
9
9
  };
10
10
  };
11
11
  /**
12
- * Loader for SLPK - Scene Layer Package
12
+ * Loader for SLPK - Scene Layer Package (Archive I3S format)
13
+ * @todo - this reloads the entire archive for every tile, should be optimized
14
+ * @todo - this should be updated to use `parseFile` and ReadableFile
13
15
  */
14
16
  export declare const SLPKLoader: LoaderWithParser<ArrayBuffer, never, SLPKLoaderOptions>;
15
17
  //# sourceMappingURL=i3s-slpk-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i3s-slpk-loader.d.ts","sourceRoot":"","sources":["../src/i3s-slpk-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAQ9E,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,IAAI,CAAC,EAAE;QACL,mCAAmC;QACnC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,uBAAuB;QACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,iBAAiB,CAY9E,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { DataViewFile } from '@loaders.gl/loader-utils';
2
+ import { parseSLPKArchive } from "./lib/parsers/parse-slpk/parse-slpk.js";
3
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
4
+ export const SLPKLoader = {
5
+ name: 'I3S SLPK (Scene Layer Package)',
6
+ id: 'slpk',
7
+ module: 'i3s',
8
+ version: VERSION,
9
+ mimeTypes: ['application/octet-stream'],
10
+ extensions: ['slpk'],
11
+ options: {},
12
+ parse: async function (data) {
13
+ var _options$slpk$path, _options$slpk, _options$slpk2;
14
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15
+ const archive = await parseSLPKArchive(new DataViewFile(new DataView(data)));
16
+ return archive.getFile((_options$slpk$path = (_options$slpk = options.slpk) === null || _options$slpk === void 0 ? void 0 : _options$slpk.path) !== null && _options$slpk$path !== void 0 ? _options$slpk$path : '', (_options$slpk2 = options.slpk) === null || _options$slpk2 === void 0 ? void 0 : _options$slpk2.pathMode);
17
+ }
18
+ };
19
+ //# sourceMappingURL=i3s-slpk-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i3s-slpk-loader.js","names":["DataViewFile","parseSLPKArchive","VERSION","__VERSION__","SLPKLoader","name","id","module","version","mimeTypes","extensions","options","parse","data","_options$slpk$path","_options$slpk","_options$slpk2","arguments","length","undefined","archive","DataView","getFile","slpk","path","pathMode"],"sources":["../src/i3s-slpk-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {DataViewFile} from '@loaders.gl/loader-utils';\nimport {parseSLPKArchive} from './lib/parsers/parse-slpk/parse-slpk';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** options to load data from SLPK */\nexport type SLPKLoaderOptions = LoaderOptions & {\n slpk?: {\n /** path inside the slpk archive */\n path?: string;\n /** mode of the path */\n pathMode?: 'http' | 'raw';\n };\n};\n\n/**\n * Loader for SLPK - Scene Layer Package (Archive I3S format)\n * @todo - this reloads the entire archive for every tile, should be optimized\n * @todo - this should be updated to use `parseFile` and ReadableFile\n */\nexport const SLPKLoader: LoaderWithParser<ArrayBuffer, never, SLPKLoaderOptions> = {\n name: 'I3S SLPK (Scene Layer Package)',\n id: 'slpk',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n extensions: ['slpk'],\n options: {},\n parse: async (data: ArrayBuffer, options: SLPKLoaderOptions = {}): Promise<ArrayBuffer> => {\n const archive = await parseSLPKArchive(new DataViewFile(new DataView(data)));\n return archive.getFile(options.slpk?.path ?? '', options.slpk?.pathMode);\n }\n};\n"],"mappings":"AACA,SAAQA,YAAY,QAAO,0BAA0B;AAAC,SAC9CC,gBAAgB;AAIxB,MAAMC,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAiB3E,OAAO,MAAMC,UAAmE,GAAG;EACjFC,IAAI,EAAE,gCAAgC;EACtCC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEN,OAAO;EAChBO,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE,CAAC,CAAC;EACXC,KAAK,EAAE,eAAAA,CAAOC,IAAiB,EAA4D;IAAA,IAAAC,kBAAA,EAAAC,aAAA,EAAAC,cAAA;IAAA,IAA1DL,OAA0B,GAAAM,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC9D,MAAMG,OAAO,GAAG,MAAMnB,gBAAgB,CAAC,IAAID,YAAY,CAAC,IAAIqB,QAAQ,CAACR,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAOO,OAAO,CAACE,OAAO,EAAAR,kBAAA,IAAAC,aAAA,GAACJ,OAAO,CAACY,IAAI,cAAAR,aAAA,uBAAZA,aAAA,CAAcS,IAAI,cAAAV,kBAAA,cAAAA,kBAAA,GAAI,EAAE,GAAAE,cAAA,GAAEL,OAAO,CAACY,IAAI,cAAAP,cAAA,uBAAZA,cAAA,CAAcS,QAAQ,CAAC;EAC1E;AACF,CAAC"}