@needle-tools/engine 3.6.0-alpha.2 → 3.6.0-alpha.3

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 (42) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/needle-engine.js +3336 -3300
  3. package/dist/needle-engine.light.js +7805 -7769
  4. package/dist/needle-engine.light.min.js +101 -101
  5. package/dist/needle-engine.light.umd.cjs +102 -102
  6. package/dist/needle-engine.min.js +112 -112
  7. package/dist/needle-engine.umd.cjs +111 -111
  8. package/lib/engine/engine_context.js +9 -6
  9. package/lib/engine/engine_context.js.map +1 -1
  10. package/lib/engine/engine_context_registry.d.ts +3 -2
  11. package/lib/engine/engine_context_registry.js +8 -3
  12. package/lib/engine/engine_context_registry.js.map +1 -1
  13. package/lib/engine/engine_element.js +21 -7
  14. package/lib/engine/engine_element.js.map +1 -1
  15. package/lib/engine/engine_scenetools.js +2 -5
  16. package/lib/engine/engine_scenetools.js.map +1 -1
  17. package/lib/engine/engine_types.d.ts +17 -1
  18. package/lib/engine/engine_types.js.map +1 -1
  19. package/lib/engine-components/AnimationUtils.d.ts +1 -0
  20. package/lib/engine-components/AnimationUtils.js +12 -0
  21. package/lib/engine-components/AnimationUtils.js.map +1 -0
  22. package/lib/engine-components/CameraUtils.js +3 -0
  23. package/lib/engine-components/CameraUtils.js.map +1 -1
  24. package/lib/engine-components/Skybox.js +10 -3
  25. package/lib/engine-components/Skybox.js.map +1 -1
  26. package/lib/engine-components/api.d.ts +2 -0
  27. package/lib/engine-components/api.js +2 -0
  28. package/lib/engine-components/api.js.map +1 -1
  29. package/lib/needle-engine.d.ts +0 -1
  30. package/lib/needle-engine.js +0 -1
  31. package/lib/needle-engine.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/engine/engine_context.ts +11 -8
  34. package/src/engine/engine_context_registry.ts +10 -4
  35. package/src/engine/engine_element.ts +26 -9
  36. package/src/engine/engine_scenetools.ts +2 -6
  37. package/src/engine/engine_types.ts +17 -2
  38. package/src/engine-components/AnimationUtils.ts +14 -0
  39. package/src/engine-components/CameraUtils.ts +3 -0
  40. package/src/engine-components/Skybox.ts +10 -4
  41. package/src/engine-components/api.ts +5 -1
  42. package/src/needle-engine.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAc,YAAY,EAAW,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAG9E,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAEtC,2BAA2B,CAAC,cAAc,CAAC,CAAC;AAC5C,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;AAEjD,SAAS,2BAA2B,CAAC,OAAiB,EAAE,GAAW,EAAE,MAAe,EAAE,WAAoB,EAAE,SAA+C;IACvJ,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE;QAC1B,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO;QACzC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;QACzD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,0BAA0B,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;QACpC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC;QACvE,6BAA6B,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACP,CAAC;AAED,eAAe,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAE,EAAE;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAE9E,IAAI,WAAW,EAAE;QACb,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,WAAW,CAAC,CAAC;QACxE,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;KAClF;IACD,IAAI,gBAAgB,EAAE;QAClB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,gBAAgB,CAAC,CAAC;QAClF,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;KAC5F;AACL,CAAC,CAAC,CAAC;AAGH,SAAS,iBAAiB;IACtB,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC;QAC5C,UAAU,CAAC,+BAA+B,CAAC,GAAG,IAAI,KAAK,EAA8C,CAAC;IAC1G,OAAO,UAAU,CAAC,+BAA+B,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC7C,IAAI,KAAK,EAAE;QACP,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,GAAG,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC,OAAO,CAAC;KACxB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,SAAS,qBAAqB,CAAC,GAAW,EAAE,OAAyB;IACjE,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,yCAAyC;IACzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,KAAK,CAAC,KAAK,EAAE,CAAC;KACjB;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IAIvC,GAAG,CAAU;IAGb,SAAS,GAAY,IAAI,CAAC;IAG1B,UAAU,GAAY,IAAI,CAAC;IAG3B,WAAW,GAAY,IAAI,CAAC;IAE5B,+EAA+E;IAC/E,eAAe,GAAY,IAAI,CAAC;IAExB,OAAO,CAA0C;IACjD,QAAQ,CAAU;IAClB,sBAAsB,CAAW;IACjC,gBAAgB,GAAmB,IAAI,CAAC;IACxC,eAAe,GAAQ,IAAI,CAAC;IAEpC,QAAQ;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;YACzD,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;SAC3C;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,6DAA6D;QAC7D,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC;IACxD,CAAC;IAEO,mBAAmB;QACvB,IAAI,IAAI,CAAC,eAAe;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAA8B;QAC1C,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC7H,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7E;QAED,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;SACV;aACI;YACD,IAAI,CAAC,sBAAsB,EAAE,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;SAC3C;QACD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,yBAAyB;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,OAAO,YAAY,aAAa,EAAE;YACvC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;SAClC;QACD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,GAAW;QACjC,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,MAAM;YAAE,OAAO,MAAM,MAAM,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,YAAY,SAAS,CAAC;gBACpC,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;SACtC;aACI,IAAI,KAAK,EAAE;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,YAAY,UAAU,CAAC;gBACrC,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;SACvC;aACI;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,YAAY,aAAa,CAAC;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;SAC1C;QAED,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChD,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,WAAW;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAClD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAE1B,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM;YACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAE3D,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,KAAK,SAAS;YACpE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;IACxG,CAAC;IAGO,aAAa,CAAO;IACpB,SAAS,CAAO;IAEhB,kBAAkB;QACtB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAE/B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAY,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC5B,IAAI,CAAC,CAAC,CAAC,YAAY;gBAAE,OAAO;YAC5B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;gBACrC,kDAAkD;gBAClD,0CAA0C;gBAC1C,yCAAyC;gBACzC,6BAA6B;gBAC7B,IAAI,IAAI,KAAK,eAAe,EAAE;oBAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;iBACtB;aACJ;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAY,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,CAAC,YAAY;gBAAE,OAAO;YAC5B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;gBACrC,IAAI,IAAI,KAAK,eAAe,EAAE;oBAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzC,IAAI,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAClC,IAAI,IAAI,GAAG,IAAI,MAAM,CAAC,iDAAiD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;oBACjG,IAAI,CAAC,IAAI,EAAE;wBACP,IAAI,GAAG,IAAI,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;qBAC/E;oBACD,IAAI,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7B,IAAI,IAAI,EAAE;wBACN,MAAM,MAAM,GAAG,uDAAuD,GAAG,IAAI,GAAG,SAAS,CAAC;wBAC1F,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;qBAC1B;;wBACI,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;iBAC5E;aACJ;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;CACJ;AA/KG;IAFC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;IACrD,YAAY,CAAC,GAAG,CAAC;yCACL;AAGb;IADC,YAAY,EAAE;+CACW;AAG1B;IADC,YAAY,EAAE;gDACY;AAG3B;IADC,YAAY,EAAE;iDACa"}
