belowjs 1.6.0 → 1.7.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 CHANGED
@@ -5,6 +5,21 @@ All notable changes to BelowJS will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.7.0] - 2026-02-15
9
+
10
+ ### Added
11
+ - BelowJS support for Cesium 3D Tiles loading via the NASA-AMMOS 3DTilesRendererJS library, including tiled models exported from Agisoft Metashape.
12
+ - `tileset` example configured with the Denton Holme and Macedon 2023 dataset.
13
+ - `examples/tileset/convert-3tz.sh` conversion script for Agisoft Metashape `.3tz` exports, producing a web-hostable tileset folder with root `tileset.json`.
14
+
15
+ ### Changed
16
+ - Examples docs describe six production-ready viewers.
17
+
18
+ ### Fixed
19
+ - Removed ARCore lint warnings from unused catch variables.
20
+
21
+ ---
22
+
8
23
  ## [1.6.0] - 2026-02-15
9
24
 
10
25
  ### Added
@@ -35,6 +50,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
35
50
  - `stereo()` console command for enabling/disabling stereo mode and adjusting eye separation
36
51
  - Z key to toggle between dive mode and studio mode
37
52
  - H key to take screenshot
53
+ - Experimental 3D Tiles streaming loader for massive datasets
54
+ - New `tileset` example (`npm run dev:tileset`) with a NASA-AMMOS sample dataset default and URL override support
38
55
 
39
56
  ### Changed
40
57
  - Material conversion upgraded from MeshLambertMaterial to MeshStandardMaterial with shipwreck-appropriate PBR defaults (roughness 0.8, metalness 0.3)
@@ -46,6 +63,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
46
63
  - VR button visibility management with fly mode controls
47
64
  - Support for deprecated KHR_materials_pbrSpecularGlossiness GLTF extension by converting to standard PBR materials
48
65
  - Support for logarithmicDepthBuffer renderer option (suppresses ConfigValidator warning)
66
+ - 3D Tiles auto-centering and auto-framing when streaming tiles are not fully available on first bounds pass
49
67
 
50
68
  ---
51
69
 
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  📖 **[Full Documentation & Examples](https://patrick-morrison.github.io/belowjs/)**
8
8
 
9
- > **Current Version:** `1.6.0` - Comfort-mode APIs, per-model measurability controls, and stronger recovery after context interruptions.
9
+ > **Current Version:** `1.7.0` - Tiled-model workflow documentation and tileset example refinements.
10
10
 
11
11
  **Dive Shipwrecks in Virtual Reality**
12
12
 
@@ -60,11 +60,11 @@ This gives you a complete VR-ready 3D viewer with dive lighting, measurement too
60
60
  {
61
61
  "imports": {
62
62
  "three": "https://cdn.jsdelivr.net/npm/three@0.179.1/+esm",
63
- "belowjs": "https://cdn.jsdelivr.net/npm/belowjs@1.6.0/dist/belowjs.js"
63
+ "belowjs": "https://cdn.jsdelivr.net/npm/belowjs@1.7.0/dist/belowjs.js"
64
64
  }
65
65
  }
66
66
  </script>
67
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/belowjs@1.6.0/dist/belowjs.css">
67
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/belowjs@1.7.0/dist/belowjs.css">
68
68
  <style>
69
69
  body, html { margin: 0; padding: 0; overflow: hidden; }
70
70
  </style>
@@ -99,7 +99,7 @@ This gives you a complete VR-ready 3D viewer with dive lighting, measurement too
99
99
 
100
100
  ## Examples
101
101
 
102
- Three different examples are included:
102
+ Examples are included:
103
103
 
104
104
  ```bash
105
105
  git clone https://github.com/patrick-morrison/belowjs
@@ -110,12 +110,14 @@ npm install && npm run build
110
110
  - `npm run dev` — Full-featured viewer with model selection and all systems enabled
111
111
  - `npm run dev:dragdrop` — File loader with drag-and-drop GLB support and custom UI elements
112
112
  - `npm run dev:embed` — Lightweight viewer designed for iframe embedding
113
+ - `npm run dev:tileset` — 3D Tiles streaming example for large datasets
113
114
 
114
115
  ### Live Examples
115
116
 
116
117
  - [Basic Viewer](https://patrick-morrison.github.io/belowjs/examples/basic/) — Full-featured multi-model viewer
117
118
  - [Drag & Drop](https://patrick-morrison.github.io/belowjs/examples/dragdrop/) — File loader with custom UI; recommended path for Meta Quest Link desktop streaming
118
119
  - [Embed Viewer](https://patrick-morrison.github.io/belowjs/examples/embed/) — Lightweight iframe-ready viewer
120
+ - [Tileset Viewer](https://patrick-morrison.github.io/belowjs/examples/tileset/) — 3D Tiles streaming example
119
121
 
120
122
  ## Installation
121
123
 
@@ -209,6 +211,25 @@ new ModelViewer(document.body, {
209
211
 
210
212
  Enable `enableScreenshot` to add a button that captures the scene without UI overlays.
211
213
 
214
+ ### 3D Tiles (Experimental)
215
+ BelowJS can stream 3D Tiles datasets for large environments. Tilesets still require a `tileset.json` root plus streamed tile content hosted alongside it. Point a model at the `tileset.json` and set `type: 'tileset'`:
216
+
217
+ ```javascript
218
+ new ModelViewer('#container', {
219
+ models: {
220
+ 'site': {
221
+ url: 'https://example.com/tiles/site/tileset.json',
222
+ type: 'tileset',
223
+ name: 'Survey Site',
224
+ autoCenter: true,
225
+ maxTriangles: 1000000, // adaptive LOD target for VR
226
+ errorTarget: 16,
227
+ optimizedLoadStrategy: true
228
+ }
229
+ }
230
+ });
231
+ ```
232
+
212
233
  ### URL Parameter Integration
213
234
  The embed example supports URL parameters for dynamic configuration:
214
235