belowjs 1.6.0 → 1.7.1

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,28 @@ 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.1] - 2026-02-15
9
+
10
+ ### Fixed
11
+ - Keyboard screenshot shortcut (`H`) no longer triggers while typing in form fields (`input`, `select`, `textarea`, or `contenteditable` elements).
12
+
13
+ ---
14
+
15
+ ## [1.7.0] - 2026-02-15
16
+
17
+ ### Added
18
+ - BelowJS support for Cesium 3D Tiles loading via the NASA-AMMOS 3DTilesRendererJS library, including tiled models exported from Agisoft Metashape.
19
+ - `tileset` example configured with the Denton Holme and Macedon 2023 dataset.
20
+ - `examples/tileset/convert-3tz.sh` conversion script for Agisoft Metashape `.3tz` exports, producing a web-hostable tileset folder with root `tileset.json`.
21
+
22
+ ### Changed
23
+ - Examples docs describe six production-ready viewers.
24
+
25
+ ### Fixed
26
+ - Removed ARCore lint warnings from unused catch variables.
27
+
28
+ ---
29
+
8
30
  ## [1.6.0] - 2026-02-15
9
31
 
10
32
  ### Added
@@ -35,6 +57,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
35
57
  - `stereo()` console command for enabling/disabling stereo mode and adjusting eye separation
36
58
  - Z key to toggle between dive mode and studio mode
37
59
  - H key to take screenshot
60
+ - Experimental 3D Tiles streaming loader for massive datasets
61
+ - New `tileset` example (`npm run dev:tileset`) with a NASA-AMMOS sample dataset default and URL override support
38
62
 
39
63
  ### Changed
40
64
  - Material conversion upgraded from MeshLambertMaterial to MeshStandardMaterial with shipwreck-appropriate PBR defaults (roughness 0.8, metalness 0.3)
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.1` - Screenshot hotkey now ignores typing in text inputs.
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.1/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.1/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