@roomle/web-sdk 2.20.0 → 2.21.1

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 (197) hide show
  1. package/lib/{banana-for-scale-5f9ad0e3.nomodule.js → banana-for-scale-b9868da9.nomodule.js} +2 -2
  2. package/lib/{banana-for-scale-5f9ad0e3.nomodule.js.map → banana-for-scale-b9868da9.nomodule.js.map} +1 -1
  3. package/lib/{banana-for-scale-a8541870.js → banana-for-scale-c464bcaf.js} +2 -2
  4. package/lib/{banana-for-scale-a8541870.js.map → banana-for-scale-c464bcaf.js.map} +1 -1
  5. package/lib/{budgeteer-measure-5fd28189.js → budgeteer-measure-a6f7fd55.js} +2 -2
  6. package/lib/{budgeteer-measure-5fd28189.js.map → budgeteer-measure-a6f7fd55.js.map} +1 -1
  7. package/lib/budgeteer-measure.nomodule.js +1 -1
  8. package/lib/{component-dimensioning-15849d03.js → component-dimensioning-0d089d5d.js} +2 -2
  9. package/lib/component-dimensioning-0d089d5d.js.map +1 -0
  10. package/lib/{component-dimensioning-3816fed6.nomodule.js → component-dimensioning-aac668c8.nomodule.js} +2 -2
  11. package/lib/component-dimensioning-aac668c8.nomodule.js.map +1 -0
  12. package/lib/configurator-7915999f.js +2 -0
  13. package/lib/{configurator-02c1a087.js.map → configurator-7915999f.js.map} +1 -1
  14. package/lib/configurator-d6e39b21.nomodule.js +2 -0
  15. package/lib/{configurator-b94915ee.nomodule.js.map → configurator-d6e39b21.nomodule.js.map} +1 -1
  16. package/lib/configurator-main-cf5bb9fe.js +2 -0
  17. package/lib/configurator-main-cf5bb9fe.js.map +1 -0
  18. package/lib/configurator-main.nomodule.js +1 -1
  19. package/lib/configurator-mesh-generator-bf1a5b3c.nomodule.js +2 -0
  20. package/lib/configurator-mesh-generator-bf1a5b3c.nomodule.js.map +1 -0
  21. package/lib/configurator-mesh-generator-ec0e9982.js +2 -0
  22. package/lib/configurator-mesh-generator-ec0e9982.js.map +1 -0
  23. package/lib/{default-light-setting-0d38ca56.nomodule.js → default-light-setting-76d539f8.nomodule.js} +2 -2
  24. package/lib/default-light-setting-76d539f8.nomodule.js.map +1 -0
  25. package/lib/{default-light-setting-740fe05f.js → default-light-setting-fe844872.js} +2 -2
  26. package/lib/default-light-setting-fe844872.js.map +1 -0
  27. package/lib/definitions/common-core/mock/mock-pixotron.d.ts +3 -0
  28. package/lib/definitions/common-core/src/cameracontrol/camera-control-3d.d.ts +2 -2
  29. package/lib/definitions/common-core/src/utils/common-utils.d.ts +1 -0
  30. package/lib/definitions/common-core/src/utils/init-data.d.ts +4 -0
  31. package/lib/definitions/common-core/src/utils/shims.d.ts +5 -0
  32. package/lib/definitions/common-core/src/view-model/configurator-view-model.d.ts +1 -1
  33. package/lib/definitions/common-core/src/webgl/mesh-generator.d.ts +1 -1
  34. package/lib/definitions/configurator-core/src/webgl/configurator-mesh-generator.d.ts +1 -1
  35. package/lib/definitions/configurator-core/src/webgl/scene-helper.d.ts +3 -1
  36. package/lib/definitions/typings/pixotron.d.ts +2 -0
  37. package/lib/{dimensioning-helper-df61f3e4.nomodule.js → dimensioning-helper-9a706cfd.nomodule.js} +2 -2
  38. package/lib/dimensioning-helper-9a706cfd.nomodule.js.map +1 -0
  39. package/lib/{dimensioning-helper-67518ab9.js → dimensioning-helper-f7e39056.js} +2 -2
  40. package/lib/dimensioning-helper-f7e39056.js.map +1 -0
  41. package/lib/glb-viewer-0d92b638.js +2 -0
  42. package/lib/{glb-viewer-0a44ad1e.js.map → glb-viewer-0d92b638.js.map} +1 -1
  43. package/lib/glb-viewer-d278030c.nomodule.js +2 -0
  44. package/lib/{glb-viewer-a7947024.nomodule.js.map → glb-viewer-d278030c.nomodule.js.map} +1 -1
  45. package/lib/glb-viewer-main-ae7df6ed.js +2 -0
  46. package/lib/glb-viewer-main-ae7df6ed.js.map +1 -0
  47. package/lib/glb-viewer-main.nomodule.js +1 -1
  48. package/lib/{image-renderer-32588b0f.js → image-renderer-a3e7c1a5.js} +2 -2
  49. package/lib/{image-renderer-32588b0f.js.map → image-renderer-a3e7c1a5.js.map} +1 -1
  50. package/lib/{image-renderer-58be56f9.nomodule.js → image-renderer-b1e31df3.nomodule.js} +2 -2
  51. package/lib/{image-renderer-58be56f9.nomodule.js.map → image-renderer-b1e31df3.nomodule.js.map} +1 -1
  52. package/lib/legacy/{banana-for-scale-7fe6982a.legacy.js → banana-for-scale-07c4ef73.legacy.js} +2 -2
  53. package/lib/legacy/{banana-for-scale-7fe6982a.legacy.js.map → banana-for-scale-07c4ef73.legacy.js.map} +1 -1
  54. package/lib/legacy/budgeteer-measure.legacy.js +1 -1
  55. package/lib/legacy/{component-dimensioning-474e71c0.legacy.js → component-dimensioning-d17748a9.legacy.js} +2 -2
  56. package/lib/legacy/component-dimensioning-d17748a9.legacy.js.map +1 -0
  57. package/lib/legacy/configurator-4672929e.legacy.js +2 -0
  58. package/lib/legacy/{configurator-e33d83c7.legacy.js.map → configurator-4672929e.legacy.js.map} +1 -1
  59. package/lib/legacy/configurator-main.legacy.js +1 -1
  60. package/lib/legacy/configurator-mesh-generator-b171f5d8.legacy.js +2 -0
  61. package/lib/legacy/configurator-mesh-generator-b171f5d8.legacy.js.map +1 -0
  62. package/lib/legacy/{default-light-setting-e5427dcc.legacy.js → default-light-setting-3fcc55d4.legacy.js} +2 -2
  63. package/lib/legacy/default-light-setting-3fcc55d4.legacy.js.map +1 -0
  64. package/lib/legacy/{dimensioning-helper-b6b2fae5.legacy.js → dimensioning-helper-25f07743.legacy.js} +2 -2
  65. package/lib/legacy/dimensioning-helper-25f07743.legacy.js.map +1 -0
  66. package/lib/legacy/glb-viewer-9b9d37a8.legacy.js +2 -0
  67. package/lib/legacy/{glb-viewer-8cd61b1e.legacy.js.map → glb-viewer-9b9d37a8.legacy.js.map} +1 -1
  68. package/lib/legacy/glb-viewer-main.legacy.js +1 -1
  69. package/lib/legacy/{image-renderer-06f566f5.legacy.js → image-renderer-04df50a7.legacy.js} +2 -2
  70. package/lib/legacy/{image-renderer-06f566f5.legacy.js.map → image-renderer-04df50a7.legacy.js.map} +1 -1
  71. package/lib/legacy/{main-thread-to-worker-45106055.legacy.js → main-thread-to-worker-46ba1413.legacy.js} +2 -2
  72. package/lib/legacy/main-thread-to-worker-46ba1413.legacy.js.map +1 -0
  73. package/lib/legacy/{material-viewer-c853ad32.legacy.js → material-viewer-6cddff1d.legacy.js} +2 -2
  74. package/lib/legacy/material-viewer-6cddff1d.legacy.js.map +1 -0
  75. package/lib/legacy/material-viewer-main.legacy.js +1 -1
  76. package/lib/legacy/mesh-generator-572ad2f8.legacy.js +2 -0
  77. package/lib/legacy/mesh-generator-572ad2f8.legacy.js.map +1 -0
  78. package/lib/legacy/pixotron-66b4f690.legacy.js +2 -0
  79. package/lib/legacy/{pixotron-84b6fe67.legacy.js.map → pixotron-66b4f690.legacy.js.map} +1 -1
  80. package/lib/legacy/{planner-90ac969a.legacy.js → planner-2cc59b21.legacy.js} +2 -2
  81. package/lib/legacy/{planner-90ac969a.legacy.js.map → planner-2cc59b21.legacy.js.map} +1 -1
  82. package/lib/legacy/planner-main.legacy.js +1 -1
  83. package/lib/legacy/{rapi-access-21dc9ae2.legacy.js → rapi-access-a73fc03b.legacy.js} +3 -3
  84. package/lib/legacy/{rapi-access-21dc9ae2.legacy.js.map → rapi-access-a73fc03b.legacy.js.map} +1 -1
  85. package/lib/legacy/roomle-sdk.legacy.js +1 -1
  86. package/lib/legacy/scene-manager-47b24f6e.legacy.js +2 -0
  87. package/lib/legacy/scene-manager-47b24f6e.legacy.js.map +1 -0
  88. package/lib/legacy/static/pi.min-0272f873b3a4380a.js +1 -0
  89. package/lib/legacy/static/{rthree-9a98e3318d68245d.js → rthree-508a6ceb9a1516ce.js} +1 -1
  90. package/lib/legacy/static/shaders-d304d03a461ead46.json +1 -0
  91. package/lib/legacy/{stats-helper-e04ccf23.legacy.js → stats-helper-ef9054e8.legacy.js} +2 -2
  92. package/lib/legacy/{stats-helper-e04ccf23.legacy.js.map → stats-helper-ef9054e8.legacy.js.map} +1 -1
  93. package/lib/main-thread-to-worker-4c9942ce.js +2 -0
  94. package/lib/main-thread-to-worker-4c9942ce.js.map +1 -0
  95. package/lib/{main-thread-to-worker-2526203d.nomodule.js → main-thread-to-worker-4f826ab0.nomodule.js} +2 -2
  96. package/lib/main-thread-to-worker-4f826ab0.nomodule.js.map +1 -0
  97. package/lib/{material-viewer-d3c453fc.js → material-viewer-590448c5.js} +2 -2
  98. package/lib/material-viewer-590448c5.js.map +1 -0
  99. package/lib/{material-viewer-7c63aa7f.nomodule.js → material-viewer-8b280e30.nomodule.js} +2 -2
  100. package/lib/material-viewer-8b280e30.nomodule.js.map +1 -0
  101. package/lib/material-viewer-main-e776f7e5.js +2 -0
  102. package/lib/material-viewer-main-e776f7e5.js.map +1 -0
  103. package/lib/material-viewer-main.nomodule.js +1 -1
  104. package/lib/mesh-generator-55c80a53.nomodule.js +2 -0
  105. package/lib/mesh-generator-55c80a53.nomodule.js.map +1 -0
  106. package/lib/mesh-generator-a718d07a.js +2 -0
  107. package/lib/mesh-generator-a718d07a.js.map +1 -0
  108. package/lib/pixotron-9df61cfe.js +2 -0
  109. package/lib/{pixotron-0b81eb7c.js.map → pixotron-9df61cfe.js.map} +1 -1
  110. package/lib/pixotron-e40b75d2.nomodule.js +2 -0
  111. package/lib/{pixotron-7a1f9ec8.nomodule.js.map → pixotron-e40b75d2.nomodule.js.map} +1 -1
  112. package/lib/{planner-fab4fbbe.js → planner-0bdfa18a.js} +2 -2
  113. package/lib/{planner-fab4fbbe.js.map → planner-0bdfa18a.js.map} +1 -1
  114. package/lib/{planner-77af0a69.nomodule.js → planner-fb33bbd5.nomodule.js} +2 -2
  115. package/lib/{planner-77af0a69.nomodule.js.map → planner-fb33bbd5.nomodule.js.map} +1 -1
  116. package/lib/planner-main-cd1ee6e0.js +2 -0
  117. package/lib/planner-main-cd1ee6e0.js.map +1 -0
  118. package/lib/planner-main.nomodule.js +1 -1
  119. package/lib/{rapi-access-d3bc3ce4.nomodule.js → rapi-access-c8981c13.nomodule.js} +3 -3
  120. package/lib/{rapi-access-d3bc3ce4.nomodule.js.map → rapi-access-c8981c13.nomodule.js.map} +1 -1
  121. package/lib/{rapi-access-ff57cd9e.js → rapi-access-d433b66a.js} +3 -3
  122. package/lib/{rapi-access-ff57cd9e.js.map → rapi-access-d433b66a.js.map} +1 -1
  123. package/lib/{roomle-sdk-6e4fd2d6.js → roomle-sdk-8fee3247.js} +2 -2
  124. package/lib/roomle-sdk-8fee3247.js.map +1 -0
  125. package/lib/roomle-sdk.nomodule.js +1 -1
  126. package/lib/scene-manager-b3bd3bed.js +2 -0
  127. package/lib/scene-manager-b3bd3bed.js.map +1 -0
  128. package/lib/scene-manager-cbf9f557.nomodule.js +2 -0
  129. package/lib/scene-manager-cbf9f557.nomodule.js.map +1 -0
  130. package/lib/static/pi.min-0272f873b3a4380a.js +1 -0
  131. package/lib/static/pi.min-0272f873b3a4380a.js.map +1 -0
  132. package/lib/static/{rthree-9a98e3318d68245d.js → rthree-508a6ceb9a1516ce.js} +1 -1
  133. package/lib/static/rthree-508a6ceb9a1516ce.js.map +1 -0
  134. package/lib/static/shaders-d304d03a461ead46.json +1 -0
  135. package/lib/{stats-helper-670aea9b.js → stats-helper-5fadbfc2.js} +2 -2
  136. package/lib/{stats-helper-670aea9b.js.map → stats-helper-5fadbfc2.js.map} +1 -1
  137. package/lib/{stats-helper-b294fd7a.nomodule.js → stats-helper-efa282ca.nomodule.js} +2 -2
  138. package/lib/{stats-helper-b294fd7a.nomodule.js.map → stats-helper-efa282ca.nomodule.js.map} +1 -1
  139. package/package.json +2 -2
  140. package/lib/component-dimensioning-15849d03.js.map +0 -1
  141. package/lib/component-dimensioning-3816fed6.nomodule.js.map +0 -1
  142. package/lib/configurator-02c1a087.js +0 -2
  143. package/lib/configurator-b94915ee.nomodule.js +0 -2
  144. package/lib/configurator-main-31ba572b.js +0 -2
  145. package/lib/configurator-main-31ba572b.js.map +0 -1
  146. package/lib/configurator-mesh-generator-2b2535f8.js +0 -2
  147. package/lib/configurator-mesh-generator-2b2535f8.js.map +0 -1
  148. package/lib/configurator-mesh-generator-470760e6.nomodule.js +0 -2
  149. package/lib/configurator-mesh-generator-470760e6.nomodule.js.map +0 -1
  150. package/lib/default-light-setting-0d38ca56.nomodule.js.map +0 -1
  151. package/lib/default-light-setting-740fe05f.js.map +0 -1
  152. package/lib/dimensioning-helper-67518ab9.js.map +0 -1
  153. package/lib/dimensioning-helper-df61f3e4.nomodule.js.map +0 -1
  154. package/lib/glb-viewer-0a44ad1e.js +0 -2
  155. package/lib/glb-viewer-a7947024.nomodule.js +0 -2
  156. package/lib/glb-viewer-main-c9ea66e6.js +0 -2
  157. package/lib/glb-viewer-main-c9ea66e6.js.map +0 -1
  158. package/lib/legacy/component-dimensioning-474e71c0.legacy.js.map +0 -1
  159. package/lib/legacy/configurator-e33d83c7.legacy.js +0 -2
  160. package/lib/legacy/configurator-mesh-generator-7c2a1b65.legacy.js +0 -2
  161. package/lib/legacy/configurator-mesh-generator-7c2a1b65.legacy.js.map +0 -1
  162. package/lib/legacy/default-light-setting-e5427dcc.legacy.js.map +0 -1
  163. package/lib/legacy/dimensioning-helper-b6b2fae5.legacy.js.map +0 -1
  164. package/lib/legacy/glb-viewer-8cd61b1e.legacy.js +0 -2
  165. package/lib/legacy/main-thread-to-worker-45106055.legacy.js.map +0 -1
  166. package/lib/legacy/material-viewer-c853ad32.legacy.js.map +0 -1
  167. package/lib/legacy/mesh-generator-c9c5cf92.legacy.js +0 -2
  168. package/lib/legacy/mesh-generator-c9c5cf92.legacy.js.map +0 -1
  169. package/lib/legacy/pixotron-84b6fe67.legacy.js +0 -2
  170. package/lib/legacy/scene-manager-c1df3327.legacy.js +0 -2
  171. package/lib/legacy/scene-manager-c1df3327.legacy.js.map +0 -1
  172. package/lib/legacy/static/pi.min-6875d25247d9711b.js +0 -1
  173. package/lib/legacy/static/shaders-695d00691ea12f08.json +0 -1
  174. package/lib/main-thread-to-worker-2526203d.nomodule.js.map +0 -1
  175. package/lib/main-thread-to-worker-815feb19.js +0 -2
  176. package/lib/main-thread-to-worker-815feb19.js.map +0 -1
  177. package/lib/material-viewer-7c63aa7f.nomodule.js.map +0 -1
  178. package/lib/material-viewer-d3c453fc.js.map +0 -1
  179. package/lib/material-viewer-main-43691932.js +0 -2
  180. package/lib/material-viewer-main-43691932.js.map +0 -1
  181. package/lib/mesh-generator-0b2ac98c.js +0 -2
  182. package/lib/mesh-generator-0b2ac98c.js.map +0 -1
  183. package/lib/mesh-generator-739f8058.nomodule.js +0 -2
  184. package/lib/mesh-generator-739f8058.nomodule.js.map +0 -1
  185. package/lib/pixotron-0b81eb7c.js +0 -2
  186. package/lib/pixotron-7a1f9ec8.nomodule.js +0 -2
  187. package/lib/planner-main-1426a336.js +0 -2
  188. package/lib/planner-main-1426a336.js.map +0 -1
  189. package/lib/roomle-sdk-6e4fd2d6.js.map +0 -1
  190. package/lib/scene-manager-1c0fa594.js +0 -2
  191. package/lib/scene-manager-1c0fa594.js.map +0 -1
  192. package/lib/scene-manager-e7cf547f.nomodule.js +0 -2
  193. package/lib/scene-manager-e7cf547f.nomodule.js.map +0 -1
  194. package/lib/static/pi.min-6875d25247d9711b.js +0 -1
  195. package/lib/static/pi.min-6875d25247d9711b.js.map +0 -1
  196. package/lib/static/rthree-9a98e3318d68245d.js.map +0 -1
  197. package/lib/static/shaders-695d00691ea12f08.json +0 -1
