@loaders.gl/i3s 4.0.0-alpha.9 → 4.0.0-beta.2
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 +4925 -445
- package/dist/es5/arcgis-webscene-loader.js +4 -4
- package/dist/es5/arcgis-webscene-loader.js.map +1 -1
- package/dist/es5/i3s-attribute-loader.js +1 -1
- package/dist/es5/i3s-attribute-loader.js.map +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/es5/i3s-content-loader.js +1 -1
- package/dist/es5/i3s-content-loader.js.map +1 -1
- package/dist/es5/i3s-loader.js +6 -6
- package/dist/es5/i3s-loader.js.map +1 -1
- package/dist/es5/i3s-node-page-loader.js +14 -12
- package/dist/es5/i3s-node-page-loader.js.map +1 -1
- package/dist/es5/i3s-slpk-loader.js +30 -2
- package/dist/es5/i3s-slpk-loader.js.map +1 -1
- package/dist/es5/index.js +9 -2
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +9 -5
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/constants.js +14 -15
- package/dist/es5/lib/parsers/constants.js.map +1 -1
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +34 -31
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js +31 -19
- package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js +42 -67
- package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
- package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js +76 -51
- package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
- package/dist/es5/lib/utils/customize-/321/201olors.js.map +1 -1
- package/dist/es5/lib/utils/url-utils.js +3 -3
- package/dist/es5/lib/utils/url-utils.js.map +1 -1
- package/dist/es5/types.js +1 -14
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/arcgis-webscene-loader.js +2 -2
- package/dist/esm/arcgis-webscene-loader.js.map +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js.map +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js.map +1 -1
- package/dist/esm/i3s-loader.js +3 -4
- package/dist/esm/i3s-loader.js.map +1 -1
- package/dist/esm/i3s-node-page-loader.js +7 -5
- package/dist/esm/i3s-node-page-loader.js.map +1 -1
- package/dist/esm/i3s-slpk-loader.js +8 -2
- package/dist/esm/i3s-slpk-loader.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +9 -5
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/esm/lib/parsers/constants.js +14 -15
- package/dist/esm/lib/parsers/constants.js.map +1 -1
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +5 -2
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s.js +23 -12
- package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js +19 -33
- package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
- package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js +23 -32
- package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
- package/dist/esm/lib/utils/customize-/321/201olors.js.map +1 -1
- package/dist/esm/lib/utils/url-utils.js +2 -3
- package/dist/esm/lib/utils/url-utils.js.map +1 -1
- package/dist/esm/types.js +0 -12
- package/dist/esm/types.js.map +1 -1
- package/dist/i3s-content-worker-node.js +48 -48
- package/dist/i3s-content-worker-node.js.map +3 -3
- package/dist/i3s-content-worker.js +191 -126
- package/dist/src/arcgis-webscene-loader.d.ts +9 -0
- package/dist/src/arcgis-webscene-loader.d.ts.map +1 -0
- package/dist/src/bundle.d.ts.map +1 -0
- package/dist/{i3s-attribute-loader.d.ts → src/i3s-attribute-loader.d.ts} +3 -2
- package/dist/src/i3s-attribute-loader.d.ts.map +1 -0
- package/dist/src/i3s-building-scene-layer-loader.d.ts +8 -0
- package/dist/src/i3s-building-scene-layer-loader.d.ts.map +1 -0
- package/dist/src/i3s-content-loader.d.ts +8 -0
- package/dist/src/i3s-content-loader.d.ts.map +1 -0
- package/dist/src/i3s-loader.d.ts +11 -0
- package/dist/src/i3s-loader.d.ts.map +1 -0
- package/dist/src/i3s-node-page-loader.d.ts +8 -0
- package/dist/src/i3s-node-page-loader.d.ts.map +1 -0
- package/dist/src/i3s-slpk-loader.d.ts +15 -0
- package/dist/src/i3s-slpk-loader.d.ts.map +1 -0
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/{lib → src/lib}/helpers/i3s-nodepages-tiles.d.ts +5 -3
- package/dist/src/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -0
- package/dist/src/lib/parsers/constants.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-arcgis-webscene.d.ts +7 -0
- package/dist/src/lib/parsers/parse-arcgis-webscene.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-i3s-attribute.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-i3s-building-scene-layer.d.ts.map +1 -0
- package/dist/{lib → src/lib}/parsers/parse-i3s-tile-content.d.ts +1 -1
- package/dist/src/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -0
- package/dist/{lib → src/lib}/parsers/parse-i3s.d.ts +2 -2
- package/dist/src/lib/parsers/parse-i3s.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-slpk/parse-slpk.d.ts +10 -0
- package/dist/src/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -0
- package/dist/{lib → src/lib}/parsers/parse-slpk/slpk-archieve.d.ts +6 -12
- package/dist/src/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -0
- package/dist/src/lib/utils/convert-i3s-obb-to-mbs.d.ts.map +1 -0
- package/dist/src/lib/utils/customize-/321/201olors.d.ts.map +1 -0
- package/dist/{lib → src/lib}/utils/url-utils.d.ts +5 -4
- package/dist/src/lib/utils/url-utils.d.ts.map +1 -0
- package/dist/{types.d.ts → src/types.d.ts} +138 -74
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/workers/i3s-content-worker-node.d.ts.map +1 -0
- package/dist/src/workers/i3s-content-worker.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +9 -9
- package/src/arcgis-webscene-loader.ts +12 -6
- package/src/i3s-attribute-loader.ts +2 -1
- package/src/i3s-building-scene-layer-loader.ts +6 -1
- package/src/i3s-content-loader.ts +3 -2
- package/src/i3s-loader.ts +6 -8
- package/src/i3s-node-page-loader.ts +9 -6
- package/src/i3s-slpk-loader.ts +21 -3
- package/src/index.ts +6 -2
- package/src/lib/helpers/i3s-nodepages-tiles.ts +16 -9
- package/src/lib/parsers/constants.ts +14 -15
- package/src/lib/parsers/parse-arcgis-webscene.ts +2 -2
- package/src/lib/parsers/parse-i3s-tile-content.ts +7 -9
- package/src/lib/parsers/parse-i3s.ts +30 -18
- package/src/lib/parsers/parse-slpk/parse-slpk.ts +43 -55
- package/src/lib/parsers/parse-slpk/slpk-archieve.ts +30 -62
- package/src/lib/utils/customize-/321/201olors.ts +2 -2
- package/src/lib/utils/url-utils.ts +6 -5
- package/src/types.ts +143 -91
- package/dist/arcgis-webscene-loader.d.ts +0 -7
- package/dist/arcgis-webscene-loader.d.ts.map +0 -1
- package/dist/arcgis-webscene-loader.js +0 -28
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/es5/lib/parsers/parse-zip/cd-file-header.js +0 -44
- package/dist/es5/lib/parsers/parse-zip/cd-file-header.js.map +0 -1
- package/dist/es5/lib/parsers/parse-zip/local-file-header.js +0 -26
- package/dist/es5/lib/parsers/parse-zip/local-file-header.js.map +0 -1
- package/dist/esm/lib/parsers/parse-zip/cd-file-header.js +0 -37
- package/dist/esm/lib/parsers/parse-zip/cd-file-header.js.map +0 -1
- package/dist/esm/lib/parsers/parse-zip/local-file-header.js +0 -19
- package/dist/esm/lib/parsers/parse-zip/local-file-header.js.map +0 -1
- package/dist/i3s-attribute-loader.d.ts.map +0 -1
- package/dist/i3s-attribute-loader.js +0 -175
- package/dist/i3s-building-scene-layer-loader.d.ts +0 -6
- package/dist/i3s-building-scene-layer-loader.d.ts.map +0 -1
- package/dist/i3s-building-scene-layer-loader.js +0 -26
- package/dist/i3s-content-loader.d.ts +0 -6
- package/dist/i3s-content-loader.d.ts.map +0 -1
- package/dist/i3s-content-loader.js +0 -32
- package/dist/i3s-loader.d.ts +0 -11
- package/dist/i3s-loader.d.ts.map +0 -1
- package/dist/i3s-loader.js +0 -102
- package/dist/i3s-node-page-loader.d.ts +0 -7
- package/dist/i3s-node-page-loader.d.ts.map +0 -1
- package/dist/i3s-node-page-loader.js +0 -22
- package/dist/i3s-slpk-loader.d.ts +0 -13
- package/dist/i3s-slpk-loader.d.ts.map +0 -1
- package/dist/i3s-slpk-loader.js +0 -20
- package/dist/index.d.ts +0 -10
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -21
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +0 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.js +0 -242
- package/dist/lib/parsers/constants.d.ts.map +0 -1
- package/dist/lib/parsers/constants.js +0 -89
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts +0 -7
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts.map +0 -1
- package/dist/lib/parsers/parse-arcgis-webscene.js +0 -88
- package/dist/lib/parsers/parse-i3s-attribute.d.ts.map +0 -1
- package/dist/lib/parsers/parse-i3s-attribute.js +0 -99
- package/dist/lib/parsers/parse-i3s-building-scene-layer.d.ts.map +0 -1
- package/dist/lib/parsers/parse-i3s-building-scene-layer.js +0 -46
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +0 -1
- package/dist/lib/parsers/parse-i3s-tile-content.js +0 -499
- package/dist/lib/parsers/parse-i3s.d.ts.map +0 -1
- package/dist/lib/parsers/parse-i3s.js +0 -95
- package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts +0 -4
- package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +0 -1
- package/dist/lib/parsers/parse-slpk/parse-slpk.js +0 -50
- package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +0 -1
- package/dist/lib/parsers/parse-slpk/slpk-archieve.js +0 -142
- package/dist/lib/parsers/parse-zip/cd-file-header.d.ts +0 -38
- package/dist/lib/parsers/parse-zip/cd-file-header.d.ts.map +0 -1
- package/dist/lib/parsers/parse-zip/cd-file-header.js +0 -48
- package/dist/lib/parsers/parse-zip/local-file-header.d.ts +0 -30
- package/dist/lib/parsers/parse-zip/local-file-header.d.ts.map +0 -1
- package/dist/lib/parsers/parse-zip/local-file-header.js +0 -28
- package/dist/lib/utils/convert-i3s-obb-to-mbs.d.ts.map +0 -1
- package/dist/lib/utils/convert-i3s-obb-to-mbs.js +0 -20
- package/dist/lib/utils/customize-/321/201olors.d.ts.map +0 -1
- package/dist/lib/utils/customize-/321/201olors.js +0 -104
- package/dist/lib/utils/url-utils.d.ts.map +0 -1
- package/dist/lib/utils/url-utils.js +0 -44
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -20
- package/dist/workers/i3s-content-worker-node.d.ts.map +0 -1
- package/dist/workers/i3s-content-worker-node.js +0 -7
- package/dist/workers/i3s-content-worker.d.ts.map +0 -1
- package/dist/workers/i3s-content-worker.js +0 -5
- package/src/lib/parsers/parse-zip/cd-file-header.ts +0 -93
- package/src/lib/parsers/parse-zip/local-file-header.ts +0 -56
- /package/dist/{bundle.d.ts → src/bundle.d.ts} +0 -0
- /package/dist/{lib → src/lib}/parsers/constants.d.ts +0 -0
- /package/dist/{lib → src/lib}/parsers/parse-i3s-attribute.d.ts +0 -0
- /package/dist/{lib → src/lib}/parsers/parse-i3s-building-scene-layer.d.ts +0 -0
- /package/dist/{lib → src/lib}/utils/convert-i3s-obb-to-mbs.d.ts +0 -0
- /package/dist/{lib → src/lib}/utils/customize-/321/201olors.d.ts" +0 -0
- /package/dist/{workers → src/workers}/i3s-content-worker-node.d.ts +0 -0
- /package/dist/{workers → src/workers}/i3s-content-worker.d.ts +0 -0
package/src/types.ts
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import type {Matrix4, Quaternion, Vector3} from '@math.gl/core';
|
|
2
2
|
import type {TypedArray, MeshAttribute, TextureLevel} from '@loaders.gl/schema';
|
|
3
|
-
import {Tile3D, Tileset3D} from '@loaders.gl/tiles';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
UInt8 = 'UInt8',
|
|
7
|
-
UInt16 = 'UInt16',
|
|
8
|
-
UInt32 = 'UInt32',
|
|
9
|
-
UInt64 = 'UInt64',
|
|
10
|
-
Int16 = 'Int16',
|
|
11
|
-
Int32 = 'Int32',
|
|
12
|
-
Int64 = 'Int64',
|
|
13
|
-
Float32 = 'Float32',
|
|
14
|
-
Float64 = 'Float64'
|
|
15
|
-
}
|
|
3
|
+
import {TILESET_TYPE, TILE_REFINEMENT, TILE_TYPE, Tile3D, Tileset3D} from '@loaders.gl/tiles';
|
|
4
|
+
import I3SNodePagesTiles from './lib/helpers/i3s-nodepages-tiles';
|
|
5
|
+
import {LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
16
6
|
|
|
17
7
|
export type COLOR = [number, number, number, number];
|
|
18
8
|
|
|
19
9
|
/**
|
|
20
|
-
*
|
|
10
|
+
* Extension of SceneLayer3D JSON with postprocessed loader data
|
|
21
11
|
*/
|
|
22
|
-
// TODO Replace "[key: string]: any" with actual defenition
|
|
23
12
|
export interface I3STilesetHeader extends SceneLayer3D {
|
|
24
13
|
/** Not in spec, but is necessary for woking */
|
|
25
14
|
url?: string;
|
|
26
|
-
|
|
15
|
+
/** Base path that non-absolute paths in tileset are relative to. */
|
|
16
|
+
basePath?: string;
|
|
17
|
+
/** root node metadata */
|
|
18
|
+
root: I3STileHeader;
|
|
19
|
+
/** instance of the NodePages to tiles loader */
|
|
20
|
+
nodePagesTile?: I3SNodePagesTiles;
|
|
21
|
+
/** Type of the tileset */
|
|
22
|
+
type: TILESET_TYPE.I3S;
|
|
23
|
+
/** LOD metric type per I3S spec*/
|
|
24
|
+
lodMetricType?: string;
|
|
25
|
+
/** LOD metric value */
|
|
26
|
+
lodMetricValue?: number;
|
|
27
|
+
/** Loader that has to be used to load content */
|
|
28
|
+
loader: LoaderWithParser;
|
|
27
29
|
}
|
|
28
30
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePage.cmn.md */
|
|
29
31
|
export type NodePage = {
|
|
@@ -69,20 +71,62 @@ type meshAttribute = {
|
|
|
69
71
|
resource: number;
|
|
70
72
|
};
|
|
71
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Texture format
|
|
76
|
+
* @see https://github.com/Esri/i3s-spec/blob/master/docs/1.7/textureSetDefinitionFormat.cmn.md
|
|
77
|
+
*/
|
|
72
78
|
export type I3STextureFormat = 'jpg' | 'png' | 'ktx-etc2' | 'dds' | 'ktx2';
|
|
73
79
|
|
|
74
|
-
|
|
75
|
-
export type I3STileHeader = {
|
|
76
|
-
|
|
77
|
-
textureUrl?: string;
|
|
78
|
-
url?: string;
|
|
79
|
-
textureFormat?: I3STextureFormat;
|
|
80
|
-
textureLoaderOptions?: any;
|
|
81
|
-
materialDefinition?: I3SMaterialDefinition;
|
|
80
|
+
/** Postprocessed I3S Node */
|
|
81
|
+
export type I3STileHeader = I3SMinimalNodeData & {
|
|
82
|
+
/** MBS per I3S spec */
|
|
82
83
|
mbs: Mbs;
|
|
83
|
-
|
|
84
|
+
/** Material definition from the layer metadata per I3S spec */
|
|
85
|
+
materialDefinition?: I3SMaterialDefinition;
|
|
86
|
+
/** Bounding volume converted to 3DTiles format. It is generic for `tile` module */
|
|
87
|
+
boundingVolume: {box?: number[]; sphere?: number[]};
|
|
88
|
+
/** LOD metric selected for usage */
|
|
89
|
+
lodMetricType?: string;
|
|
90
|
+
/** LOD metric value */
|
|
91
|
+
lodMetricValue?: number;
|
|
92
|
+
/** Tile content type */
|
|
93
|
+
type: TILE_TYPE.MESH;
|
|
94
|
+
/** Tile refinement type. I3S supports only `REPLACE` */
|
|
95
|
+
refine: TILE_REFINEMENT.REPLACE;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Minimal I3S node data is needed for loading
|
|
100
|
+
* These data can come from 3DNodeIndexDocument (I3S spec) or from `I3SNodePagesTiles` instance
|
|
101
|
+
* @see https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md
|
|
102
|
+
*/
|
|
103
|
+
export type I3SMinimalNodeData = {
|
|
104
|
+
/** Node ID */
|
|
105
|
+
id: string;
|
|
106
|
+
/** Node base path */
|
|
107
|
+
url?: string;
|
|
108
|
+
/** LOD selection metrics */
|
|
84
109
|
lodSelection?: LodSelection[];
|
|
85
|
-
|
|
110
|
+
// OBB per I3S spec
|
|
111
|
+
obb?: Obb;
|
|
112
|
+
/** MBS per I3S spec */
|
|
113
|
+
mbs?: Mbs;
|
|
114
|
+
/** Geometry content URL */
|
|
115
|
+
contentUrl?: string;
|
|
116
|
+
/** Texture image URL */
|
|
117
|
+
textureUrl?: string;
|
|
118
|
+
/** Feature attributes URLs */
|
|
119
|
+
attributeUrls?: string[];
|
|
120
|
+
/** Material definition from I3S layer metadata */
|
|
121
|
+
materialDefinition?: I3SMaterialDefinition;
|
|
122
|
+
/** Texture format per I3S spec */
|
|
123
|
+
textureFormat: I3STextureFormat;
|
|
124
|
+
/** Loader options for texture loader. The loader might be `CompressedTextureLoader` for `dds`, BasisLoader for `ktx2` or ImageLoader for `jpg`and `png` */
|
|
125
|
+
textureLoaderOptions?: {[key: string]: any};
|
|
126
|
+
/** Child Nodes references */
|
|
127
|
+
children: NodeReference[];
|
|
128
|
+
/** Is the node has Draco compressed geometry */
|
|
129
|
+
isDracoGeometry: boolean;
|
|
86
130
|
};
|
|
87
131
|
|
|
88
132
|
export type I3SParseOptions = {
|
|
@@ -108,13 +152,20 @@ export type I3SParseOptions = {
|
|
|
108
152
|
* Supported coordinate systems: METER_OFFSETS, LNGLAT_OFFSETS
|
|
109
153
|
*/
|
|
110
154
|
coordinateSystem?: number;
|
|
155
|
+
/** Options to colorize 3DObjects by attribute value */
|
|
111
156
|
colorsByAttribute?: {
|
|
157
|
+
/** Feature attribute name */
|
|
112
158
|
attributeName: string;
|
|
159
|
+
/** Minimum attribute value */
|
|
113
160
|
minValue: number;
|
|
161
|
+
/** Maximum attribute value */
|
|
114
162
|
maxValue: number;
|
|
163
|
+
/** Minimum color. 3DObject will be colorized with gradient from `minColor to `maxColor` */
|
|
115
164
|
minColor: COLOR;
|
|
165
|
+
/** Maximum color. 3DObject will be colorized with gradient from `minColor to `maxColor` */
|
|
116
166
|
maxColor: COLOR;
|
|
117
|
-
mode
|
|
167
|
+
/** Colorization mode. `replace` - replace vertex colors with a new colors, `multiply` - multiply vertex colors with new colors */
|
|
168
|
+
mode: 'multiply' | 'replace';
|
|
118
169
|
};
|
|
119
170
|
|
|
120
171
|
/** @deprecated */
|
|
@@ -169,12 +220,20 @@ export type BoundingVolumes = {
|
|
|
169
220
|
obb: Obb;
|
|
170
221
|
};
|
|
171
222
|
|
|
223
|
+
/**
|
|
224
|
+
* Oriented bounding box per I3S spec
|
|
225
|
+
* @see https://github.com/Esri/i3s-spec/blob/master/docs/1.7/obb.cmn.md
|
|
226
|
+
*/
|
|
172
227
|
export type Obb = {
|
|
173
228
|
center: number[] | Vector3;
|
|
174
229
|
halfSize: number[] | Vector3;
|
|
175
230
|
quaternion: number[] | Quaternion;
|
|
176
231
|
};
|
|
177
232
|
|
|
233
|
+
/**
|
|
234
|
+
* Minimum bounding sphere per I3S spec
|
|
235
|
+
* @see https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md#properties
|
|
236
|
+
*/
|
|
178
237
|
export type Mbs = [number, number, number, number];
|
|
179
238
|
|
|
180
239
|
/** SceneLayer3D based on I3S specification - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/3DSceneLayer.cmn.md */
|
|
@@ -382,36 +441,32 @@ export type Node3DIndexDocument = {
|
|
|
382
441
|
};
|
|
383
442
|
|
|
384
443
|
/**
|
|
385
|
-
*
|
|
444
|
+
* LOD selection metrics per I3S spec
|
|
445
|
+
* @see https://github.com/Esri/i3s-spec/blob/master/docs/1.7/lodSelection.cmn.md
|
|
386
446
|
*/
|
|
387
|
-
export type I3SMinimalNodeData = {
|
|
388
|
-
id: string;
|
|
389
|
-
url?: string;
|
|
390
|
-
transform?: number[];
|
|
391
|
-
lodSelection?: LodSelection[];
|
|
392
|
-
obb?: Obb;
|
|
393
|
-
mbs?: Mbs;
|
|
394
|
-
contentUrl?: string;
|
|
395
|
-
textureUrl?: string;
|
|
396
|
-
attributeUrls?: string[];
|
|
397
|
-
materialDefinition?: I3SMaterialDefinition;
|
|
398
|
-
textureFormat?: I3STextureFormat;
|
|
399
|
-
textureLoaderOptions?: {[key: string]: any};
|
|
400
|
-
children?: NodeReference[];
|
|
401
|
-
isDracoGeometry: boolean;
|
|
402
|
-
};
|
|
403
|
-
|
|
404
447
|
export type LodSelection = {
|
|
448
|
+
/** */
|
|
405
449
|
metricType?: string;
|
|
406
450
|
maxError: number;
|
|
407
451
|
};
|
|
408
452
|
|
|
453
|
+
/**
|
|
454
|
+
* Node reference per I3S spec
|
|
455
|
+
* @see https://github.com/Esri/i3s-spec/blob/master/docs/1.7/nodeReference.cmn.md
|
|
456
|
+
*/
|
|
409
457
|
export type NodeReference = {
|
|
458
|
+
/** Tree Key ID of the referenced node represented as string. */
|
|
410
459
|
id: string;
|
|
460
|
+
/** Version (store update session ID) of the referenced node. */
|
|
411
461
|
version?: string;
|
|
462
|
+
/** An array of four doubles, corresponding to x, y, z and radius of the minimum bounding sphere of a node. */
|
|
412
463
|
mbs?: Mbs;
|
|
464
|
+
/** Describes oriented bounding box. */
|
|
413
465
|
obb?: Obb;
|
|
466
|
+
/** Number of values per element. */
|
|
414
467
|
href?: string;
|
|
468
|
+
/** Number of features in the referenced node and its descendants, down to the leaf nodes. */
|
|
469
|
+
featureCount?: number;
|
|
415
470
|
};
|
|
416
471
|
|
|
417
472
|
export type Resource = {
|
|
@@ -690,20 +745,24 @@ type Domain = {
|
|
|
690
745
|
* spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/store.cmn.md
|
|
691
746
|
*/
|
|
692
747
|
type Store = {
|
|
693
|
-
id
|
|
748
|
+
id?: string | number;
|
|
694
749
|
profile: string;
|
|
695
750
|
version: number | string;
|
|
696
|
-
resourcePattern
|
|
697
|
-
rootNode
|
|
698
|
-
extent
|
|
699
|
-
indexCRS
|
|
700
|
-
vertexCRS
|
|
701
|
-
normalReferenceFrame
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
lodType: string;
|
|
705
|
-
lodModel: string;
|
|
751
|
+
resourcePattern?: string[];
|
|
752
|
+
rootNode?: string;
|
|
753
|
+
extent?: number[];
|
|
754
|
+
indexCRS?: string;
|
|
755
|
+
vertexCRS?: string;
|
|
756
|
+
normalReferenceFrame?: string;
|
|
757
|
+
lodType?: string;
|
|
758
|
+
lodModel?: string;
|
|
706
759
|
defaultGeometrySchema: DefaultGeometrySchema;
|
|
760
|
+
nidEncoding?: string;
|
|
761
|
+
textureEncoding?: string[];
|
|
762
|
+
featureEncoding?: string;
|
|
763
|
+
geometryEncoding?: string;
|
|
764
|
+
attributeEncoding?: string;
|
|
765
|
+
indexingScheme?: string;
|
|
707
766
|
};
|
|
708
767
|
/**
|
|
709
768
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md
|
|
@@ -726,15 +785,15 @@ type DefaultGeometrySchema = {
|
|
|
726
785
|
export type HeaderAttribute = {
|
|
727
786
|
property: HeaderAttributeProperty.vertexCount | HeaderAttributeProperty.featureCount | string;
|
|
728
787
|
type:
|
|
729
|
-
|
|
|
730
|
-
|
|
|
731
|
-
|
|
|
732
|
-
|
|
|
733
|
-
|
|
|
734
|
-
|
|
|
735
|
-
|
|
|
736
|
-
|
|
|
737
|
-
|
|
|
788
|
+
| 'UInt8'
|
|
789
|
+
| 'UInt16'
|
|
790
|
+
| 'UInt32'
|
|
791
|
+
| 'UInt64'
|
|
792
|
+
| 'Int16'
|
|
793
|
+
| 'Int32'
|
|
794
|
+
| 'Int64'
|
|
795
|
+
| 'Float32'
|
|
796
|
+
| 'Float64';
|
|
738
797
|
};
|
|
739
798
|
export enum HeaderAttributeProperty {
|
|
740
799
|
vertexCount = 'vertexCount',
|
|
@@ -749,14 +808,7 @@ export type VertexAttribute = {
|
|
|
749
808
|
};
|
|
750
809
|
export type GeometryAttribute = {
|
|
751
810
|
byteOffset?: number;
|
|
752
|
-
valueType:
|
|
753
|
-
| DATA_TYPE.UInt8
|
|
754
|
-
| DATA_TYPE.UInt16
|
|
755
|
-
| DATA_TYPE.Int16
|
|
756
|
-
| DATA_TYPE.Int32
|
|
757
|
-
| DATA_TYPE.Int64
|
|
758
|
-
| DATA_TYPE.Float32
|
|
759
|
-
| DATA_TYPE.Float64;
|
|
811
|
+
valueType: 'UInt8' | 'UInt16' | 'Int16' | 'Int32' | 'Int64' | 'Float32' | 'Float64';
|
|
760
812
|
valuesPerElement: number;
|
|
761
813
|
};
|
|
762
814
|
export type I3SMeshAttributes = {
|
|
@@ -804,7 +856,7 @@ type TextureSetDefinition = {
|
|
|
804
856
|
|
|
805
857
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryDefinition.cmn.md */
|
|
806
858
|
type GeometryDefinition = {
|
|
807
|
-
topology
|
|
859
|
+
topology?: 'triangle';
|
|
808
860
|
geometryBuffers: GeometryBuffer[];
|
|
809
861
|
};
|
|
810
862
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryBuffer.cmn.md */
|
|
@@ -820,7 +872,7 @@ type GeometryBuffer = {
|
|
|
820
872
|
compressedAttributes?: {encoding: string; attributes: string[]};
|
|
821
873
|
};
|
|
822
874
|
|
|
823
|
-
type GeometryBufferItem = {type: string; component: number; encoding?: string; binding
|
|
875
|
+
type GeometryBufferItem = {type: string; component: number; encoding?: string; binding?: string};
|
|
824
876
|
|
|
825
877
|
type AttributeValue = {valueType: string; encoding?: string; valuesPerElement?: number};
|
|
826
878
|
|
|
@@ -831,16 +883,16 @@ export type FieldInfo = {
|
|
|
831
883
|
label: string;
|
|
832
884
|
};
|
|
833
885
|
|
|
834
|
-
export type
|
|
835
|
-
header:
|
|
886
|
+
export type ArcGISWebSceneData = {
|
|
887
|
+
header: ArcGISWebScene;
|
|
836
888
|
layers: OperationalLayer[];
|
|
837
889
|
unsupportedLayers: OperationalLayer[];
|
|
838
890
|
};
|
|
839
891
|
|
|
840
892
|
/**
|
|
841
|
-
*
|
|
893
|
+
* ArcGIS WebScene spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/
|
|
842
894
|
*/
|
|
843
|
-
export type
|
|
895
|
+
export type ArcGISWebScene = {
|
|
844
896
|
/**
|
|
845
897
|
* @todo add type.
|
|
846
898
|
* Spec - https://developers.arcgis.com/web-scene-specification/objects/applicationProperties/
|
|
@@ -881,7 +933,7 @@ export type ArcGisWebScene = {
|
|
|
881
933
|
* Spec - https://developers.arcgis.com/web-scene-specification/objects/presentation/
|
|
882
934
|
* @todo Add presentation type.
|
|
883
935
|
*/
|
|
884
|
-
presentation:
|
|
936
|
+
presentation: ArcGISPresentation;
|
|
885
937
|
/**
|
|
886
938
|
* An object that provides information about the initial environment settings and viewpoint of the web scene.
|
|
887
939
|
*/
|
|
@@ -931,7 +983,7 @@ export type ArcGisWebScene = {
|
|
|
931
983
|
/**
|
|
932
984
|
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-webscene-Presentation.html
|
|
933
985
|
*/
|
|
934
|
-
type
|
|
986
|
+
type ArcGISPresentation = {
|
|
935
987
|
slides: Slide[];
|
|
936
988
|
};
|
|
937
989
|
|
|
@@ -954,26 +1006,26 @@ type Slide = {
|
|
|
954
1006
|
ground: {
|
|
955
1007
|
transparency: number;
|
|
956
1008
|
};
|
|
957
|
-
baseMap:
|
|
958
|
-
visibleLayers:
|
|
959
|
-
viewpoint:
|
|
1009
|
+
baseMap: ArcGISBaseMap;
|
|
1010
|
+
visibleLayers: ArcGISVisibleLayer[];
|
|
1011
|
+
viewpoint: ArcGISViewPoint;
|
|
960
1012
|
};
|
|
961
1013
|
|
|
962
1014
|
/**
|
|
963
1015
|
* The basemap of the scene. Only the base and reference layers of the basemap are stored in a slide.
|
|
964
1016
|
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html
|
|
965
1017
|
*/
|
|
966
|
-
type
|
|
1018
|
+
type ArcGISBaseMap = {
|
|
967
1019
|
id: string;
|
|
968
1020
|
title: string;
|
|
969
|
-
baseMapLayers:
|
|
1021
|
+
baseMapLayers: ArcGISBaseMapLayer[];
|
|
970
1022
|
};
|
|
971
1023
|
|
|
972
1024
|
/**
|
|
973
1025
|
* The visible layers of the scene.
|
|
974
1026
|
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-webscene-Slide.html#visibleLayers
|
|
975
1027
|
*/
|
|
976
|
-
type
|
|
1028
|
+
type ArcGISVisibleLayer = {
|
|
977
1029
|
id: string;
|
|
978
1030
|
sublayerIds: number[];
|
|
979
1031
|
};
|
|
@@ -981,7 +1033,7 @@ type ArcGisVisibleLayer = {
|
|
|
981
1033
|
* The basemap of the scene.
|
|
982
1034
|
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html
|
|
983
1035
|
*/
|
|
984
|
-
type
|
|
1036
|
+
type ArcGISBaseMapLayer = {
|
|
985
1037
|
id: string;
|
|
986
1038
|
title: string;
|
|
987
1039
|
url: string;
|
|
@@ -993,14 +1045,14 @@ type ArcGisBaseMapLayer = {
|
|
|
993
1045
|
* The viewpoint of the slide. This acts like a bookmark, saving a predefined location or point of view from which to view the scene.
|
|
994
1046
|
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html
|
|
995
1047
|
*/
|
|
996
|
-
type
|
|
1048
|
+
type ArcGISViewPoint = {
|
|
997
1049
|
scale: number;
|
|
998
1050
|
rotation?: number;
|
|
999
1051
|
/**
|
|
1000
1052
|
* Spec - https://developers.arcgis.com/web-scene-specification/objects/viewpoint/
|
|
1001
1053
|
*/
|
|
1002
1054
|
targetGeometry: any;
|
|
1003
|
-
camera:
|
|
1055
|
+
camera: ArcGISCamera;
|
|
1004
1056
|
};
|
|
1005
1057
|
|
|
1006
1058
|
/**
|
|
@@ -1008,7 +1060,7 @@ type ArcGisViewPoint = {
|
|
|
1008
1060
|
* It is not associated with device hardware. This class only applies to 3D SceneViews.
|
|
1009
1061
|
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html
|
|
1010
1062
|
*/
|
|
1011
|
-
export type
|
|
1063
|
+
export type ArcGISCamera = {
|
|
1012
1064
|
position: {
|
|
1013
1065
|
x: number;
|
|
1014
1066
|
y: number;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
|
-
/**
|
|
3
|
-
* Loader for ArcGis WebScene
|
|
4
|
-
* Spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/
|
|
5
|
-
*/
|
|
6
|
-
export declare const ArcGisWebSceneLoader: LoaderWithParser;
|
|
7
|
-
//# sourceMappingURL=arcgis-webscene-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-webscene-loader.d.ts","sourceRoot":"","sources":["../src/arcgis-webscene-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAS/D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBASlC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArcGisWebSceneLoader = void 0;
|
|
4
|
-
const parse_arcgis_webscene_1 = require("./lib/parsers/parse-arcgis-webscene");
|
|
5
|
-
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
|
-
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
-
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';
|
|
8
|
-
/**
|
|
9
|
-
* Loader for ArcGis WebScene
|
|
10
|
-
* Spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/
|
|
11
|
-
*/
|
|
12
|
-
exports.ArcGisWebSceneLoader = {
|
|
13
|
-
name: 'ArcGIS Web Scene Loader',
|
|
14
|
-
id: 'arcgis-web-scene',
|
|
15
|
-
module: 'i3s',
|
|
16
|
-
version: VERSION,
|
|
17
|
-
mimeTypes: ['application/json'],
|
|
18
|
-
parse,
|
|
19
|
-
extensions: ['json'],
|
|
20
|
-
options: {}
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Parse ArcGis webscene
|
|
24
|
-
* @param data
|
|
25
|
-
*/
|
|
26
|
-
async function parse(data) {
|
|
27
|
-
return (0, parse_arcgis_webscene_1.parseWebscene)(data);
|
|
28
|
-
}
|
package/dist/bundle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,aAAa,KAAqB,CAAC"}
|
package/dist/bundle.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.parseZipCDFileHeader = void 0;
|
|
7
|
-
var parseZipCDFileHeader = function parseZipCDFileHeader(headerOffset, buffer) {
|
|
8
|
-
var offsets = {
|
|
9
|
-
CD_COMPRESSED_SIZE_OFFSET: 20,
|
|
10
|
-
CD_UNCOMPRESSED_SIZE_OFFSET: 24,
|
|
11
|
-
CD_FILE_NAME_LENGTH_OFFSET: 28,
|
|
12
|
-
CD_EXTRA_FIELD_LENGTH_OFFSET: 30,
|
|
13
|
-
CD_LOCAL_HEADER_OFFSET_OFFSET: 42,
|
|
14
|
-
CD_FILE_NAME_OFFSET: 46
|
|
15
|
-
};
|
|
16
|
-
var compressedSize = buffer.getUint32(headerOffset + offsets.CD_COMPRESSED_SIZE_OFFSET, true);
|
|
17
|
-
var uncompressedSize = buffer.getUint32(headerOffset + offsets.CD_UNCOMPRESSED_SIZE_OFFSET, true);
|
|
18
|
-
var fileNameLength = buffer.getUint16(headerOffset + offsets.CD_FILE_NAME_LENGTH_OFFSET, true);
|
|
19
|
-
var fileName = buffer.buffer.slice(headerOffset + offsets.CD_FILE_NAME_OFFSET, headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength);
|
|
20
|
-
var extraOffset = headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength;
|
|
21
|
-
var oldFormatOffset = buffer.getUint32(headerOffset + offsets.CD_LOCAL_HEADER_OFFSET_OFFSET, true);
|
|
22
|
-
var fileDataOffset = oldFormatOffset;
|
|
23
|
-
if (fileDataOffset === 0xffffffff) {
|
|
24
|
-
var offsetInZip64Data = 4;
|
|
25
|
-
if (compressedSize === 0xffffffff) {
|
|
26
|
-
offsetInZip64Data += 8;
|
|
27
|
-
}
|
|
28
|
-
if (uncompressedSize === 0xffffffff) {
|
|
29
|
-
offsetInZip64Data += 8;
|
|
30
|
-
}
|
|
31
|
-
fileDataOffset = buffer.getUint32(extraOffset + offsetInZip64Data, true);
|
|
32
|
-
}
|
|
33
|
-
var localHeaderOffset = fileDataOffset;
|
|
34
|
-
return {
|
|
35
|
-
compressedSize: compressedSize,
|
|
36
|
-
uncompressedSize: uncompressedSize,
|
|
37
|
-
fileNameLength: fileNameLength,
|
|
38
|
-
fileName: fileName,
|
|
39
|
-
extraOffset: extraOffset,
|
|
40
|
-
localHeaderOffset: localHeaderOffset
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
exports.parseZipCDFileHeader = parseZipCDFileHeader;
|
|
44
|
-
//# sourceMappingURL=cd-file-header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cd-file-header.js","names":["parseZipCDFileHeader","headerOffset","buffer","offsets","CD_COMPRESSED_SIZE_OFFSET","CD_UNCOMPRESSED_SIZE_OFFSET","CD_FILE_NAME_LENGTH_OFFSET","CD_EXTRA_FIELD_LENGTH_OFFSET","CD_LOCAL_HEADER_OFFSET_OFFSET","CD_FILE_NAME_OFFSET","compressedSize","getUint32","uncompressedSize","fileNameLength","getUint16","fileName","slice","extraOffset","oldFormatOffset","fileDataOffset","offsetInZip64Data","localHeaderOffset","exports"],"sources":["../../../../../src/lib/parsers/parse-zip/cd-file-header.ts"],"sourcesContent":["/**\n * zip central directory file header info\n * according to https://en.wikipedia.org/wiki/ZIP_(file_format)\n */\nexport type ZipCDFileHeader = {\n /**\n * Compressed size\n */\n compressedSize: number;\n /**\n * Uncompressed size\n */\n uncompressedSize: number;\n /**\n * File name length\n */\n fileNameLength: number;\n /**\n * File name\n */\n fileName: ArrayBuffer;\n /**\n * Extra field offset\n */\n extraOffset: number;\n /**\n * Relative offset of local file header\n */\n localHeaderOffset: number;\n};\n\n/**\n * Parses central directory file header of zip file\n * @param headerOffset - offset in the archive where header starts\n * @param buffer - buffer containing whole array\n * @returns Info from the header\n */\nexport const parseZipCDFileHeader = (headerOffset: number, buffer: DataView): ZipCDFileHeader => {\n const offsets = {\n CD_COMPRESSED_SIZE_OFFSET: 20,\n CD_UNCOMPRESSED_SIZE_OFFSET: 24,\n CD_FILE_NAME_LENGTH_OFFSET: 28,\n CD_EXTRA_FIELD_LENGTH_OFFSET: 30,\n CD_LOCAL_HEADER_OFFSET_OFFSET: 42,\n CD_FILE_NAME_OFFSET: 46\n };\n\n const compressedSize = buffer.getUint32(headerOffset + offsets.CD_COMPRESSED_SIZE_OFFSET, true);\n\n const uncompressedSize = buffer.getUint32(\n headerOffset + offsets.CD_UNCOMPRESSED_SIZE_OFFSET,\n true\n );\n\n const fileNameLength = buffer.getUint16(headerOffset + offsets.CD_FILE_NAME_LENGTH_OFFSET, true);\n\n const fileName = buffer.buffer.slice(\n headerOffset + offsets.CD_FILE_NAME_OFFSET,\n headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength\n );\n\n const extraOffset = headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength;\n\n const oldFormatOffset = buffer.getUint32(\n headerOffset + offsets.CD_LOCAL_HEADER_OFFSET_OFFSET,\n true\n );\n\n let fileDataOffset = oldFormatOffset;\n if (fileDataOffset === 0xffffffff) {\n let offsetInZip64Data = 4;\n // looking for info that might be also be in zip64 extra field\n if (compressedSize === 0xffffffff) {\n offsetInZip64Data += 8;\n }\n if (uncompressedSize === 0xffffffff) {\n offsetInZip64Data += 8;\n }\n\n // getUint32 needs to be replaced with getBigUint64 for archieves bigger than 2gb\n fileDataOffset = buffer.getUint32(extraOffset + offsetInZip64Data, true); // setting it to the one from zip64\n }\n const localHeaderOffset = fileDataOffset;\n\n return {\n compressedSize,\n uncompressedSize,\n fileNameLength,\n fileName,\n extraOffset,\n localHeaderOffset\n };\n};\n"],"mappings":";;;;;;AAqCO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,YAAoB,EAAEC,MAAgB,EAAsB;EAC/F,IAAMC,OAAO,GAAG;IACdC,yBAAyB,EAAE,EAAE;IAC7BC,2BAA2B,EAAE,EAAE;IAC/BC,0BAA0B,EAAE,EAAE;IAC9BC,4BAA4B,EAAE,EAAE;IAChCC,6BAA6B,EAAE,EAAE;IACjCC,mBAAmB,EAAE;EACvB,CAAC;EAED,IAAMC,cAAc,GAAGR,MAAM,CAACS,SAAS,CAACV,YAAY,GAAGE,OAAO,CAACC,yBAAyB,EAAE,IAAI,CAAC;EAE/F,IAAMQ,gBAAgB,GAAGV,MAAM,CAACS,SAAS,CACvCV,YAAY,GAAGE,OAAO,CAACE,2BAA2B,EAClD,IACF,CAAC;EAED,IAAMQ,cAAc,GAAGX,MAAM,CAACY,SAAS,CAACb,YAAY,GAAGE,OAAO,CAACG,0BAA0B,EAAE,IAAI,CAAC;EAEhG,IAAMS,QAAQ,GAAGb,MAAM,CAACA,MAAM,CAACc,KAAK,CAClCf,YAAY,GAAGE,OAAO,CAACM,mBAAmB,EAC1CR,YAAY,GAAGE,OAAO,CAACM,mBAAmB,GAAGI,cAC/C,CAAC;EAED,IAAMI,WAAW,GAAGhB,YAAY,GAAGE,OAAO,CAACM,mBAAmB,GAAGI,cAAc;EAE/E,IAAMK,eAAe,GAAGhB,MAAM,CAACS,SAAS,CACtCV,YAAY,GAAGE,OAAO,CAACK,6BAA6B,EACpD,IACF,CAAC;EAED,IAAIW,cAAc,GAAGD,eAAe;EACpC,IAAIC,cAAc,KAAK,UAAU,EAAE;IACjC,IAAIC,iBAAiB,GAAG,CAAC;IAEzB,IAAIV,cAAc,KAAK,UAAU,EAAE;MACjCU,iBAAiB,IAAI,CAAC;IACxB;IACA,IAAIR,gBAAgB,KAAK,UAAU,EAAE;MACnCQ,iBAAiB,IAAI,CAAC;IACxB;IAGAD,cAAc,GAAGjB,MAAM,CAACS,SAAS,CAACM,WAAW,GAAGG,iBAAiB,EAAE,IAAI,CAAC;EAC1E;EACA,IAAMC,iBAAiB,GAAGF,cAAc;EAExC,OAAO;IACLT,cAAc,EAAdA,cAAc;IACdE,gBAAgB,EAAhBA,gBAAgB;IAChBC,cAAc,EAAdA,cAAc;IACdE,QAAQ,EAARA,QAAQ;IACRE,WAAW,EAAXA,WAAW;IACXI,iBAAiB,EAAjBA;EACF,CAAC;AACH,CAAC;AAACC,OAAA,CAAAtB,oBAAA,GAAAA,oBAAA"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.parseZipLocalFileHeader = void 0;
|
|
7
|
-
var parseZipLocalFileHeader = function parseZipLocalFileHeader(headerOffset, buffer) {
|
|
8
|
-
var offsets = {
|
|
9
|
-
COMPRESSED_SIZE_OFFSET: 18,
|
|
10
|
-
FILE_NAME_LENGTH_OFFSET: 26,
|
|
11
|
-
EXTRA_FIELD_LENGTH_OFFSET: 28,
|
|
12
|
-
FILE_NAME_OFFSET: 30
|
|
13
|
-
};
|
|
14
|
-
var fileNameLength = buffer.getUint16(headerOffset + offsets.FILE_NAME_LENGTH_OFFSET, true);
|
|
15
|
-
var extraFieldLength = buffer.getUint16(headerOffset + offsets.EXTRA_FIELD_LENGTH_OFFSET, true);
|
|
16
|
-
var fileDataOffset = headerOffset + offsets.FILE_NAME_OFFSET + fileNameLength + extraFieldLength;
|
|
17
|
-
var compressedSize = buffer.getUint32(headerOffset + offsets.COMPRESSED_SIZE_OFFSET, true);
|
|
18
|
-
return {
|
|
19
|
-
fileNameLength: fileNameLength,
|
|
20
|
-
extraFieldLength: extraFieldLength,
|
|
21
|
-
fileDataOffset: fileDataOffset,
|
|
22
|
-
compressedSize: compressedSize
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
exports.parseZipLocalFileHeader = parseZipLocalFileHeader;
|
|
26
|
-
//# sourceMappingURL=local-file-header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-file-header.js","names":["parseZipLocalFileHeader","headerOffset","buffer","offsets","COMPRESSED_SIZE_OFFSET","FILE_NAME_LENGTH_OFFSET","EXTRA_FIELD_LENGTH_OFFSET","FILE_NAME_OFFSET","fileNameLength","getUint16","extraFieldLength","fileDataOffset","compressedSize","getUint32","exports"],"sources":["../../../../../src/lib/parsers/parse-zip/local-file-header.ts"],"sourcesContent":["/**\n * zip local file header info\n * according to https://en.wikipedia.org/wiki/ZIP_(file_format)\n */\nexport type ZipLocalFileHeader = {\n /**\n * File name length\n */\n fileNameLength: number;\n /**\n * Extra field length\n */\n extraFieldLength: number;\n /**\n * Offset of the file data\n */\n fileDataOffset: number;\n /**\n * Compressed size\n */\n compressedSize: number;\n};\n\n/**\n * Parses local file header of zip file\n * @param headerOffset - offset in the archive where header starts\n * @param buffer - buffer containing whole array\n * @returns Info from the header\n */\nexport const parseZipLocalFileHeader = (\n headerOffset: number,\n buffer: DataView\n): ZipLocalFileHeader => {\n const offsets = {\n COMPRESSED_SIZE_OFFSET: 18,\n FILE_NAME_LENGTH_OFFSET: 26,\n EXTRA_FIELD_LENGTH_OFFSET: 28,\n FILE_NAME_OFFSET: 30\n };\n\n const fileNameLength = buffer.getUint16(headerOffset + offsets.FILE_NAME_LENGTH_OFFSET, true);\n\n const extraFieldLength = buffer.getUint16(headerOffset + offsets.EXTRA_FIELD_LENGTH_OFFSET, true);\n\n const fileDataOffset =\n headerOffset + offsets.FILE_NAME_OFFSET + fileNameLength + extraFieldLength;\n\n const compressedSize = buffer.getUint32(headerOffset + offsets.COMPRESSED_SIZE_OFFSET, true);\n\n return {\n fileNameLength,\n extraFieldLength,\n fileDataOffset,\n compressedSize\n };\n};\n"],"mappings":";;;;;;AA6BO,IAAMA,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAClCC,YAAoB,EACpBC,MAAgB,EACO;EACvB,IAAMC,OAAO,GAAG;IACdC,sBAAsB,EAAE,EAAE;IAC1BC,uBAAuB,EAAE,EAAE;IAC3BC,yBAAyB,EAAE,EAAE;IAC7BC,gBAAgB,EAAE;EACpB,CAAC;EAED,IAAMC,cAAc,GAAGN,MAAM,CAACO,SAAS,CAACR,YAAY,GAAGE,OAAO,CAACE,uBAAuB,EAAE,IAAI,CAAC;EAE7F,IAAMK,gBAAgB,GAAGR,MAAM,CAACO,SAAS,CAACR,YAAY,GAAGE,OAAO,CAACG,yBAAyB,EAAE,IAAI,CAAC;EAEjG,IAAMK,cAAc,GAClBV,YAAY,GAAGE,OAAO,CAACI,gBAAgB,GAAGC,cAAc,GAAGE,gBAAgB;EAE7E,IAAME,cAAc,GAAGV,MAAM,CAACW,SAAS,CAACZ,YAAY,GAAGE,OAAO,CAACC,sBAAsB,EAAE,IAAI,CAAC;EAE5F,OAAO;IACLI,cAAc,EAAdA,cAAc;IACdE,gBAAgB,EAAhBA,gBAAgB;IAChBC,cAAc,EAAdA,cAAc;IACdC,cAAc,EAAdA;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAd,uBAAA,GAAAA,uBAAA"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export const parseZipCDFileHeader = (headerOffset, buffer) => {
|
|
2
|
-
const offsets = {
|
|
3
|
-
CD_COMPRESSED_SIZE_OFFSET: 20,
|
|
4
|
-
CD_UNCOMPRESSED_SIZE_OFFSET: 24,
|
|
5
|
-
CD_FILE_NAME_LENGTH_OFFSET: 28,
|
|
6
|
-
CD_EXTRA_FIELD_LENGTH_OFFSET: 30,
|
|
7
|
-
CD_LOCAL_HEADER_OFFSET_OFFSET: 42,
|
|
8
|
-
CD_FILE_NAME_OFFSET: 46
|
|
9
|
-
};
|
|
10
|
-
const compressedSize = buffer.getUint32(headerOffset + offsets.CD_COMPRESSED_SIZE_OFFSET, true);
|
|
11
|
-
const uncompressedSize = buffer.getUint32(headerOffset + offsets.CD_UNCOMPRESSED_SIZE_OFFSET, true);
|
|
12
|
-
const fileNameLength = buffer.getUint16(headerOffset + offsets.CD_FILE_NAME_LENGTH_OFFSET, true);
|
|
13
|
-
const fileName = buffer.buffer.slice(headerOffset + offsets.CD_FILE_NAME_OFFSET, headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength);
|
|
14
|
-
const extraOffset = headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength;
|
|
15
|
-
const oldFormatOffset = buffer.getUint32(headerOffset + offsets.CD_LOCAL_HEADER_OFFSET_OFFSET, true);
|
|
16
|
-
let fileDataOffset = oldFormatOffset;
|
|
17
|
-
if (fileDataOffset === 0xffffffff) {
|
|
18
|
-
let offsetInZip64Data = 4;
|
|
19
|
-
if (compressedSize === 0xffffffff) {
|
|
20
|
-
offsetInZip64Data += 8;
|
|
21
|
-
}
|
|
22
|
-
if (uncompressedSize === 0xffffffff) {
|
|
23
|
-
offsetInZip64Data += 8;
|
|
24
|
-
}
|
|
25
|
-
fileDataOffset = buffer.getUint32(extraOffset + offsetInZip64Data, true);
|
|
26
|
-
}
|
|
27
|
-
const localHeaderOffset = fileDataOffset;
|
|
28
|
-
return {
|
|
29
|
-
compressedSize,
|
|
30
|
-
uncompressedSize,
|
|
31
|
-
fileNameLength,
|
|
32
|
-
fileName,
|
|
33
|
-
extraOffset,
|
|
34
|
-
localHeaderOffset
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=cd-file-header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cd-file-header.js","names":["parseZipCDFileHeader","headerOffset","buffer","offsets","CD_COMPRESSED_SIZE_OFFSET","CD_UNCOMPRESSED_SIZE_OFFSET","CD_FILE_NAME_LENGTH_OFFSET","CD_EXTRA_FIELD_LENGTH_OFFSET","CD_LOCAL_HEADER_OFFSET_OFFSET","CD_FILE_NAME_OFFSET","compressedSize","getUint32","uncompressedSize","fileNameLength","getUint16","fileName","slice","extraOffset","oldFormatOffset","fileDataOffset","offsetInZip64Data","localHeaderOffset"],"sources":["../../../../../src/lib/parsers/parse-zip/cd-file-header.ts"],"sourcesContent":["/**\n * zip central directory file header info\n * according to https://en.wikipedia.org/wiki/ZIP_(file_format)\n */\nexport type ZipCDFileHeader = {\n /**\n * Compressed size\n */\n compressedSize: number;\n /**\n * Uncompressed size\n */\n uncompressedSize: number;\n /**\n * File name length\n */\n fileNameLength: number;\n /**\n * File name\n */\n fileName: ArrayBuffer;\n /**\n * Extra field offset\n */\n extraOffset: number;\n /**\n * Relative offset of local file header\n */\n localHeaderOffset: number;\n};\n\n/**\n * Parses central directory file header of zip file\n * @param headerOffset - offset in the archive where header starts\n * @param buffer - buffer containing whole array\n * @returns Info from the header\n */\nexport const parseZipCDFileHeader = (headerOffset: number, buffer: DataView): ZipCDFileHeader => {\n const offsets = {\n CD_COMPRESSED_SIZE_OFFSET: 20,\n CD_UNCOMPRESSED_SIZE_OFFSET: 24,\n CD_FILE_NAME_LENGTH_OFFSET: 28,\n CD_EXTRA_FIELD_LENGTH_OFFSET: 30,\n CD_LOCAL_HEADER_OFFSET_OFFSET: 42,\n CD_FILE_NAME_OFFSET: 46\n };\n\n const compressedSize = buffer.getUint32(headerOffset + offsets.CD_COMPRESSED_SIZE_OFFSET, true);\n\n const uncompressedSize = buffer.getUint32(\n headerOffset + offsets.CD_UNCOMPRESSED_SIZE_OFFSET,\n true\n );\n\n const fileNameLength = buffer.getUint16(headerOffset + offsets.CD_FILE_NAME_LENGTH_OFFSET, true);\n\n const fileName = buffer.buffer.slice(\n headerOffset + offsets.CD_FILE_NAME_OFFSET,\n headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength\n );\n\n const extraOffset = headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength;\n\n const oldFormatOffset = buffer.getUint32(\n headerOffset + offsets.CD_LOCAL_HEADER_OFFSET_OFFSET,\n true\n );\n\n let fileDataOffset = oldFormatOffset;\n if (fileDataOffset === 0xffffffff) {\n let offsetInZip64Data = 4;\n // looking for info that might be also be in zip64 extra field\n if (compressedSize === 0xffffffff) {\n offsetInZip64Data += 8;\n }\n if (uncompressedSize === 0xffffffff) {\n offsetInZip64Data += 8;\n }\n\n // getUint32 needs to be replaced with getBigUint64 for archieves bigger than 2gb\n fileDataOffset = buffer.getUint32(extraOffset + offsetInZip64Data, true); // setting it to the one from zip64\n }\n const localHeaderOffset = fileDataOffset;\n\n return {\n compressedSize,\n uncompressedSize,\n fileNameLength,\n fileName,\n extraOffset,\n localHeaderOffset\n };\n};\n"],"mappings":"AAqCA,OAAO,MAAMA,oBAAoB,GAAGA,CAACC,YAAoB,EAAEC,MAAgB,KAAsB;EAC/F,MAAMC,OAAO,GAAG;IACdC,yBAAyB,EAAE,EAAE;IAC7BC,2BAA2B,EAAE,EAAE;IAC/BC,0BAA0B,EAAE,EAAE;IAC9BC,4BAA4B,EAAE,EAAE;IAChCC,6BAA6B,EAAE,EAAE;IACjCC,mBAAmB,EAAE;EACvB,CAAC;EAED,MAAMC,cAAc,GAAGR,MAAM,CAACS,SAAS,CAACV,YAAY,GAAGE,OAAO,CAACC,yBAAyB,EAAE,IAAI,CAAC;EAE/F,MAAMQ,gBAAgB,GAAGV,MAAM,CAACS,SAAS,CACvCV,YAAY,GAAGE,OAAO,CAACE,2BAA2B,EAClD,IACF,CAAC;EAED,MAAMQ,cAAc,GAAGX,MAAM,CAACY,SAAS,CAACb,YAAY,GAAGE,OAAO,CAACG,0BAA0B,EAAE,IAAI,CAAC;EAEhG,MAAMS,QAAQ,GAAGb,MAAM,CAACA,MAAM,CAACc,KAAK,CAClCf,YAAY,GAAGE,OAAO,CAACM,mBAAmB,EAC1CR,YAAY,GAAGE,OAAO,CAACM,mBAAmB,GAAGI,cAC/C,CAAC;EAED,MAAMI,WAAW,GAAGhB,YAAY,GAAGE,OAAO,CAACM,mBAAmB,GAAGI,cAAc;EAE/E,MAAMK,eAAe,GAAGhB,MAAM,CAACS,SAAS,CACtCV,YAAY,GAAGE,OAAO,CAACK,6BAA6B,EACpD,IACF,CAAC;EAED,IAAIW,cAAc,GAAGD,eAAe;EACpC,IAAIC,cAAc,KAAK,UAAU,EAAE;IACjC,IAAIC,iBAAiB,GAAG,CAAC;IAEzB,IAAIV,cAAc,KAAK,UAAU,EAAE;MACjCU,iBAAiB,IAAI,CAAC;IACxB;IACA,IAAIR,gBAAgB,KAAK,UAAU,EAAE;MACnCQ,iBAAiB,IAAI,CAAC;IACxB;IAGAD,cAAc,GAAGjB,MAAM,CAACS,SAAS,CAACM,WAAW,GAAGG,iBAAiB,EAAE,IAAI,CAAC;EAC1E;EACA,MAAMC,iBAAiB,GAAGF,cAAc;EAExC,OAAO;IACLT,cAAc;IACdE,gBAAgB;IAChBC,cAAc;IACdE,QAAQ;IACRE,WAAW;IACXI;EACF,CAAC;AACH,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export const parseZipLocalFileHeader = (headerOffset, buffer) => {
|
|
2
|
-
const offsets = {
|
|
3
|
-
COMPRESSED_SIZE_OFFSET: 18,
|
|
4
|
-
FILE_NAME_LENGTH_OFFSET: 26,
|
|
5
|
-
EXTRA_FIELD_LENGTH_OFFSET: 28,
|
|
6
|
-
FILE_NAME_OFFSET: 30
|
|
7
|
-
};
|
|
8
|
-
const fileNameLength = buffer.getUint16(headerOffset + offsets.FILE_NAME_LENGTH_OFFSET, true);
|
|
9
|
-
const extraFieldLength = buffer.getUint16(headerOffset + offsets.EXTRA_FIELD_LENGTH_OFFSET, true);
|
|
10
|
-
const fileDataOffset = headerOffset + offsets.FILE_NAME_OFFSET + fileNameLength + extraFieldLength;
|
|
11
|
-
const compressedSize = buffer.getUint32(headerOffset + offsets.COMPRESSED_SIZE_OFFSET, true);
|
|
12
|
-
return {
|
|
13
|
-
fileNameLength,
|
|
14
|
-
extraFieldLength,
|
|
15
|
-
fileDataOffset,
|
|
16
|
-
compressedSize
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=local-file-header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-file-header.js","names":["parseZipLocalFileHeader","headerOffset","buffer","offsets","COMPRESSED_SIZE_OFFSET","FILE_NAME_LENGTH_OFFSET","EXTRA_FIELD_LENGTH_OFFSET","FILE_NAME_OFFSET","fileNameLength","getUint16","extraFieldLength","fileDataOffset","compressedSize","getUint32"],"sources":["../../../../../src/lib/parsers/parse-zip/local-file-header.ts"],"sourcesContent":["/**\n * zip local file header info\n * according to https://en.wikipedia.org/wiki/ZIP_(file_format)\n */\nexport type ZipLocalFileHeader = {\n /**\n * File name length\n */\n fileNameLength: number;\n /**\n * Extra field length\n */\n extraFieldLength: number;\n /**\n * Offset of the file data\n */\n fileDataOffset: number;\n /**\n * Compressed size\n */\n compressedSize: number;\n};\n\n/**\n * Parses local file header of zip file\n * @param headerOffset - offset in the archive where header starts\n * @param buffer - buffer containing whole array\n * @returns Info from the header\n */\nexport const parseZipLocalFileHeader = (\n headerOffset: number,\n buffer: DataView\n): ZipLocalFileHeader => {\n const offsets = {\n COMPRESSED_SIZE_OFFSET: 18,\n FILE_NAME_LENGTH_OFFSET: 26,\n EXTRA_FIELD_LENGTH_OFFSET: 28,\n FILE_NAME_OFFSET: 30\n };\n\n const fileNameLength = buffer.getUint16(headerOffset + offsets.FILE_NAME_LENGTH_OFFSET, true);\n\n const extraFieldLength = buffer.getUint16(headerOffset + offsets.EXTRA_FIELD_LENGTH_OFFSET, true);\n\n const fileDataOffset =\n headerOffset + offsets.FILE_NAME_OFFSET + fileNameLength + extraFieldLength;\n\n const compressedSize = buffer.getUint32(headerOffset + offsets.COMPRESSED_SIZE_OFFSET, true);\n\n return {\n fileNameLength,\n extraFieldLength,\n fileDataOffset,\n compressedSize\n };\n};\n"],"mappings":"AA6BA,OAAO,MAAMA,uBAAuB,GAAGA,CACrCC,YAAoB,EACpBC,MAAgB,KACO;EACvB,MAAMC,OAAO,GAAG;IACdC,sBAAsB,EAAE,EAAE;IAC1BC,uBAAuB,EAAE,EAAE;IAC3BC,yBAAyB,EAAE,EAAE;IAC7BC,gBAAgB,EAAE;EACpB,CAAC;EAED,MAAMC,cAAc,GAAGN,MAAM,CAACO,SAAS,CAACR,YAAY,GAAGE,OAAO,CAACE,uBAAuB,EAAE,IAAI,CAAC;EAE7F,MAAMK,gBAAgB,GAAGR,MAAM,CAACO,SAAS,CAACR,YAAY,GAAGE,OAAO,CAACG,yBAAyB,EAAE,IAAI,CAAC;EAEjG,MAAMK,cAAc,GAClBV,YAAY,GAAGE,OAAO,CAACI,gBAAgB,GAAGC,cAAc,GAAGE,gBAAgB;EAE7E,MAAME,cAAc,GAAGV,MAAM,CAACW,SAAS,CAACZ,YAAY,GAAGE,OAAO,CAACC,sBAAsB,EAAE,IAAI,CAAC;EAE5F,OAAO;IACLI,cAAc;IACdE,gBAAgB;IAChBC,cAAc;IACdC;EACF,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-attribute-loader.d.ts","sourceRoot":"","sources":["../src/i3s-attribute-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAE9E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AAUzE;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,EAAE,aAAa,CAUxF,CAAC;AAKF;;;;;;GAMG;AAEH,wBAAsB,qBAAqB,CAAC,IAAI,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAK,sBA+BxE;AAeD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,KAAA,OAO9C"}
|