@loaders.gl/i3s 4.0.0-alpha.4 → 4.0.0-alpha.5

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 (65) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/dist.min.js +10374 -0
  4. package/dist/i3s-attribute-loader.d.ts +14 -0
  5. package/dist/i3s-attribute-loader.d.ts.map +1 -0
  6. package/dist/i3s-attribute-loader.js +1 -1
  7. package/dist/i3s-building-scene-layer-loader.d.ts +6 -0
  8. package/dist/i3s-building-scene-layer-loader.d.ts.map +1 -0
  9. package/dist/i3s-building-scene-layer-loader.js +1 -1
  10. package/dist/i3s-content-loader.d.ts +6 -0
  11. package/dist/i3s-content-loader.d.ts.map +1 -0
  12. package/dist/i3s-content-loader.js +1 -1
  13. package/dist/i3s-content-worker.js +391 -270
  14. package/dist/i3s-loader.d.ts +6 -0
  15. package/dist/i3s-loader.d.ts.map +1 -0
  16. package/dist/i3s-loader.js +1 -1
  17. package/dist/i3s-node-page-loader.d.ts +6 -0
  18. package/dist/i3s-node-page-loader.d.ts.map +1 -0
  19. package/dist/i3s-node-page-loader.js +1 -1
  20. package/dist/index.d.ts +7 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +73 -0
  24. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -0
  25. package/dist/lib/helpers/i3s-nodepages-tiles.js +33 -23
  26. package/dist/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
  27. package/dist/lib/parsers/constants.d.ts +40 -0
  28. package/dist/lib/parsers/constants.d.ts.map +1 -0
  29. package/dist/lib/parsers/constants.js +54 -38
  30. package/dist/lib/parsers/constants.js.map +1 -1
  31. package/dist/lib/parsers/parse-i3s-attribute.d.ts +10 -0
  32. package/dist/lib/parsers/parse-i3s-attribute.d.ts.map +1 -0
  33. package/dist/lib/parsers/parse-i3s-building-scene-layer.d.ts +9 -0
  34. package/dist/lib/parsers/parse-i3s-building-scene-layer.d.ts.map +1 -0
  35. package/dist/lib/parsers/parse-i3s-building-scene-layer.js +2 -0
  36. package/dist/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -1
  37. package/dist/lib/parsers/parse-i3s-tile-content.d.ts +4 -0
  38. package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -0
  39. package/dist/lib/parsers/parse-i3s-tile-content.js +76 -79
  40. package/dist/lib/parsers/parse-i3s-tile-content.js.map +1 -1
  41. package/dist/lib/parsers/parse-i3s.d.ts +6 -0
  42. package/dist/lib/parsers/parse-i3s.d.ts.map +1 -0
  43. package/dist/lib/parsers/parse-i3s.js +40 -25
  44. package/dist/lib/parsers/parse-i3s.js.map +1 -1
  45. package/dist/lib/utils/convert-i3s-obb-to-mbs.d.ts +2 -0
  46. package/dist/lib/utils/convert-i3s-obb-to-mbs.d.ts.map +1 -0
  47. package/dist/lib/utils/url-utils.d.ts +22 -0
  48. package/dist/lib/utils/url-utils.d.ts.map +1 -0
  49. package/dist/lib/utils/url-utils.js +2 -3
  50. package/dist/lib/utils/url-utils.js.map +1 -1
  51. package/dist/types.d.ts +643 -0
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/types.js +20 -1
  54. package/dist/types.js.map +1 -1
  55. package/dist/workers/i3s-content-worker.d.ts +2 -0
  56. package/dist/workers/i3s-content-worker.d.ts.map +1 -0
  57. package/package.json +12 -12
  58. package/src/index.ts +3 -3
  59. package/src/lib/helpers/i3s-nodepages-tiles.ts +71 -55
  60. package/src/lib/parsers/constants.ts +67 -54
  61. package/src/lib/parsers/parse-i3s-building-scene-layer.ts +2 -1
  62. package/src/lib/parsers/parse-i3s-tile-content.ts +150 -146
  63. package/src/lib/parsers/parse-i3s.ts +48 -37
  64. package/src/lib/utils/url-utils.ts +7 -7
  65. package/src/types.ts +412 -73
