@luminocity/lemonate-engine 15.2.2 → 15.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/dist/engine.min.js +302 -0
  2. package/dist/player.zip +302 -0
  3. package/package.json +6 -2
  4. package/dist/Builder.js +0 -93
  5. package/dist/Builder.js.map +0 -1
  6. package/dist/Canvas.js +0 -109
  7. package/dist/Canvas.js.map +0 -1
  8. package/dist/Controllers.js +0 -97
  9. package/dist/Controllers.js.map +0 -1
  10. package/dist/EditorScene.js +0 -372
  11. package/dist/EditorScene.js.map +0 -1
  12. package/dist/Engine.js +0 -1576
  13. package/dist/Engine.js.map +0 -1
  14. package/dist/LoadingManager.js +0 -1195
  15. package/dist/LoadingManager.js.map +0 -1
  16. package/dist/LoadingState.js +0 -37
  17. package/dist/LoadingState.js.map +0 -1
  18. package/dist/Logger.js +0 -141
  19. package/dist/Logger.js.map +0 -1
  20. package/dist/Player.js +0 -470
  21. package/dist/Player.js.map +0 -1
  22. package/dist/Preview.js +0 -166
  23. package/dist/Preview.js.map +0 -1
  24. package/dist/RenderOptions.js +0 -59
  25. package/dist/RenderOptions.js.map +0 -1
  26. package/dist/RenderPassInfo.js +0 -133
  27. package/dist/RenderPassInfo.js.map +0 -1
  28. package/dist/RenderView.js +0 -459
  29. package/dist/RenderView.js.map +0 -1
  30. package/dist/Renderer.js +0 -1867
  31. package/dist/Renderer.js.map +0 -1
  32. package/dist/SceneGraph.js +0 -798
  33. package/dist/SceneGraph.js.map +0 -1
  34. package/dist/SceneGraphCollection.js +0 -614
  35. package/dist/SceneGraphCollection.js.map +0 -1
  36. package/dist/Shortcuts.js +0 -259
  37. package/dist/Shortcuts.js.map +0 -1
  38. package/dist/Tools.js +0 -500
  39. package/dist/Tools.js.map +0 -1
  40. package/dist/Variables.js +0 -243
  41. package/dist/Variables.js.map +0 -1
  42. package/dist/helpers/ArrowHelper.js +0 -104
  43. package/dist/helpers/ArrowHelper.js.map +0 -1
  44. package/dist/helpers/BoxHelper.js +0 -112
  45. package/dist/helpers/BoxHelper.js.map +0 -1
  46. package/dist/helpers/CameraHelper.js +0 -237
  47. package/dist/helpers/CameraHelper.js.map +0 -1
  48. package/dist/helpers/FaceNormalsHelper.js +0 -85
  49. package/dist/helpers/FaceNormalsHelper.js.map +0 -1
  50. package/dist/helpers/MeshHelper.js +0 -92
  51. package/dist/helpers/MeshHelper.js.map +0 -1
  52. package/dist/helpers/MultiGridHelper.js +0 -61
  53. package/dist/helpers/MultiGridHelper.js.map +0 -1
  54. package/dist/helpers/ParticlesHelper.js +0 -245
  55. package/dist/helpers/ParticlesHelper.js.map +0 -1
  56. package/dist/helpers/PointHelper.js +0 -85
  57. package/dist/helpers/PointHelper.js.map +0 -1
  58. package/dist/helpers/SphereHelper.js +0 -62
  59. package/dist/helpers/SphereHelper.js.map +0 -1
  60. package/dist/helpers/VertexNormalsHelper.js +0 -75
  61. package/dist/helpers/VertexNormalsHelper.js.map +0 -1
  62. package/dist/helpers/ViewHelper.js +0 -252
  63. package/dist/helpers/ViewHelper.js.map +0 -1
  64. package/dist/helpers/lighthelpers/DirectionalLightHelper.js +0 -136
  65. package/dist/helpers/lighthelpers/DirectionalLightHelper.js.map +0 -1
  66. package/dist/helpers/lighthelpers/HemisphereLightHelper.js +0 -124
  67. package/dist/helpers/lighthelpers/HemisphereLightHelper.js.map +0 -1
  68. package/dist/helpers/lighthelpers/PointLightHelper.js +0 -133
  69. package/dist/helpers/lighthelpers/PointLightHelper.js.map +0 -1
  70. package/dist/helpers/lighthelpers/SpotLightHelper.js +0 -123
  71. package/dist/helpers/lighthelpers/SpotLightHelper.js.map +0 -1
  72. package/dist/index.js +0 -40
  73. package/dist/index.js.map +0 -1
  74. package/dist/items/AudioCollectionItem.js +0 -230
  75. package/dist/items/AudioCollectionItem.js.map +0 -1
  76. package/dist/items/AudioItem.js +0 -75
  77. package/dist/items/AudioItem.js.map +0 -1
  78. package/dist/items/BackgroundShaderItem.js +0 -239
  79. package/dist/items/BackgroundShaderItem.js.map +0 -1
  80. package/dist/items/CanvasTextureItem.js +0 -194
  81. package/dist/items/CanvasTextureItem.js.map +0 -1
  82. package/dist/items/CompositionItem.js +0 -110
  83. package/dist/items/CompositionItem.js.map +0 -1
  84. package/dist/items/FontItem.js +0 -135
  85. package/dist/items/FontItem.js.map +0 -1
  86. package/dist/items/GaussianSplatsItem.js +0 -103
  87. package/dist/items/GaussianSplatsItem.js.map +0 -1
  88. package/dist/items/GridMapItem.js +0 -202
  89. package/dist/items/GridMapItem.js.map +0 -1
  90. package/dist/items/ImageItem.js +0 -255
  91. package/dist/items/ImageItem.js.map +0 -1
  92. package/dist/items/Item.js +0 -739
  93. package/dist/items/Item.js.map +0 -1
  94. package/dist/items/MaterialCollectionItem.js +0 -216
  95. package/dist/items/MaterialCollectionItem.js.map +0 -1
  96. package/dist/items/MaterialItem.js +0 -1762
  97. package/dist/items/MaterialItem.js.map +0 -1
  98. package/dist/items/MeshCollectionItem.js +0 -258
  99. package/dist/items/MeshCollectionItem.js.map +0 -1
  100. package/dist/items/MeshItem.js +0 -274
  101. package/dist/items/MeshItem.js.map +0 -1
  102. package/dist/items/ParticlesItem.js +0 -187
  103. package/dist/items/ParticlesItem.js.map +0 -1
  104. package/dist/items/PixelShaderItem.js +0 -42
  105. package/dist/items/PixelShaderItem.js.map +0 -1
  106. package/dist/items/PointsItem.js +0 -122
  107. package/dist/items/PointsItem.js.map +0 -1
  108. package/dist/items/PrefabItem.js +0 -140
  109. package/dist/items/PrefabItem.js.map +0 -1
  110. package/dist/items/ProjectItem.js +0 -857
  111. package/dist/items/ProjectItem.js.map +0 -1
  112. package/dist/items/SceneItem.js +0 -443
  113. package/dist/items/SceneItem.js.map +0 -1
  114. package/dist/items/ScriptItem.js +0 -159
  115. package/dist/items/ScriptItem.js.map +0 -1
  116. package/dist/items/VariableSetItem.js +0 -208
  117. package/dist/items/VariableSetItem.js.map +0 -1
  118. package/dist/items/VertexShaderItem.js +0 -42
  119. package/dist/items/VertexShaderItem.js.map +0 -1
  120. package/dist/items/VideoItem.js +0 -152
  121. package/dist/items/VideoItem.js.map +0 -1
  122. package/dist/items/base/ImageOwningItem.js +0 -205
  123. package/dist/items/base/ImageOwningItem.js.map +0 -1
  124. package/dist/items/base/MeshBase.js +0 -342
  125. package/dist/items/base/MeshBase.js.map +0 -1
  126. package/dist/items/base/ShaderBase.js +0 -115
  127. package/dist/items/base/ShaderBase.js.map +0 -1
  128. package/dist/items/helpers/ListEntry.js +0 -113
  129. package/dist/items/helpers/ListEntry.js.map +0 -1
  130. package/dist/items/helpers/ListField.js +0 -210
  131. package/dist/items/helpers/ListField.js.map +0 -1
  132. package/dist/items/helpers/MappingSetup.js +0 -126
  133. package/dist/items/helpers/MappingSetup.js.map +0 -1
  134. package/dist/json/packageVersionInfo.json +0 -6
  135. package/dist/json/shortcuts.json +0 -37
  136. package/dist/renderers/ForwardRenderer.js +0 -50
  137. package/dist/renderers/ForwardRenderer.js.map +0 -1
  138. package/dist/renderers/RendererBase.js +0 -38
  139. package/dist/renderers/RendererBase.js.map +0 -1
  140. package/dist/scenegraph/SgAudio.js +0 -286
  141. package/dist/scenegraph/SgAudio.js.map +0 -1
  142. package/dist/scenegraph/SgAudioListener.js +0 -64
  143. package/dist/scenegraph/SgAudioListener.js.map +0 -1
  144. package/dist/scenegraph/SgBillboard.js +0 -150
  145. package/dist/scenegraph/SgBillboard.js.map +0 -1
  146. package/dist/scenegraph/SgBox.js +0 -54
  147. package/dist/scenegraph/SgBox.js.map +0 -1
  148. package/dist/scenegraph/SgCamera.js +0 -219
  149. package/dist/scenegraph/SgCamera.js.map +0 -1
  150. package/dist/scenegraph/SgCircleShadow.js +0 -105
  151. package/dist/scenegraph/SgCircleShadow.js.map +0 -1
  152. package/dist/scenegraph/SgCone.js +0 -61
  153. package/dist/scenegraph/SgCone.js.map +0 -1
  154. package/dist/scenegraph/SgCylinder.js +0 -62
  155. package/dist/scenegraph/SgCylinder.js.map +0 -1
  156. package/dist/scenegraph/SgGaussianSplats.js +0 -103
  157. package/dist/scenegraph/SgGaussianSplats.js.map +0 -1
  158. package/dist/scenegraph/SgGridMap.js +0 -112
  159. package/dist/scenegraph/SgGridMap.js.map +0 -1
  160. package/dist/scenegraph/SgGroup.js +0 -40
  161. package/dist/scenegraph/SgGroup.js.map +0 -1
  162. package/dist/scenegraph/SgItem.js +0 -1427
  163. package/dist/scenegraph/SgItem.js.map +0 -1
  164. package/dist/scenegraph/SgItemScript.js +0 -117
  165. package/dist/scenegraph/SgItemScript.js.map +0 -1
  166. package/dist/scenegraph/SgLightsource.js +0 -319
  167. package/dist/scenegraph/SgLightsource.js.map +0 -1
  168. package/dist/scenegraph/SgLod.js +0 -82
  169. package/dist/scenegraph/SgLod.js.map +0 -1
  170. package/dist/scenegraph/SgMesh.js +0 -662
  171. package/dist/scenegraph/SgMesh.js.map +0 -1
  172. package/dist/scenegraph/SgNavMesh.js +0 -503
  173. package/dist/scenegraph/SgNavMesh.js.map +0 -1
  174. package/dist/scenegraph/SgParticles.js +0 -796
  175. package/dist/scenegraph/SgParticles.js.map +0 -1
  176. package/dist/scenegraph/SgPhysicsItem.js +0 -806
  177. package/dist/scenegraph/SgPhysicsItem.js.map +0 -1
  178. package/dist/scenegraph/SgPhysicsSubItem.js +0 -449
  179. package/dist/scenegraph/SgPhysicsSubItem.js.map +0 -1
  180. package/dist/scenegraph/SgPlane.js +0 -47
  181. package/dist/scenegraph/SgPlane.js.map +0 -1
  182. package/dist/scenegraph/SgPoints.js +0 -143
  183. package/dist/scenegraph/SgPoints.js.map +0 -1
  184. package/dist/scenegraph/SgPositionalAudio.js +0 -93
  185. package/dist/scenegraph/SgPositionalAudio.js.map +0 -1
  186. package/dist/scenegraph/SgPrefab.js +0 -153
  187. package/dist/scenegraph/SgPrefab.js.map +0 -1
  188. package/dist/scenegraph/SgProceduralGeometryItem.js +0 -146
  189. package/dist/scenegraph/SgProceduralGeometryItem.js.map +0 -1
  190. package/dist/scenegraph/SgResourceOwner.js +0 -127
  191. package/dist/scenegraph/SgResourceOwner.js.map +0 -1
  192. package/dist/scenegraph/SgRibbon.js +0 -107
  193. package/dist/scenegraph/SgRibbon.js.map +0 -1
  194. package/dist/scenegraph/SgRing.js +0 -49
  195. package/dist/scenegraph/SgRing.js.map +0 -1
  196. package/dist/scenegraph/SgRoot.js +0 -87
  197. package/dist/scenegraph/SgRoot.js.map +0 -1
  198. package/dist/scenegraph/SgScriptedMesh.js +0 -213
  199. package/dist/scenegraph/SgScriptedMesh.js.map +0 -1
  200. package/dist/scenegraph/SgSky.js +0 -126
  201. package/dist/scenegraph/SgSky.js.map +0 -1
  202. package/dist/scenegraph/SgSphere.js +0 -59
  203. package/dist/scenegraph/SgSphere.js.map +0 -1
  204. package/dist/scenegraph/SgText.js +0 -182
  205. package/dist/scenegraph/SgText.js.map +0 -1
  206. package/dist/scenegraph/SgTorus.js +0 -48
  207. package/dist/scenegraph/SgTorus.js.map +0 -1
  208. package/dist/scenegraph/SgVehicle.js +0 -370
  209. package/dist/scenegraph/SgVehicle.js.map +0 -1
  210. package/dist/subsystems/AudioSystem.js +0 -128
  211. package/dist/subsystems/AudioSystem.js.map +0 -1
  212. package/dist/subsystems/Billboard.js +0 -190
  213. package/dist/subsystems/Billboard.js.map +0 -1
  214. package/dist/subsystems/FontLoader.js +0 -161
  215. package/dist/subsystems/FontLoader.js.map +0 -1
  216. package/dist/subsystems/Physics.js +0 -1079
  217. package/dist/subsystems/Physics.js.map +0 -1
  218. package/dist/subsystems/Ribbons.js +0 -179
  219. package/dist/subsystems/Ribbons.js.map +0 -1
  220. package/dist/subsystems/gridmap/GridMapBuilder.js +0 -430
  221. package/dist/subsystems/gridmap/GridMapBuilder.js.map +0 -1
  222. package/dist/subsystems/imgui/ImGui.js +0 -742
  223. package/dist/subsystems/imgui/ImGui.js.map +0 -1
  224. package/dist/subsystems/importer/Converter.js +0 -199
  225. package/dist/subsystems/importer/Converter.js.map +0 -1
  226. package/dist/subsystems/importer/ImageConverter.js +0 -77
  227. package/dist/subsystems/importer/ImageConverter.js.map +0 -1
  228. package/dist/subsystems/importer/Importer.js +0 -381
  229. package/dist/subsystems/importer/Importer.js.map +0 -1
  230. package/dist/subsystems/importer/MeshConverter.js +0 -595
  231. package/dist/subsystems/importer/MeshConverter.js.map +0 -1
  232. package/dist/subsystems/particlesystem/CurlNoiseTexturePreview.js +0 -127
  233. package/dist/subsystems/particlesystem/CurlNoiseTexturePreview.js.map +0 -1
  234. package/dist/subsystems/particlesystem/Emitters/CircleEmitter.js +0 -135
  235. package/dist/subsystems/particlesystem/Emitters/CircleEmitter.js.map +0 -1
  236. package/dist/subsystems/particlesystem/Emitters/ConeEmitter.js +0 -192
  237. package/dist/subsystems/particlesystem/Emitters/ConeEmitter.js.map +0 -1
  238. package/dist/subsystems/particlesystem/Emitters/CubeEmitter.js +0 -157
  239. package/dist/subsystems/particlesystem/Emitters/CubeEmitter.js.map +0 -1
  240. package/dist/subsystems/particlesystem/Emitters/EdgeEmitter.js +0 -133
  241. package/dist/subsystems/particlesystem/Emitters/EdgeEmitter.js.map +0 -1
  242. package/dist/subsystems/particlesystem/Emitters/Emitter.js +0 -107
  243. package/dist/subsystems/particlesystem/Emitters/Emitter.js.map +0 -1
  244. package/dist/subsystems/particlesystem/Emitters/HemiSphereEmitter.js +0 -142
  245. package/dist/subsystems/particlesystem/Emitters/HemiSphereEmitter.js.map +0 -1
  246. package/dist/subsystems/particlesystem/Emitters/MeshEmitter.js +0 -56
  247. package/dist/subsystems/particlesystem/Emitters/MeshEmitter.js.map +0 -1
  248. package/dist/subsystems/particlesystem/Emitters/SphereEmitter.js +0 -142
  249. package/dist/subsystems/particlesystem/Emitters/SphereEmitter.js.map +0 -1
  250. package/dist/subsystems/particlesystem/Emitters/TorusEmitter.js +0 -159
  251. package/dist/subsystems/particlesystem/Emitters/TorusEmitter.js.map +0 -1
  252. package/dist/subsystems/particlesystem/ParticleSystem.js +0 -706
  253. package/dist/subsystems/particlesystem/ParticleSystem.js.map +0 -1
  254. package/dist/subsystems/particlesystem/Simulation.js +0 -475
  255. package/dist/subsystems/particlesystem/Simulation.js.map +0 -1
  256. package/dist/subsystems/particlesystem/Visualization.js +0 -518
  257. package/dist/subsystems/particlesystem/Visualization.js.map +0 -1
  258. package/dist/subsystems/particlesystem/shaders/noise/CurlNoiseTexturePreviewShader.js +0 -56
  259. package/dist/subsystems/particlesystem/shaders/noise/CurlNoiseTexturePreviewShader.js.map +0 -1
  260. package/dist/subsystems/particlesystem/utils.js +0 -115
  261. package/dist/subsystems/particlesystem/utils.js.map +0 -1
  262. package/dist/subsystems/scripting/ScriptEngine.js +0 -1074
  263. package/dist/subsystems/scripting/ScriptEngine.js.map +0 -1
  264. package/dist/subsystems/scripting/ScriptRunner.js +0 -153
  265. package/dist/subsystems/scripting/ScriptRunner.js.map +0 -1
  266. package/dist/subsystems/scripting/ScriptRuntime.js +0 -244
  267. package/dist/subsystems/scripting/ScriptRuntime.js.map +0 -1
  268. package/dist/subsystems/scripting/runtime/RtAudio.js +0 -37
  269. package/dist/subsystems/scripting/runtime/RtAudio.js.map +0 -1
  270. package/dist/subsystems/scripting/runtime/RtBase.js +0 -117
  271. package/dist/subsystems/scripting/runtime/RtBase.js.map +0 -1
  272. package/dist/subsystems/scripting/runtime/RtCanvas.js +0 -326
  273. package/dist/subsystems/scripting/runtime/RtCanvas.js.map +0 -1
  274. package/dist/subsystems/scripting/runtime/RtComposer.js +0 -58
  275. package/dist/subsystems/scripting/runtime/RtComposer.js.map +0 -1
  276. package/dist/subsystems/scripting/runtime/RtConsole.js +0 -51
  277. package/dist/subsystems/scripting/runtime/RtConsole.js.map +0 -1
  278. package/dist/subsystems/scripting/runtime/RtControllers.js +0 -52
  279. package/dist/subsystems/scripting/runtime/RtControllers.js.map +0 -1
  280. package/dist/subsystems/scripting/runtime/RtEvents.js +0 -46
  281. package/dist/subsystems/scripting/runtime/RtEvents.js.map +0 -1
  282. package/dist/subsystems/scripting/runtime/RtImGui.js +0 -410
  283. package/dist/subsystems/scripting/runtime/RtImGui.js.map +0 -1
  284. package/dist/subsystems/scripting/runtime/RtItem.js +0 -297
  285. package/dist/subsystems/scripting/runtime/RtItem.js.map +0 -1
  286. package/dist/subsystems/scripting/runtime/RtLoader.js +0 -77
  287. package/dist/subsystems/scripting/runtime/RtLoader.js.map +0 -1
  288. package/dist/subsystems/scripting/runtime/RtObject.js +0 -34
  289. package/dist/subsystems/scripting/runtime/RtObject.js.map +0 -1
  290. package/dist/subsystems/scripting/runtime/RtPhysics.js +0 -69
  291. package/dist/subsystems/scripting/runtime/RtPhysics.js.map +0 -1
  292. package/dist/subsystems/scripting/runtime/RtPointer.js +0 -45
  293. package/dist/subsystems/scripting/runtime/RtPointer.js.map +0 -1
  294. package/dist/subsystems/scripting/runtime/RtProject.js +0 -66
  295. package/dist/subsystems/scripting/runtime/RtProject.js.map +0 -1
  296. package/dist/subsystems/scripting/runtime/RtRenderer.js +0 -138
  297. package/dist/subsystems/scripting/runtime/RtRenderer.js.map +0 -1
  298. package/dist/subsystems/scripting/runtime/RtSceneEntry.js +0 -67
  299. package/dist/subsystems/scripting/runtime/RtSceneEntry.js.map +0 -1
  300. package/dist/subsystems/scripting/runtime/RtSceneObject.js +0 -666
  301. package/dist/subsystems/scripting/runtime/RtSceneObject.js.map +0 -1
  302. package/dist/subsystems/scripting/runtime/RtStorage.js +0 -64
  303. package/dist/subsystems/scripting/runtime/RtStorage.js.map +0 -1
  304. package/dist/subsystems/scripting/runtime/RtSystem.js +0 -85
  305. package/dist/subsystems/scripting/runtime/RtSystem.js.map +0 -1
  306. package/dist/subsystems/scripting/runtime/RtTools.js +0 -37
  307. package/dist/subsystems/scripting/runtime/RtTools.js.map +0 -1
  308. package/dist/subsystems/scripting/runtime/RtVariables.js +0 -57
  309. package/dist/subsystems/scripting/runtime/RtVariables.js.map +0 -1
  310. package/dist/subsystems/scripting/runtime/items/RtCanvasTexture.js +0 -101
  311. package/dist/subsystems/scripting/runtime/items/RtCanvasTexture.js.map +0 -1
  312. package/dist/subsystems/scripting/runtime/items/RtMaterial.js +0 -34
  313. package/dist/subsystems/scripting/runtime/items/RtMaterial.js.map +0 -1
  314. package/dist/subsystems/scripting/runtime/items/RtMesh.js +0 -34
  315. package/dist/subsystems/scripting/runtime/items/RtMesh.js.map +0 -1
  316. package/dist/subsystems/scripting/runtime/items/RtTexture.js +0 -34
  317. package/dist/subsystems/scripting/runtime/items/RtTexture.js.map +0 -1
  318. package/dist/subsystems/scripting/runtime/items/RtVideo.js +0 -56
  319. package/dist/subsystems/scripting/runtime/items/RtVideo.js.map +0 -1
  320. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgAudio.js +0 -59
  321. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgAudio.js.map +0 -1
  322. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgCamera.js +0 -134
  323. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgCamera.js.map +0 -1
  324. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgMesh.js +0 -99
  325. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgMesh.js.map +0 -1
  326. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgNavMesh.js +0 -114
  327. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgNavMesh.js.map +0 -1
  328. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgParticles.js +0 -576
  329. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgParticles.js.map +0 -1
  330. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgPositionalAudio.js +0 -56
  331. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgPositionalAudio.js.map +0 -1
  332. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgRibbon.js +0 -42
  333. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgRibbon.js.map +0 -1
  334. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgScriptedMesh.js +0 -65
  335. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgScriptedMesh.js.map +0 -1
  336. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgVehicle.js +0 -60
  337. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgVehicle.js.map +0 -1
  338. package/dist/tools/AsyncInterval.js +0 -55
  339. package/dist/tools/AsyncInterval.js.map +0 -1
  340. package/dist/tools/Converters.js +0 -41
  341. package/dist/tools/Converters.js.map +0 -1
  342. package/dist/tools/DebugTools.js +0 -91
  343. package/dist/tools/DebugTools.js.map +0 -1
  344. package/dist/tools/FontTools.js +0 -43
  345. package/dist/tools/FontTools.js.map +0 -1
  346. package/dist/tools/FsShader.js +0 -112
  347. package/dist/tools/FsShader.js.map +0 -1
  348. package/dist/tools/GeometryTools.js +0 -373
  349. package/dist/tools/GeometryTools.js.map +0 -1
  350. package/dist/tools/ItemTools.js +0 -139
  351. package/dist/tools/ItemTools.js.map +0 -1
  352. package/dist/tools/MathHelpers.js +0 -125
  353. package/dist/tools/MathHelpers.js.map +0 -1
  354. package/dist/tools/Profiler.js +0 -174
  355. package/dist/tools/Profiler.js.map +0 -1
  356. package/dist/tools/Random.js +0 -48
  357. package/dist/tools/Random.js.map +0 -1
  358. package/dist/tools/RtDebugger.js +0 -84
  359. package/dist/tools/RtDebugger.js.map +0 -1
  360. package/dist/tools/StringExtensions.js +0 -72
  361. package/dist/tools/StringExtensions.js.map +0 -1
  362. package/dist/tools/TextureTools.js +0 -444
  363. package/dist/tools/TextureTools.js.map +0 -1
  364. package/dist/tools/Timer.js +0 -52
  365. package/dist/tools/Timer.js.map +0 -1
  366. package/dist/tools/audioVisualizers/WavyAudioVisualizer.js +0 -59
  367. package/dist/tools/audioVisualizers/WavyAudioVisualizer.js.map +0 -1
  368. /package/dist/renderers/{forwardrenderer.d.ts → ForwardRenderer.d.ts} +0 -0
  369. /package/dist/subsystems/imgui/{imgui.d.ts → ImGui.d.ts} +0 -0
  370. /package/dist/subsystems/importer/{imageconverter.d.ts → ImageConverter.d.ts} +0 -0
  371. /package/dist/subsystems/scripting/{scriptrunner.d.ts → ScriptRunner.d.ts} +0 -0
  372. /package/dist/subsystems/scripting/{scriptruntime.d.ts → ScriptRuntime.d.ts} +0 -0
  373. /package/dist/subsystems/scripting/runtime/{rtAudio.d.ts → RtAudio.d.ts} +0 -0
  374. /package/dist/subsystems/scripting/runtime/{rtComposer.d.ts → RtComposer.d.ts} +0 -0
  375. /package/dist/subsystems/scripting/runtime/{rtObject.d.ts → RtObject.d.ts} +0 -0
