@needle-tools/engine 3.0.1-alpha.4 → 3.0.1-alpha.5

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 (82) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/needle-engine.js +24914 -23954
  3. package/dist/needle-engine.min.js +443 -443
  4. package/dist/needle-engine.umd.cjs +440 -440
  5. package/lib/engine/api.d.ts +1 -0
  6. package/lib/engine/api.js +1 -0
  7. package/lib/engine/api.js.map +1 -1
  8. package/lib/engine/debug/debug_overlay.js +3 -0
  9. package/lib/engine/debug/debug_overlay.js.map +1 -1
  10. package/lib/engine/engine_context.d.ts +2 -0
  11. package/lib/engine/engine_context.js +3 -0
  12. package/lib/engine/engine_context.js.map +1 -1
  13. package/lib/engine/engine_element.d.ts +1 -1
  14. package/lib/engine/engine_element.js +2 -2
  15. package/lib/engine/engine_element.js.map +1 -1
  16. package/lib/engine/engine_element_loading.d.ts +7 -2
  17. package/lib/engine/engine_element_loading.js +67 -22
  18. package/lib/engine/engine_element_loading.js.map +1 -1
  19. package/lib/engine/engine_license.d.ts +1 -1
  20. package/lib/engine/engine_license.js +6 -19
  21. package/lib/engine/engine_license.js.map +1 -1
  22. package/lib/engine/engine_networking.d.ts +1 -0
  23. package/lib/engine/engine_networking.js +3 -0
  24. package/lib/engine/engine_networking.js.map +1 -1
  25. package/lib/engine-components/AudioSource.d.ts +2 -3
  26. package/lib/engine-components/AudioSource.js +26 -31
  27. package/lib/engine-components/AudioSource.js.map +1 -1
  28. package/lib/engine-components/CameraUtils.js.map +1 -1
  29. package/lib/engine-components/ParticleSystem.js +15 -6
  30. package/lib/engine-components/ParticleSystem.js.map +1 -1
  31. package/lib/engine-components/ParticleSystemModules.d.ts +1 -0
  32. package/lib/engine-components/ParticleSystemModules.js +22 -11
  33. package/lib/engine-components/ParticleSystemModules.js.map +1 -1
  34. package/lib/engine-components/ScreenCapture.d.ts +1 -0
  35. package/lib/engine-components/ScreenCapture.js +145 -46
  36. package/lib/engine-components/ScreenCapture.js.map +1 -1
  37. package/lib/engine-components/SyncedRoom.js +1 -2
  38. package/lib/engine-components/SyncedRoom.js.map +1 -1
  39. package/lib/engine-components/VideoPlayer.d.ts +3 -0
  40. package/lib/engine-components/VideoPlayer.js +29 -5
  41. package/lib/engine-components/VideoPlayer.js.map +1 -1
  42. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -0
  43. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +15 -1
  44. package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
  45. package/lib/engine-components/postprocessing/VolumeParameter.d.ts +1 -0
  46. package/lib/engine-components/postprocessing/VolumeParameter.js +4 -0
  47. package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
  48. package/lib/engine-components/timeline/PlayableDirector.d.ts +3 -1
  49. package/lib/engine-components/timeline/PlayableDirector.js +40 -2
  50. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  51. package/lib/engine-components/timeline/TimelineTracks.d.ts +2 -2
  52. package/lib/engine-components/timeline/TimelineTracks.js +12 -14
  53. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  54. package/lib/engine-components/ui/Text.js +0 -1
  55. package/lib/engine-components/ui/Text.js.map +1 -1
  56. package/lib/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +3 -4
  58. package/plugins/vite/index.js +2 -0
  59. package/plugins/vite/license.js +24 -0
  60. package/src/engine/api.ts +1 -1
  61. package/src/engine/codegen/register_types.js +2 -2
  62. package/src/engine/debug/debug_overlay.ts +2 -0
  63. package/src/engine/engine_context.ts +4 -1
  64. package/src/engine/engine_element.ts +2 -2
  65. package/src/engine/engine_element_loading.ts +68 -22
  66. package/src/engine/engine_license.ts +6 -17
  67. package/src/engine/engine_networking.ts +4 -0
  68. package/src/engine-components/AudioSource.ts +28 -37
  69. package/src/engine-components/CameraUtils.ts +2 -2
  70. package/src/engine-components/ParticleSystem.ts +18 -6
  71. package/src/engine-components/ParticleSystemModules.ts +23 -11
  72. package/src/engine-components/ScreenCapture.ts +149 -49
  73. package/src/engine-components/SyncedRoom.ts +1 -2
  74. package/src/engine-components/VideoPlayer.ts +27 -5
  75. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +18 -6
  76. package/src/engine-components/postprocessing/VolumeParameter.ts +5 -0
  77. package/src/engine-components/timeline/PlayableDirector.ts +38 -2
  78. package/src/engine-components/timeline/TimelineTracks.ts +13 -16
  79. package/src/engine-components/ui/Text.ts +0 -1
  80. package/lib/engine/codegen/license.json +0 -1
  81. package/license-2447137e.js +0 -4
  82. package/src/engine/codegen/license.json +0 -1
