@needle-tools/gltf-progressive 2.1.5 → 2.1.6-next.8d7f3c1

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
@@ -1,211 +1,211 @@
1
- # Changelog
2
- All notable changes to this package will be documented in this file.
3
-
4
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
- and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
-
7
- ## [2.1.4] - 2025-04-13
8
- - Fix: Don't minify internal exports (e.g. class names of three.js)
9
-
10
- ## [2.1.3] - 2025-03-19
11
- - Fix: DracoLoader cache busting due to range request
12
-
13
- ## [2.1.2] - 2025-03-10
14
- - Chore: Update examples
15
-
16
- ## [2.1.1] - 2025-02-20
17
- - Fix: Handle failed progressive texture loading due to e.g. offline or missing files
18
- - Fix: Regression causing custom KTX2Transcoder location not working for e.g. offline usage
19
-
20
- ## [2.1.0] - 2025-02-13
21
- - Bump version
22
-
23
- ## [2.1.0-alpha.6] - 2025-02-12
24
- - Fix: `?debugprogressive` now also switches texture LODs
25
-
26
- ## [2.1.0-alpha.5] - 2025-01-30
27
- - Add: initial support for Orthographic cameras
28
-
29
- ## [2.1.0-alpha.4] - 2025-01-29
30
- - Fix: LOD not loading if the max texture resolution is too small
31
-
32
- ## [2.1.0-alpha.3] - 2025-01-21
33
- - Change: Load Draco and KTX loaders as soon as possible
34
- - Fix: Make `GET` request to draco endpoint with 1 byte range instead of HEAD request. The HEAD request did return the whole draco loader.
35
-
36
- ## [2.1.0-alpha.2] - 2025-01-17
37
- - Add: expose methods in globalThis/window at `Needle.gltfProgressive`
38
-
39
- ## [2.1.0-alpha.1] - 2025-01-15
40
- - Fix: issue where `getMeshLOD` for multi-material meshes would not return the correct index if called multiple times at the same time
41
-
42
- ## [2.1.0-alpha] - 2025-01-14
43
- - Bump three types to r169
44
-
45
- ## [2.0.0-alpha.3] - 2025-01-02
46
- - Change: Load higher texture resolution by default
47
-
48
- ## [2.0.0-alpha.1] - 2024-12-09
49
- - Add: `Accept` header options for Needle Cloud requests
50
-
51
- ## [1.2.15] - 2024-10-21
52
- - Fix: internal window parameter access causing issue with SSR
53
-
54
- ## [1.2.13] - 2024-10-06
55
- - Update README
56
-
57
- ## [1.2.12] - 2024-09-23
58
- - Add: `assignTextureLOD` now also accepts mesh as parameter
59
- - Change: improved `assignTextureLOD` typing
60
-
61
- ## [1.2.11] - 2024-09-11
62
- - Fix: draco and KTX decoder path handling when gstatic can not be reached and user set path
63
-
64
- ## [1.2.10] - 2024-09-10
65
- - Fix: loading and assigning texture LOD for ShaderMaterial and RawShaderMaterial
66
-
67
- ## [1.2.9] - 2024-07-29
68
- - Fix: server side rendering fixes
69
-
70
- ## [1.2.8] - 2023-07-19
71
- - Add: repository url
72
-
73
- ## [1.2.7] - 2023-07-18
74
- - Fix: include `type: module`
75
-
76
- ## [1.2.5] - 2023-07-16
77
- - Remove: Frustum cull check because we're already operating on the latest renderlist
78
-
79
- ## [1.2.5-beta] - 2023-07-09
80
- - Change: Update skinned mesh bounding box every 30 frames using the lowres mesh version
81
-
82
- ## [1.2.4-beta.1] - 2023-07-09
83
- - Add: LODsManager `manual` property which can be used to manually update the LODs in the scene by calling `LODsManager.update(scene, camera)`
84
- - Fix: updating LODs in WebXR
85
-
86
- ## [1.2.4-beta] - 2023-07-05
87
- - Change: `createLoaders` now returns created loaders and decoders to be re-used
88
-
89
- ## [1.2.3-beta] - 2023-07-04
90
- - Add: support for transmissive objects
91
-
92
- ## [1.2.3-alpha.3] - 2023-07-01
93
- - Add: prevent loading highres textures when user has enabled data-save mode
94
-
95
- ## [1.2.3-alpha.2] - 2023-06-27
96
- - Fix: error caused by parser associations containing `undefined` value
97
-
98
- ## [1.2.3-alpha.1] - 2023-06-25
99
- - Internal: rename `setRaycastMesh` to `registerRaycastMesh`
100
-
101
- ## [1.2.3-alpha] - 2023-06-24
102
- - Change: automatically change LOD update interval based on framerate
103
-
104
- ## [1.2.2-alpha.4] - 2023-06-20
105
- - Add: Register version in global "GLTF_PROGRESSIVE_VERSION" variable
106
- - Add: `<model-viewer>` elements added document at any time are now properly registered
107
- - Fix: LOD updates for multiple `<model-viewer>` elements
108
- - Fix: Initial render tick for a few frames for `<model-viewer>` to trigger LOD updates when the model-viewer element is not animated or interacted with
109
- - Change: `<model-viewer>` elements will fetch a slightly higher texture LOD
110
-
111
- ## [1.2.1-alpha.4] - 2023-06-19
112
- - Fix: SkinnedMesh bounds calculation
113
-
114
- ## [1.2.1-alpha.3] - 2023-06-15
115
- - update the README
116
-
117
- ## [1.2.1-alpha.2] - 2023-06-15
118
- - fix: Ortographic camera causing LODs being falsely updated
119
- - fix: regression introduced in 1.2.1-alpha
120
- - fix: error when trying to load a LOD glTF directly
121
- - fix: issues caused by instanceof in local development environments
122
-
123
- ## [1.2.0-alpha.9] - 2023-06-13
124
- - fix: issue where skinned mesh matrix was falsely applied to calculate screen size
125
- - fix: use bounding box from SkinnedMesh object
126
-
127
- ## [1.2.0-alpha.6] - 2023-06-12
128
- - fix: minor bug where opened glTF has `NEEDLE_progressive` extension but no lods array because the glTF is a LOD variant
129
-
130
- ## [1.2.0-alpha.5] - 2023-06-10
131
- - fix: safeguard when `registerMesh` or `registerTexture` are being called with invalid data
132
- - examples: update vanilla threejs example
133
-
134
- ## [1.2.0-alpha.4] - 2023-06-07
135
- - add: `useRaycastMeshes` method:
136
- ```ts
137
- // call to enable raycasting with low poly raycast meshes
138
- // this can be done once in your project
139
- useRaycastMeshes(true);
140
-
141
- // then use the raycaster as usual
142
- const raycaster = new Raycaster();
143
- raycaster.setFromCamera(mouse, camera);
144
- const intersects = raycaster.intersectObjects(scene.children, true);
145
-
146
- // call to disable raycasting with low polwy meshes
147
- useRaycastMeshes(false);
148
- ```
149
-
150
- ## [1.2.0-alpha.3] - 2023-06-06
151
- - add: automatically load the highest LOD first to show a slightly better quality level as soon as possible
152
- - fix: improve Texture LOD selection by taking LOD level height into account
153
- - fix: correctly assign LOD level information to initially loaded texture
154
-
155
- ## [1.1.0-alpha.2] - 2023-06-05
156
- - fix: register LOD information for meshes that don't have associations
157
-
158
- ## [1.1.0-alpha] - 2023-06-03
159
- - add: loading of multiple texture LOD levels
160
- - fix: issue where material LODs where not updated when the material was cloned
161
- - change: clamp screen coverage when near plane intersects with the object bounds
162
- - change: skip CubeCamera setup
163
- - change: handle cases where an object has only texture LODs
164
-
165
- ## [1.0.0-alpha.19] - 2023-05-31
166
- - add `LODsManager.plugins` getter
167
-
168
- ## [1.0.0-alpha.18] - 2023-05-30
169
- - update README
170
-
171
- ## [1.0.0-alpha.16] - 2023-05-29
172
- - fix: LODs manager now clamps to LOD 0 if the near plane is inside the bounds
173
- - change: Ignore certain material in lods update loop
174
-
175
- ## [1.0.0-alpha.15] - 2023-05-25
176
- - add: `getRaycastMesh` method
177
- - add: LODsManager does now expose `targetTriangleDensity`. The target triangle density is the desired max amount of triangles on screen when the mesh is filling the screen.
178
- - change: create LODsManager via `LODsManager.get(renderer)`
179
-
180
- ## [1.0.0-alpha.13] - 2023-05-24
181
- - fix: modelviewer error when trying to access undefined texture extensions
182
-
183
- ## [1.0.0-alpha.13] - 2023-05-24
184
- - add: vanilla three.js example
185
- - fix: texture LODs losing filter setting
186
-
187
- ## [1.0.0-alpha.12] - 2023-05-19
188
- - fix: update LODs when using postprocessing
189
-
190
- ## [1.0.0-alpha.11] - 2023-05-17
191
- - add: expose `setDracoDecoderLocation` and `setKTX2TranscoderLocation`
192
- - fix: allow using draco decoder and ktx2 transcoder from local filepath
193
-
194
- ## [1.0.0-alpha.10] - 2023-05-07
195
- - fix: progressive assets are now only updated during the main canvas render call and not e.g. when rendering to a texture
196
-
197
- ## [1.0.0-alpha.9] - 2023-05-03
198
- - fix: handle loading of ShaderMaterial for VRM progressive textures
199
-
200
- ## [1.0.0-alpha.8] - 2023-05-03
201
- - fix: handle transparent materials
202
-
203
- ## [1.0.0-alpha.7] - 2023-05-01
204
- - fix: Handle modelviewer `src` set as property but not as attribute
205
- - change: Remove sourcemap
206
-
207
- ## [1.0.0-alpha.6] - 2023-05-01
208
- - fix: LOD mesh assignment for multi-material meshes (meshes with multiple primitives)
209
-
210
- ## [1.0.0-alpha.5] - 2023-04-30
1
+ # Changelog
2
+ All notable changes to this package will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [2.1.4] - 2025-04-13
8
+ - Fix: Don't minify internal exports (e.g. class names of three.js)
9
+
10
+ ## [2.1.3] - 2025-03-19
11
+ - Fix: DracoLoader cache busting due to range request
12
+
13
+ ## [2.1.2] - 2025-03-10
14
+ - Chore: Update examples
15
+
16
+ ## [2.1.1] - 2025-02-20
17
+ - Fix: Handle failed progressive texture loading due to e.g. offline or missing files
18
+ - Fix: Regression causing custom KTX2Transcoder location not working for e.g. offline usage
19
+
20
+ ## [2.1.0] - 2025-02-13
21
+ - Bump version
22
+
23
+ ## [2.1.0-alpha.6] - 2025-02-12
24
+ - Fix: `?debugprogressive` now also switches texture LODs
25
+
26
+ ## [2.1.0-alpha.5] - 2025-01-30
27
+ - Add: initial support for Orthographic cameras
28
+
29
+ ## [2.1.0-alpha.4] - 2025-01-29
30
+ - Fix: LOD not loading if the max texture resolution is too small
31
+
32
+ ## [2.1.0-alpha.3] - 2025-01-21
33
+ - Change: Load Draco and KTX loaders as soon as possible
34
+ - Fix: Make `GET` request to draco endpoint with 1 byte range instead of HEAD request. The HEAD request did return the whole draco loader.
35
+
36
+ ## [2.1.0-alpha.2] - 2025-01-17
37
+ - Add: expose methods in globalThis/window at `Needle.gltfProgressive`
38
+
39
+ ## [2.1.0-alpha.1] - 2025-01-15
40
+ - Fix: issue where `getMeshLOD` for multi-material meshes would not return the correct index if called multiple times at the same time
41
+
42
+ ## [2.1.0-alpha] - 2025-01-14
43
+ - Bump three types to r169
44
+
45
+ ## [2.0.0-alpha.3] - 2025-01-02
46
+ - Change: Load higher texture resolution by default
47
+
48
+ ## [2.0.0-alpha.1] - 2024-12-09
49
+ - Add: `Accept` header options for Needle Cloud requests
50
+
51
+ ## [1.2.15] - 2024-10-21
52
+ - Fix: internal window parameter access causing issue with SSR
53
+
54
+ ## [1.2.13] - 2024-10-06
55
+ - Update README
56
+
57
+ ## [1.2.12] - 2024-09-23
58
+ - Add: `assignTextureLOD` now also accepts mesh as parameter
59
+ - Change: improved `assignTextureLOD` typing
60
+
61
+ ## [1.2.11] - 2024-09-11
62
+ - Fix: draco and KTX decoder path handling when gstatic can not be reached and user set path
63
+
64
+ ## [1.2.10] - 2024-09-10
65
+ - Fix: loading and assigning texture LOD for ShaderMaterial and RawShaderMaterial
66
+
67
+ ## [1.2.9] - 2024-07-29
68
+ - Fix: server side rendering fixes
69
+
70
+ ## [1.2.8] - 2023-07-19
71
+ - Add: repository url
72
+
73
+ ## [1.2.7] - 2023-07-18
74
+ - Fix: include `type: module`
75
+
76
+ ## [1.2.5] - 2023-07-16
77
+ - Remove: Frustum cull check because we're already operating on the latest renderlist
78
+
79
+ ## [1.2.5-beta] - 2023-07-09
80
+ - Change: Update skinned mesh bounding box every 30 frames using the lowres mesh version
81
+
82
+ ## [1.2.4-beta.1] - 2023-07-09
83
+ - Add: LODsManager `manual` property which can be used to manually update the LODs in the scene by calling `LODsManager.update(scene, camera)`
84
+ - Fix: updating LODs in WebXR
85
+
86
+ ## [1.2.4-beta] - 2023-07-05
87
+ - Change: `createLoaders` now returns created loaders and decoders to be re-used
88
+
89
+ ## [1.2.3-beta] - 2023-07-04
90
+ - Add: support for transmissive objects
91
+
92
+ ## [1.2.3-alpha.3] - 2023-07-01
93
+ - Add: prevent loading highres textures when user has enabled data-save mode
94
+
95
+ ## [1.2.3-alpha.2] - 2023-06-27
96
+ - Fix: error caused by parser associations containing `undefined` value
97
+
98
+ ## [1.2.3-alpha.1] - 2023-06-25
99
+ - Internal: rename `setRaycastMesh` to `registerRaycastMesh`
100
+
101
+ ## [1.2.3-alpha] - 2023-06-24
102
+ - Change: automatically change LOD update interval based on framerate
103
+
104
+ ## [1.2.2-alpha.4] - 2023-06-20
105
+ - Add: Register version in global "GLTF_PROGRESSIVE_VERSION" variable
106
+ - Add: `<model-viewer>` elements added document at any time are now properly registered
107
+ - Fix: LOD updates for multiple `<model-viewer>` elements
108
+ - Fix: Initial render tick for a few frames for `<model-viewer>` to trigger LOD updates when the model-viewer element is not animated or interacted with
109
+ - Change: `<model-viewer>` elements will fetch a slightly higher texture LOD
110
+
111
+ ## [1.2.1-alpha.4] - 2023-06-19
112
+ - Fix: SkinnedMesh bounds calculation
113
+
114
+ ## [1.2.1-alpha.3] - 2023-06-15
115
+ - update the README
116
+
117
+ ## [1.2.1-alpha.2] - 2023-06-15
118
+ - fix: Ortographic camera causing LODs being falsely updated
119
+ - fix: regression introduced in 1.2.1-alpha
120
+ - fix: error when trying to load a LOD glTF directly
121
+ - fix: issues caused by instanceof in local development environments
122
+
123
+ ## [1.2.0-alpha.9] - 2023-06-13
124
+ - fix: issue where skinned mesh matrix was falsely applied to calculate screen size
125
+ - fix: use bounding box from SkinnedMesh object
126
+
127
+ ## [1.2.0-alpha.6] - 2023-06-12
128
+ - fix: minor bug where opened glTF has `NEEDLE_progressive` extension but no lods array because the glTF is a LOD variant
129
+
130
+ ## [1.2.0-alpha.5] - 2023-06-10
131
+ - fix: safeguard when `registerMesh` or `registerTexture` are being called with invalid data
132
+ - examples: update vanilla threejs example
133
+
134
+ ## [1.2.0-alpha.4] - 2023-06-07
135
+ - add: `useRaycastMeshes` method:
136
+ ```ts
137
+ // call to enable raycasting with low poly raycast meshes
138
+ // this can be done once in your project
139
+ useRaycastMeshes(true);
140
+
141
+ // then use the raycaster as usual
142
+ const raycaster = new Raycaster();
143
+ raycaster.setFromCamera(mouse, camera);
144
+ const intersects = raycaster.intersectObjects(scene.children, true);
145
+
146
+ // call to disable raycasting with low polwy meshes
147
+ useRaycastMeshes(false);
148
+ ```
149
+
150
+ ## [1.2.0-alpha.3] - 2023-06-06
151
+ - add: automatically load the highest LOD first to show a slightly better quality level as soon as possible
152
+ - fix: improve Texture LOD selection by taking LOD level height into account
153
+ - fix: correctly assign LOD level information to initially loaded texture
154
+
155
+ ## [1.1.0-alpha.2] - 2023-06-05
156
+ - fix: register LOD information for meshes that don't have associations
157
+
158
+ ## [1.1.0-alpha] - 2023-06-03
159
+ - add: loading of multiple texture LOD levels
160
+ - fix: issue where material LODs where not updated when the material was cloned
161
+ - change: clamp screen coverage when near plane intersects with the object bounds
162
+ - change: skip CubeCamera setup
163
+ - change: handle cases where an object has only texture LODs
164
+
165
+ ## [1.0.0-alpha.19] - 2023-05-31
166
+ - add `LODsManager.plugins` getter
167
+
168
+ ## [1.0.0-alpha.18] - 2023-05-30
169
+ - update README
170
+
171
+ ## [1.0.0-alpha.16] - 2023-05-29
172
+ - fix: LODs manager now clamps to LOD 0 if the near plane is inside the bounds
173
+ - change: Ignore certain material in lods update loop
174
+
175
+ ## [1.0.0-alpha.15] - 2023-05-25
176
+ - add: `getRaycastMesh` method
177
+ - add: LODsManager does now expose `targetTriangleDensity`. The target triangle density is the desired max amount of triangles on screen when the mesh is filling the screen.
178
+ - change: create LODsManager via `LODsManager.get(renderer)`
179
+
180
+ ## [1.0.0-alpha.13] - 2023-05-24
181
+ - fix: modelviewer error when trying to access undefined texture extensions
182
+
183
+ ## [1.0.0-alpha.13] - 2023-05-24
184
+ - add: vanilla three.js example
185
+ - fix: texture LODs losing filter setting
186
+
187
+ ## [1.0.0-alpha.12] - 2023-05-19
188
+ - fix: update LODs when using postprocessing
189
+
190
+ ## [1.0.0-alpha.11] - 2023-05-17
191
+ - add: expose `setDracoDecoderLocation` and `setKTX2TranscoderLocation`
192
+ - fix: allow using draco decoder and ktx2 transcoder from local filepath
193
+
194
+ ## [1.0.0-alpha.10] - 2023-05-07
195
+ - fix: progressive assets are now only updated during the main canvas render call and not e.g. when rendering to a texture
196
+
197
+ ## [1.0.0-alpha.9] - 2023-05-03
198
+ - fix: handle loading of ShaderMaterial for VRM progressive textures
199
+
200
+ ## [1.0.0-alpha.8] - 2023-05-03
201
+ - fix: handle transparent materials
202
+
203
+ ## [1.0.0-alpha.7] - 2023-05-01
204
+ - fix: Handle modelviewer `src` set as property but not as attribute
205
+ - change: Remove sourcemap
206
+
207
+ ## [1.0.0-alpha.6] - 2023-05-01
208
+ - fix: LOD mesh assignment for multi-material meshes (meshes with multiple primitives)
209
+
210
+ ## [1.0.0-alpha.5] - 2023-04-30
211
211
  - initial version