@@ -1,444 +0,0 @@
1
- // -----------------------------------------------------------------------------------------------------------
2
- // __ ______ __ __ ______ __ __ ______ ______ ______
3
- // /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
4
- // \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
5
- // \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
6
- // \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
7
- //
8
- //
9
- // Copyright 2023- Luminocity AG
10
- //
11
- // "The right man in the wrong place can make all the difference in the world." - Half-Life 2 (2004)
12
- //
13
- // Permission is hereby granted, free of charge, to any person obtaining a copy of this software
14
- // and associated documentation files (the “Software”), to deal in the Software without restriction,
15
- // including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
- // and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
17
- // subject to the following conditions:
18
- //
19
- // The above copyright notice and this permission notice shall be included in all copies or substantial
20
- // portions of the Software.
21
- //
22
- // THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
23
- // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
- // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25
- // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26
- // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
- // -----------------------------------------------------------------------------------------------------------
28
- import Jimp from 'jimp/browser/lib/jimp';
29
- import blit_frag from './shaders/blit_frag.glsl';
30
- import merge_blit_frag from './shaders/merge_blit_frag.glsl';
31
- import blit_vert from './shaders/blit_vert.glsl';
32
- import { UnsignedByteType, UnsignedIntType, FloatType, HalfFloatType, PlaneGeometry, Mesh, Scene, OrthographicCamera, ShaderMaterial, Vector4, CanvasTexture, LinearFilter, PMREMGenerator, RepeatWrapping, Vector2, CustomBlending, SrcAlphaFactor, OneMinusSrcAlphaFactor, AddEquation } from "three";
33
- import tools from "../Tools.js";
34
- // ---------------------------------------------------
35
- // PMREM Generator
36
- // ---------------------------------------------------
37
- let _pmremGenerator;
38
- function getPMREMGenerator(renderer) {
39
- if (_pmremGenerator) {
40
- return _pmremGenerator;
41
- }
42
- _pmremGenerator = new PMREMGenerator(renderer);
43
- _pmremGenerator.compileEquirectangularShader();
44
- return _pmremGenerator;
45
- }
46
- function disposePMREMGenerator() {
47
- if (_pmremGenerator) {
48
- _pmremGenerator.dispose();
49
- _pmremGenerator = undefined;
50
- }
51
- }
52
- let _blitScene;
53
- let _mergeBlitScene;
54
- function getBlitScene() {
55
- if (_blitScene)
56
- return _blitScene;
57
- const uniforms = {
58
- tTexture: { type: "t", value: null },
59
- multiplier: { type: "v4", value: new Vector4(1, 1, 1, 1) },
60
- additive: { type: "v4", value: new Vector4(0, 0, 0, 0) },
61
- withTonemappingAndColorspace: { type: 'bool', value: false }
62
- };
63
- const matParams = {
64
- blending: CustomBlending,
65
- blendSrc: SrcAlphaFactor,
66
- blendDst: OneMinusSrcAlphaFactor,
67
- blendEquation: AddEquation,
68
- uniforms: uniforms,
69
- vertexShader: blit_vert,
70
- fragmentShader: blit_frag,
71
- depthWrite: false,
72
- depthTest: false
73
- };
74
- const geometry = new PlaneGeometry(2, 2);
75
- const mat = new ShaderMaterial(matParams);
76
- const mesh = new Mesh(geometry, mat);
77
- const camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);
78
- const scene = new Scene();
79
- scene.add(mesh);
80
- scene.add(camera);
81
- _blitScene = {
82
- scene: scene,
83
- geometry: geometry,
84
- mesh: mesh,
85
- camera: camera,
86
- uniforms: uniforms
87
- };
88
- return _blitScene;
89
- }
90
- function disposeBlitScene() {
91
- if (_blitScene) {
92
- _blitScene.geometry.dispose();
93
- _blitScene = undefined;
94
- }
95
- }
96
- function getMergeBlitScene() {
97
- if (_mergeBlitScene)
98
- return _mergeBlitScene;
99
- const uniforms = {
100
- tTexture1: { type: "t", value: null },
101
- tTexture2: { type: "t", value: null },
102
- tTexture3: { type: "t", value: null },
103
- mode: { type: "int", value: null },
104
- multiplier: { type: "v4", value: new Vector4(1, 1, 1, 1) },
105
- additive: { type: "v4", value: new Vector4(0, 0, 0, 0) },
106
- withTonemappingAndColorspace: { type: 'bool', value: false }
107
- };
108
- const matParams = {
109
- uniforms: uniforms,
110
- vertexShader: blit_vert,
111
- fragmentShader: merge_blit_frag,
112
- depthWrite: false,
113
- depthTest: false
114
- };
115
- const geometry = new PlaneGeometry(2, 2);
116
- const mat = new ShaderMaterial(matParams);
117
- const mesh = new Mesh(geometry, mat);
118
- const camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);
119
- const scene = new Scene();
120
- scene.add(mesh);
121
- scene.add(camera);
122
- _mergeBlitScene = {
123
- scene: scene,
124
- geometry: geometry,
125
- mesh: mesh,
126
- camera: camera,
127
- uniforms: uniforms
128
- };
129
- return _mergeBlitScene;
130
- }
131
- function disposeMergeBlitScene() {
132
- if (_mergeBlitScene) {
133
- _mergeBlitScene.geometry.dispose();
134
- _mergeBlitScene = undefined;
135
- }
136
- }
137
- function colori2f(value) {
138
- value *= 255;
139
- if (value > 255)
140
- value = 255;
141
- if (value < 0)
142
- value = 0;
143
- return value;
144
- }
145
- export default {
146
- dispose: function () {
147
- disposePMREMGenerator();
148
- disposeBlitScene();
149
- disposeMergeBlitScene();
150
- },
151
- encodeToJpeg: async function (buffer, width, height, asBase64 = false, quality = 90, resizeX, resizeY) {
152
- if (buffer instanceof Float32Array) {
153
- const ibuffer = new Uint8Array(buffer.length);
154
- let pixelcount = buffer.length / 4;
155
- let offset = 0;
156
- for (let i = 0; i < pixelcount; i++) {
157
- ibuffer[offset] = colori2f(buffer[offset]);
158
- ibuffer[offset + 1] = colori2f(buffer[offset + 1]);
159
- ibuffer[offset + 2] = colori2f(buffer[offset + 2]);
160
- ibuffer[offset + 3] = colori2f(buffer[offset + 3]);
161
- offset += 4;
162
- }
163
- buffer = ibuffer;
164
- }
165
- quality = quality || 90;
166
- return new Promise((resolve, reject) => {
167
- new Jimp({ data: buffer, width: width, height: height }, (err, image) => {
168
- if (err)
169
- reject(err);
170
- else {
171
- image.flip(false, true);
172
- if (resizeX && resizeY)
173
- image.cover(resizeX, resizeY);
174
- image.quality(quality);
175
- if (asBase64) {
176
- image.getBase64(Jimp.MIME_JPEG, function (err, buffer) {
177
- if (err)
178
- reject(err);
179
- else
180
- resolve(buffer);
181
- });
182
- }
183
- else {
184
- image.getBuffer(Jimp.MIME_JPEG, function (err, buffer) {
185
- if (err)
186
- reject(err);
187
- else
188
- resolve(buffer);
189
- });
190
- }
191
- }
192
- });
193
- });
194
- },
195
- encodeToPng: async function (buffer, width, height, asBase64, resizeX, resizeY) {
196
- if (buffer instanceof Float32Array) {
197
- const ibuffer = new Uint8Array(buffer.length);
198
- let pixelcount = buffer.length / 4;
199
- let offset = 0;
200
- for (let i = 0; i < pixelcount; i++) {
201
- ibuffer[offset] = colori2f(buffer[offset]);
202
- ibuffer[offset + 1] = colori2f(buffer[offset + 1]);
203
- ibuffer[offset + 2] = colori2f(buffer[offset + 2]);
204
- ibuffer[offset + 3] = colori2f(buffer[offset + 3]);
205
- offset += 4;
206
- }
207
- buffer = ibuffer;
208
- }
209
- return new Promise((resolve, reject) => {
210
- new Jimp({ data: buffer, width: width, height: height }, (err, image) => {
211
- if (err)
212
- reject(err);
213
- else {
214
- image.flip(false, true);
215
- if (resizeX && resizeY)
216
- image.cover(resizeX, resizeY);
217
- if (asBase64) {
218
- image.getBase64(Jimp.MIME_PNG, function (err, buffer) {
219
- if (err)
220
- reject(err);
221
- else
222
- resolve(buffer);
223
- });
224
- }
225
- else {
226
- image.getBuffer(Jimp.MIME_PNG, function (err, buffer) {
227
- if (err)
228
- reject(err);
229
- else
230
- resolve(buffer);
231
- });
232
- }
233
- }
234
- });
235
- });
236
- },
237
- renderManyTexturesToScreen: function (renderer, callback) {
238
- const currentAutoClear = renderer.autoClear;
239
- renderer.autoClear = false;
240
- const geometry = new PlaneGeometry(2, 2);
241
- function renderTex(tex, position, size, multiplier, additive, withTonemappingAndColorspace) {
242
- position = position || new Vector2(0, 0);
243
- size = size || new Vector2(1, 1);
244
- let sceneData;
245
- if (Array.isArray(tex)) {
246
- sceneData = getMergeBlitScene();
247
- sceneData.uniforms.mode.value = tex.length;
248
- sceneData.uniforms.tTexture1.value = tex[0];
249
- sceneData.uniforms.tTexture2.value = tex[1];
250
- sceneData.uniforms.tTexture3.value = tex[2];
251
- }
252
- else {
253
- // If a single texture is given, use the blit_flag shader
254
- sceneData = getBlitScene();
255
- sceneData.uniforms.tTexture.value = tex;
256
- }
257
- sceneData.uniforms.withTonemappingAndColorspace.value = !!withTonemappingAndColorspace;
258
- if (multiplier)
259
- sceneData.uniforms.multiplier.value = multiplier;
260
- else
261
- sceneData.uniforms.multiplier.value = new Vector4(1, 1, 1, 1);
262
- if (additive)
263
- sceneData.uniforms.additive.value = additive;
264
- else
265
- sceneData.uniforms.additive.value = new Vector4(0, 0, 0, 0);
266
- sceneData.mesh.scale.x = size.x;
267
- sceneData.mesh.scale.y = size.y;
268
- sceneData.mesh.position.x = (position.x * 2.0) - 1.0 + size.x;
269
- sceneData.mesh.position.y = (position.y * 2.0) - 1.0 + size.y;
270
- renderer.render(sceneData.scene, sceneData.camera);
271
- }
272
- callback(renderTex);
273
- renderer.autoClear = currentAutoClear;
274
- geometry.dispose();
275
- },
276
- renderTextureToScreen: function (renderer, tex, position, size, withTonemappingAndColorspace = false) {
277
- this.renderManyTexturesToScreen(renderer, function (renderFunc) {
278
- renderFunc(tex, position, size, undefined, undefined, withTonemappingAndColorspace);
279
- });
280
- },
281
- grabRenderTargetImage: function (renderTarget, renderer, useDepthTexture = false) {
282
- const width = renderTarget.width;
283
- const height = renderTarget.height;
284
- let buffer;
285
- const targetTexture = useDepthTexture ? renderTarget.depthTexture : renderTarget.texture;
286
- switch (targetTexture.type) {
287
- case HalfFloatType:
288
- case FloatType:
289
- buffer = new Float32Array(width * height * 4);
290
- break;
291
- case UnsignedByteType:
292
- buffer = new Uint8Array(width * height * 4);
293
- break;
294
- case UnsignedIntType:
295
- buffer = new Uint32Array(width * height * 4);
296
- break;
297
- default:
298
- console.error("Unsupported render target type to grab from: " + targetTexture.type);
299
- return null;
300
- }
301
- renderer.readRenderTargetPixels(renderTarget, 0, 0, width, height, buffer);
302
- return buffer;
303
- },
304
- grabFramebufferImage: function (renderer, rect) {
305
- const context = renderer.webGlRenderer.getContext();
306
- rect = rect || { x: 0, y: 0, width: context.drawingBufferWidth, height: context.drawingBufferHeight };
307
- const pixels = new Uint8Array(rect.width * rect.height * 4);
308
- context.readPixels(rect.x, context.drawingBufferHeight - (rect.y + rect.height), rect.width, rect.height, context.RGBA, context.UNSIGNED_BYTE, pixels);
309
- return { width: rect.width, height: rect.height, pixels };
310
- },
311
- downsampleBuffer: function (buffer, width, height) {
312
- const bufferSS = new Uint8Array(width * height * 4);
313
- for (let y = 0; y < height; y++) {
314
- for (let x = 0; x < width; x++) {
315
- const off1 = ((y * 2) * (width * 2) + (x * 2)) * 4;
316
- const off2 = off1 + 4;
317
- const off3 = off1 + (width * 8);
318
- const off4 = off3 + 4;
319
- const r = (buffer[off1] + buffer[off2] + buffer[off3] + buffer[off4]) / 4;
320
- const g = (buffer[off1 + 1] + buffer[off2 + 1] + buffer[off3 + 1] + buffer[off4 + 1]) / 4;
321
- const b = (buffer[off1 + 2] + buffer[off2 + 2] + buffer[off3 + 2] + buffer[off4 + 2]) / 4;
322
- const a = (buffer[off1 + 3] + buffer[off2 + 3] + buffer[off3 + 3] + buffer[off4 + 3]) / 4;
323
- const offSS = (y * width + x) * 4;
324
- bufferSS[offSS] = r;
325
- bufferSS[offSS + 1] = g;
326
- bufferSS[offSS + 2] = b;
327
- bufferSS[offSS + 3] = a;
328
- }
329
- }
330
- return bufferSS;
331
- },
332
- createPMREMTextureFromCubemap: function (renderer, cubeMap) {
333
- return new Promise((resolve, reject) => {
334
- renderer.requestFrame(async function () {
335
- try {
336
- const pmremGenerator = getPMREMGenerator(renderer.webGlRenderer);
337
- pmremGenerator.compileCubemapShader();
338
- const target = pmremGenerator.fromCubemap(cubeMap);
339
- resolve(target.texture);
340
- }
341
- catch (err) {
342
- reject(err);
343
- }
344
- });
345
- });
346
- },
347
- createPMREMTextureFromEquiRectTexture: function (renderer, texture) {
348
- return new Promise((resolve, reject) => {
349
- renderer.requestFrame(async function () {
350
- try {
351
- const pmremGenerator = getPMREMGenerator(renderer.webGlRenderer);
352
- const target = pmremGenerator.fromEquirectangular(texture);
353
- //@ts-ignore
354
- target.texture.equiRectSourceTex = texture;
355
- resolve(target.texture);
356
- }
357
- catch (err) {
358
- reject(err);
359
- }
360
- });
361
- });
362
- },
363
- // Function to create a gradient texture using a canvas
364
- createGradientTexture: function (colorTop, colorBottom) {
365
- const canvas = document.createElement('canvas');
366
- canvas.width = 1;
367
- canvas.height = 256; // Sufficient resolution for a smooth gradient
368
- const context = canvas.getContext('2d');
369
- if (!context)
370
- throw new Error('Failed to get 2D context');
371
- const gradient = context.createLinearGradient(0, 0, 0, canvas.height);
372
- gradient.addColorStop(0, colorTop);
373
- gradient.addColorStop(1, colorBottom);
374
- context.fillStyle = gradient;
375
- context.fillRect(0, 0, canvas.width, canvas.height);
376
- const texture = new CanvasTexture(canvas);
377
- texture.magFilter = LinearFilter;
378
- texture.minFilter = LinearFilter;
379
- return texture;
380
- },
381
- /**
382
- * Generates a UV test texture.
383
- *
384
- * @param {number} size — width/height of the square texture in pixels (e.g. 512).
385
- * @param {number} cols — number of columns in the grid.
386
- * @param {number} rows — number of rows in the grid.
387
- * @param {string[]} palette — array of fill-colors cycling through each cell.
388
- * @returns {THREE.CanvasTexture}
389
- */
390
- generateUVTestTexture: function ({ size = 2048, cols = 8, rows = 8 } = {}) {
391
- // 1) create canvas and context
392
- const canvas = document.createElement('canvas');
393
- canvas.width = canvas.height = size;
394
- const ctx = canvas.getContext('2d');
395
- if (!ctx)
396
- throw new Error('Failed to get 2D context');
397
- // 2) draw colored grid
398
- const cellW = size / cols;
399
- const cellH = size / rows;
400
- for (let y = 0; y < rows; y++) {
401
- for (let x = 0; x < cols; x++) {
402
- const gradientColor = tools.rgbToHexColor(Math.floor(y / rows * 255), Math.floor(x / cols * 255), 255);
403
- ctx.fillStyle = tools.adjustColor(gradientColor, 0.5, (x + y) % 2 === 0 ? 0.9 : 1.0);
404
- ctx.fillRect(x * cellW, y * cellH, cellW, cellH);
405
- }
406
- }
407
- // 3) draw grid lines
408
- ctx.strokeStyle = '#000';
409
- ctx.lineWidth = 2;
410
- for (let i = 0; i <= cols; i++) {
411
- const x = i * cellW;
412
- ctx.beginPath();
413
- ctx.moveTo(x, 0);
414
- ctx.lineTo(x, size);
415
- ctx.stroke();
416
- }
417
- for (let i = 0; i <= rows; i++) {
418
- const y = i * cellH;
419
- ctx.beginPath();
420
- ctx.moveTo(0, y);
421
- ctx.lineTo(size, y);
422
- ctx.stroke();
423
- }
424
- let fontSize = Math.floor(cellH / 5);
425
- // 4) label each cell with its UV coords
426
- ctx.fillStyle = '#000';
427
- ctx.textAlign = 'center';
428
- ctx.textBaseline = 'middle';
429
- ctx.font = `${fontSize}px OpenSansRegular`;
430
- for (let y = 0; y < rows; y++) {
431
- for (let x = 0; x < cols; x++) {
432
- const u = (x / (cols - 1)).toFixed(2);
433
- const v = (y / (rows - 1)).toFixed(2);
434
- ctx.fillText(`${u},${v}`, x * cellW + cellW / 2, y * cellH + cellH / 2);
435
- }
436
- }
437
- // 5) create THREE texture
438
- const texture = new CanvasTexture(canvas);
439
- texture.flipY = false;
440
- texture.wrapS = texture.wrapT = RepeatWrapping;
441
- return texture;
442
- }
443
- };
444
- //# sourceMappingURL=TextureTools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextureTools.js","sourceRoot":"","sources":["../../src/tools/TextureTools.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- // -----------------------------------------------------------------------------------------------------------
2
- // __ ______ __ __ ______ __ __ ______ ______ ______
3
- // /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
4
- // \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
5
- // \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
6
- // \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
7
- //
8
- //
9
- // Copyright 2023- Luminocity AG
10
- //
11
- // "Press F to pay respects." - Call of Duty: Advanced Warfare (2014)
12
- //
13
- // Permission is hereby granted, free of charge, to any person obtaining a copy of this software
14
- // and associated documentation files (the “Software”), to deal in the Software without restriction,
15
- // including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
- // and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
17
- // subject to the following conditions:
18
- //
19
- // The above copyright notice and this permission notice shall be included in all copies or substantial
20
- // portions of the Software.
21
- //
22
- // THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
23
- // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
- // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25
- // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26
- // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
- // -----------------------------------------------------------------------------------------------------------
28
- export class Timer {
29
- name;
30
- startTime = 0;
31
- timings = [];
32
- constructor(name) {
33
- this.name = name;
34
- this.reset();
35
- }
36
- reset() {
37
- this.startTime = Date.now();
38
- this.timings = [];
39
- }
40
- addTime(name) {
41
- this.timings.push({ name: name, time: Date.now() });
42
- }
43
- done(name = "done") {
44
- this.addTime(name);
45
- console.log(`TIME FOR: ${this.name} ---------------`);
46
- for (const entry of this.timings) {
47
- console.log(`${entry.name} : ${entry.time - this.startTime}ms`);
48
- }
49
- console.log("-------------------------------------");
50
- }
51
- }
52
- //# sourceMappingURL=Timer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../src/tools/Timer.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,wFAAwF;AACxF,yFAAyF;AACzF,yFAAyF;AACzF,2FAA2F;AAC3F,2FAA2F;AAC3F,EAAE;AACF,EAAE;AACF,gCAAgC;AAChC,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AACpG,wGAAwG;AACxG,wGAAwG;AACxG,uCAAuC;AACvC,EAAE;AACF,uGAAuG;AACvG,4BAA4B;AAC5B,EAAE;AACF,wGAAwG;AACxG,sGAAsG;AACtG,0GAA0G;AAC1G,sGAAsG;AACtG,yDAAyD;AACzD,8GAA8G;AAO9G,MAAM,OAAO,KAAK;IAEd,IAAI,CAAS;IACb,SAAS,GAAW,CAAC,CAAC;IACtB,OAAO,GAAa,EAAE,CAAC;IAEvB,YAAY,IAAY;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,OAAe,MAAM;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAC;QACtD,KAAI,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;CACJ"}
@@ -1,59 +0,0 @@
1
- // -----------------------------------------------------------------------------------------------------------
2
- // __ ______ __ __ ______ __ __ ______ ______ ______
3
- // /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
4
- // \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
5
- // \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
6
- // \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
7
- //
8
- //
9
- // Copyright 2023- Luminocity AG
10
- //
11
- // "The only thing they fear is you." - Halo: Combat Evolved (2001)
12
- //
13
- // Permission is hereby granted, free of charge, to any person obtaining a copy of this software
14
- // and associated documentation files (the “Software”), to deal in the Software without restriction,
15
- // including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
- // and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
17
- // subject to the following conditions:
18
- //
19
- // The above copyright notice and this permission notice shall be included in all copies or substantial
20
- // portions of the Software.
21
- //
22
- // THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
23
- // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
- // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25
- // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26
- // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
- // -----------------------------------------------------------------------------------------------------------
28
- import tools from "../../Tools.js";
29
- export function createWavyAudioVisualizer() {
30
- return (channels, ctx) => {
31
- const { width, height } = ctx.canvas;
32
- const scale = channels[0].length / width;
33
- const step = 10;
34
- ctx.translate(0, height / 2);
35
- ctx.lineWidth = 7;
36
- for (let i = 0; i < width; i += step * 2) {
37
- const index = Math.floor(i * scale);
38
- const value = Math.abs(channels[0][index]);
39
- let x = i;
40
- let y = value * height;
41
- const t = value + (i / width);
42
- ctx.strokeStyle = tools.colorLerp('#00ffff', '#ff00ff', t);
43
- ctx.beginPath();
44
- ctx.moveTo(x, 0);
45
- ctx.lineTo(x, y);
46
- ctx.arc(x + step / 2, y, step / 2, Math.PI, 0, true);
47
- ctx.lineTo(x + step, 0);
48
- x = x + step;
49
- y = -y;
50
- ctx.moveTo(x, 0);
51
- ctx.lineTo(x, y);
52
- ctx.arc(x + step / 2, y, step / 2, Math.PI, 0, false);
53
- ctx.lineTo(x + step, 0);
54
- ctx.stroke();
55
- ctx.closePath();
56
- }
57
- };
58
- }
59
- //# sourceMappingURL=WavyAudioVisualizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WavyAudioVisualizer.js","sourceRoot":"","sources":["../../../src/tools/audioVisualizers/WavyAudioVisualizer.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,wFAAwF;AACxF,yFAAyF;AACzF,yFAAyF;AACzF,2FAA2F;AAC3F,2FAA2F;AAC3F,EAAE;AACF,EAAE;AACF,gCAAgC;AAChC,EAAE;AACF,mEAAmE;AACnE,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AACpG,wGAAwG;AACxG,wGAAwG;AACxG,uCAAuC;AACvC,EAAE;AACF,uGAAuG;AACvG,4BAA4B;AAC5B,EAAE;AACF,wGAAwG;AACxG,sGAAsG;AACtG,0GAA0G;AAC1G,sGAAsG;AACtG,yDAAyD;AACzD,8GAA8G;AAE9G,OAAO,KAAK,MAAM,gBAAgB,CAAC;AAEnC,MAAM,UAAU,yBAAyB;IACrC,OAAO,CAAC,QAAe,EAAE,GAA6B,EAAE,EAAE;QACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QACzC,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5B,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1C,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,IAAI,CAAC,GAAG,KAAK,GAAG,MAAM,CAAA;YAEtB,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC9B,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAE3D,GAAG,CAAC,SAAS,EAAE,CAAA;YACf,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAChB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAChB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YACpD,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;YAEvB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;YACZ,CAAC,GAAG,CAAC,CAAC,CAAA;YACN,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAChB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAChB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;YACrD,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;YACvB,GAAG,CAAC,MAAM,EAAE,CAAA;YACZ,GAAG,CAAC,SAAS,EAAE,CAAA;QACnB,CAAC;IACL,CAAC,CAAA;AACL,CAAC"}