@needle-tools/engine 4.5.0-alpha.3 → 4.5.0-alpha.4

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.
Files changed (29) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/dist/{needle-engine.bundle-ef2b8438.umd.cjs → needle-engine.bundle-1ea82d1b.umd.cjs} +74 -73
  3. package/dist/{needle-engine.bundle-9fe9a394.light.umd.cjs → needle-engine.bundle-5799046c.light.umd.cjs} +74 -73
  4. package/dist/{needle-engine.bundle-1b8f44f4.js → needle-engine.bundle-613ac05e.js} +923 -936
  5. package/dist/{needle-engine.bundle-d710d96f.light.js → needle-engine.bundle-82027067.light.js} +923 -936
  6. package/dist/{needle-engine.bundle-56f095f1.light.min.js → needle-engine.bundle-cb8d3ee9.light.min.js} +74 -73
  7. package/dist/{needle-engine.bundle-baacde19.min.js → needle-engine.bundle-e8936122.min.js} +74 -73
  8. package/dist/needle-engine.js +24 -24
  9. package/dist/needle-engine.light.js +24 -24
  10. package/dist/needle-engine.light.min.js +1 -1
  11. package/dist/needle-engine.light.umd.cjs +1 -1
  12. package/dist/needle-engine.min.js +1 -1
  13. package/dist/needle-engine.umd.cjs +1 -1
  14. package/lib/engine/engine_components.js +6 -14
  15. package/lib/engine/engine_components.js.map +1 -1
  16. package/lib/engine/engine_loaders.callbacks.d.ts +43 -9
  17. package/lib/engine/engine_loaders.callbacks.js +42 -12
  18. package/lib/engine/engine_loaders.callbacks.js.map +1 -1
  19. package/lib/engine/engine_loaders.js +18 -15
  20. package/lib/engine/engine_loaders.js.map +1 -1
  21. package/lib/engine/engine_utils_format.d.ts +5 -5
  22. package/lib/engine/engine_utils_format.js +31 -31
  23. package/lib/engine/engine_utils_format.js.map +1 -1
  24. package/package.json +1 -1
  25. package/plugins/vite/dependencies.js +1 -1
  26. package/src/engine/engine_components.ts +4 -12
  27. package/src/engine/engine_loaders.callbacks.ts +63 -17
  28. package/src/engine/engine_loaders.ts +17 -15
  29. package/src/engine/engine_utils_format.ts +45 -34
package/CHANGELOG.md CHANGED
@@ -4,13 +4,32 @@ All notable changes to this package will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [4.5.0-alpha.2] - 2025-05-09
7
+ ## [4.5.0-alpha.4] - 2025-05-09
8
8
  - Add: `NeedleEngineModelLoader` namespace with methods to provide custom file loaders to load unsupported 3D model formats. For example to load STL files:
9
9
  ```ts
10
10
  import { NeedleEngineModelLoader } from "@needle-tools/engine";
11
11
 
12
+ // Register a callback for determining our custom loader mimetype
13
+ NeedleEngineModelLoader.onDetermineModelMimetype(args => {
14
+ // check if the mimetype is already provided by the server
15
+ if (args.contentType === "model/stl") {
16
+ return "model/stl";
17
+ }
18
+ // use URL extension if available
19
+ if (args.url.endsWith(".stl")) {
20
+ return "model/stl";
21
+ }
22
+ // check if first few bytes start with "solid"
23
+ // this is a very naive check, but it works for most cases
24
+ if(args.bytes[0] === 0x73 && args.bytes[1] === 0x74 && args.bytes[2] === 0x6c) {
25
+ return "model/stl";
26
+ }
27
+ return null;
28
+ });
29
+
30
+ // Register a callback for creating our custom loader
12
31
  NeedleEngineModelLoader.onCreateCustomModelLoader(args => {
13
- if (args.filetype === "stl") {
32
+ if (args.mimetype === "model/stl") {
14
33
  const stlLoader = new STLLoader();
15
34
  return stlLoader;
16
35
  }
@@ -23,6 +42,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
23
42
  - Removed: Web component attributes: `loading-background-color`, `loading-style`, `loading-text-color`
24
43
  - Fix: Vite HMR (Hot Module Replacement) working nicely with browser breakpoints and debugging
25
44
  - Fix: Debug stats (`?stats`) showing correct draw calls when using postprocessing
45
+ - Fix: `findObjectOfType` does now also search components on the root scene object
26
46
 
27
47
  ## [4.4.6] - 2025-05-05
28
48
  - Change: Networking disconnect() should reset state + leaveRoom does now reset allowEditing to true