@@ -657,6 +657,9 @@ export class AudioTrackHandler extends TrackHandler {
657
657
  }
658
658
 
659
659
  private static _currentlyLoading: Map<string, Promise<AudioBuffer | null>> = new Map();
660
+ public static dispose() {
661
+ AudioTrackHandler._currentlyLoading.clear();
662
+ }
660
663
 
661
664
  private handleAudioLoading(model: Models.ClipModel, audio: THREE.Audio): Promise<AudioBuffer | null> | null {
662
665
  if (!this._audioLoader) {
@@ -665,8 +668,12 @@ export class AudioTrackHandler extends TrackHandler {
665
668
  // TODO: maybe we should cache the loaders / buffers here by path
666
669
  const path = this.getAudioFilePath(model.asset.clip);
667
670
 
668
- if(AudioTrackHandler._currentlyLoading.get(path)) {
669
- return AudioTrackHandler._currentlyLoading.get(path)!;
671
+ if (AudioTrackHandler._currentlyLoading.get(path)) {
672
+ const promise = AudioTrackHandler._currentlyLoading.get(path)!
673
+ promise.then((buffer) => {
674
+ if (buffer) audio.setBuffer(buffer);
675
+ });
676
+ return promise;
670
677
  }
671
678
 
672
679
  if (debug) console.warn("LOAD audio track", path, this.director.sourceId);
@@ -724,23 +731,13 @@ export class ControlTrackHandler extends TrackHandler {
724
731
  models: Array<Models.ClipModel> = [];
725
732
  timelines: Array<PlayableDirector | null> = [];
726
733
 
727
- private static resolved: { [key: string]: THREE.Object3D } = {};
728
-
729
- resolveSourceObjects(context: Context) {
734
+ resolveSourceObjects(_context: Context) {
730
735
  for (let i = this.models.length - 1; i >= 0; i--) {
731
736
  const model = this.models[i];
732
737
  const asset = model.asset as Models.ControlClipModel;
733
- if (typeof asset.sourceObject === "string") {
734
- const key = asset.sourceObject;
735
- if (ControlTrackHandler.resolved[key]) {
736
- asset.sourceObject = ControlTrackHandler.resolved[key];
737
- }
738
- else {
739
- asset.sourceObject = GameObject.findByGuid(key, context.scene) as THREE.Object3D
740
- ControlTrackHandler.resolved[key] = asset.sourceObject;
741
- }
742
- }
743
- if (!asset.sourceObject) {
738
+
739
+ if (!asset.sourceObject || typeof asset.sourceObject !== "object") {
740
+ console.log("no source object, removing model", i, asset);
744
741
  this.models.splice(i, 1);
745
742
  continue;
746
743
  }
@@ -176,7 +176,6 @@ export class Text extends Graphic {
176
176
  fontSize: fontSize,
177
177
  fontKerning: "normal",
178
178
  };
179
- this.font = this.font?.toLocaleLowerCase();
180
179
  this.setFont(textOpts, this.fontStyle);
181
180
  return textOpts;
182
181
  }
@@ -1 +0,0 @@
1
- {}
@@ -1,4 +0,0 @@
1
- const e = {};
2
- export {
3
- e as default
4
- };
@@ -1 +0,0 @@
1
- {}