1
+ {"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,5 @@ export * from "./timeline";
9
9
  export * from "./ui";
10
10
  export * from "./webxr";
11
11
  export { ClearFlags } from "./Camera";
12
+ import "./CameraUtils";
13
+ import "./AnimationUtils";
@@ -10,4 +10,6 @@ export * from "./timeline";
10
10
  export * from "./ui";
11
11
  export * from "./webxr";
12
12
  export { ClearFlags } from "./Camera";
13
+ import "./CameraUtils";
14
+ import "./AnimationUtils";
13
15
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine-components/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC9D,cAAc,sBAAsB,CAAC;AAErC,sDAAsD;AACtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAA;AAExB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AACpB,cAAc,SAAS,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine-components/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC9D,cAAc,sBAAsB,CAAC;AAErC,sDAAsD;AACtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAA;AAExB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AACpB,cAAc,SAAS,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGrC,OAAO,eAAe,CAAA;AACtB,OAAO,kBAAkB,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import "./engine/engine_element";
2
2
  import "./engine/engine_setup";
3
- import "./engine-components/CameraUtils";
4
3
  export * from "./engine/api";
5
4
  export * from "./engine-components/api";
6
5
  export * from "./engine-components-experimental/api";
@@ -2,7 +2,6 @@ import { makeErrorsVisibleForDevelopment } from "./engine/debug/debug_overlay";
2
2
  makeErrorsVisibleForDevelopment();
3
3
  import "./engine/engine_element";
4
4
  import "./engine/engine_setup";
5
- import "./engine-components/CameraUtils";
6
5
  export * from "./engine/api";
7
6
  export * from "./engine-components/api";
8
7
  export * from "./engine-components-experimental/api";
@@ -1 +1 @@
1
- {"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../src/needle-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,+BAA+B,EAAE,CAAC;AAElC,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iCAAiC,CAAA;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AAErD,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;IACpC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;CACrD;AACD,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC9B,SAAS,cAAc,CAAC,GAAW;IAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;KAC1B;AACL,CAAC;AACD,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAC3D,cAAc,CAAC,SAAS,CAAC,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,cAAc,CAAC,UAAU,CAAC,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;IACzD,QAAQ,MAAM,EAAE;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACP,SAAS;QACb;YACI,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM;KACb;CACJ;AAED,wBAAwB;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;IACtB,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;CAC/B;;IACI,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAIjD,OAAO,yBAAyB,CAAC"}
1
+ {"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../src/needle-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,+BAA+B,EAAE,CAAC;AAElC,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AAErD,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;IACpC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;CACrD;AACD,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC9B,SAAS,cAAc,CAAC,GAAW;IAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;KAC1B;AACL,CAAC;AACD,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAC3D,cAAc,CAAC,SAAS,CAAC,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,cAAc,CAAC,UAAU,CAAC,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;IACzD,QAAQ,MAAM,EAAE;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACP,SAAS;QACb;YACI,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM;KACb;CACJ;AAED,wBAAwB;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;IACtB,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;CAC/B;;IACI,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAIjD,OAAO,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "3.6.0-alpha.2",
3
+ "version": "3.6.0-alpha.3",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in",
5
5
  "main": "dist/needle-engine.umd.cjs",
6
6
  "type": "module",
@@ -25,7 +25,7 @@ import { Application } from './engine_application';
25
25
  import { LightDataRegistry, ILightDataRegistry } from './engine_lightdata';
26
26
  import { PlayerViewManager } from './engine_playerview';
27
27
 
28
- import { CoroutineData, ICamera, IComponent, IContext, ILight } from "./engine_types"
28
+ import { CoroutineData, GLTF, ICamera, IComponent, IContext, ILight } from "./engine_types"
29
29
  import { destroy, foreachComponent } from './engine_gameobject';
30
30
  import { ContextEvent, ContextRegistry } from './engine_context_registry';
31
31
  import { delay } from './engine_utils';
@@ -379,10 +379,8 @@ export class Context implements IContext {
379
379
  destroy(this.scene, true, true);
380
380
  this.scene = new Scene();
381
381
  }
382
- if (this.renderer) {
383
- this.renderer.setClearAlpha(0);
384
- this.renderer.clear();
385
- }
382
+ // We do not want to clear the renderer here because when switching src we want to keep the last rendered frame in case the loading screen is not visible
383
+ // if a user wants to see the background they can still call setClearAlpha(0) and clear manually
386
384
  }
387
385
 
388
386
  dispose() {
@@ -394,6 +392,10 @@ export class Context implements IContext {
394
392
  private internalOnDestroy() {
395
393
  this.clear();
396
394
  this.renderer?.setAnimationLoop(null);
395
+ if (this.renderer) {
396
+ this.renderer.setClearAlpha(0);
397
+ this.renderer.clear();
398
+ }
397
399
  if (!this.isManagedExternally) {
398
400
  this.renderer?.dispose();
399
401
  }
@@ -554,7 +556,7 @@ export class Context implements IContext {
554
556
  }
555
557
 
556
558
 
557
- private async internalOnCreate(buildScene?: (context: Context, opts?: LoadingOptions) => Promise<void>, opts?: LoadingOptions) {
559
+ private async internalOnCreate(buildScene?: (context: Context, opts?: LoadingOptions) => Promise<GLTF[] | void>, opts?: LoadingOptions) {
558
560
 
559
561
  this.clear();
560
562
  // stop the animation loop if its running during creation
@@ -568,10 +570,11 @@ export class Context implements IContext {
568
570
 
569
571
  // load and create scene
570
572
  let prepare_succeeded = true;
573
+ let loadedFiles: GLTF[] | undefined | void = undefined;
571
574
  try {
572
575
  Context.Current = this;
573
576
  if (buildScene)
574
- await buildScene(this, opts);
577
+ loadedFiles = await buildScene(this, opts);
575
578
  }
576
579
  catch (err) {
577
580
  console.error(err);
@@ -678,7 +681,7 @@ export class Context implements IContext {
678
681
  this._isCreating = false;
679
682
  this.restartRenderLoop();
680
683
  this._dispatchReadyAfterFrame = true;
681
- return ContextRegistry.dispatchCallback(ContextEvent.ContextCreated, this);
684
+ return ContextRegistry.dispatchCallback(ContextEvent.ContextCreated, this, { files: loadedFiles});
682
685
  }
683
686
 
684
687
  private _accumulatedTime = 0;
@@ -1,4 +1,4 @@
1
- import { IComponent, IContext } from "./engine_types";
1
+ import { IComponent, IContext, LoadedGLTF } from "./engine_types";
2
2
 
3
3
  export enum ContextEvent {
4
4
  /** called when the context is registered to the registry, the context is not fully initialized at this point */
@@ -13,6 +13,7 @@ export enum ContextEvent {
13
13
  export type ContextEventArgs = {
14
14
  event: ContextEvent;
15
15
  context: IContext;
16
+ files?: LoadedGLTF[]
16
17
  }
17
18
 
18
19
  export type ContextCallback = (evt: ContextEventArgs) => void | Promise<any> | IComponent;
@@ -62,12 +63,17 @@ export class ContextRegistry {
62
63
  }
63
64
 
64
65
  /** @internal */
65
- static dispatchCallback(evt: ContextEvent, context: IContext) {
66
+ static dispatchCallback(evt: ContextEvent, context: IContext, extras?: object) {
66
67
  if (!this._callbacks[evt]) return true;
67
- const args = { event: evt, context }
68
+ const cbArgs = { event: evt, context }
69
+ if (extras) {
70
+ for (const key in extras) {
71
+ cbArgs[key] = extras[key];
72
+ }
73
+ }
68
74
  const promises = new Array<Promise<any>>();
69
75
  this._callbacks[evt].forEach(cb => {
70
- const res = cb(args)
76
+ const res = cb(cbArgs)
71
77
  if (res instanceof Promise) promises.push(res);
72
78
  });
73
79
  return Promise.all(promises);
@@ -6,10 +6,11 @@ import { getParam } from "./engine_utils";
6
6
  import { setDracoDecoderPath, setDracoDecoderType, setKtx2TranscoderPath } from "./engine_loaders";
7
7
  import { getLoader, registerLoader } from "../engine/engine_gltf";
8
8
  import { NeedleGltfLoader } from "./engine_scenetools";
9
- import { INeedleEngineComponent } from "./engine_types";
9
+ import { GLTF, INeedleEngineComponent, LoadedGLTF } from "./engine_types";
10
10
  import { isLocalNetwork } from "./engine_networking_utils";
11
11
  import { showBalloonWarning } from "./debug";
12
12
  import { destroy } from "./engine_gameobject";
13
+ import { ContextRegistry } from "./engine_context_registry";
13
14
 
14
15
  //
15
16
  // registering loader here too to make sure it's imported when using engine via vanilla js
@@ -119,7 +120,7 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
119
120
  }
120
121
 
121
122
  disconnectedCallback() {
122
- if(debug) console.warn("<needle-engine> disconnected");
123
+ if (debug) console.warn("<needle-engine> disconnected");
123
124
  this._context?.dispose();
124
125
  }
125
126
 
@@ -208,6 +209,7 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
208
209
  if (debug) console.log(filesToLoad);
209
210
 
210
211
  let loadFunction: any = null;
212
+ let loadedFiles: Array<LoadedGLTF> = [];
211
213
 
212
214
  if (filesToLoad?.length > 0) {
213
215
  loadFunction = async (ctx: Context) => {
@@ -251,17 +253,24 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
251
253
  progressEventArgs.detail.totalProgress01 = this._loadingProgress01;
252
254
  this.dispatchEvent(new CustomEvent("progress", progressEventArgs));
253
255
  });
254
- const obj = res?.scene;
255
- if (obj) {
256
- // if the loading ID changed but the scene has already been loaded we want to dispose it
257
- if (this._loadId !== loadId) {
258
- destroy(obj, true, true)
259
- return;
256
+ if (res) {
257
+ loadedFiles.push({
258
+ src: url,
259
+ file: res as GLTF
260
+ });
261
+ const obj = res.scene;
262
+ if (obj) {
263
+ // if the loading ID changed but the scene has already been loaded we want to dispose it
264
+ if (this._loadId !== loadId) {
265
+ destroy(obj, true, true)
266
+ return;
267
+ }
268
+ GameObject.add(obj, ctx.scene, ctx);
260
269
  }
261
- GameObject.add(obj, ctx.scene, ctx);
262
270
  }
263
271
  }
264
272
  if (this._loadId !== loadId) return;
273
+ return loadedFiles;
265
274
  };
266
275
  }
267
276
  if (!loadFunction) {
@@ -312,6 +321,14 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
312
321
  filesToLoad = src.split(",");
313
322
  }
314
323
  else filesToLoad = [src];
324
+
325
+ // filter out invalid or empty strings
326
+ for (let i = filesToLoad.length - 1; i >= 0; i--) {
327
+ const file = filesToLoad[i];
328
+ if (file === "null" || file === "undefined" || file?.length <= 0)
329
+ filesToLoad.splice(i, 1);
330
+ }
331
+
315
332
  return filesToLoad;
316
333
  }
317
334
 
@@ -89,10 +89,6 @@ async function handleLoadedGltf(context: Context, gltfId: string, gltf, seed: nu
89
89
  if (printGltf)
90
90
  console.warn("glTF", gltfId, gltf);
91
91
  await getLoader().createBuiltinComponents(context, gltfId, gltf, seed, componentsExtension);
92
-
93
- // load and assign animation
94
- // we still need this for Animation component
95
- // findAnimationsLate(context, gltf, context.new_scripts_pre_setup_callbacks, false);
96
92
  }
97
93
 
98
94
  export function createGLTFLoader(url: string, context: Context) {
@@ -174,8 +170,8 @@ export function findAnimationsLate(_context: Context, gltf, callbackarray, allow
174
170
  }
175
171
 
176
172
  export function findAnimations(gltf: GLTF, allowAddingAnimator: boolean = false) {
177
- // console.log(gltf);
178
- if (!gltf || !gltf.animations || !gltf.scene) return;
173
+ console.log(gltf);
174
+ if (!gltf || !gltf.animations) return;
179
175
 
180
176
  if (!allowAddingAnimator) {
181
177
  // we only need to search if any animation component is in the scene
@@ -1,9 +1,24 @@
1
1
  import { RenderTexture } from "./engine_texture";
2
- import { Camera, Color, Material, Object3D, Vector3, Quaternion, Ray, Scene, Renderer, WebGLRenderer, Mesh } from "three";
2
+ import { Camera, Color, Material, Object3D, Vector3, Quaternion, Ray, Scene, Renderer, WebGLRenderer, Mesh, AnimationClip } from "three";
3
3
  import { RGBAColor } from "../engine-components/js-extensions/RGBAColor";
4
4
  import { CollisionDetectionMode, PhysicsMaterial, RigidbodyConstraints } from "./engine_physics.types";
5
5
  import { CircularBuffer } from "./engine_utils";
6
6
 
7
+ export type GLTF = {
8
+ asset: { generator: string, version: string }
9
+ animations: AnimationClip[];
10
+ cameras: Camera[];
11
+ scene: Object3D;
12
+ scenes: Object3D[];
13
+ userData: object;
14
+ parser: any;
15
+ }
16
+
17
+ export type LoadedGLTF = {
18
+ src: string;
19
+ file: GLTF;
20
+ }
21
+
7
22
  /** used to find data registered via gltf files e.g. find lightmaps for a Renderer component that were shipped inside a gltf */
8
23
  export declare type SourceIdentifier = string;
9
24
 
@@ -412,5 +427,5 @@ export interface IPhysicsEngine {
412
427
  addFixedJoint(body1: IRigidbody, body2: IRigidbody);
413
428
  addHingeJoint(body1: IRigidbody, body2: IRigidbody, anchor: Vec3, axis: Vec3);
414
429
 
415
- debugRenderColliders : boolean;
430
+ debugRenderColliders: boolean;
416
431
  }
@@ -0,0 +1,14 @@
1
+ import { GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
2
+ import { ContextEvent, ContextRegistry } from "../engine/engine_context_registry.js";
3
+ import { findAnimations } from "../engine/engine_scenetools.js";
4
+
5
+
6
+ ContextRegistry.registerCallback(ContextEvent.ContextCreated, args => {
7
+ const autoplay = args.context.domElement.getAttribute("autoplay");
8
+ if (autoplay !== undefined && (autoplay === "" || autoplay === "true")) {
9
+ if (args.files) {
10
+ for (const file of args.files)
11
+ findAnimations(file.file as GLTF, true);
12
+ }
13
+ }
14
+ });
@@ -52,6 +52,9 @@ ContextRegistry.registerCallback(ContextEvent.ContextCreated, (evt) => {
52
52
  if (cameraObject) {
53
53
  const orbit = getOrAddComponent(cameraObject, OrbitControls) as OrbitControls;
54
54
  orbit.sourceId = "unknown";
55
+ const autoRotate = evt.context.domElement.getAttribute("auto-rotate");
56
+ orbit.autoRotate = autoRotate !== undefined && (autoRotate === "" || autoRotate === "true")
57
+ orbit.autoRotateSpeed = 0.5;
55
58
  const ctx = evt.context;
56
59
  const fitCamera = () => {
57
60
  ctx.pre_render_callbacks.splice(ctx.pre_render_callbacks.indexOf(fitCamera), 1);
@@ -17,7 +17,6 @@ registerObservableAttribute("environment-image");
17
17
 
18
18
  function createRemoteSkyboxComponent(context: IContext, url: string, skybox: boolean, environment: boolean, attribute: "skybox-image" | "environment-image") {
19
19
  const remote = new RemoteSkybox();
20
- remote.url = url;
21
20
  remote.allowDrop = false;
22
21
  remote.allowNetworking = false;
23
22
  remote.background = skybox;
@@ -33,21 +32,29 @@ function createRemoteSkyboxComponent(context: IContext, url: string, skybox: boo
33
32
  if (debug) console.log("Destroyed attribute remote skybox", attribute);
34
33
  removeAttributeChangeCallback(context.domElement, attribute, urlChanged);
35
34
  });
35
+ return remote.setSkybox(url);
36
36
  }
37
37
 
38
38
  ContextRegistry.addContextCreatedCallback((args) => {
39
39
  const context = args.context;
40
40
  const skyboxImage = context.domElement.getAttribute("skybox-image");
41
41
  const environmentImage = context.domElement.getAttribute("environment-image");
42
+ let promises = new Array<Promise<any>>();
42
43
 
43
44
  if (skyboxImage) {
44
45
  if (debug) console.log("Creating remote skybox to load " + skyboxImage);
45
- createRemoteSkyboxComponent(context, skyboxImage, true, false, "skybox-image");
46
+ const promise = createRemoteSkyboxComponent(context, skyboxImage, true, false, "skybox-image");
47
+ promises.push(promise);
46
48
  }
47
49
  if (environmentImage) {
48
50
  if (debug) console.log("Creating remote environment to load " + environmentImage);
49
- createRemoteSkyboxComponent(context, environmentImage, false, true, "environment-image");
51
+ const promise = createRemoteSkyboxComponent(context, environmentImage, false, true, "environment-image");
52
+ promises.push(promise);
50
53
  }
54
+ if (promises.length > 0) {
55
+ return Promise.all(promises);
56
+ }
57
+ return Promise.resolve();
51
58
  });
52
59
 
53
60
 
@@ -192,7 +199,6 @@ export class RemoteSkybox extends Behaviour {
192
199
  this._prevBackground = this.context.scene.background;
193
200
  if (this.context.scene.environment !== envMap)
194
201
  this._prevEnvironment = this.context.scene.environment;
195
-
196
202
  if (debug) console.log("Set remote skybox", this.url);
197
203
  if (this.environment)
198
204
  this.context.scene.environment = envMap;
@@ -12,4 +12,8 @@ export * from "./timeline"
12
12
  export * from "./ui"
13
13
  export * from "./webxr"
14
14
 
15
- export { ClearFlags } from "./Camera"
15
+ export { ClearFlags } from "./Camera"
16
+
17
+
18
+ import "./CameraUtils"
19
+ import "./AnimationUtils"
@@ -3,8 +3,6 @@ makeErrorsVisibleForDevelopment();
3
3
 
4
4
  import "./engine/engine_element";
5
5
  import "./engine/engine_setup";
6
- import "./engine-components/CameraUtils"
7
-
8
6
  export * from "./engine/api";
9
7
  export * from "./engine-components/api";
10
8
  export * from "./engine-components-experimental/api";