3dtiles-inspector 0.1.7 → 0.2.0
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/CHANGELOG.md +30 -0
- package/README.md +25 -10
- package/dist/inspector-assets/viewer/app.js +67990 -64471
- package/package.json +3 -3
- package/src/cli.js +1 -1
- package/src/index.js +11 -2
- package/src/server/fileUtils.js +81 -0
- package/src/server/httpHelpers.js +91 -0
- package/src/server/httpServer.js +172 -0
- package/src/server/matrix4.js +49 -0
- package/src/server/openBrowser.js +47 -0
- package/src/server/saveTransform.js +481 -0
- package/src/server/saveTransformHandler.js +199 -0
- package/src/server/session.js +197 -0
- package/src/server/splatCrop/gaussianPrimitives.js +250 -0
- package/src/server/splatCrop/gltfResource.js +417 -0
- package/src/server/splatCrop/index.js +113 -0
- package/src/server/splatCrop/normalize.js +124 -0
- package/src/server/splatCrop/traversal.js +953 -0
- package/src/server/splatCrop/worker.js +397 -0
- package/src/server/splatCrop/workerPool.js +182 -0
- package/src/server/staticFileReadGate.js +79 -0
- package/src/server/viewerAssets.js +85 -0
- package/src/server/viewerHtml.js +732 -0
- package/src/viewer/app.js +447 -1565
- package/src/viewer/config.js +49 -0
- package/src/viewer/dom/coordinateInputs.js +47 -0
- package/src/viewer/dom/cropUi.js +98 -0
- package/src/viewer/dom/elements.js +53 -0
- package/src/viewer/dom/events.js +159 -0
- package/src/viewer/dom/runtimeStats.js +119 -0
- package/src/viewer/dom/statusPanel.js +39 -0
- package/src/viewer/dom/viewerToggles.js +87 -0
- package/src/viewer/io/saveTransformRequest.js +86 -0
- package/src/viewer/io/setPositionController.js +72 -0
- package/src/viewer/io/setPositionPointerTracker.js +95 -0
- package/src/viewer/io/shutdown.js +27 -0
- package/src/viewer/navigation/flyTo.js +152 -0
- package/src/viewer/{cameraController.js → scene/cameraController.js} +142 -3
- package/src/viewer/scene/globeController.js +47 -0
- package/src/viewer/scene/sceneSetup.js +89 -0
- package/src/viewer/scene/tiles.js +162 -0
- package/src/viewer/scene/transformControls.js +73 -0
- package/src/viewer/screenSelection/cropController.js +451 -0
- package/src/viewer/screenSelection/farHandle.js +318 -0
- package/src/viewer/screenSelection/geometry.js +516 -0
- package/src/viewer/screenSelection/index.js +134 -0
- package/src/viewer/screenSelection/pointerTracker.js +113 -0
- package/src/viewer/screenSelection/sdf.js +95 -0
- package/src/viewer/screenSelection/state.js +149 -0
- package/src/viewer/transform/geoCamera.js +265 -0
- package/src/viewer/transform/geometricError.js +246 -0
- package/src/viewer/transform/rootTransformController.js +244 -0
- package/src/viewer/transform/tilesetTransform.js +120 -0
- package/src/viewer/transform/transformModeController.js +78 -0
- package/src/viewer/utils.js +127 -0
- package/src/viewer/session.js +0 -1532
- package/src/viewer-core.js +0 -16
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,36 @@ The format is based on Keep a Changelog and this project follows Semantic Versio
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.2.0] - 2026-05-03
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added `Crop Regions` for 3D Gaussian Splat tilesets, with screen-space rectangle selection, pending/confirmed region controls, preview overlays, and adjustable far-plane depth handles.
|
|
14
|
+
- Added save-time Gaussian Splat cropping for supported local `.gltf` and `.glb` resources using `KHR_gaussian_splatting_compression_spz_2`, including multi-resource writes, multi-bufferView rewrites, empty tile pruning, and progress updates.
|
|
15
|
+
- Added README documentation, a crop-region screenshot, and smoke-test fixtures for the 3DGS crop workflow.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Moved inspector session, HTTP server, save handling, viewer asset generation, and splat-crop logic into focused `src/server/` modules.
|
|
20
|
+
- Refactored the browser viewer into focused DOM, IO, scene, navigation, screen-selection, and transform modules.
|
|
21
|
+
- Updated the public `./session` export to `src/server/session.js` and routed the CLI through the package entrypoint.
|
|
22
|
+
- Updated `3d-tiles-rendererjs-3dgs-plugin` from `0.1.4` to `0.1.5`.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Fixed repeated saves on Windows failing with `EPERM` when replacing recently streamed `.glb`, `.gltf`, `.bin`, or `.json` files, including races with active tile requests.
|
|
27
|
+
|
|
28
|
+
## [0.1.8] - 2026-05-03
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- Added a camera pivot indicator for rotate, pan, and zoom interactions.
|
|
33
|
+
- Added bottom-right tile runtime stats for downloading, parsing, loaded, and visible tile counts.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- Moved the `Canvas` toolbar section above `Transform`.
|
|
38
|
+
|
|
9
39
|
## [0.1.7] - 2026-04-27
|
|
10
40
|
|
|
11
41
|
### Changed
|
package/README.md
CHANGED
|
@@ -14,6 +14,13 @@
|
|
|
14
14
|
|
|
15
15
|
Requires Node.js 18 or newer.
|
|
16
16
|
|
|
17
|
+
## Built On
|
|
18
|
+
|
|
19
|
+
This project is based on and integrates work from:
|
|
20
|
+
|
|
21
|
+
- [WilliamLiu-1997/3D-Tiles-RendererJS-3DGS-Plugin](https://github.com/WilliamLiu-1997/3D-Tiles-RendererJS-3DGS-Plugin)
|
|
22
|
+
- [NASA-AMMOS/3DTilesRendererJS](https://github.com/NASA-AMMOS/3DTilesRendererJS)
|
|
23
|
+
|
|
17
24
|
## Install
|
|
18
25
|
|
|
19
26
|
```bash
|
|
@@ -76,7 +83,7 @@ const {
|
|
|
76
83
|
|
|
77
84
|
## Inspector Features
|
|
78
85
|
|
|
79
|
-
<img src="https://raw.githubusercontent.com/WilliamLiu-1997/3DTiles-Inspector/main/screenshot.png" alt="screenshot"
|
|
86
|
+
<img src="https://raw.githubusercontent.com/WilliamLiu-1997/3DTiles-Inspector/main/screenshot.png" alt="screenshot" />
|
|
80
87
|
|
|
81
88
|
- `Translate`, `Rotate`, and `Reset` for root transform edits
|
|
82
89
|
- `Move Camera` to a WGS84 latitude / longitude / height
|
|
@@ -85,8 +92,25 @@ const {
|
|
|
85
92
|
- `Terrain` to toggle Cesium World Terrain while keeping satellite imagery
|
|
86
93
|
- `Geometric Error` scaling from `1/16x` to `16x`
|
|
87
94
|
- `Layer Multiplier` scaling from `1/8x` to `8x` for each tile's geometric-error difference from the tileset's global leaf baseline
|
|
95
|
+
- `Crop Regions` for drawing screen-space exclude regions on 3D Gaussian Splat tilesets
|
|
88
96
|
- `Save` to persist the updated root transform and geometric-error scale back to disk
|
|
89
97
|
|
|
98
|
+
### Crop Regions
|
|
99
|
+
|
|
100
|
+
`Crop Regions` appears when the loaded tileset contains 3D Gaussian Splat content. It lets you draw one or more screen-space exclude rectangles, preview them in the viewer, then apply the crop when you click `Save`.
|
|
101
|
+
|
|
102
|
+
The basic workflow is:
|
|
103
|
+
|
|
104
|
+
1. Click `Screen Select` and drag a rectangle over the splats to remove.
|
|
105
|
+
2. Drag the far-plane handle to set how deep the crop region extends into the scene.
|
|
106
|
+
3. Click `Confirm` to add the region to the save list, or `Cancel` to discard the pending rectangle.
|
|
107
|
+
4. Select a confirmed region row if you need to adjust its 3D far plane with the transform handle.
|
|
108
|
+
5. Click `Save` to persist the root transform and delete splats inside the confirmed crop regions.
|
|
109
|
+
|
|
110
|
+
<img src="https://raw.githubusercontent.com/WilliamLiu-1997/3DTiles-Inspector/main/region.png" alt="Crop Regions" />
|
|
111
|
+
|
|
112
|
+
Crop saving rewrites supported local `.gltf` / `.glb` Gaussian Splat resources that use `KHR_gaussian_splatting_compression_spz_2`. Fully deleted splat primitives are removed from their glTF, and empty tile content can be pruned from the tileset JSON. Remote content and unsupported Gaussian Splat encodings are rejected instead of being modified.
|
|
113
|
+
|
|
90
114
|
If `build_summary.json` exists next to the root tileset, `Save` also updates:
|
|
91
115
|
|
|
92
116
|
- `root_transform`
|
|
@@ -95,15 +119,6 @@ If `build_summary.json` exists next to the root tileset, `Save` also updates:
|
|
|
95
119
|
- `viewer_geometric_error_scale`
|
|
96
120
|
- `viewer_geometric_error_layer_scale`
|
|
97
121
|
|
|
98
|
-
## Package Surface
|
|
99
|
-
|
|
100
|
-
- `src/index.js` exports the public Node API
|
|
101
|
-
- `src/cli.js` implements the standalone CLI
|
|
102
|
-
- `src/viewer/session.js` manages the local server, temporary assets, browser launch, and save handling
|
|
103
|
-
- `src/viewer/app.js` contains the browser runtime source
|
|
104
|
-
- `dist/inspector-assets/viewer/` contains the generated browser bundle and local decoder assets built by `npm run build:viewer`
|
|
105
|
-
- `src/viewer/cameraController.js` contains the vendored camera controller used by the runtime
|
|
106
|
-
|
|
107
122
|
## Development
|
|
108
123
|
|
|
109
124
|
```bash
|