@hology/webgpu-renderer 0.1.1 → 0.1.2

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/LICENSE.md CHANGED
@@ -1,32 +1,32 @@
1
- ### Hology Interactive AB Limited License
2
-
3
- Copyright (c) 2026 Hology Interactive AB. All rights reserved.
4
-
5
- This software package, including all associated files and documentation (the
6
- "Software"), is licensed under the following terms:
7
-
8
- 1. **License Grant**
9
- Hology Interactive AB grants Licensee a limited, non-exclusive,
10
- non-transferable license to use the Software solely for the purpose of
11
- developing and running software within the Hology Engine ecosystem.
12
-
13
- 2. **Restrictions**
14
- - Licensee may not use, copy, modify, or distribute the Software for any
15
- purpose outside of Hology Engine.
16
- - Licensee may not create derivative works of the Software that function
17
- independently of Hology Engine.
18
- - Licensee must not remove or alter any licensing notices.
19
-
20
- 3. **Ownership**
21
- Hology Interactive AB retains all intellectual property rights to the
22
- Software. This license does not transfer ownership of the Software.
23
-
24
- 4. **Warranty Disclaimer**
25
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
- FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. HOLOGY INTERACTIVE AB
28
- SHALL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM
29
- THE USE OF THE SOFTWARE.
30
-
31
- 5. **Contact**
32
- For inquiries regarding this license, please email hello@hology.app.
1
+ ### Hology Interactive AB Limited License
2
+
3
+ Copyright (c) 2026 Hology Interactive AB. All rights reserved.
4
+
5
+ This software package, including all associated files and documentation (the
6
+ "Software"), is licensed under the following terms:
7
+
8
+ 1. **License Grant**
9
+ Hology Interactive AB grants Licensee a limited, non-exclusive,
10
+ non-transferable license to use the Software solely for the purpose of
11
+ developing and running software within the Hology Engine ecosystem.
12
+
13
+ 2. **Restrictions**
14
+ - Licensee may not use, copy, modify, or distribute the Software for any
15
+ purpose outside of Hology Engine.
16
+ - Licensee may not create derivative works of the Software that function
17
+ independently of Hology Engine.
18
+ - Licensee must not remove or alter any licensing notices.
19
+
20
+ 3. **Ownership**
21
+ Hology Interactive AB retains all intellectual property rights to the
22
+ Software. This license does not transfer ownership of the Software.
23
+
24
+ 4. **Warranty Disclaimer**
25
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. HOLOGY INTERACTIVE AB
28
+ SHALL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM
29
+ THE USE OF THE SOFTWARE.
30
+
31
+ 5. **Contact**
32
+ For inquiries regarding this license, please email hello@hology.app.
package/README.md CHANGED
@@ -139,36 +139,36 @@ Whether Hi-Z culling is actually active also depends on device support for WebGP
139
139
  renderer.getHiZOcclusionCullingEnabled(); // requested
140
140
  renderer.getHiZOcclusionCullingActive(); // requested + supported on this device
141
141
  renderer.getLastFrameProfile(); // latest CPU/GPU pass timings
142
- renderer.getSampleCount(); // current MSAA sample count
143
- ```
144
-
145
- ## Manually synchronized scene transforms
146
-
147
- By default, `render()` updates the scene's world matrices before extraction, as
148
- Three renderers normally do. Editors that already track transform dirtiness can
149
- avoid that full traversal by synchronizing dirty subtrees and then disabling the
150
- automatic renderer update:
151
-
152
- ```ts
153
- scene.matrixWorldAutoUpdate = false;
154
-
155
- function synchronizeTransform(object: THREE.Object3D): void {
156
- // Recompose this object's local matrix when position/quaternion/scale changed.
157
- if (object.matrixAutoUpdate) object.updateMatrix();
158
-
159
- // Update its ancestors as needed, then propagate the new world transform to
160
- // descendants. Call once for each highest dirty root, not for every child.
161
- object.updateWorldMatrix(true, true);
162
- }
163
- ```
164
-
165
- A camera parented into the scene is covered by its dirty subtree update. For an
166
- unparented camera, either leave `camera.matrixWorldAutoUpdate` enabled or disable
167
- it and call `camera.updateMatrixWorld()` after changing its transform. The same
168
- manual synchronization rule applies to directional and spot-light targets whose
169
- `matrixWorldAutoUpdate` has been disabled.
170
-
171
- ## Static GPU Visibility
142
+ renderer.getSampleCount(); // current MSAA sample count
143
+ ```
144
+
145
+ ## Manually synchronized scene transforms
146
+
147
+ By default, `render()` updates the scene's world matrices before extraction, as
148
+ Three renderers normally do. Editors that already track transform dirtiness can
149
+ avoid that full traversal by synchronizing dirty subtrees and then disabling the
150
+ automatic renderer update:
151
+
152
+ ```ts
153
+ scene.matrixWorldAutoUpdate = false;
154
+
155
+ function synchronizeTransform(object: THREE.Object3D): void {
156
+ // Recompose this object's local matrix when position/quaternion/scale changed.
157
+ if (object.matrixAutoUpdate) object.updateMatrix();
158
+
159
+ // Update its ancestors as needed, then propagate the new world transform to
160
+ // descendants. Call once for each highest dirty root, not for every child.
161
+ object.updateWorldMatrix(true, true);
162
+ }
163
+ ```
164
+
165
+ A camera parented into the scene is covered by its dirty subtree update. For an
166
+ unparented camera, either leave `camera.matrixWorldAutoUpdate` enabled or disable
167
+ it and call `camera.updateMatrixWorld()` after changing its transform. The same
168
+ manual synchronization rule applies to directional and spot-light targets whose
169
+ `matrixWorldAutoUpdate` has been disabled.
170
+
171
+ ## Static GPU Visibility
172
172
 
173
173
  For immutable environment content, snapshot the authored Three objects once and remove
174
174
  the source root from the dynamic scene. The static path supports indexed opaque
package/dist/index.d.ts CHANGED
@@ -771,6 +771,11 @@ declare class WebGpuRenderer {
771
771
  setProjectionJitter(x: number, y: number): void;
772
772
  clearProjectionJitter(): void;
773
773
  getLastFrameProfile(): RendererFrameProfile | null;
774
+ /**
775
+ * Invalidates temporal data when this renderer starts presenting a
776
+ * different scene/view while preserving all reusable GPU resource caches.
777
+ */
778
+ resetViewHistory(): void;
774
779
  setHiZOcclusionCullingEnabled(enabled: boolean): void;
775
780
  getHiZOcclusionCullingEnabled(): boolean;
776
781
  getHiZOcclusionCullingActive(): boolean;