@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 +0,0 @@
1
- {"version":3,"file":"Physics.js","sourceRoot":"","sources":["../../src/subsystems/Physics.ts"],"names":[],"mappings":"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"}
@@ -1,179 +0,0 @@
1
- // -----------------------------------------------------------------------------------------------------------
2
- // __ ______ __ __ ______ __ __ ______ ______ ______
3
- // /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
4
- // \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
5
- // \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
6
- // \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
7
- //
8
- //
9
- // Copyright 2023- Luminocity AG
10
- //
11
- // "I need a weapon." - Resident Evil (1996)
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 { Parser } from 'expr-eval';
29
- import { Vector3, BufferGeometry, Float32BufferAttribute } from 'three';
30
- /**
31
- * Parses a set of expressions into a reusable function.
32
- * Example:
33
- * {
34
- * x: "cos(theta) * 0.5",
35
- * y: "0",
36
- * z: "sin(theta) * 0.5"
37
- * }
38
- */
39
- function parseVectorFormulaSet(formulas, requiredKeys = ['x', 'y', 'z']) {
40
- const parser = new Parser();
41
- const compiled = {};
42
- for (const key of requiredKeys) {
43
- if (!(key in formulas)) {
44
- throw new Error(`Missing required formula field: "${key}"`);
45
- }
46
- compiled[key] = parser.parse(formulas[key]);
47
- }
48
- return (vars) => {
49
- const result = {};
50
- for (const key of requiredKeys) {
51
- result[key] = compiled[key].evaluate(vars);
52
- }
53
- return result;
54
- };
55
- }
56
- function generateRibbon({ ringFormulas, // { x: "...", y: "...", z: "..." }
57
- pathFormulas, // { x: "...", y: "...", z: "..." }
58
- scaleFormula = { scale: "1" }, twistFormula = { twist: "0" }, colorFormulas = { colorR: "1", colorG: "1", colorB: "1" }, ringVertexCount, startTime, endTime, steps, addCaps = false, closed = false, vertexColors = true, uvScale = { x: 1, y: 1 } }) {
59
- const ringFn = parseVectorFormulaSet(ringFormulas);
60
- const pathFn = parseVectorFormulaSet(pathFormulas);
61
- const scaleFn = parseVectorFormulaSet(scaleFormula, ['scale']);
62
- const twistFn = parseVectorFormulaSet(twistFormula, ['twist']);
63
- const colorFn = vertexColors ? parseVectorFormulaSet(colorFormulas, ['colorR', 'colorG', 'colorB']) : null;
64
- const positions = [];
65
- const indices = [];
66
- const uvs = [];
67
- const colors = [];
68
- const points = [];
69
- for (let i = 0; i <= steps; i++) {
70
- const t = startTime + (endTime - startTime) * (i / steps);
71
- const center = pathFn({ t });
72
- points.push(new Vector3(center.x, center.y, center.z));
73
- }
74
- const tangents = [];
75
- const normals = [];
76
- const binormals = [];
77
- for (let i = 0; i < points.length - 1; i++) {
78
- const tangent = new Vector3().subVectors(points[i + 1], points[i]).normalize();
79
- tangents.push(tangent);
80
- }
81
- tangents.push(tangents[tangents.length - 1].clone());
82
- const firstNormal = new Vector3(0, 1, 0);
83
- if (firstNormal.dot(tangents[0]) > 0.99)
84
- firstNormal.set(1, 0, 0);
85
- normals.push(new Vector3().crossVectors(tangents[0], firstNormal).normalize());
86
- binormals.push(new Vector3().crossVectors(tangents[0], normals[0]));
87
- for (let i = 1; i < tangents.length; i++) {
88
- const v = new Vector3().crossVectors(tangents[i - 1], tangents[i]);
89
- if (v.length() < 1e-5) {
90
- normals.push(normals[i - 1].clone());
91
- binormals.push(binormals[i - 1].clone());
92
- continue;
93
- }
94
- v.normalize();
95
- const angle = Math.acos(tangents[i - 1].dot(tangents[i]));
96
- const normal = normals[i - 1].clone().applyAxisAngle(v, angle).normalize();
97
- const binormal = new Vector3().crossVectors(tangents[i], normal);
98
- normals.push(normal);
99
- binormals.push(binormal);
100
- }
101
- const ringCount = closed ? steps + 1 : steps;
102
- for (let i = 0; i <= ringCount; i++) {
103
- const t = startTime + (endTime - startTime) * (i / steps);
104
- const im = i % (steps + 1);
105
- const center = points[im];
106
- const scale = scaleFn({ t }).scale;
107
- const twist = twistFn({ t }).twist;
108
- const color = colorFn ? colorFn({ t }) : null;
109
- for (let j = 0; j < ringVertexCount; j++) {
110
- const theta = (j / ringVertexCount) * Math.PI * 2;
111
- const local = ringFn({ theta, t });
112
- const v = new Vector3(local.x, local.y ?? 0, local.z).multiplyScalar(scale);
113
- v.applyAxisAngle(new Vector3(0, 1, 0), twist);
114
- const world = new Vector3()
115
- .addScaledVector(normals[im], v.x)
116
- .addScaledVector(tangents[im], v.y)
117
- .addScaledVector(binormals[im], v.z)
118
- .add(center);
119
- positions.push(world.x, world.y, world.z);
120
- uvs.push(j / ringVertexCount * uvScale.x, im / steps * uvScale.y);
121
- if (vertexColors)
122
- colors.push(color.colorR, color.colorG, color.colorB);
123
- }
124
- }
125
- const ringStep = ringVertexCount;
126
- for (let i = 0; i < ringCount; i++) {
127
- for (let j = 0; j < ringVertexCount; j++) {
128
- const nextJ = (j + 1) % ringVertexCount;
129
- const a = i * ringStep + j;
130
- const b = i * ringStep + nextJ;
131
- const c = (i + 1) * ringStep + nextJ;
132
- const d = (i + 1) * ringStep + j;
133
- indices.push(a, b, d);
134
- indices.push(b, c, d);
135
- }
136
- }
137
- if (closed) {
138
- const lastOffset = ringStep * steps;
139
- for (let j = 0; j < ringVertexCount; j++) {
140
- const nextJ = (j + 1) % ringVertexCount;
141
- const a = lastOffset + j;
142
- const b = lastOffset + nextJ;
143
- const c = nextJ;
144
- const d = j;
145
- indices.push(a, b, d);
146
- indices.push(b, c, d);
147
- }
148
- }
149
- if (addCaps) {
150
- const startCenter = positions.length / 3;
151
- const endCenter = startCenter + 1;
152
- const start = points[0];
153
- const end = points[points.length - 1];
154
- positions.push(start.x, start.y, start.z);
155
- positions.push(end.x, end.y, end.z);
156
- uvs.push(0.5, 0.5, 0.5, 0.5);
157
- if (vertexColors && colorFn) {
158
- const colorStart = colorFn({ t: startTime });
159
- const colorEnd = colorFn({ t: endTime });
160
- colors.push(colorStart.colorR, colorStart.colorG, colorStart.colorB, colorEnd.colorR, colorEnd.colorG, colorEnd.colorB);
161
- }
162
- for (let j = 0; j < ringVertexCount; j++) {
163
- const nextJ = (j + 1) % ringVertexCount;
164
- indices.push(startCenter, nextJ, j); // front
165
- const offset = ringStep * steps;
166
- indices.push(endCenter, offset + j, offset + nextJ); // back
167
- }
168
- }
169
- const geometry = new BufferGeometry();
170
- geometry.setAttribute('position', new Float32BufferAttribute(positions, 3));
171
- geometry.setAttribute('uv', new Float32BufferAttribute(uvs, 2));
172
- if (vertexColors)
173
- geometry.setAttribute('color', new Float32BufferAttribute(colors, 3));
174
- geometry.setIndex(indices);
175
- geometry.computeVertexNormals();
176
- return geometry;
177
- }
178
- export { generateRibbon, parseVectorFormulaSet };
179
- //# sourceMappingURL=Ribbons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ribbons.js","sourceRoot":"","sources":["../../src/subsystems/Ribbons.ts"],"names":[],"mappings":"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"}