@@ -0,0 +1,643 @@
1
+ import type { GLTFMaterial } from '@loaders.gl/gltf';
2
+ import type { Matrix4, Quaternion, Vector3 } from '@math.gl/core';
3
+ import type { TypedArray, MeshAttribute, TextureLevel } from '@loaders.gl/schema';
4
+ export declare enum DATA_TYPE {
5
+ UInt8 = "UInt8",
6
+ UInt16 = "UInt16",
7
+ UInt32 = "UInt32",
8
+ UInt64 = "UInt64",
9
+ Int16 = "Int16",
10
+ Int32 = "Int32",
11
+ Int64 = "Int64",
12
+ Float32 = "Float32",
13
+ Float64 = "Float64"
14
+ }
15
+ /**
16
+ * spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/3DSceneLayer.cmn.md
17
+ */
18
+ export interface I3STilesetHeader extends SceneLayer3D {
19
+ /** Not in spec, but is necessary for woking */
20
+ url?: string;
21
+ [key: string]: any;
22
+ }
23
+ /** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePage.cmn.md */
24
+ export declare type NodePage = {
25
+ /** Array of nodes. */
26
+ nodes: NodeInPage[];
27
+ };
28
+ /**
29
+ * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/mesh.cmn.md
30
+ */
31
+ declare type NodeMesh = {
32
+ /**
33
+ * The material definition.
34
+ */
35
+ material: MeshMaterial;
36
+ /** The geometry definition. */
37
+ geometry: MeshGeometry;
38
+ /** The attribute set definition. */
39
+ attribute: meshAttribute;
40
+ };
41
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshMaterial.cmn.md */
42
+ export declare type MeshMaterial = {
43
+ /** The index in layer.materialDefinitions array. */
44
+ definition: number;
45
+ /** Resource id for the material textures. i.e: layers/0/nodes/{material.resource}/textures/{tex_name}. Is required if material declares any textures. */
46
+ resource?: number;
47
+ /** Estimated number of texel for the highest resolution base color texture. */
48
+ texelCountHint?: number;
49
+ };
50
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshGeometry.cmn.md */
51
+ export declare type MeshGeometry = {
52
+ /** The index in layer.geometryDefinitions array */
53
+ definition: number;
54
+ /** The resource locator to be used to query geometry resources: layers/0/nodes/{this.resource}/geometries/{layer.geometryDefinitions[this.definition].geometryBuffers[0 or 1]}. */
55
+ resource: number;
56
+ /** Number of vertices in the geometry buffer of this mesh for the umcompressed mesh buffer. Please note that Draco compressed meshes may have less vertices due to de-duplication (actual number of vertices is part of the Draco binary blob). Default=0 */
57
+ vertexCount?: number;
58
+ /** Number of features for this mesh. Default=0. (Must omit or set to 0 if mesh doesn't use features.) */
59
+ featureCount?: number;
60
+ };
61
+ /** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshAttribute.cmn.md */
62
+ declare type meshAttribute = {
63
+ /** The resource identifier to be used to locate attribute resources of this mesh. i.e. layers/0/nodes/<resource id>/attributes/... */
64
+ resource: number;
65
+ };
66
+ export declare type I3STextureFormat = 'jpg' | 'png' | 'ktx-etc2' | 'dds' | 'ktx2';
67
+ export declare type I3STileHeader = {
68
+ isDracoGeometry: boolean;
69
+ textureUrl?: string;
70
+ url?: string;
71
+ textureFormat?: I3STextureFormat;
72
+ textureLoaderOptions?: any;
73
+ materialDefinition?: I3SMaterialDefinition;
74
+ mbs: Mbs;
75
+ obb?: Obb;
76
+ lodSelection?: LodSelection[];
77
+ [key: string]: any;
78
+ };
79
+ export declare type I3STileContent = {
80
+ attributes: I3SMeshAttributes;
81
+ indices: TypedArray | null;
82
+ featureIds: number[] | TypedArray;
83
+ vertexCount: number;
84
+ modelMatrix: Matrix4;
85
+ coordinateSystem: number;
86
+ byteLength: number;
87
+ texture: TileContentTexture;
88
+ [key: string]: any;
89
+ };
90
+ export declare type TileContentTexture = ArrayBuffer | {
91
+ compressed: boolean;
92
+ mipmaps: boolean;
93
+ width: number;
94
+ height: number;
95
+ data: TextureLevel[];
96
+ } | null;
97
+ export declare type BoundingVolumes = {
98
+ mbs: Mbs;
99
+ obb: Obb;
100
+ };
101
+ export declare type Obb = {
102
+ center: number[] | Vector3;
103
+ halfSize: number[] | Vector3;
104
+ quaternion: Quaternion;
105
+ };
106
+ export declare type Mbs = [number, number, number, number];
107
+ /** SceneLayer3D based on I3S specification - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/3DSceneLayer.cmn.md */
108
+ export declare type SceneLayer3D = {
109
+ /** Unique numeric ID of the layer. */
110
+ id: number;
111
+ /** The relative URL to the 3DSceneLayerResource. Only present as part of the SceneServiceInfo resource. */
112
+ href?: string;
113
+ /** The user-visible layer type */
114
+ layerType: '3DObject' | 'IntegratedMesh';
115
+ /** The spatialReference of the layer including the vertical coordinate reference system (CRS). Well Known Text (WKT) for CRS is included to support custom CRS. */
116
+ spatialReference?: SpatialReference;
117
+ /** Enables consuming clients to quickly determine whether this layer is compatible (with respect to its horizontal and vertical coordinate system) with existing content. */
118
+ heightModelInfo?: HeightModelInfo;
119
+ /** The ID of the last update session in which any resource belonging to this layer has been updated. */
120
+ version: string;
121
+ /** The name of this layer. */
122
+ name?: string;
123
+ /** The time of the last update. */
124
+ serviceUpdateTimeStamp?: {
125
+ lastUpdate: number;
126
+ };
127
+ /** The display alias to be used for this layer. */
128
+ alias?: string;
129
+ /** Description string for this layer. */
130
+ description?: string;
131
+ /** Copyright and usage information for the data in this layer. */
132
+ copyrightText?: string;
133
+ /** Capabilities supported by this layer. */
134
+ capabilities: string[];
135
+ /** ZFactor to define conversion factor for elevation unit. */
136
+ ZFactor?: number;
137
+ /** Indicates if any styling information represented as drawingInfo is captured as part of the binary mesh representation. */
138
+ cachedDrawingInfo?: CachedDrawingInfo;
139
+ /** An object containing drawing information. */
140
+ drawingInfo?: DrawingInfo;
141
+ /** An object containing elevation drawing information. If absent, any content of the scene layer is drawn at its z coordinate. */
142
+ elevationInfo?: ElevationInfo;
143
+ /** PopupInfo of the scene layer. */
144
+ popupInfo?: PopupInfo;
145
+ /** Indicates if client application will show the popup information. Default is FALSE. */
146
+ disablePopup: boolean;
147
+ /**
148
+ * The store object describes the exact physical storage of a layer and
149
+ * enables the client to detect when multiple layers are served from
150
+ * the same store.
151
+ */
152
+ store: Store;
153
+ /** A collection of objects that describe each attribute field regarding its field name, datatype, and a user friendly name {name,type,alias}. */
154
+ fields?: Field[];
155
+ /** Provides the schema and layout used for storing attribute content in binary format in I3S. */
156
+ attributeStorageInfo?: AttributeStorageInfo[];
157
+ /** Contains the statistical information for a layer. */
158
+ statisticsInfo?: StatisticsInfo[];
159
+ /** The paged-access index description. */
160
+ nodePages?: NodePageDefinition;
161
+ /** List of materials classes used in this layer. */
162
+ materialDefinitions?: I3SMaterialDefinition[];
163
+ /** Defines the set of textures that can be referenced by meshes. */
164
+ textureSetDefinitions?: TextureSetDefinition[];
165
+ /** Define the layouts of mesh geometry and its attributes */
166
+ geometryDefinitions?: GeometryDefinition[];
167
+ /** 3D extent. */
168
+ fullExtent?: FullExtent;
169
+ };
170
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/cachedDrawingInfo.cmn.md */
171
+ export declare type CachedDrawingInfo = {
172
+ /** If true, the drawingInfo is captured as part of the binary scene layer representation. */
173
+ color: boolean;
174
+ };
175
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/drawingInfo.cmn.md */
176
+ export declare type DrawingInfo = {
177
+ /** An object defining the symbology for the layer. See more information about supported renderer types in ArcGIS clients. */
178
+ renderer: any;
179
+ /** Scale symbols for the layer. */
180
+ scaleSymbols: boolean;
181
+ };
182
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/elevationInfo.cmn.md */
183
+ export declare type ElevationInfo = {
184
+ mode: 'relativeToGround' | 'absoluteHeight' | 'onTheGround' | 'relativeToScene';
185
+ /** Offset is always added to the result of the above logic except for onTheGround where offset is ignored. */
186
+ offset: number;
187
+ /** A string value indicating the unit for the values in elevationInfo */
188
+ unit: string;
189
+ };
190
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/statisticsInfo.cmn.md */
191
+ export declare type StatisticsInfo = {
192
+ /** Key indicating the resource of the statistics. */
193
+ key: string;
194
+ /** Name of the field of the statistical information. */
195
+ name: string;
196
+ /** The URL to the statistics information. */
197
+ href: string;
198
+ };
199
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePageDefinition.cmn.md */
200
+ export declare type NodePageDefinition = {
201
+ /** Number of nodes per page for this layer. Must be a power-of-two less than 4096 */
202
+ nodesPerPage: number;
203
+ /** Index of the root node. Default = 0. */
204
+ rootIndex?: number;
205
+ /** Defines the meaning of nodes[].lodThreshold for this layer. */
206
+ lodSelectionMetricType: 'maxScreenThresholdSQ';
207
+ };
208
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitions.cmn.md */
209
+ export declare type I3SMaterialDefinition = {
210
+ /** A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology. When not specified, all the default values of pbrMetallicRoughness apply. */
211
+ pbrMetallicRoughness: I3SPbrMetallicRoughness;
212
+ /** The normal texture map. */
213
+ normalTexture: I3SMaterialTexture;
214
+ /** The occlusion texture map. */
215
+ occlusionTexture: I3SMaterialTexture;
216
+ /** The emissive texture map. */
217
+ emissiveTexture: I3SMaterialTexture;
218
+ /** The emissive color of the material. */
219
+ emissiveFactor: [number, number, number];
220
+ /** Defines the meaning of the alpha-channel/alpha-mask. */
221
+ alphaMode: 'opaque' | 'mask' | 'blend';
222
+ /** The alpha cutoff value of the material. */
223
+ alphaCutoff: number;
224
+ /** Specifies whether the material is double sided. */
225
+ doubleSided: boolean;
226
+ /** Winding order is counterclockwise. */
227
+ cullFace: 'none' | 'front' | 'back';
228
+ };
229
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/pbrMetallicRoughness.cmn.md */
230
+ export declare type I3SPbrMetallicRoughness = {
231
+ /** The material's base color factor. default=[1,1,1,1] */
232
+ baseColorFactor: [number, number, number, number];
233
+ /** The base color texture. */
234
+ baseColorTexture: I3SMaterialTexture;
235
+ /** the metalness of the material. default=1.0 */
236
+ metallicFactor: number;
237
+ /** the roughness of the material. default=1.0 */
238
+ roughnessFactor: number;
239
+ /** the metallic-roughness texture. */
240
+ metallicRoughnessTexture: I3SMaterialTexture;
241
+ };
242
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialTexture.cmn.md */
243
+ export declare type I3SMaterialTexture = {
244
+ /** The index in layer.textureSetDefinitions. */
245
+ textureSetDefinitionId: number;
246
+ /** The set index of texture's TEXCOORD attribute used for texture coordinate mapping. Default is 0. Deprecated. */
247
+ texCoord?: number;
248
+ /** The normal texture: scalar multiplier applied to each normal vector of the normal texture. For occlusion texture,scalar multiplier controlling the amount of occlusion applied. Default=1 */
249
+ factor?: number;
250
+ };
251
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/attributeStorageInfo.cmn.md */
252
+ export declare type AttributeStorageInfo = {
253
+ key: string;
254
+ name: string;
255
+ header: {
256
+ property: string;
257
+ valueType: string;
258
+ }[];
259
+ ordering?: string[];
260
+ attributeValues?: AttributeValue;
261
+ attributeByteCounts?: AttributeValue;
262
+ objectIds?: AttributeValue;
263
+ };
264
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/field.cmn.md */
265
+ export declare type Field = {
266
+ name: string;
267
+ type: ESRIField;
268
+ alias?: string;
269
+ domain?: Domain;
270
+ };
271
+ export declare type ESRIField = 'esriFieldTypeDate' | 'esriFieldTypeSingle' | 'esriFieldTypeDouble' | 'esriFieldTypeGUID' | 'esriFieldTypeGlobalID' | 'esriFieldTypeInteger' | 'esriFieldTypeOID' | 'esriFieldTypeSmallInteger' | 'esriFieldTypeString';
272
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/popupInfo.cmn.md */
273
+ export declare type PopupInfo = {
274
+ title?: string;
275
+ description?: string;
276
+ expressionInfos?: any[];
277
+ fieldInfos?: FieldInfo[];
278
+ mediaInfos?: any[];
279
+ popupElements?: {
280
+ text?: string;
281
+ type?: string;
282
+ fieldInfos?: FieldInfo[];
283
+ }[];
284
+ };
285
+ /**
286
+ * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md
287
+ */
288
+ export declare type Node3DIndexDocument = {
289
+ id: string;
290
+ version?: string;
291
+ path?: string;
292
+ level?: number;
293
+ mbs?: Mbs;
294
+ obb?: Obb;
295
+ lodSelection?: LodSelection[];
296
+ children?: NodeReference[];
297
+ neighbors?: NodeReference[];
298
+ parentNode?: NodeReference;
299
+ sharedResource?: Resource;
300
+ featureData?: Resource[];
301
+ geometryData?: Resource[];
302
+ textureData?: Resource[];
303
+ attributeData?: Resource[];
304
+ created?: string;
305
+ expires?: string;
306
+ };
307
+ /**
308
+ * Minimal I3S node data is needed for loading
309
+ */
310
+ export declare type I3SMinimalNodeData = {
311
+ id: string;
312
+ url?: string;
313
+ transform?: number[];
314
+ lodSelection?: LodSelection[];
315
+ obb?: Obb;
316
+ mbs?: Mbs;
317
+ contentUrl?: string;
318
+ textureUrl?: string;
319
+ attributeUrls?: string[];
320
+ materialDefinition?: I3SMaterialDefinition;
321
+ textureFormat?: I3STextureFormat;
322
+ textureLoaderOptions?: {
323
+ [key: string]: any;
324
+ };
325
+ children?: NodeReference[];
326
+ isDracoGeometry: boolean;
327
+ };
328
+ export declare type LodSelection = {
329
+ metricType?: string;
330
+ maxError: number;
331
+ };
332
+ export declare type NodeReference = {
333
+ id: string;
334
+ version?: string;
335
+ mbs?: Mbs;
336
+ obb?: Obb;
337
+ href?: string;
338
+ };
339
+ export declare type Resource = {
340
+ href: string;
341
+ layerContent?: string[];
342
+ featureRange?: number[];
343
+ multiTextureBundle?: string;
344
+ vertexElements?: number[];
345
+ faceElements?: number[];
346
+ nodePath?: string;
347
+ };
348
+ export declare type MaxScreenThresholdSQ = {
349
+ maxError: number;
350
+ };
351
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/node.cmn.md */
352
+ export declare type NodeInPage = {
353
+ /**
354
+ * The index in the node array. May be different than material, geometry and attribute resource id. See mesh for more information.
355
+ */
356
+ index: number;
357
+ /**
358
+ * The index of the parent node in the node array.
359
+ */
360
+ parentIndex?: number;
361
+ /**
362
+ * When to switch LoD. See https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePageDefinition.cmn.md for more information.
363
+ */
364
+ lodThreshold?: number;
365
+ /**
366
+ * Oriented bounding box for this node.
367
+ */
368
+ obb: Obb;
369
+ /**
370
+ * index of the children nodes indices.
371
+ */
372
+ children?: number[];
373
+ /**
374
+ * The mesh for this node. WARNING: only SINGLE mesh is supported at version 1.7 (i.e. length must be 0 or 1).
375
+ */
376
+ mesh?: NodeMesh;
377
+ };
378
+ export declare type SharedResources = {
379
+ materialDefinitions?: GLTFMaterial[];
380
+ textureDefinitions?: TextureDefinitionInfo[];
381
+ nodePath: string;
382
+ };
383
+ declare type TextureImage = {
384
+ id: string;
385
+ size?: number;
386
+ pixelInWorldUnits?: number;
387
+ href?: string[];
388
+ byteOffset?: string[];
389
+ length?: number[];
390
+ mimeType?: string;
391
+ bufferView?: {
392
+ data: ArrayBuffer;
393
+ };
394
+ image?: {
395
+ height: number;
396
+ width: number;
397
+ };
398
+ };
399
+ export declare type Attribute = 'OBJECTID' | 'string' | 'double' | 'Int32' | string;
400
+ export declare type Extent = [number, number, number, number];
401
+ export declare type FeatureAttribute = {
402
+ id: AttributeValue;
403
+ faceRange: AttributeValue;
404
+ };
405
+ export declare type BuildingSceneLayerTileset = {
406
+ header: BuildingSceneLayer;
407
+ sublayers: BuildingSceneSublayer[];
408
+ };
409
+ export declare type BuildingSceneLayer = {
410
+ id: number;
411
+ name: string;
412
+ version: string;
413
+ alias?: string;
414
+ layerType: 'Building';
415
+ description?: string;
416
+ copyrightText?: string;
417
+ fullExtent: FullExtent;
418
+ spatialReference: SpatialReference;
419
+ heightModelInfo?: HeightModelInfo;
420
+ sublayers: BuildingSceneSublayer[];
421
+ filters?: Filter[];
422
+ activeFilterID?: string;
423
+ statisticsHRef?: string;
424
+ };
425
+ export declare type BuildingSceneSublayer = {
426
+ id: number;
427
+ name: string;
428
+ alias?: string;
429
+ discipline?: 'Mechanical' | 'Architectural' | 'Piping' | 'Electrical' | 'Structural';
430
+ modelName?: string;
431
+ layerType: 'group' | '3DObject' | 'Point';
432
+ visibility?: boolean;
433
+ sublayers?: BuildingSceneSublayer[];
434
+ isEmpty?: boolean;
435
+ url?: string;
436
+ };
437
+ declare type Filter = {
438
+ id: string;
439
+ name: string;
440
+ description: string;
441
+ isDefaultFilter?: boolean;
442
+ isVisible?: boolean;
443
+ filterBlocks: FilterBlock[];
444
+ filterAuthoringInfo?: FilterAuthoringInfo;
445
+ };
446
+ declare type FilterAuthoringInfo = {
447
+ type: string;
448
+ filterBlocks: FilterBlockAuthoringInfo[];
449
+ };
450
+ declare type FilterBlockAuthoringInfo = {
451
+ filterTypes: FilterType[];
452
+ };
453
+ declare type FilterType = {
454
+ filterType: string;
455
+ filterValues: string[];
456
+ };
457
+ declare type FilterBlock = {
458
+ title: string;
459
+ filterMode: FilterModeSolid | FilterModeWireFrame;
460
+ filterExpression: string;
461
+ };
462
+ declare type Edges = {
463
+ type: string;
464
+ color: number[];
465
+ size: number;
466
+ transparency: number;
467
+ extensionLength: number;
468
+ };
469
+ declare type FilterModeSolid = {
470
+ type: 'solid';
471
+ };
472
+ declare type FilterModeWireFrame = {
473
+ type: 'wireFrame';
474
+ edges: Edges;
475
+ };
476
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/spatialReference.cmn.md */
477
+ export declare type SpatialReference = {
478
+ /** The current WKID value of the vertical coordinate system. */
479
+ latestVcsWkid: number;
480
+ /** dentifies the current WKID value associated with the same spatial reference. */
481
+ latestWkid: number;
482
+ /** The WKID value of the vertical coordinate system. */
483
+ vcsWkid: number;
484
+ /** WKID, or Well-Known ID, of the CRS. Specify either WKID or WKT of the CRS. */
485
+ wkid: number;
486
+ /** WKT, or Well-Known Text, of the CRS. Specify either WKT or WKID of the CRS but not both. */
487
+ wkt?: string;
488
+ };
489
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/fullExtent.cmn.md */
490
+ declare type FullExtent = {
491
+ /** left */
492
+ xmin: number;
493
+ /** right */
494
+ xmax: number;
495
+ /** bottom */
496
+ ymin: number;
497
+ /** top */
498
+ ymax: number;
499
+ /** lowest elevation */
500
+ zmin: number;
501
+ /** highest elevation */
502
+ zmax: number;
503
+ spatialReference?: SpatialReference;
504
+ };
505
+ declare type TextureDefinitionInfo = {
506
+ encoding: string[];
507
+ wrap?: string[];
508
+ atlas?: boolean;
509
+ uvSet?: string;
510
+ channels?: 'rbg' | 'rgba' | string;
511
+ images: TextureImage[];
512
+ };
513
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/domain.cmn.md */
514
+ declare type Domain = {
515
+ type: string;
516
+ name: string;
517
+ description?: string;
518
+ fieldType?: string;
519
+ range?: [number, number];
520
+ codedValues?: {
521
+ name: string;
522
+ code: string | number;
523
+ }[];
524
+ mergePolicy?: string;
525
+ splitPolicy?: string;
526
+ };
527
+ /**
528
+ * spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/store.cmn.md
529
+ */
530
+ declare type Store = {
531
+ id: string | number;
532
+ profile: string;
533
+ version: number | string;
534
+ resourcePattern: string[];
535
+ rootNode: string;
536
+ extent: number[];
537
+ indexCRS: string;
538
+ vertexCRS: string;
539
+ normalReferenceFrame: string;
540
+ attributeEncoding: string;
541
+ textureEncoding: string[];
542
+ lodType: string;
543
+ lodModel: string;
544
+ defaultGeometrySchema: DefaultGeometrySchema;
545
+ };
546
+ /**
547
+ * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md
548
+ */
549
+ declare type DefaultGeometrySchema = {
550
+ geometryType?: 'triangles';
551
+ topology: 'PerAttributeArray' | 'Indexed';
552
+ header: HeaderAttribute[];
553
+ ordering: string[];
554
+ vertexAttributes: VertexAttribute;
555
+ faces?: VertexAttribute;
556
+ featureAttributeOrder: string[];
557
+ featureAttributes: FeatureAttribute;
558
+ attributesOrder?: string[];
559
+ };
560
+ /**
561
+ * spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/headerAttribute.cmn.md
562
+ */
563
+ export declare type HeaderAttribute = {
564
+ property: HeaderAttributeProperty.vertexCount | HeaderAttributeProperty.featureCount | string;
565
+ type: DATA_TYPE.UInt8 | DATA_TYPE.UInt16 | DATA_TYPE.UInt32 | DATA_TYPE.UInt64 | DATA_TYPE.Int16 | DATA_TYPE.Int32 | DATA_TYPE.Int64 | DATA_TYPE.Float32 | DATA_TYPE.Float64;
566
+ };
567
+ export declare enum HeaderAttributeProperty {
568
+ vertexCount = "vertexCount",
569
+ featureCount = "featureCount"
570
+ }
571
+ export declare type VertexAttribute = {
572
+ position: GeometryAttribute;
573
+ normal: GeometryAttribute;
574
+ uv0: GeometryAttribute;
575
+ color: GeometryAttribute;
576
+ region?: GeometryAttribute;
577
+ };
578
+ export declare type GeometryAttribute = {
579
+ byteOffset?: number;
580
+ valueType: DATA_TYPE.UInt8 | DATA_TYPE.UInt16 | DATA_TYPE.Int16 | DATA_TYPE.Int32 | DATA_TYPE.Int64 | DATA_TYPE.Float32 | DATA_TYPE.Float64;
581
+ valuesPerElement: number;
582
+ };
583
+ export declare type I3SMeshAttributes = {
584
+ [key: string]: I3SMeshAttribute;
585
+ };
586
+ export interface I3SMeshAttribute extends MeshAttribute {
587
+ type?: number;
588
+ metadata?: any;
589
+ }
590
+ /** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/heightModelInfo.cmn.md */
591
+ declare type HeightModelInfo = {
592
+ heightModel: 'gravity_related_height' | 'ellipsoidal';
593
+ vertCRS: string;
594
+ heightUnit: 'meter' | 'us-foot' | 'foot' | 'clarke-foot' | 'clarke-yard' | 'clarke-link' | 'sears-yard' | 'sears-foot' | 'sears-chain' | 'benoit-1895-b-chain' | 'indian-yard' | 'indian-1937-yard' | 'gold-coast-foot' | 'sears-1922-truncated-chain' | 'us-inch' | 'us-mile' | 'us-yard' | 'millimeter' | 'decimeter' | 'centimeter' | 'kilometer';
595
+ };
596
+ export declare type TextureSetDefinitionFormats = {
597
+ name: string;
598
+ format: I3STextureFormat;
599
+ }[];
600
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinition.cmn.md */
601
+ declare type TextureSetDefinition = {
602
+ formats: TextureSetDefinitionFormats;
603
+ atlas?: boolean;
604
+ };
605
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryDefinition.cmn.md */
606
+ declare type GeometryDefinition = {
607
+ topology: 'triangle' | string;
608
+ geometryBuffers: GeometryBuffer[];
609
+ };
610
+ /** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryBuffer.cmn.md */
611
+ declare type GeometryBuffer = {
612
+ offset?: number;
613
+ position?: GeometryBufferItem;
614
+ normal?: GeometryBufferItem;
615
+ uv0?: GeometryBufferItem;
616
+ color?: GeometryBufferItem;
617
+ uvRegion?: GeometryBufferItem;
618
+ featureId?: GeometryBufferItem;
619
+ faceRange?: GeometryBufferItem;
620
+ compressedAttributes?: {
621
+ encoding: string;
622
+ attributes: string[];
623
+ };
624
+ };
625
+ declare type GeometryBufferItem = {
626
+ type: string;
627
+ component: number;
628
+ encoding?: string;
629
+ binding: string;
630
+ };
631
+ declare type AttributeValue = {
632
+ valueType: string;
633
+ encoding?: string;
634
+ valuesPerElement?: number;
635
+ };
636
+ export declare type FieldInfo = {
637
+ fieldName: string;
638
+ visible: boolean;
639
+ isEditable: boolean;
640
+ label: string;
641
+ };
642
+ export {};
643
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}