@needle-tools/engine 2.29.0-pre → 2.30.0-pre

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 (85) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/needle-engine.d.ts +44 -8
  3. package/dist/needle-engine.js +347 -343
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +20 -16
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/engine.d.ts +1 -0
  8. package/lib/engine/engine_serialization.d.ts +1 -0
  9. package/lib/engine/engine_serialization.js +1 -0
  10. package/lib/engine/engine_serialization.js.map +1 -1
  11. package/lib/engine/engine_setup.d.ts +5 -0
  12. package/lib/engine/engine_setup.js +6 -0
  13. package/lib/engine/engine_setup.js.map +1 -1
  14. package/lib/engine/engine_utils.d.ts +1 -1
  15. package/lib/engine/engine_utils.js +25 -8
  16. package/lib/engine/engine_utils.js.map +1 -1
  17. package/lib/engine/extensions/NEEDLE_deferred_texture.d.ts +1 -1
  18. package/lib/engine/extensions/NEEDLE_deferred_texture.js +26 -14
  19. package/lib/engine/extensions/NEEDLE_deferred_texture.js.map +1 -1
  20. package/lib/engine/extensions/extension_utils.js +24 -13
  21. package/lib/engine/extensions/extension_utils.js.map +1 -1
  22. package/lib/engine/extensions/extensions.js +3 -1
  23. package/lib/engine/extensions/extensions.js.map +1 -1
  24. package/lib/engine-components/Camera.js +7 -0
  25. package/lib/engine-components/Camera.js.map +1 -1
  26. package/lib/engine-components/OrbitControls.js +2 -1
  27. package/lib/engine-components/OrbitControls.js.map +1 -1
  28. package/lib/engine-components/Renderer.d.ts +1 -0
  29. package/lib/engine-components/Renderer.js +10 -3
  30. package/lib/engine-components/Renderer.js.map +1 -1
  31. package/lib/engine-components/ScreenCapture.d.ts +1 -0
  32. package/lib/engine-components/ScreenCapture.js +265 -1
  33. package/lib/engine-components/ScreenCapture.js.map +1 -1
  34. package/lib/engine-components/SpectatorCamera.js +29 -5
  35. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  36. package/lib/engine-components/SyncedRoom.js +2 -0
  37. package/lib/engine-components/SyncedRoom.js.map +1 -1
  38. package/lib/engine-components/VideoPlayer.d.ts +10 -1
  39. package/lib/engine-components/VideoPlayer.js +64 -15
  40. package/lib/engine-components/VideoPlayer.js.map +1 -1
  41. package/lib/engine-components/Volume.d.ts +4 -0
  42. package/lib/engine-components/Volume.js +44 -3
  43. package/lib/engine-components/Volume.js.map +1 -1
  44. package/lib/engine-components/WebARSessionRoot.d.ts +9 -2
  45. package/lib/engine-components/WebARSessionRoot.js +69 -24
  46. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  47. package/lib/engine-components/WebXR.d.ts +6 -3
  48. package/lib/engine-components/WebXR.js +42 -7
  49. package/lib/engine-components/WebXR.js.map +1 -1
  50. package/lib/engine-components/WebXRAvatar.js +4 -0
  51. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  52. package/lib/engine-components/WebXRController.js +13 -7
  53. package/lib/engine-components/WebXRController.js.map +1 -1
  54. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -0
  55. package/lib/engine-components/ui/CanvasGroup.js +1 -0
  56. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  57. package/lib/engine-components/ui/EventSystem.js +13 -4
  58. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  59. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  60. package/lib/engine-components/ui/Graphic.js +2 -0
  61. package/lib/engine-components/ui/Graphic.js.map +1 -1
  62. package/lib/engine-components/ui/Interfaces.d.ts +2 -0
  63. package/package.json +2 -2
  64. package/src/engine/engine_serialization.ts +3 -1
  65. package/src/engine/engine_setup.ts +6 -0
  66. package/src/engine/engine_utils.ts +34 -8
  67. package/src/engine/extensions/NEEDLE_deferred_texture.ts +25 -19
  68. package/src/engine/extensions/extension_utils.ts +24 -12
  69. package/src/engine/extensions/extensions.ts +3 -2
  70. package/src/engine-components/Camera.ts +9 -1
  71. package/src/engine-components/OrbitControls.ts +2 -1
  72. package/src/engine-components/Renderer.ts +11 -3
  73. package/src/engine-components/ScreenCapture.ts +312 -2
  74. package/src/engine-components/SpectatorCamera.ts +28 -5
  75. package/src/engine-components/SyncedRoom.ts +1 -0
  76. package/src/engine-components/VideoPlayer.ts +97 -21
  77. package/src/engine-components/Volume.ts +47 -4
  78. package/src/engine-components/WebARSessionRoot.ts +78 -28
  79. package/src/engine-components/WebXR.ts +50 -15
  80. package/src/engine-components/WebXRAvatar.ts +5 -0
  81. package/src/engine-components/WebXRController.ts +20 -14
  82. package/src/engine-components/ui/CanvasGroup.ts +2 -0
  83. package/src/engine-components/ui/EventSystem.ts +21 -15
  84. package/src/engine-components/ui/Graphic.ts +3 -0
  85. package/src/engine-components/ui/Interfaces.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../engine-components/OrbitControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../engine-components/OrbitControls.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAEhG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAW,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAGzE,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEM,kBAAkB,CAAC,IAAc;QACpC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAW,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU,GAAY,KAAK,CAAC;IAC5B,eAAe,GAAW,GAAG,CAAC;IAC9B,UAAU,GAAY,IAAI,CAAC;IAC3B,aAAa,GAAY,IAAI,CAAC;IAC9B,aAAa,GAAW,GAAG,CAAC;IAC5B,UAAU,GAAY,IAAI,CAAC;IAC3B,OAAO,GAAW,CAAC,CAAC;IACpB,OAAO,GAAW,QAAQ,CAAC;IAC3B,SAAS,GAAY,IAAI,CAAC;IAE1B,gBAAgB,GAA4B,IAAI,CAAC;IACjD,kBAAkB,GAAW,CAAC,CAAC;IAC/B,kBAAkB,GAAY,IAAI,CAAC;IACnC,kBAAkB,GAAY,IAAI,CAAC;IAEnC,oCAAoC;IACpC,QAAQ,GAAY,KAAK,CAAC;IAG1B,QAAQ,GAAY,KAAK,CAAC;IAC1B,eAAe,GAAG,CAAC,CAAC;IAEZ,mBAAmB,CAAiB;IACpC,SAAS,GAA8B,IAAI,CAAC;IAC5C,aAAa,GAA0B,IAAI,CAAC;IAE5C,qBAAqB,GAAY,KAAK,CAAC;IACvC,mBAAmB,GAAY,KAAK,CAAC;IACrC,qBAAqB,GAAyB,IAAI,CAAC;IAEnD,OAAO,GAAW,CAAC,CAAC;IACpB,WAAW,GAAW,CAAC,CAAC,CAAC,yDAAyD;IAE1F,KAAK;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC1E,IAAI,GAAG;gBACH,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,GAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACnF;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5C,IAAI,GAAG,EAAE,IAAI,KAAK,mBAAmB,EAAE;gBACnC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;aAC7C;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;SAC7C;IACL,CAAC;IAGD,SAAS;QACL,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;YAClC,0BAA0B;SAC7B;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBACxC,IAAG,IAAI,CAAC,QAAQ;oBACZ,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAChF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACjC;SACJ;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,8EAA8E;IACtE,CAAE,mBAAmB;QACzB,KAAK,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;YAClC,wBAAwB;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aACvC;SACJ;IACL,CAAC;IAED,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YACtH,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACtC;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,mIAAmI;QAEnI,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,cAAc,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAChJ,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;aACI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACnF,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SACpC;QAED,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;YAEhE,0BAA0B;YAC1B,sDAAsD;YACtD,4DAA4D;YAE5D,kBAAkB;YAClB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9E,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE;oBAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;oBAC9C,QAAQ;wBACJ,2BAA2B;wBAC3B,mCAAmC;wBACnC,YAAY;yBACX,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;oBAC5C,oCAAoC;iBACvC;qBACI;oBACD,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;iBACvE;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,GAAG,EAAE;oBAC1E,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;iBACpC;aACJ;YAED,uBAAuB;YACvB,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAE5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE;oBACnE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;iBACtC;aACJ;SACJ;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM;YAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAG1F,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YACjE,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;SAC3B;IACL,CAAC;IAEM,eAAe,CAAC,QAA+B,EAAE,YAAqB,KAAK;QAC9E,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAC3C;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,SAAS,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBACzC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACpE;SACJ;IACL,CAAC;IAEM,qBAAqB,CAAC,QAAgB,CAAC,EAAE,IAAY,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;QAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,SAAS,CAAC,WAAiC,IAAI,EAAE,YAAqB,KAAK;QAC9E,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,QAAQ,KAAK,IAAI;YAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,SAAS;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;;YACpD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAC3C,CAAC;IAEM,UAAU,CAAC,QAAuB,EAAE,KAAa;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAEM,gBAAgB,CAAC,QAAuB;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,EAAE,EAAE;YAClB,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAChE,yCAAyC;gBACzC,0CAA0C;gBAC1C,8BAA8B;gBAC9B,IAAI;gBACJ,+EAA+E;gBAC/E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBACpG;gBACD,MAAM;aACT;SACJ;IACL,CAAC;CAKJ;AA5OG;IADC,aAAa,EAAE;uDACiC"}
