@loaders.gl/tile-converter 5.0.0-alpha.7 → 5.0.0-alpha.8
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/README.md +155 -0
- package/dist/converter.min.cjs +194 -175
- package/dist/i3s-server/bin/i3s-server.min.cjs +84 -84
- package/dist/index.cjs +35865 -0
- package/dist/index.js +35837 -0
- package/dist/v5/browser-sink.d.ts +37 -0
- package/dist/v5/browser-source.d.ts +38 -0
- package/dist/v5/browser-tileset-source.d.ts +70 -0
- package/dist/v5/browser.cjs +1962 -0
- package/dist/v5/browser.d.ts +18 -0
- package/dist/v5/browser.js +1927 -0
- package/dist/v5/conversion-api.d.ts +122 -0
- package/dist/v5/feature-arrow.d.ts +36 -0
- package/dist/v5/index.cjs +3975 -0
- package/dist/v5/index.d.ts +18 -0
- package/dist/v5/index.js +3928 -0
- package/dist/v5/point-cloud-conversion.d.ts +31 -0
- package/dist/v5/point-cloud-source-encoder.d.ts +49 -0
- package/dist/v5/point-cloud-source.d.ts +25 -0
- package/dist/v5/point-cloud.d.ts +24 -0
- package/dist/v5/resource-manifest.d.ts +58 -0
- package/dist/v5/spatial-conversion.d.ts +59 -0
- package/dist/v5/tileset-source.d.ts +21 -0
- package/package.json +41 -26
- package/src/common/README.md +5 -0
- package/src/index.ts +1 -2
- package/src/{3d-tiles-converter → v4/3d-tiles-converter}/3d-tiles-converter.ts +13 -2
- package/src/v4/3d-tiles-converter/helpers/validate-i3s-spatial-reference.ts +124 -0
- package/src/{deps-installer → v4/deps-installer}/deps-installer.ts +10 -7
- package/src/v4/i3s-converter/helpers/encode-string-attribute.ts +23 -0
- package/src/{i3s-converter → v4/i3s-converter}/helpers/geometry-converter.ts +15 -42
- package/src/{i3s-converter → v4/i3s-converter}/helpers/gltf-attributes.ts +5 -4
- package/src/{i3s-converter → v4/i3s-converter}/helpers/load-3d-tiles.ts +5 -9
- package/src/{i3s-converter → v4/i3s-converter}/i3s-converter.ts +6 -7
- package/src/{i3s-server → v4/i3s-server}/README.md +2 -2
- package/src/{i3s-server → v4/i3s-server}/routes/slpk-router.ts +1 -0
- package/src/v4/index.ts +2 -0
- package/src/v5/browser-sink.ts +129 -0
- package/src/v5/browser-source.ts +155 -0
- package/src/v5/browser-tileset-source.ts +328 -0
- package/src/v5/browser.ts +54 -0
- package/src/v5/conversion-api.ts +287 -0
- package/src/v5/feature-arrow.ts +427 -0
- package/src/v5/index.ts +47 -0
- package/src/v5/point-cloud-conversion.ts +80 -0
- package/src/v5/point-cloud-source-encoder.ts +102 -0
- package/src/v5/point-cloud-source.ts +84 -0
- package/src/v5/point-cloud.ts +271 -0
- package/src/v5/resource-manifest.ts +213 -0
- package/src/v5/spatial-conversion.ts +305 -0
- package/src/v5/tileset-source.ts +54 -0
- /package/src/{3d-tiles-converter → v4/3d-tiles-converter}/helpers/3d-tiles-content-converter.ts +0 -0
- /package/src/{3d-tiles-converter → v4/3d-tiles-converter}/helpers/i3s-obb-to-3d-tiles-obb.ts +0 -0
- /package/src/{3d-tiles-converter → v4/3d-tiles-converter}/helpers/load-i3s.ts +0 -0
- /package/src/{3d-tiles-converter → v4/3d-tiles-converter}/helpers/texture-atlas.ts +0 -0
- /package/src/{3d-tiles-converter → v4/3d-tiles-converter}/json-templates/tileset.ts +0 -0
- /package/src/{constants.ts → v4/constants.ts} +0 -0
- /package/src/{converter-cli.ts → v4/converter-cli.ts} +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/attribute-metadata-info.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/batch-ids-extensions.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/coordinate-converter.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/create-scene-server-path.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/feature-attributes.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/geometry-attributes.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/node-debug.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/node-index-document.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/node-pages.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/preprocess-3d-tiles.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/progress.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/helpers/tileset-traversal.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/json-templates/geometry-definitions.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/json-templates/layers.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/json-templates/metadata.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/json-templates/node.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/json-templates/scene-server.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/json-templates/shared-resources.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/json-templates/store.ts +0 -0
- /package/src/{i3s-converter → v4/i3s-converter}/types.ts +0 -0
- /package/src/{i3s-server → v4/i3s-server}/app.ts +0 -0
- /package/src/{i3s-server → v4/i3s-server}/bin/www.ts +0 -0
- /package/src/{i3s-server → v4/i3s-server}/certs/cert.pem +0 -0
- /package/src/{i3s-server → v4/i3s-server}/certs/key.pem +0 -0
- /package/src/{i3s-server → v4/i3s-server}/controllers/slpk-controller.ts +0 -0
- /package/src/{i3s-server → v4/i3s-server}/utils/create-scene-server.ts +0 -0
- /package/src/{i3s-server → v4/i3s-server}/utils/server-utils.ts +0 -0
- /package/src/{lib → v4/lib}/json-schemas/conversion-dump-json-schema.ts +0 -0
- /package/src/{lib → v4/lib}/utils/cli-utils.ts +0 -0
- /package/src/{lib → v4/lib}/utils/compress-util.ts +0 -0
- /package/src/{lib → v4/lib}/utils/conversion-dump.ts +0 -0
- /package/src/{lib → v4/lib}/utils/file-utils.ts +0 -0
- /package/src/{lib → v4/lib}/utils/geometry-utils.ts +0 -0
- /package/src/{lib → v4/lib}/utils/lod-conversion-utils.ts +0 -0
- /package/src/{lib → v4/lib}/utils/queue.ts +0 -0
- /package/src/{lib → v4/lib}/utils/statistic-utils.ts +0 -0
- /package/src/{lib → v4/lib}/utils/write-queue.ts +0 -0
- /package/src/{pgm-loader.ts → v4/pgm-loader.ts} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { TileConversionSink } from './conversion-api.js';
|
|
2
|
+
/** One named browser output resource. */
|
|
3
|
+
export interface BrowserTileConversionResource {
|
|
4
|
+
/** Stable relative output path supplied by the target profile. */
|
|
5
|
+
readonly resourceId: string;
|
|
6
|
+
/** Parts combined into a Blob after the total output budget is checked. */
|
|
7
|
+
readonly parts: readonly BlobPart[];
|
|
8
|
+
/** MIME type recorded on the resulting Blob. */
|
|
9
|
+
readonly contentType?: string;
|
|
10
|
+
}
|
|
11
|
+
/** A named output resource retained by the bounded browser sink. */
|
|
12
|
+
export interface BrowserTileConversionFile {
|
|
13
|
+
/** Stable relative output path supplied by the target profile. */
|
|
14
|
+
readonly resourceId: string;
|
|
15
|
+
/** Browser-native data for download or application-provided packaging. */
|
|
16
|
+
readonly blob: Blob;
|
|
17
|
+
}
|
|
18
|
+
/** Memory limit for a browser conversion sink. */
|
|
19
|
+
export interface BoundedMemoryTileConversionSinkOptions {
|
|
20
|
+
/** Maximum combined Blob size retained by this sink, in bytes. */
|
|
21
|
+
readonly maxTotalBytes: number;
|
|
22
|
+
}
|
|
23
|
+
/** Browser sink with read access to its bounded output resources. */
|
|
24
|
+
export interface BoundedMemoryTileConversionSink extends TileConversionSink<BrowserTileConversionResource> {
|
|
25
|
+
/** Returns the retained files in stable resource-ID order. */
|
|
26
|
+
getFiles(): readonly BrowserTileConversionFile[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Creates a browser-only sink that retains output as Blobs under a total byte limit.
|
|
30
|
+
*
|
|
31
|
+
* The sink does not download or archive files. Applications can use `getFiles()` after
|
|
32
|
+
* `convertTileset` completes and package or download the returned Blobs as needed.
|
|
33
|
+
*
|
|
34
|
+
* @param options - Maximum in-memory output size.
|
|
35
|
+
* @returns A sink that stores browser-native Blobs and clears them on abort.
|
|
36
|
+
*/
|
|
37
|
+
export declare function createBoundedMemoryTileConversionSink(options: BoundedMemoryTileConversionSinkOptions): BoundedMemoryTileConversionSink;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { TileConversionSource } from './conversion-api.js';
|
|
2
|
+
/** Metadata available before a browser resource is read. */
|
|
3
|
+
export interface BrowserTileConversionInspection {
|
|
4
|
+
/** Stable resource path assigned to the input tile. */
|
|
5
|
+
readonly resourceId: string;
|
|
6
|
+
/** Optional MIME type supplied by the caller or source Blob. */
|
|
7
|
+
readonly contentType?: string;
|
|
8
|
+
}
|
|
9
|
+
/** Raw bytes read from one browser tile resource. */
|
|
10
|
+
export interface BrowserTileConversionInputResource {
|
|
11
|
+
/** Stable resource path assigned to the input tile. */
|
|
12
|
+
readonly resourceId: string;
|
|
13
|
+
/** Complete resource bytes for a profile-specific codec. */
|
|
14
|
+
readonly data: Uint8Array;
|
|
15
|
+
/** Optional MIME type supplied by the caller, Blob, or URL response. */
|
|
16
|
+
readonly contentType?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Browser input and size limit for a single-resource conversion. */
|
|
19
|
+
export interface BrowserTileConversionSourceOptions {
|
|
20
|
+
/** Input URL or already available browser Blob. */
|
|
21
|
+
readonly input: string | Blob;
|
|
22
|
+
/** Stable path to associate with the input resource. */
|
|
23
|
+
readonly resourceId: string;
|
|
24
|
+
/** Maximum number of input bytes held in memory. */
|
|
25
|
+
readonly maxInputBytes: number;
|
|
26
|
+
/** Optional MIME type override. */
|
|
27
|
+
readonly contentType?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates a browser source for one mesh resource provided as a URL or Blob.
|
|
31
|
+
*
|
|
32
|
+
* URL responses are read incrementally and canceled if they exceed `maxInputBytes`.
|
|
33
|
+
* Tileset JSON traversal and format decoding remain profile-specific source and codec work.
|
|
34
|
+
*
|
|
35
|
+
* @param options - Input, stable resource ID, and maximum input size.
|
|
36
|
+
* @returns A source that yields one complete resource to a v5 codec.
|
|
37
|
+
*/
|
|
38
|
+
export declare function createBrowserTileConversionSource(options: BrowserTileConversionSourceOptions): TileConversionSource<BrowserTileConversionInspection, BrowserTileConversionInputResource>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { TileConversionSource } from './conversion-api.js';
|
|
2
|
+
type TilesetContent = {
|
|
3
|
+
uri?: string;
|
|
4
|
+
url?: string;
|
|
5
|
+
};
|
|
6
|
+
type TilesetTile = {
|
|
7
|
+
content?: TilesetContent;
|
|
8
|
+
contents?: TilesetContent[];
|
|
9
|
+
children?: TilesetTile[];
|
|
10
|
+
transform?: number[];
|
|
11
|
+
implicitTiling?: unknown;
|
|
12
|
+
extensions?: Record<string, unknown>;
|
|
13
|
+
};
|
|
14
|
+
type TilesetDocument = {
|
|
15
|
+
asset?: {
|
|
16
|
+
version?: string;
|
|
17
|
+
};
|
|
18
|
+
root?: TilesetTile;
|
|
19
|
+
};
|
|
20
|
+
/** Input options for bounded traversal of one explicit 3D Tiles tileset. */
|
|
21
|
+
export interface BrowserTilesetConversionSourceOptions {
|
|
22
|
+
/** URL of the root tileset JSON document. */
|
|
23
|
+
readonly input: string;
|
|
24
|
+
/** Maximum bytes retained across the tileset JSON and all content resources. */
|
|
25
|
+
readonly maxInputBytes: number;
|
|
26
|
+
/** Maximum number of content resources to visit. */
|
|
27
|
+
readonly maxInputResources: number;
|
|
28
|
+
/** Fetch implementation, defaulting to the browser global. */
|
|
29
|
+
readonly fetcher?: typeof fetch;
|
|
30
|
+
}
|
|
31
|
+
/** Inspection result for an explicit 3D Tiles source. */
|
|
32
|
+
export interface BrowserTilesetConversionInspection {
|
|
33
|
+
/** Absolute URL of the root tileset document. */
|
|
34
|
+
readonly rootUrl: string;
|
|
35
|
+
/** Parsed root document used for deterministic content traversal. */
|
|
36
|
+
readonly tileset: TilesetDocument;
|
|
37
|
+
/** Ordered content descriptors. */
|
|
38
|
+
readonly resources: readonly BrowserTilesetResourceDescriptor[];
|
|
39
|
+
/** Root document bytes charged against the input limit. */
|
|
40
|
+
readonly tilesetBytes: number;
|
|
41
|
+
}
|
|
42
|
+
/** Placement metadata for one ordered content resource. */
|
|
43
|
+
export interface BrowserTilesetResourceDescriptor {
|
|
44
|
+
/** Unique, stable path for this content placement. */
|
|
45
|
+
readonly resourceId: string;
|
|
46
|
+
/** Original URI declared by the tileset. */
|
|
47
|
+
readonly uri: string;
|
|
48
|
+
/** Tile child indexes from the tileset root. */
|
|
49
|
+
readonly tilePath: readonly number[];
|
|
50
|
+
/** Combined root-to-tile transform in column-major order. */
|
|
51
|
+
readonly transform: readonly number[];
|
|
52
|
+
}
|
|
53
|
+
/** One raw content resource from a browser-readable explicit tileset. */
|
|
54
|
+
export interface BrowserTilesetConversionInputResource extends BrowserTilesetResourceDescriptor {
|
|
55
|
+
/** Complete content bytes for an injected profile-specific codec. */
|
|
56
|
+
readonly data: Uint8Array;
|
|
57
|
+
/** Optional content type reported by the response. */
|
|
58
|
+
readonly contentType?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Creates a bounded browser source for explicit 3D Tiles 1.0 and 1.1 tilesets.
|
|
62
|
+
*
|
|
63
|
+
* Traversal visits each declared content placement once in depth-first order. Implicit tiling and
|
|
64
|
+
* nested external tilesets are rejected; content decoding and conversion remain codec work.
|
|
65
|
+
*
|
|
66
|
+
* @param options - Tileset URL and aggregate byte and resource limits.
|
|
67
|
+
* @returns A source yielding ordered raw tile resources with placement transforms.
|
|
68
|
+
*/
|
|
69
|
+
export declare function createBrowserTilesetConversionSource(options: BrowserTilesetConversionSourceOptions): TileConversionSource<BrowserTilesetConversionInspection, BrowserTilesetConversionInputResource>;
|
|
70
|
+
export {};
|