@@ -0,0 +1,2 @@
1
+ import{t as toRadiant,u as position3VectorsAreEqual,a8 as rotationQuaternionsAreEqual,a9 as getDelta,v as position2VectorsAreEqual,_ as __decorate,i as inject,e as dispose,h as getGUI,f as DynamicLightSettingLoader,R as RoomleComponentFactoryInitializer,aa as DynamicQualitySettingLoader}from"./rapi-access-d433b66a.js";import{i as isWebGl2}from"./main-thread-to-worker-4c9942ce.js";import{d as CameraControl,i as MIN_MOVE_DISTANCE,D as DynamicLightSetting,C as CameraControl3D,b as PixotronUtil,B as BakedShadowEnvironment,f as DAT_GUI_FILE_NAME,c as DynamicEnvironmentSettingLoader}from"./pixotron-9df61cfe.js";class CameraControl2D extends CameraControl{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let a=this._size,r=this._size;n>1?a=this._size*n:r=this._size*(s/i),this._center.copy(e),this._camera.left=a/-2,this._camera.right=a/2,this._camera.top=r/2,this._camera.bottom=r/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}const KEYBOARD_ROTATION_ANGLE=Math.PI/4;class CameraControlFirstPerson extends CameraControl{constructor(t,e,i,s){super(t,e,i),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=toRadiant(-60),this.maxPolarAngle=toRadiant(60),this._camera=s||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),i?this._camera.position.set(i.x,1.5,i.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let n=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(n),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*KEYBOARD_ROTATION_ANGLE*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*KEYBOARD_ROTATION_ANGLE*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,s=this.getCamera(),n=position3VectorsAreEqual(e,s.position),a=rotationQuaternionsAreEqual(i,s.quaternion);if(!e||n&&a)return!1;let r=this.getCamera().position.clone(),o=Math.min(10*t,1);r.lerp(e,o),this.getCamera().position.copy(r);let h=this.getCamera().quaternion.clone(),_=Math.min(5*t,1);h.slerp(i,_),this.getCamera().setRotationFromQuaternion(h);let d=!1;return this._keyMap.forEach(t=>{t&&(d=!0)}),d&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){getDelta(this._downPosition,this._position)<MIN_MOVE_DISTANCE&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),position2VectorsAreEqual(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}let SceneManager=(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender(!0)},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof CameraControlFirstPerson&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof CameraControlFirstPerson&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_requestRender(t){if(!this._renderer)return;this._pixotron&&(this._pixotron.needsUpdate=!0,t&&(this._forceRender=!0));const e=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._forceRender&&(this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(e))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(e))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof DynamicLightSetting&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof CameraControl3D&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},a=THREE.sRGBEncoding,r=Math.floor(i*window.devicePixelRatio),o=Math.floor(s*window.devicePixelRatio);isWebGl2()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(r,o,n):this._renderTarget=new THREE.WebGLRenderTarget(r,o,n),this._renderTarget.texture.encoding=a,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender(!0)),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._requestRender(!0)}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender(!0)}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender(!0)}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{dispose(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new PixotronUtil(this._pixotron),this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(!0),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,a,r){return new Promise((o,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,a,null,r).then(t=>{this._setCamera("GLTF",t),o(t)},h)})}_loadGLB(t,e,i,s,n,a,r,o){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,a,r,o).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof CameraControl2D&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(DAT_GUI_FILE_NAME,{id:"dat-gui-js"}).then(()=>{let t=getGUI(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=getGUI();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){import("./stats-helper-5fadbfc2.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._requestRender(!0)}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new DynamicEnvironmentSettingLoader).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(!0),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(!0),500)))}loadQualitySetting(t){this._pixotron&&(new DynamicQualitySettingLoader).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=DynamicLightSettingLoader.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender(!0)}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._requestRender(!0)}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender(!0)}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender(!0)):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return RoomleComponentFactoryInitializer().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}}}return __decorate([inject],t.prototype,"_domHelper",void 0),__decorate([inject],t.prototype,"_scriptLoader",void 0),__decorate([inject],t.prototype,"_lifeCycleManager",void 0),__decorate([inject],t.prototype,"_staticItemLoader",void 0),__decorate([inject],t.prototype,"_environmentLoader",void 0),__decorate([inject],t.prototype,"_initData",void 0),t})();export{CameraControl2D as C,SceneManager as S,CameraControlFirstPerson as a};
2
+ //# sourceMappingURL=scene-manager-b3bd3bed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-manager-b3bd3bed.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ System.register(["./rapi-access-c8981c13.nomodule.js","./main-thread-to-worker-4f826ab0.nomodule.js","./pixotron-e40b75d2.nomodule.js"],(function(e,t){var i,s,n,r,o,a,h,_,d,c,m,p,l,u,g,E,w,C,y,v,R;return{setters:[function(e){i=e.t,s=e.u,n=e.a8,r=e.a9,o=e.v,a=e._,h=e.i,_=e.e,d=e.h,c=e.f,m=e.R,p=e.aa},function(e){l=e.i},function(e){u=e.d,g=e.i,E=e.D,w=e.C,C=e.b,y=e.B,v=e.f,R=e.c}],execute:function(){class f extends u{constructor(e,t,i){super(e,t,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(e){let{x:t,y:i}=this._domHelper.getClientDimensions(),s=t/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(e),this._cameraPosition=e,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:e,y:t}=this._domHelper.getClientDimensions(),i=e/t*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:e=>{this._locked||(this._state=1,this._lastPosition.set(e.position.x,e.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:e=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(e.position.x,e.position.y),e.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:e=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:e=>{e.event&&(e.event.stopPropagation(),e.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(e.position,1),this._update()}}),this._inputListeners.push({key:8,fun:e=>{e.event&&(e.event.stopPropagation(),e.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(e.position,-1),this._update()}})}_zoomTo(e,t){if(Date.now()-this._lastZoom>200){if(t>0||this._cameraZoom>=1){const t=this.getInputPosition(e);this._raycaster.setFromCamera(t,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(e,t){let i=new THREE.Vector2;i.subVectors(this._lastPosition,e),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===t?1.1:1),this._cameraPosition.z+=i.y*(2===t?1.1:1),this._lastPosition.copy(e)}updateToBounds(e,t){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(e.x,e.z);let r=this._size,o=this._size;n>1?r=this._size*n:o=this._size*(s/i),this._center.copy(t),this._camera.left=r/-2,this._camera.right=r/2,this._camera.top=o/2,this._camera.bottom=o/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(e){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(e){return!(!super.animateCamera(e)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*e),0))}}e("C",f);const L=Math.PI/4;class x extends u{constructor(e,t,s,n){super(e,t,s),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=i(-60),this.maxPolarAngle=i(60),this._camera=n||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),s?this._camera.position.set(s.x,1.5,s.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let r=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(r),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(e){this.startButtonPressListener()}_gamepadDisconnected(e){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let e=navigator.getGamepads()[0];this._checkRightStick(e),this._checkLeftStick(e),this._checkButtons(e),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(e){let t=e.axes[2],i=e.axes[3];Math.abs(t)>.2&&(this._rotateHorizontal(.01*L*t),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*L*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(e){let t=e.axes[0],i=e.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):e.buttons&&e.buttons[12]&&e.buttons[12].pressed?this._keyMap.set(87,!0):e.buttons&&e.buttons[13]&&e.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(t)>.2?t<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(e){e.buttons&&e.buttons[6]&&e.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),e.buttons&&e.buttons[14]&&e.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),e.buttons&&e.buttons[15]&&e.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(e){let t=this._cameraPosition,i=this._cameraRotation,r=this.getCamera(),o=s(t,r.position),a=n(i,r.quaternion);if(!t||o&&a)return!1;let h=this.getCamera().position.clone(),_=Math.min(10*e,1);h.lerp(t,_),this.getCamera().position.copy(h);let d=this.getCamera().quaternion.clone(),c=Math.min(5*e,1);d.slerp(i,c),this.getCamera().setRotationFromQuaternion(d);let m=!1;return this._keyMap.forEach(e=>{e&&(m=!0)}),m&&this._processKeyMap(this._keyMap,e),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:e=>{this._down(e)}}),this._inputListeners.push({key:6,fun:e=>{this._move(e)}}),this._inputListeners.push({key:4,fun:e=>{this._up(e)}})}_down(e){this._downPosition=e.position,this._position=e.position,this._state=1,2===e.type&&window.setTimeout(this._onLongDown.bind(this),350),2===e.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(e){this._position=e.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(e.position.x,e.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(e.position.x,e.position.y)),this._moveForward())}_up(e){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){r(this._downPosition,this._position)<g&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(e){let t=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(t)}updateCamera(){let{x:e,y:t}=this._domHelper.getClientDimensions();this._camera.aspect=e/t,this._camera.updateProjectionMatrix()}_onKeyChanged(e){this._keyMap.set(e.keyCode,"keydown"===e.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&e.preventDefault()}_processKeyMap(e,t){t=Math.min(t,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(e,i,t),e.get(65)&&(i.x=-1*t),e.get(68)&&(i.x=1*t),e.get(37)&&(this._rotateHorizontal(-L*this._rotationSpeed*t),s=!0),e.get(39)&&(this._rotateHorizontal(L*this._rotationSpeed*t),s=!0),e.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(e,t,i){(e.get(87)||e.get(38))&&(t.z=-1*i),(e.get(83)||e.get(40))&&(t.z=1*i)}_orbit(e){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(e.x,e.y),this.dispatchEvent(0));let t=e.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;t.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*t.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*t.y/i.clientHeight*1),o(this._orbitPosition,e)||this.dispatchEvent(1),this._orbitPosition.copy(e),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(e){let t=this._pitch+e;t>this.maxPolarAngle||t<this.minPolarAngle||(this._pitch=t,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}e("a",x),e("S",(()=>{class e{constructor(e,t,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=e,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(t,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender(!0)},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(e){this._cameraControl&&this._cameraControl.cleanUp(),e instanceof x&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof x&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=e,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_requestRender(e){if(!this._renderer)return;this._pixotron&&(this._pixotron.needsUpdate=!0,e&&(this._forceRender=!0));const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._forceRender&&(this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof E&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof w&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(e,t){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(t=t||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},r=THREE.sRGBEncoding,o=Math.floor(i*window.devicePixelRatio),a=Math.floor(s*window.devicePixelRatio);l()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(o,a,n):this._renderTarget=new THREE.WebGLRenderTarget(o,a,n),this._renderTarget.texture.encoding=r,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender(!0)),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(e){this.updateCamera(),this._requestRender(!0)}setupScene(e,t){this._setupScene(e,t)}updateCamera(){const{x:e,y:t}=this._domHelper.getClientDimensions();this._renderer.setSize(e,t);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(e*i),n=Math.floor(t*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(e,t)}catch(e){console.warn(e)}}this._cameraControl.updateCamera(),this._requestRender(!0)}_onWindowResize(){const e=this._getInputManager();e&&e.updateSize(),this.updateCamera(),this._requestRender(!0)}_isPartOfScene(e){return"Object3D"===e.type||"Mesh"===e.type||"GLB"===e.type||"GLTF"===e.type||"Group"===e.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let e=[];this._scene.children.forEach(t=>{this._isPartOfScene(t)&&e.push(t)}),e.forEach(e=>{_(e),this._scene.remove(e)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new C(this._pixotron),this._environment instanceof y&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(!0),500))),this._requestRender()}_loadGLTF(e,t,i,s,n,r,o){return new Promise((a,h)=>{this._staticItemLoader.loadGLTF(e,t,i,s,n,r,null,o).then(e=>{this._setCamera("GLTF",e),a(e)},h)})}_loadGLB(e,t,i,s,n,r,o,a){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(e,t,i,s,n,r,o,a).then(e=>{this._setCamera("GLB",e),h(e)},_)})}_setCamera(e,t){if(!t)return void console.warn("could not set camera for gltf",t);const i=new THREE.Box3;i.setFromObject(t),"GLB"===e?this._cameraControl instanceof w&&this._cameraControl.updateToBounds(i,!1):"GLTF"===e&&(this._cameraControl instanceof w&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof f&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const e=document.createElement("style");e.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(e),this._scriptLoader.fetch(v,{id:"dat-gui-js"}).then(()=>{let e=d(!1);e&&(this._domHelper.element.appendChild(e.domElement),this._guiLoaded())},e=>console.error(e))}_guiLoaded(){let e=d();e&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(e))}_addGUIListener(e){let t=e.__folders;Object.keys(t).forEach(e=>{let i=t[e];i.__folders&&Object.keys(i.__folders).forEach(e=>{let i=t[e];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(e=>{e.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){t.import("./stats-helper-efa282ca.nomodule.js").then(e=>this._statsHelper=new e.default)}_onKeyDown(e){}_onKeyUp(e){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._requestRender(!0)}destroy(){this.pause(),this.cleanUp()}handleEvent(e){switch(e.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(e);break;case"keyup":this._onKeyUp(e)}}loadSceneSettings(e){let t,i;return t=e.environment?new Promise(t=>{(new R).load(this._scene,this._renderer.domElement,this._environment,e).then(e=>{this._setEnvironment(e),t()})}):Promise.resolve(),e.lights?(this._lightSetting=new E(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(e)):i=Promise.resolve(),new Promise((e,s)=>{Promise.all([t,i]).then(()=>{this._requestRender(!0),e()},s)})}_setEnvironment(e){this._environment=e,this._pixotron&&this._environment instanceof y&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(!0),500)))}loadQualitySetting(e){this._pixotron&&(new p).set(this._pixotron,e)}async loadDynamicLightSetting(e){this._lightSetting=new E(this._scene,this._lightSetting);let t=!1;if(e.url)await this._lightSetting.loadFromURL(e.url),t=!0;else if(e.json)await this._lightSetting.loadFromJSON(e.json),t=!0;else if(e.object)await this._lightSetting.loadFromObject(e.object),t=!0;else if(e.ls){const i=c.createDynamicLightSettingSource(null,e.ls);await this._lightSetting.loadFromURL(i.url),t=!0}if(!t)throw new Error("No dynamic light setting source set");this._requestRender(!0)}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._requestRender(!0)}_updateBounds(e){if(e){if(this.updateEnvironment(e),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(e),this._pixotronUtil){const t=new THREE.Sphere;e.getBoundingSphere(t),this._pixotronUtil.updateBounds(t)}this._requestRender(!0)}}setCameraOffset(e){const t=this._cameraControl.getCamera();t.offset?(t.offset=e,this._requestRender(!0)):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const e=this._cameraControl.getCamera();return e.offset?JSON.parse(JSON.stringify(e.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const e=this._domHelper.getClientDimensions(),t=e.x,i=e.y;return m().createCamera(30,t/i,.1,20)}updateEnvironment(e,t=!1){if(e&&this._environment&&this._environment.needsBounds()){const i=e.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(e.getSize(new THREE.Vector3),t)}}}return a([h],e.prototype,"_domHelper",void 0),a([h],e.prototype,"_scriptLoader",void 0),a([h],e.prototype,"_lifeCycleManager",void 0),a([h],e.prototype,"_staticItemLoader",void 0),a([h],e.prototype,"_environmentLoader",void 0),a([h],e.prototype,"_initData",void 0),e})())}}}));
2
+ //# sourceMappingURL=scene-manager-cbf9f557.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-manager-cbf9f557.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}