@@ -42,6 +42,7 @@ export declare class Renderer extends Behaviour {
42
42
  private _isInstancingEnabled;
43
43
  private handles;
44
44
  private prevLayers;
45
+ private clearInstancingState;
45
46
  setInstancingEnabled(enabled: boolean): boolean;
46
47
  start(): void;
47
48
  onEnable(): void;
@@ -17,6 +17,7 @@ const suppressInstancing = getParam("noInstancing");
17
17
  const debugLightmap = getParam("debuglightmaps") ? true : false;
18
18
  const debugInstancing = getParam("debuginstancing");
19
19
  const debugProgressiveLoading = getParam("debugprogressiveload");
20
+ const suppressProgressiveLoading = getParam("noprogressiveload");
20
21
  export class FieldWithDefault {
21
22
  path = null;
22
23
  asset = null;
@@ -151,6 +152,7 @@ export class Renderer extends Behaviour {
151
152
  return lm !== null && lm !== undefined;
152
153
  }
153
154
  awake() {
155
+ this.clearInstancingState();
154
156
  const type = this.gameObject.type;
155
157
  if (type === "Group") {
156
158
  for (const child of this.gameObject.children) {
@@ -217,6 +219,11 @@ export class Renderer extends Behaviour {
217
219
  _isInstancingEnabled = false;
218
220
  handles = undefined;
219
221
  prevLayers = undefined;
222
+ clearInstancingState() {
223
+ this._isInstancingEnabled = false;
224
+ this.handles = undefined;
225
+ this.prevLayers = undefined;
226
+ }
220
227
  setInstancingEnabled(enabled) {
221
228
  if (this._isInstancingEnabled === enabled)
222
229
  return enabled && (this.handles === undefined || this.handles != null && this.handles.length > 0);
@@ -303,16 +310,16 @@ export class Renderer extends Behaviour {
303
310
  }
304
311
  onBeforeRenderThree(_renderer, _scene, _camera, _geometry, material, _group) {
305
312
  // progressive load before rendering so we only load textures for visible materials
306
- if (material._didRequestTextureLOD === undefined) {
313
+ if (!suppressProgressiveLoading && material._didRequestTextureLOD === undefined) {
307
314
  material._didRequestTextureLOD = 0;
308
315
  if (debugProgressiveLoading) {
309
316
  console.log("Load material LOD (with delay)", material.name);
310
317
  setTimeout(() => {
311
- NEEDLE_deferred_texture.assignTextureLOD(this.context, material);
318
+ NEEDLE_deferred_texture.assignTextureLOD(this.context, this.sourceId, material);
312
319
  }, 2000);
313
320
  }
314
321
  else {
315
- NEEDLE_deferred_texture.assignTextureLOD(this.context, material);
322
+ NEEDLE_deferred_texture.assignTextureLOD(this.context, this.sourceId, material);
316
323
  }
317
324
  }
318
325
  if (material.envMapIntensity !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../engine-components/Renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../engine-components/Renderer.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@ export declare class ScreenCapture extends Behaviour {
6
6
  private captureStream;
7
7
  open(force?: boolean): Promise<void>;
8
8
  close(): void;
9
+ private handleNetworkedVideo;
9
10
  }
@@ -1,8 +1,18 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
1
7
  import { Behaviour, GameObject } from "./Component";
2
8
  import { VideoPlayer } from "./VideoPlayer";
9
+ import Peer from "peerjs";
10
+ import { RoomEvents } from "../engine/engine_networking";
11
+ import { serializeable } from "../engine/engine_serialization";
3
12
  export class ScreenCapture extends Behaviour {
4
13
  streamOnAwake = true;
5
14
  start() {
15
+ console.warn("EXPERIMENTAL screen capture", this);
6
16
  if (this.streamOnAwake)
7
17
  this.open();
8
18
  }
@@ -18,7 +28,7 @@ export class ScreenCapture extends Behaviour {
18
28
  if (player) {
19
29
  const displayMediaOptions = {
20
30
  video: true,
21
- audio: false
31
+ audio: true
22
32
  };
23
33
  this.captureStream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
24
34
  if (this.captureStream && this.requestOpen) {
@@ -26,6 +36,7 @@ export class ScreenCapture extends Behaviour {
26
36
  player.clip = this.captureStream;
27
37
  player.create(true);
28
38
  }
39
+ this.handleNetworkedVideo();
29
40
  }
30
41
  }
31
42
  catch (err) {
@@ -40,5 +51,258 @@ export class ScreenCapture extends Behaviour {
40
51
  this.captureStream = null;
41
52
  }
42
53
  }
54
+ handleNetworkedVideo() {
55
+ if (!this.context.connection.isConnected) {
56
+ console.warn("Will not stream video - not connected to room");
57
+ return;
58
+ }
59
+ if (this.captureStream) {
60
+ const handle = PeerHandle.getOrCreate(this.context, this.guid);
61
+ handle.enable();
62
+ // if (!this.peer)
63
+ // this.peer = new Peer();
64
+ const net = new NetworkedVideo(this.context, handle);
65
+ net.enable();
66
+ net.startSendingVideo(this.captureStream);
67
+ }
68
+ }
69
+ }
70
+ __decorate([
71
+ serializeable()
72
+ ], ScreenCapture.prototype, "streamOnAwake", void 0);
73
+ var PeerHandleEvent;
74
+ (function (PeerHandleEvent) {
75
+ PeerHandleEvent["Connected"] = "peer-user-connected";
76
+ })(PeerHandleEvent || (PeerHandleEvent = {}));
77
+ class PeerUserConnectedModel {
78
+ /** the peer handle id */
79
+ guid;
80
+ peerId;
81
+ // internal so server doesnt save it to persistent storage
82
+ dontSave = true;
83
+ constructor(handle, peerId) {
84
+ this.guid = handle.id;
85
+ this.peerId = peerId;
86
+ }
87
+ }
88
+ var CallDirection;
89
+ (function (CallDirection) {
90
+ CallDirection["Incoming"] = "incoming";
91
+ CallDirection["Outgoing"] = "outgoing";
92
+ })(CallDirection || (CallDirection = {}));
93
+ class CallHandle {
94
+ direction;
95
+ call;
96
+ stream;
97
+ constructor(call, direction) {
98
+ this.call = call;
99
+ this.direction = direction;
100
+ this.stream = null;
101
+ call.on("stream", stream => {
102
+ this.stream = stream;
103
+ });
104
+ }
105
+ }
106
+ class PeerHandle {
107
+ static instances = new Map();
108
+ static getOrCreate(context, guid) {
109
+ // if (id === undefined) {
110
+ // // randomId
111
+ // id = Math.random().toFixed(5);
112
+ // }
113
+ if (PeerHandle.instances.has(guid))
114
+ return PeerHandle.instances.get(guid);
115
+ const peer = new PeerHandle(context, guid);
116
+ PeerHandle.instances.set(guid, peer);
117
+ return peer;
118
+ }
119
+ getPeerIdFromUserId(userConnectionId) {
120
+ // we build the peer id ourselves so we dont need to wait for peer to report it
121
+ return this.id + "-" + userConnectionId;
122
+ }
123
+ getUserIdFromPeerId(peerId) {
124
+ return peerId.substring(this.id.length + 1);
125
+ }
126
+ makeCall(peerId, stream) {
127
+ // if (userId === this.context.connection.connectionId) {
128
+ // console.warn("Can not call self");
129
+ // return;
130
+ // }
131
+ // const peerId = this.getUserPeerId(userId);
132
+ console.log("CALL", peerId);
133
+ const call = this._peer?.call(peerId, stream);
134
+ if (call)
135
+ return this.registerCall(call, CallDirection.Outgoing);
136
+ return undefined;
137
+ }
138
+ get peer() { return this._peer; }
139
+ id;
140
+ context;
141
+ _peer;
142
+ _incomingCalls = [];
143
+ _outgoingCalls = [];
144
+ constructor(context, id) {
145
+ this.context = context;
146
+ this.id = id;
147
+ this.setupPeer();
148
+ navigator["getUserMedia"] = (navigator["getUserMedia"] || navigator["webkitGetUserMedia"] ||
149
+ navigator["mozGetUserMedia"] || navigator["msGetUserMedia"]);
150
+ }
151
+ _enabled = false;
152
+ _enabledPeer = false;
153
+ onConnectRoomFn = this.onConnectRoom.bind(this);
154
+ onUserJoinedOrLeftRoomFn = this.onUserJoinedOrLeftRoom.bind(this);
155
+ onPeerConnectFn = this.onPeerConnect.bind(this);
156
+ onPeerReceiveCallFn = this.onPeerReceivingCall.bind(this);
157
+ // private _connectionPeerIdMap : Map<string, string> = new Map();
158
+ enable() {
159
+ if (this._enabled)
160
+ return;
161
+ this._enabled = true;
162
+ this.context.connection.beginListen(RoomEvents.JoinedRoom, this.onConnectRoomFn);
163
+ this.context.connection.beginListen(RoomEvents.UserJoinedRoom, this.onUserJoinedOrLeftRoomFn);
164
+ this.context.connection.beginListen(RoomEvents.UserLeftRoom, this.onUserJoinedOrLeftRoomFn);
165
+ this.subscribePeerEvents();
166
+ }
167
+ disable() {
168
+ if (!this._enabled)
169
+ return;
170
+ this._enabled = false;
171
+ this.context.connection.stopListening(RoomEvents.JoinedRoom, this.onConnectRoomFn);
172
+ this.context.connection.stopListening(RoomEvents.UserJoinedRoom, this.onUserJoinedOrLeftRoomFn);
173
+ this.context.connection.stopListening(RoomEvents.UserLeftRoom, this.onUserJoinedOrLeftRoomFn);
174
+ this.unsubscribePeerEvents();
175
+ }
176
+ onConnectRoom() {
177
+ this.setupPeer();
178
+ }
179
+ ;
180
+ onUserJoinedOrLeftRoom(_) {
181
+ }
182
+ ;
183
+ setupPeer() {
184
+ if (!this.context.connection.connectionId)
185
+ return;
186
+ if (this._enabledPeer)
187
+ return;
188
+ this._enabledPeer = true;
189
+ if (!this._peer) {
190
+ const peerId = this.getPeerIdFromUserId(this.context.connection.connectionId);
191
+ this._peer = new Peer(peerId);
192
+ }
193
+ if (this._enabled)
194
+ this.subscribePeerEvents();
195
+ }
196
+ subscribePeerEvents() {
197
+ if (!this._peer)
198
+ return;
199
+ this._peer.on("open", this.onPeerConnectFn);
200
+ this._peer.on("call", this.onPeerReceiveCallFn);
201
+ // this.context.connection.beginListen(PeerEvent.Connected, this.onRemotePeerConnect.bind(this));
202
+ }
203
+ unsubscribePeerEvents() {
204
+ }
205
+ onPeerConnect(id) {
206
+ console.log("connect", id);
207
+ this.context.connection.send(PeerHandleEvent.Connected, new PeerUserConnectedModel(this, id));
208
+ }
209
+ onPeerReceivingCall(call) {
210
+ console.log("RECEIVE CALL");
211
+ call.answer();
212
+ this.registerCall(call, CallDirection.Incoming);
213
+ }
214
+ registerCall(call, direction) {
215
+ const arr = direction === CallDirection.Incoming ? this._incomingCalls : this._outgoingCalls;
216
+ const handle = new CallHandle(call, direction);
217
+ arr.push(handle);
218
+ call.on("error", err => {
219
+ console.error(err);
220
+ });
221
+ call.on("close", () => {
222
+ const index = arr.indexOf(handle);
223
+ if (index !== -1)
224
+ arr.splice(index, 1);
225
+ });
226
+ return handle;
227
+ }
228
+ }
229
+ class NetworkedVideo {
230
+ context;
231
+ peer;
232
+ _sendingVideoStreams = new Map();
233
+ constructor(context, peer) {
234
+ this.context = context;
235
+ this.peer = peer;
236
+ // this.peer.on("open", (id) => {
237
+ // console.log("PEERID", id);
238
+ // });
239
+ // // this.peer.on("call", (call) => {
240
+ // // });
241
+ // // this.peer.on("connection", (conn) => {
242
+ // // });
243
+ // // this.peer.on("error", (err) => {
244
+ // // });
245
+ // // this.peer.on("disconnected", () => {
246
+ // // });
247
+ // // this.peer.on("close", () => {
248
+ // // });
249
+ }
250
+ startSendingVideo(stream) {
251
+ if (!this._sendingVideoStreams.has(stream)) {
252
+ this._sendingVideoStreams.set(stream, []);
253
+ this.updateSendingCalls();
254
+ }
255
+ ;
256
+ }
257
+ stopSendingVideo(_steam) {
258
+ }
259
+ onConnectRoomFn = this.onConnectRoom.bind(this);
260
+ onUserConnectedFn = this.onUserConnected.bind(this);
261
+ onUserLeftFn = this.onUserLeft.bind(this);
262
+ enable() {
263
+ this.context.connection.beginListen(PeerHandleEvent.Connected, this.onUserConnectedFn);
264
+ }
265
+ disable() {
266
+ // this.context.connection.stopListening(RoomEvents.UserJoinedRoom, this.onUserConnectedFn);
267
+ // this.context.connection.stopListening(RoomEvents.UserLeftRoom, this.onUserLeftFn);
268
+ }
269
+ onConnectRoom() {
270
+ }
271
+ onUserConnected(user) {
272
+ // console.log(this.peer.id, user.guid)
273
+ if (this.peer.id === user.guid) {
274
+ console.log("USER CONNECTED", user);
275
+ const userId = this.peer.getUserIdFromPeerId(user.peerId);
276
+ console.log(userId);
277
+ // this.updateSendingCalls();
278
+ const call = this.peer.makeCall(user.peerId, this._sendingVideoStreams.keys().next().value);
279
+ // for (const userId of this.context.connection.usersInRoom()) {
280
+ // const id = this.peer.getPeerIdFromUserId(userId);
281
+ // if(id === user.peerId) console.log(userId);
282
+ // }
283
+ }
284
+ }
285
+ onUserLeft(_) {
286
+ }
287
+ updateSendingCalls() {
288
+ // for (const str of this._sendingVideoStreams.keys()) {
289
+ // const calls = this._sendingVideoStreams.get(str) || [];
290
+ // for (const userId of this.context.connection.usersInRoom()) {
291
+ // const existing = calls.find(c => c.userId === userId);
292
+ // if (!existing) {
293
+ // const call = this.peer.makeCall(userId, str);
294
+ // console.log(call);
295
+ // if (call) {
296
+ // calls.push({
297
+ // call: call,
298
+ // stream: str,
299
+ // userId: userId
300
+ // });
301
+ // }
302
+ // }
303
+ // }
304
+ // this._sendingVideoStreams.set(str, calls);
305
+ // }
306
+ }
43
307
  }
44
308
  //# sourceMappingURL=ScreenCapture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenCapture.js","sourceRoot":"","sources":["../../../engine-components/ScreenCapture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,OAAO,aAAc,SAAQ,SAAS;IAExC,aAAa,GAAY,IAAI,CAAC;IAE9B,KAAK;QACD,IAAI,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAEO,WAAW,GAAY,KAAK,CAAC;IAC7B,aAAa,GAAuB,IAAI,CAAC;IAEjD,KAAK,CAAC,IAAI,CAAC,QAAiB,KAAK;QAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK;YAAE,OAAO;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI;YACA,MAAM,MAAM,GAAG,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,MAAM,EAAE;gBACR,MAAM,mBAAmB,GAAkC;oBACvD,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,KAAK;iBACf,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBACvF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE;oBACxC,YAAY;oBACZ,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;oBACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACvB;aACJ;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;SAClC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;gBAC5C,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"ScreenCapture.js","sourceRoot":"","sources":["../../../engine-components/ScreenCapture.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,IAAI,MAAM,QAAQ,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,OAAO,aAAc,SAAQ,SAAS;IAGxC,aAAa,GAAY,IAAI,CAAC;IAE9B,KAAK;QACD,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAEO,WAAW,GAAY,KAAK,CAAC;IAC7B,aAAa,GAAuB,IAAI,CAAC;IAEjD,KAAK,CAAC,IAAI,CAAC,QAAiB,KAAK;QAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK;YAAE,OAAO;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI;YACA,MAAM,MAAM,GAAG,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,MAAM,EAAE;gBACR,MAAM,mBAAmB,GAAkC;oBACvD,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;iBACd,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBACvF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE;oBACxC,YAAY;oBACZ,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;oBACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACvB;gBACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC/B;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;SAClC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;gBAC5C,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;IACL,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE;YACtC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC9D,OAAO;SACV;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,kBAAkB;YAClB,8BAA8B;YAC9B,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7C;IACL,CAAC;CAEJ;AA5DG;IADC,aAAa,EAAE;oDACc;AA+DlC,IAAK,eAEJ;AAFD,WAAK,eAAe;IAChB,oDAAiC,CAAA;AACrC,CAAC,EAFI,eAAe,KAAf,eAAe,QAEnB;AAED,MAAM,sBAAsB;IACxB,yBAAyB;IAChB,IAAI,CAAS;IACb,MAAM,CAAS;IACxB,0DAA0D;IACjD,QAAQ,GAAY,IAAI,CAAC;IAClC,YAAY,MAAkB,EAAE,MAAc;QAC1C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAED,IAAK,aAGJ;AAHD,WAAK,aAAa;IACd,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;AACzB,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED,MAAM,UAAU;IACH,SAAS,CAAgB;IACzB,IAAI,CAAuB;IACpC,MAAM,CAAqB;IAE3B,YAAY,IAA0B,EAAE,SAAwB;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,UAAU;IAEJ,MAAM,CAAU,SAAS,GAA4B,IAAI,GAAG,EAAE,CAAC;IAEvE,MAAM,CAAC,WAAW,CAAC,OAAgB,EAAE,IAAY;QAC7C,0BAA0B;QAC1B,kBAAkB;QAClB,qCAAqC;QACrC,IAAI;QACJ,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mBAAmB,CAAC,gBAAwB;QACxC,+EAA+E;QAC/E,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,mBAAmB,CAAC,MAAc;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,MAAmB;QACxC,yDAAyD;QACzD,yCAAyC;QACzC,cAAc;QACd,IAAI;QACJ,6CAA6C;QAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI;YACJ,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,KAAuB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1C,EAAE,CAAS;IACX,OAAO,CAAU;IAClB,KAAK,CAAmB;IACxB,cAAc,GAAiB,EAAE,CAAC;IAClC,cAAc,GAAiB,EAAE,CAAC;IAE1C,YAAoB,OAAgB,EAAE,EAAU;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,SAAS,CAAC,cAAc,CAAC,GAAG,CACxB,SAAS,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,oBAAoB,CAAC;YAC5D,SAAS,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAC9D,CAAC;IACN,CAAC;IAEO,QAAQ,GAAY,KAAK,CAAC;IAC1B,YAAY,GAAY,KAAK,CAAC;IAC9B,eAAe,GAAa,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,wBAAwB,GAAa,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,eAAe,GAAiB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,mBAAmB,GAAmB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,kEAAkE;IAElE,MAAM;QACF,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5F,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9F,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAAA,CAAC;IAEM,sBAAsB,CAAC,CAA4B;IAC3D,CAAC;IAAA,CAAC;IAEM,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY;YAAE,OAAO;QAClD,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC9E,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAEO,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,iGAAiG;IACrG,CAAC;IAEO,qBAAqB;IAC7B,CAAC;IAEO,aAAa,CAAC,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IAEO,mBAAmB,CAAC,IAA0B;QAClD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEO,YAAY,CAAC,IAA0B,EAAE,SAAwB;QACrE,MAAM,GAAG,GAAG,SAAS,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7F,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,CAAC,CAAC;gBACZ,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;;AAcL,MAAM,cAAc;IAEC,OAAO,CAAU;IACjB,IAAI,CAAa;IAE1B,oBAAoB,GAAsC,IAAI,GAAG,EAAE,CAAC;IAE5E,YAAY,OAAgB,EAAE,IAAgB;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,iCAAiC;QACjC,iCAAiC;QACjC,MAAM;QACN,sCAAsC;QACtC,SAAS;QACT,4CAA4C;QAC5C,SAAS;QACT,sCAAsC;QACtC,SAAS;QACT,0CAA0C;QAC1C,SAAS;QACT,mCAAmC;QACnC,SAAS;IACb,CAAC;IAED,iBAAiB,CAAC,MAAmB;QACjC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAAA,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,MAAmB;IAEpC,CAAC;IAEO,eAAe,GAAa,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,GAAa,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,YAAY,GAAa,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,MAAM;QACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO;QACH,4FAA4F;QAC5F,qFAAqF;IACzF,CAAC;IAEO,aAAa;IAErB,CAAC;IAEO,eAAe,CAAC,IAA4B;QAChD,uCAAuC;QACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,6BAA6B;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;YAE5F,gEAAgE;YAChE,wDAAwD;YACxD,kDAAkD;YAClD,IAAI;SACP;IACL,CAAC;IAEO,UAAU,CAAC,CAA4B;IAE/C,CAAC;IAEO,kBAAkB;QACtB,wDAAwD;QACxD,8DAA8D;QAC9D,oEAAoE;QACpE,iEAAiE;QACjE,2BAA2B;QAC3B,4DAA4D;QAC5D,iCAAiC;QACjC,0BAA0B;QAC1B,+BAA+B;QAC/B,kCAAkC;QAClC,mCAAmC;QACnC,qCAAqC;QACrC,sBAAsB;QACtB,gBAAgB;QAChB,YAAY;QACZ,QAAQ;QACR,iDAAiD;QACjD,IAAI;IACR,CAAC;CAGJ"}
@@ -137,6 +137,8 @@ export class SpectatorCamera extends Behaviour {
137
137
  onXRSessionStart(_evt) {
138
138
  if (!this.isSupportedPlatform())
139
139
  return;
140
+ if (debug)
141
+ console.log(this.context.mainCamera);
140
142
  if (this.context.mainCamera) {
141
143
  this.followSelf();
142
144
  }
@@ -153,6 +155,8 @@ export class SpectatorCamera extends Behaviour {
153
155
  }
154
156
  followSelf() {
155
157
  this.target = this.context.players.getPlayerView(this.context.connection.connectionId);
158
+ if (debug)
159
+ console.log("Follow self", this.target);
156
160
  }
157
161
  // TODO: only show Spectator cam for DesktopVR;
158
162
  // don't show for AR, don't show on Quest
@@ -177,6 +181,7 @@ export class SpectatorCamera extends Behaviour {
177
181
  renderer.state.bindXRFramebuffer(null);
178
182
  }
179
183
  this.setAvatarFlagsBeforeRender();
184
+ const mainCam = this.context.mainCameraComponent;
180
185
  // these should not be needed if we don't override viewport/scissor
181
186
  // renderer.getViewport(this.currentViewport);
182
187
  // renderer.getScissor(this.currentScissor);
@@ -189,7 +194,17 @@ export class SpectatorCamera extends Behaviour {
189
194
  // renderer.setViewport(left, bottom, width, height);
190
195
  // renderer.setScissor(left, bottom, width, height);
191
196
  // renderer.setScissorTest(true);
192
- renderer.setClearColor(new THREE.Color(1, 1, 1));
197
+ if (mainCam) {
198
+ const backgroundColor = mainCam.backgroundColor;
199
+ if (backgroundColor)
200
+ renderer.setClearColor(backgroundColor, backgroundColor.alpha);
201
+ this.cam.backgroundColor = backgroundColor;
202
+ this.cam.clearFlags = mainCam.clearFlags;
203
+ this.cam.nearClipPlane = mainCam.nearClipPlane;
204
+ this.cam.farClipPlane = mainCam.farClipPlane;
205
+ }
206
+ else
207
+ renderer.setClearColor(new THREE.Color(1, 1, 1));
193
208
  renderer.setRenderTarget(null); // null: direct to Canvas
194
209
  renderer.xr.enabled = false;
195
210
  const cam = this.cam?.cam;
@@ -325,8 +340,16 @@ class SpectatorHandler {
325
340
  return;
326
341
  switch (mode) {
327
342
  case SpectatorMode.FirstPerson:
328
- this.follow.followFactor = 20;
329
- this.follow.rotateFactor = 20;
343
+ if (this.view?.viewDevice !== ViewDevice.Browser) {
344
+ // soft follow for AR and VR
345
+ this.follow.followFactor = 5;
346
+ this.follow.rotateFactor = 5;
347
+ }
348
+ else {
349
+ // snappy follow for desktop
350
+ this.follow.followFactor = 50;
351
+ this.follow.rotateFactor = 50;
352
+ }
330
353
  target.position.set(0, 0, 0);
331
354
  break;
332
355
  case SpectatorMode.ThirdPerson:
@@ -362,10 +385,11 @@ class SpectatorSelectionController {
362
385
  downTime = this.context.time.time;
363
386
  });
364
387
  this.context.input.addEventListener(InputEvents.PointerUp, _ => {
365
- if (this.context.time.time - downTime > 1) {
388
+ const dt = this.context.time.time - downTime;
389
+ if (dt > 1) {
366
390
  this.spectator.stopSpectating();
367
391
  }
368
- else
392
+ else if (this.context.input.getPointerClicked(0) && dt < .3)
369
393
  this.trySelectObject();
370
394
  });
371
395
  }