ohzi-core 5.13.2 → 5.14.2

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 (435) hide show
  1. package/{LICENSE.md → LICENSE} +1 -1
  2. package/build/index.module.js +1 -1
  3. package/build/index.module.js.map +1 -1
  4. package/package.json +12 -4
  5. package/src/.vscode/settings.json +3 -0
  6. package/src/BaseApplication.js +20 -0
  7. package/src/CameraManager.js +19 -0
  8. package/src/Capabilities.js +11 -0
  9. package/src/Configuration.js +22 -0
  10. package/src/CustomBezierCurve.js +44 -0
  11. package/src/Debug.js +260 -0
  12. package/src/EventManager.js +150 -0
  13. package/src/Graphics.js +334 -0
  14. package/src/Initializer.js +55 -0
  15. package/src/Input.js +21 -0
  16. package/src/KeyboardInput.js +128 -0
  17. package/src/OS.js +103 -0
  18. package/src/OrthographicCamera.js +13 -0
  19. package/src/PerspectiveCamera.js +13 -0
  20. package/src/ReflectionPlaneContext.js +17 -0
  21. package/src/RenderLayers.js +28 -0
  22. package/src/RenderLoop.js +97 -0
  23. package/src/RenderOrder.js +38 -0
  24. package/src/ResourceContainer.js +39 -0
  25. package/src/SceneManager.js +44 -0
  26. package/src/Screen.js +62 -0
  27. package/src/Time.js +38 -0
  28. package/src/UI.js +90 -0
  29. package/src/action_sequencer/ActionEvent.js +15 -0
  30. package/src/action_sequencer/ActionInterpolator.js +23 -0
  31. package/src/action_sequencer/ActionSequencer.js +195 -0
  32. package/src/action_sequencer/NumberInterpolator.js +24 -0
  33. package/src/action_sequencer/VectorInterpolator.js +20 -0
  34. package/src/blitter_index.js +13 -0
  35. package/src/canvas_drawer/CanvasDrawer.js +111 -0
  36. package/src/canvas_drawer/MultiLineTextDrawer.js +49 -0
  37. package/src/canvas_drawer/SimpleTextDrawer.js +47 -0
  38. package/src/components/AudioClip.js +41 -0
  39. package/src/components/AxisHelper.js +58 -0
  40. package/src/components/BaseObject.js +45 -0
  41. package/src/components/EdgeMesh.js +151 -0
  42. package/src/components/GeometryEdgeVisualizer.js +45 -0
  43. package/src/components/Grid.js +33 -0
  44. package/src/components/Line.js +199 -0
  45. package/src/components/MultiLinePath.js +19 -0
  46. package/src/components/MultiLineText2D.js +62 -0
  47. package/src/components/ObjectAxis.js +20 -0
  48. package/src/components/ObjectOrientedBoundingBox.js +201 -0
  49. package/src/components/PlaneHelper.js +36 -0
  50. package/src/components/Shape2D.js +42 -0
  51. package/src/components/Shape3D.js +38 -0
  52. package/src/components/Text2D.js +39 -0
  53. package/src/components/UIElement.js +208 -0
  54. package/src/components/UpdatableMaterialMesh.js +16 -0
  55. package/src/components/WorldImage.js +91 -0
  56. package/src/components/mouse_interactors/ObjectRotator.js +61 -0
  57. package/src/components/sdf_text/SDFText.js +154 -0
  58. package/src/components/sdf_text/SDFTextBatch.js +193 -0
  59. package/src/components/sdf_text/TextGlyph.js +15 -0
  60. package/src/editor/ManipulatorHandle.js +70 -0
  61. package/src/editor/ObjectEditor.js +66 -0
  62. package/src/editor/ObjectManipulator.js +118 -0
  63. package/src/editor/ObjectPicker.js +75 -0
  64. package/src/editor/shaders/object_picker.frag +6 -0
  65. package/src/editor/shaders/object_picker.vert +8 -0
  66. package/src/gpu_particles/GPUParticleSystem.js +87 -0
  67. package/src/gpu_particles/ParticleAttribute.js +83 -0
  68. package/src/gpu_particles/ParticlePositionAttribute.js +20 -0
  69. package/src/html_utilities/CSSAnimator.js +64 -0
  70. package/src/html_utilities/css_animator_states/Animating.js +45 -0
  71. package/src/html_utilities/css_animator_states/Idle.js +25 -0
  72. package/src/index.js +171 -0
  73. package/src/materials/AddMaterial.js +17 -0
  74. package/src/materials/AlphaFilterMaterial.js +20 -0
  75. package/src/materials/BaseShaderMaterial.js +19 -0
  76. package/src/materials/BlitMaterial.js +28 -0
  77. package/src/materials/BloomComposeMaterial.js +22 -0
  78. package/src/materials/BoxBlurMaterial.js +13 -0
  79. package/src/materials/ClearAlphaMaterial.js +13 -0
  80. package/src/materials/ClearColorMaterial.js +31 -0
  81. package/src/materials/ClearDepthNormalMaterial.js +13 -0
  82. package/src/materials/DeferredRendererComposeMaterial.js +32 -0
  83. package/src/materials/DepthNormalMaterial.js +28 -0
  84. package/src/materials/DisplayNormalTextureMaterial.js +15 -0
  85. package/src/materials/DualFilteringBlurMaterial.js +11 -0
  86. package/src/materials/FXAAMaterial.js +10 -0
  87. package/src/materials/GaussianBlurMaterial.js +28 -0
  88. package/src/materials/LuminosityHighPassMaterial.js +15 -0
  89. package/src/materials/MedianFilterMaterial.js +42 -0
  90. package/src/materials/NormalMaterial.js +17 -0
  91. package/src/materials/SDFScreenTextMaterial.js +31 -0
  92. package/src/materials/SDFTextMaterial.js +37 -0
  93. package/src/materials/SSAOComposeMaterial.js +11 -0
  94. package/src/materials/SSAOMaterial.js +66 -0
  95. package/src/materials/ScreenSpaceTextureMaterial.js +65 -0
  96. package/src/materials/UIElementMaterial.js +25 -0
  97. package/src/materials/UnrealBloomComposeMaterial.js +95 -0
  98. package/src/materials/UnrealBlurMaterial.js +17 -0
  99. package/src/materials/UnrealComposeMaterial.js +24 -0
  100. package/src/materials/ViewPositionMaterial.js +17 -0
  101. package/src/materials/deferred/DeferredPointLightMaterial.js +39 -0
  102. package/src/materials/gpu_particles/AttributeUpdateMaterial.js +33 -0
  103. package/src/materials/gpu_particles/BasicParticleMaterial.js +23 -0
  104. package/src/materials/gpu_particles/ParticleStorageMaterial.js +27 -0
  105. package/src/materials/gpu_particles/PositionStorageMaterial.js +10 -0
  106. package/src/object_pool/Pool.js +73 -0
  107. package/src/primitives/Arrow.js +57 -0
  108. package/src/primitives/Cube.js +17 -0
  109. package/src/primitives/HorizontalPlane.js +18 -0
  110. package/src/primitives/Sphere.js +15 -0
  111. package/src/primitives/VerticalPlane.js +17 -0
  112. package/src/raycast/GroupRaycaster.js +41 -0
  113. package/src/raycast/PlaneDragResolver.js +89 -0
  114. package/src/raycast/PlaneRaycastResolver.js +22 -0
  115. package/src/raycast/PlaneRaycaster.js +23 -0
  116. package/src/raycast/RaycastResolver.js +22 -0
  117. package/src/raycast/SurfaceDragResolver.js +77 -0
  118. package/src/raycast/states/BaseState.js +16 -0
  119. package/src/raycast/states/IdleState.js +17 -0
  120. package/src/raycast/states/OnRaycastEnter.js +15 -0
  121. package/src/raycast/states/OnRaycastExit.js +16 -0
  122. package/src/raycast/states/OnRaycastHover.js +25 -0
  123. package/src/render_mode/BaseRender.js +32 -0
  124. package/src/render_mode/BloomRender.js +60 -0
  125. package/src/render_mode/DebugNormalsRender.js +20 -0
  126. package/src/render_mode/DeferredRender.js +112 -0
  127. package/src/render_mode/NormalAORender.js +71 -0
  128. package/src/render_mode/NormalRender.js +36 -0
  129. package/src/render_mode/OutlineRender.js +154 -0
  130. package/src/render_mode/PlanarReflectionsRender.js +118 -0
  131. package/src/render_mode/TransparencyMixRender.js +143 -0
  132. package/src/render_mode/UnrealBloomRender.js +109 -0
  133. package/src/render_utilities/Blitter.js +99 -0
  134. package/src/render_utilities/Blurrer.js +29 -0
  135. package/src/render_utilities/DepthAndNormalsRenderer.js +45 -0
  136. package/src/render_utilities/DualFilteringBlurrer.js +56 -0
  137. package/src/render_utilities/GaussianBlurrer.js +146 -0
  138. package/src/render_utilities/MedianFilter.js +66 -0
  139. package/src/render_utilities/ViewPositionRenderer.js +48 -0
  140. package/src/resource_loader/AbstractLoader.js +103 -0
  141. package/src/resource_loader/AudioLoader.js +42 -0
  142. package/src/resource_loader/BasisLoader.js +50 -0
  143. package/src/resource_loader/CubemapLoader.js +48 -0
  144. package/src/resource_loader/DAELoader.js +39 -0
  145. package/src/resource_loader/DDSLoader.js +39 -0
  146. package/src/resource_loader/FileLoader.js +39 -0
  147. package/src/resource_loader/FontLoader.js +39 -0
  148. package/src/resource_loader/GLTFDRACOLoader.js +45 -0
  149. package/src/resource_loader/GLTFLoader.js +40 -0
  150. package/src/resource_loader/HDRCubeTextureLoader.js +43 -0
  151. package/src/resource_loader/JSONLoader.js +40 -0
  152. package/src/resource_loader/OBJLoader.js +39 -0
  153. package/src/resource_loader/PointArrayLoader.js +63 -0
  154. package/src/resource_loader/RGBETextureLoader.js +42 -0
  155. package/src/resource_loader/ResourceBatch.js +174 -0
  156. package/src/resource_loader/SVGLoader.js +39 -0
  157. package/src/resource_loader/TextLoader.js +39 -0
  158. package/src/resource_loader/TextureLoader.js +40 -0
  159. package/src/shaders/add/add.frag +9 -0
  160. package/src/shaders/anti_aliasing/fxaa.frag +72 -0
  161. package/src/shaders/basic_color/basic_color.frag +6 -0
  162. package/src/shaders/basic_color/basic_color.vert +10 -0
  163. package/src/shaders/basic_line/basic_line.frag +37 -0
  164. package/src/shaders/basic_line/basic_line.vert +37 -0
  165. package/src/shaders/basic_texture/basic_texture.frag +10 -0
  166. package/src/shaders/basic_texture/basic_texture.vert +17 -0
  167. package/src/shaders/bloom/bloom_compose_frag.glsl +22 -0
  168. package/src/shaders/bloom/cheap_bloom_compose_frag.glsl +13 -0
  169. package/src/shaders/box_blur/box_blur.frag +24 -0
  170. package/src/shaders/box_blur/compose.frag +31 -0
  171. package/src/shaders/clear/clear_depth_normal.frag +25 -0
  172. package/src/shaders/copy/copy.frag +7 -0
  173. package/src/shaders/copy/copy.vert +6 -0
  174. package/src/shaders/deferred/blit_copy.vert +11 -0
  175. package/src/shaders/deferred/deferred_compose.frag +59 -0
  176. package/src/shaders/deferred/point_light.frag +66 -0
  177. package/src/shaders/deferred/point_light.vert +13 -0
  178. package/src/shaders/depth_normals/debug_normals.frag +48 -0
  179. package/src/shaders/depth_normals/depth_normals.frag +30 -0
  180. package/src/shaders/depth_normals/depth_normals.vert +13 -0
  181. package/src/shaders/dual_filter_blur/alpha_filter.frag +14 -0
  182. package/src/shaders/dual_filter_blur/downsample.frag +21 -0
  183. package/src/shaders/dual_filter_blur/upsample.frag +24 -0
  184. package/src/shaders/edge_visualizer/edge_visualizer.frag +18 -0
  185. package/src/shaders/edge_visualizer/edge_visualizer.vert +16 -0
  186. package/src/shaders/edges/corners.frag +11 -0
  187. package/src/shaders/edges/corners.vert +31 -0
  188. package/src/shaders/edges/edges.frag +7 -0
  189. package/src/shaders/edges/edges.vert +27 -0
  190. package/src/shaders/gaussian_blur/gaussian_blur.frag +25 -0
  191. package/src/shaders/gaussian_blur/unreal_bloom_compose.frag +24 -0
  192. package/src/shaders/gpu_particles/common_utils.glsl +13 -0
  193. package/src/shaders/gpu_particles/generic_storage.frag +7 -0
  194. package/src/shaders/gpu_particles/store/store_position.vert +14 -0
  195. package/src/shaders/gpu_particles/update/basic_update.frag +21 -0
  196. package/src/shaders/gpu_particles/visualize/visualize.frag +11 -0
  197. package/src/shaders/gpu_particles/visualize/visualize.vert +12 -0
  198. package/src/shaders/grid/grid.frag +17 -0
  199. package/src/shaders/grid/grid.vert +10 -0
  200. package/src/shaders/luminosity_high_pass/luminosity_high_pass.frag +23 -0
  201. package/src/shaders/median_filter/median_filter.frag +134 -0
  202. package/src/shaders/normal/normal.frag +6 -0
  203. package/src/shaders/normal/normal.vert +6 -0
  204. package/src/shaders/sdf_text/sdf_screen_text.frag +51 -0
  205. package/src/shaders/sdf_text/sdf_screen_text.vert +42 -0
  206. package/src/shaders/sdf_text/sdf_text.frag +53 -0
  207. package/src/shaders/sdf_text/sdf_text.vert +42 -0
  208. package/src/shaders/ssao/hbao.frag +264 -0
  209. package/src/shaders/ssao/ssao.frag +95 -0
  210. package/src/shaders/ssao/ssao.vert +11 -0
  211. package/src/shaders/ssao/ssao_compose.frag +14 -0
  212. package/src/shaders/transparent_mix/copy.frag +7 -0
  213. package/src/shaders/transparent_mix/transparent_mix.frag +19 -0
  214. package/src/shaders/transparent_mix/transparent_mix.vert +8 -0
  215. package/src/shaders/ui/ss_texture.frag +11 -0
  216. package/src/shaders/ui/ss_texture.vert +32 -0
  217. package/src/shaders/ui/ws_texture.vert +39 -0
  218. package/src/shaders/ui_element/ui_element.frag +11 -0
  219. package/src/shaders/ui_element/ui_element.vert +32 -0
  220. package/src/shaders/unreal_blur/unreal_blur.frag +25 -0
  221. package/src/shaders/unreal_blur/unreal_compose.frag +24 -0
  222. package/src/shaders/write_view_position/write_view_position.frag +7 -0
  223. package/src/shaders/write_view_position/write_view_position.vert +9 -0
  224. package/src/static_batcher/GeometryBatch.js +312 -0
  225. package/src/static_batcher/GeometryBatcher.js +62 -0
  226. package/src/ui/ui_element_position/ScreenSpacePosition.js +14 -0
  227. package/src/ui/ui_element_position/WorldSpacePosition.js +21 -0
  228. package/src/ui/ui_element_state/OnIdle.js +17 -0
  229. package/src/ui/ui_element_state/OnMouseEnter.js +26 -0
  230. package/src/ui/ui_element_state/OnMouseExit.js +15 -0
  231. package/src/ui/ui_element_state/OnMouseHover.js +31 -0
  232. package/src/ui/ui_element_state/UIElementState.js +18 -0
  233. package/src/utilities/ArrayUtilities.js +55 -0
  234. package/src/utilities/CameraUtilities.js +197 -0
  235. package/src/utilities/EasingFunctions.js +215 -0
  236. package/src/utilities/FrustumPointFitter.js +255 -0
  237. package/src/utilities/GeometryUtilities.js +74 -0
  238. package/src/utilities/ImageUtilities.js +26 -0
  239. package/src/utilities/MathUtilities.js +110 -0
  240. package/src/utilities/MeshSampler.js +100 -0
  241. package/src/utilities/ModelUtilities.js +161 -0
  242. package/src/utilities/ObjectUtilities.js +55 -0
  243. package/src/utilities/OrthographicFrustumPointFitter.js +47 -0
  244. package/src/utilities/PerspectiveFrustumPointFitter.js +250 -0
  245. package/src/utilities/StringUtilities.js +32 -0
  246. package/src/utilities/TimeUtilities.js +22 -0
  247. package/src/utilities/Validation.js +34 -0
  248. package/src/view_components/ApplicationView.js +60 -0
  249. package/src/view_components/ViewComponent.js +37 -0
  250. package/src/view_components/ViewComponentManager.js +58 -0
  251. package/src/view_components/ViewContext.js +14 -0
  252. package/src/view_components/ViewManager.js +119 -0
  253. package/src/view_components/ViewState.js +54 -0
  254. package/src/view_components/transition/ActionSequencerBuilder.js +91 -0
  255. package/src/view_components/transition/DrawIOAnimationSheet.js +90 -0
  256. package/src/view_components/transition/TransitionTable.js +44 -0
  257. package/src/view_components/transition/ViewStateTransitionHandler.js +81 -0
  258. package/types/BaseApplication.d.ts +8 -0
  259. package/types/CameraManager.d.ts +8 -0
  260. package/types/Capabilities.d.ts +6 -0
  261. package/types/Configuration.d.ts +6 -0
  262. package/types/Debug.d.ts +37 -0
  263. package/types/EventManager.d.ts +42 -0
  264. package/types/Graphics.d.ts +36 -0
  265. package/types/Initializer.d.ts +4 -0
  266. package/types/Input.d.ts +8 -0
  267. package/types/OS.d.ts +19 -0
  268. package/types/OrthographicCamera.d.ts +5 -0
  269. package/types/PerspectiveCamera.d.ts +5 -0
  270. package/types/ReflectionPlaneContext.d.ts +6 -0
  271. package/types/RenderLayers.d.ts +6 -0
  272. package/types/RenderLoop.d.ts +13 -0
  273. package/types/ResourceContainer.d.ts +8 -0
  274. package/types/SceneManager.d.ts +10 -0
  275. package/types/Screen.d.ts +17 -0
  276. package/types/Time.d.ts +11 -0
  277. package/types/UI.d.ts +15 -0
  278. package/types/action_sequencer/ActionEvent.d.ts +6 -0
  279. package/types/action_sequencer/ActionInterpolator.d.ts +5 -0
  280. package/types/action_sequencer/ActionSequencer.d.ts +28 -0
  281. package/types/action_sequencer/NumberInterpolator.d.ts +8 -0
  282. package/types/action_sequencer/VectorInterpolator.d.ts +7 -0
  283. package/types/canvas_drawer/CanvasDrawer.d.ts +13 -0
  284. package/types/canvas_drawer/MultiLineTextDrawer.d.ts +5 -0
  285. package/types/canvas_drawer/SimpleTextDrawer.d.ts +5 -0
  286. package/types/components/AudioClip.d.ts +12 -0
  287. package/types/components/AxisHelper.d.ts +6 -0
  288. package/types/components/BaseObject.d.ts +5 -0
  289. package/types/components/EdgeMesh.d.ts +13 -0
  290. package/types/components/GeometryEdgeVisualizer.d.ts +4 -0
  291. package/types/components/Grid.d.ts +2 -0
  292. package/types/components/Line.d.ts +16 -0
  293. package/types/components/MultiLinePath.d.ts +4 -0
  294. package/types/components/MultiLineText2D.d.ts +10 -0
  295. package/types/components/ObjectAxis.d.ts +3 -0
  296. package/types/components/ObjectOrientedBoundingBox.d.ts +18 -0
  297. package/types/components/PlaneHelper.d.ts +6 -0
  298. package/types/components/Shape2D.d.ts +4 -0
  299. package/types/components/Shape3D.d.ts +3 -0
  300. package/types/components/Text2D.d.ts +13 -0
  301. package/types/components/UIElement.d.ts +52 -0
  302. package/types/components/UpdatableMaterialMesh.d.ts +4 -0
  303. package/types/components/WorldImage.d.ts +13 -0
  304. package/types/components/sdf_text/SDFText.d.ts +30 -0
  305. package/types/components/sdf_text/SDFTextBatch.d.ts +12 -0
  306. package/types/components/sdf_text/TextGlyph.d.ts +6 -0
  307. package/types/editor/ManipulatorHandle.d.ts +14 -0
  308. package/types/editor/ObjectEditor.d.ts +16 -0
  309. package/types/editor/ObjectManipulator.d.ts +19 -0
  310. package/types/editor/ObjectPicker.d.ts +16 -0
  311. package/types/gpu_particles/GPUParticleSystem.d.ts +12 -0
  312. package/types/gpu_particles/ParticleAttribute.d.ts +15 -0
  313. package/types/gpu_particles/ParticlePositionAttribute.d.ts +4 -0
  314. package/types/html_utilities/CSSAnimator.d.ts +30 -0
  315. package/types/html_utilities/css_animator_states/Animating.d.ts +8 -0
  316. package/types/html_utilities/css_animator_states/Idle.d.ts +6 -0
  317. package/types/index.d.ts +73 -0
  318. package/types/materials/AddMaterial.d.ts +5 -0
  319. package/types/materials/AlphaFilterMaterial.d.ts +6 -0
  320. package/types/materials/BaseShaderMaterial.d.ts +3 -0
  321. package/types/materials/BlitMaterial.d.ts +3 -0
  322. package/types/materials/BloomComposeMaterial.d.ts +7 -0
  323. package/types/materials/BoxBlurMaterial.d.ts +4 -0
  324. package/types/materials/ClearAlphaMaterial.d.ts +3 -0
  325. package/types/materials/ClearColorMaterial.d.ts +7 -0
  326. package/types/materials/ClearDepthNormalMaterial.d.ts +4 -0
  327. package/types/materials/DeferredRendererComposeMaterial.d.ts +7 -0
  328. package/types/materials/DepthNormalMaterial.d.ts +4 -0
  329. package/types/materials/DisplayNormalTextureMaterial.d.ts +4 -0
  330. package/types/materials/DualFilteringBlurMaterial.d.ts +4 -0
  331. package/types/materials/FXAAMaterial.d.ts +3 -0
  332. package/types/materials/GaussianBlurMaterial.d.ts +6 -0
  333. package/types/materials/LuminosityHighPassMaterial.d.ts +4 -0
  334. package/types/materials/MedianFilterMaterial.d.ts +6 -0
  335. package/types/materials/NormalMaterial.d.ts +2 -0
  336. package/types/materials/SDFScreenTextMaterial.d.ts +11 -0
  337. package/types/materials/SDFTextMaterial.d.ts +12 -0
  338. package/types/materials/SSAOComposeMaterial.d.ts +4 -0
  339. package/types/materials/SSAOMaterial.d.ts +6 -0
  340. package/types/materials/ScreenSpaceTextureMaterial.d.ts +7 -0
  341. package/types/materials/UIElementMaterial.d.ts +7 -0
  342. package/types/materials/UnrealBloomComposeMaterial.d.ts +17 -0
  343. package/types/materials/UnrealBlurMaterial.d.ts +4 -0
  344. package/types/materials/UnrealComposeMaterial.d.ts +4 -0
  345. package/types/materials/ViewPositionMaterial.d.ts +3 -0
  346. package/types/materials/deferred/DeferredPointLightMaterial.d.ts +10 -0
  347. package/types/materials/gpu_particles/ParticleStorageMaterial.d.ts +3 -0
  348. package/types/materials/gpu_particles/PositionStorageMaterial.d.ts +4 -0
  349. package/types/object_pool/Pool.d.ts +10 -0
  350. package/types/primitives/Arrow.d.ts +8 -0
  351. package/types/primitives/Cube.d.ts +3 -0
  352. package/types/primitives/HorizontalPlane.d.ts +3 -0
  353. package/types/primitives/Sphere.d.ts +3 -0
  354. package/types/primitives/VerticalPlane.d.ts +3 -0
  355. package/types/raycast/GroupRaycaster.d.ts +13 -0
  356. package/types/raycast/PlaneDragResolver.d.ts +14 -0
  357. package/types/raycast/PlaneRaycastResolver.d.ts +5 -0
  358. package/types/raycast/PlaneRaycaster.d.ts +7 -0
  359. package/types/raycast/RaycastResolver.d.ts +5 -0
  360. package/types/raycast/SurfaceDragResolver.d.ts +13 -0
  361. package/types/raycast/states/BaseState.d.ts +5 -0
  362. package/types/raycast/states/IdleState.d.ts +5 -0
  363. package/types/raycast/states/OnRaycastEnter.d.ts +5 -0
  364. package/types/raycast/states/OnRaycastExit.d.ts +4 -0
  365. package/types/raycast/states/OnRaycastHover.d.ts +4 -0
  366. package/types/render_mode/BaseRender.d.ts +7 -0
  367. package/types/render_mode/BloomRender.d.ts +10 -0
  368. package/types/render_mode/DebugNormalsRender.d.ts +4 -0
  369. package/types/render_mode/DeferredRender.d.ts +9 -0
  370. package/types/render_mode/NormalAORender.d.ts +16 -0
  371. package/types/render_mode/NormalRender.d.ts +4 -0
  372. package/types/render_mode/OutlineRender.d.ts +20 -0
  373. package/types/render_mode/PlanarReflectionsRender.d.ts +13 -0
  374. package/types/render_mode/TransparencyMixRender.d.ts +21 -0
  375. package/types/render_mode/UnrealBloomRender.d.ts +19 -0
  376. package/types/render_utilities/Blitter.d.ts +16 -0
  377. package/types/render_utilities/Blurrer.d.ts +9 -0
  378. package/types/render_utilities/DepthAndNormalsRenderer.d.ts +12 -0
  379. package/types/render_utilities/DualFilteringBlurrer.d.ts +19 -0
  380. package/types/render_utilities/GaussianBlurrer.d.ts +27 -0
  381. package/types/render_utilities/MedianFilter.d.ts +10 -0
  382. package/types/render_utilities/ViewPositionRenderer.d.ts +9 -0
  383. package/types/resource_loader/AbstractLoader.d.ts +18 -0
  384. package/types/resource_loader/AudioLoader.d.ts +8 -0
  385. package/types/resource_loader/BasisLoader.d.ts +6 -0
  386. package/types/resource_loader/CubemapLoader.d.ts +7 -0
  387. package/types/resource_loader/DAELoader.d.ts +6 -0
  388. package/types/resource_loader/DDSLoader.d.ts +6 -0
  389. package/types/resource_loader/FileLoader.d.ts +6 -0
  390. package/types/resource_loader/FontLoader.d.ts +6 -0
  391. package/types/resource_loader/GLTFDRACOLoader.d.ts +7 -0
  392. package/types/resource_loader/GLTFLoader.d.ts +5 -0
  393. package/types/resource_loader/HDRCubeTextureLoader.d.ts +7 -0
  394. package/types/resource_loader/JSONLoader.d.ts +6 -0
  395. package/types/resource_loader/OBJLoader.d.ts +6 -0
  396. package/types/resource_loader/PointArrayLoader.d.ts +7 -0
  397. package/types/resource_loader/RGBETextureLoader.d.ts +6 -0
  398. package/types/resource_loader/ResourceBatch.d.ts +28 -0
  399. package/types/resource_loader/SVGLoader.d.ts +6 -0
  400. package/types/resource_loader/TextLoader.d.ts +6 -0
  401. package/types/resource_loader/TextureLoader.d.ts +6 -0
  402. package/types/static_batcher/GeometryBatch.d.ts +37 -0
  403. package/types/static_batcher/GeometryBatcher.d.ts +7 -0
  404. package/types/ui/ui_element_position/ScreenSpacePosition.d.ts +4 -0
  405. package/types/ui/ui_element_position/WorldSpacePosition.d.ts +5 -0
  406. package/types/ui/ui_element_state/OnIdle.d.ts +5 -0
  407. package/types/ui/ui_element_state/OnMouseEnter.d.ts +5 -0
  408. package/types/ui/ui_element_state/OnMouseExit.d.ts +5 -0
  409. package/types/ui/ui_element_state/OnMouseHover.d.ts +5 -0
  410. package/types/ui/ui_element_state/UIElementState.d.ts +5 -0
  411. package/types/utilities/ArrayUtilities.d.ts +7 -0
  412. package/types/utilities/CameraUtilities.d.ts +24 -0
  413. package/types/utilities/EasingFunctions.d.ts +35 -0
  414. package/types/utilities/FrustumPointFitter.d.ts +14 -0
  415. package/types/utilities/GeometryUtilities.d.ts +4 -0
  416. package/types/utilities/ImageUtilities.d.ts +4 -0
  417. package/types/utilities/MathUtilities.d.ts +12 -0
  418. package/types/utilities/MeshSampler.d.ts +14 -0
  419. package/types/utilities/ModelUtilities.d.ts +13 -0
  420. package/types/utilities/ObjectUtilities.d.ts +5 -0
  421. package/types/utilities/OrthographicFrustumPointFitter.d.ts +7 -0
  422. package/types/utilities/PerspectiveFrustumPointFitter.d.ts +12 -0
  423. package/types/utilities/StringUtilities.d.ts +5 -0
  424. package/types/utilities/TimeUtilities.d.ts +3 -0
  425. package/types/utilities/Validation.d.ts +6 -0
  426. package/types/view_components/ApplicationView.d.ts +11 -0
  427. package/types/view_components/ViewComponent.d.ts +13 -0
  428. package/types/view_components/ViewComponentManager.d.ts +10 -0
  429. package/types/view_components/ViewContext.d.ts +6 -0
  430. package/types/view_components/ViewManager.d.ts +24 -0
  431. package/types/view_components/ViewState.d.ts +15 -0
  432. package/types/view_components/transition/ActionSequencerBuilder.d.ts +15 -0
  433. package/types/view_components/transition/DrawIOAnimationSheet.d.ts +17 -0
  434. package/types/view_components/transition/TransitionTable.d.ts +8 -0
  435. package/types/view_components/transition/ViewStateTransitionHandler.d.ts +16 -0
@@ -0,0 +1,42 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import AudioClip from '../components/AudioClip';
4
+ import { AudioLoader as THREEAudioLoader } from 'three';
5
+
6
+ export default class AudioLoader extends AbstractLoader
7
+ {
8
+ constructor(resource_id, url, loop = true, volume = 1, size)
9
+ {
10
+ super(resource_id, url, size);
11
+ this.loader = new THREEAudioLoader();
12
+ this.loop = loop;
13
+ this.volume = volume;
14
+ }
15
+
16
+ on_preloaded_finished(resource_container)
17
+ {
18
+ let ctx = this;
19
+
20
+ this.loader.load(this.url, (buffer) =>
21
+ {
22
+ resource_container.set_resource(ctx.resource_id, ctx.url, new AudioClip(buffer, this.loop, this.volume));
23
+
24
+ ctx.__update_downloaded_bytes(1, 1);
25
+ ctx.__loading_ended();
26
+ },
27
+ (xhr) =>
28
+ {
29
+ // if (xhr)
30
+ // {
31
+ // let total = xhr.total || this.total_bytes;
32
+
33
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
34
+ // }
35
+ },
36
+ (error) =>
37
+ {
38
+ ctx.__set_error('Audio could not be loaded. Maybe wrong name or path, I don\'t know' + '¯\\_(ツ)_/¯', error);
39
+ ctx.__loading_ended();
40
+ });
41
+ }
42
+ }
@@ -0,0 +1,50 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { sRGBEncoding } from 'three';
4
+
5
+ export default class BasisLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, renderer, loader, size)
8
+ {
9
+ super(resource_id, url, size);
10
+
11
+ this.loader = loader;
12
+
13
+ this.loader.setWorkerLimit(1);
14
+
15
+ this.loader.setTranscoderPath(
16
+ 'libs/basis/'
17
+ );
18
+
19
+ this.loader.detectSupport(renderer);
20
+ }
21
+
22
+ on_preloaded_finished(resource_container)
23
+ {
24
+ let ctx = this;
25
+
26
+ this.loader.load(this.url, (basis) =>
27
+ {
28
+ basis.encoding = sRGBEncoding;
29
+
30
+ resource_container.set_resource(ctx.resource_id, ctx.url, basis);
31
+
32
+ ctx.__update_downloaded_bytes(1, 1);
33
+ ctx.__loading_ended();
34
+ },
35
+ (xhr) =>
36
+ {
37
+ // if (xhr)
38
+ // {
39
+ // let total = xhr.total || this.total_bytes;
40
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
41
+ // }
42
+ },
43
+ (msg) =>
44
+ {
45
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
46
+ ctx.__loading_ended();
47
+ }
48
+ );
49
+ }
50
+ }
@@ -0,0 +1,48 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { CubeTextureLoader as THREECubeTextureLoader } from 'three';
4
+
5
+ export default class CubemapLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new THREECubeTextureLoader();
11
+ this.loader.setPath(url + '/');
12
+ this.urls = [
13
+ 'px.png',
14
+ 'nx.png',
15
+ 'py.png',
16
+ 'ny.png',
17
+ 'pz.png',
18
+ 'nz.png'
19
+ ];
20
+ }
21
+
22
+ on_preloaded_finished(resource_container)
23
+ {
24
+ let ctx = this;
25
+
26
+ this.loader.load(this.urls, (image) =>
27
+ {
28
+ resource_container.set_resource(ctx.resource_id, ctx.url, image);
29
+
30
+ ctx.__update_downloaded_bytes(1, 1);
31
+ ctx.__loading_ended();
32
+ },
33
+ (xhr) =>
34
+ {
35
+ // if (xhr)
36
+ // {
37
+ // let total = xhr.total || this.total_bytes;
38
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
39
+ // }
40
+ },
41
+ (error) =>
42
+ {
43
+ ctx.__set_error('Image could not be loaded. Maybe wrong name or path, I don\'t know' + '¯\\_(ツ)_/¯', error);
44
+ ctx.__loading_ended();
45
+ }
46
+ );
47
+ }
48
+ }
@@ -0,0 +1,39 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREEColladaLoader from 'three/examples/jsm/loaders/ColladaLoader.js';
4
+
5
+ export default class DAELoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new THREEColladaLoader.ColladaLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (gltf) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, gltf);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
+ // }
31
+ },
32
+ (msg) =>
33
+ {
34
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
35
+ ctx.__loading_ended();
36
+ }
37
+ );
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREEDDSLoader from 'three/examples/jsm/loaders/DDSLoader.js';
4
+
5
+ export default class DDSLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new THREEDDSLoader.DDSLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (dds) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, dds);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
+ // }
31
+ },
32
+ (msg) =>
33
+ {
34
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
35
+ ctx.__loading_ended();
36
+ }
37
+ );
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { FileLoader as THREEFileLoader } from 'three';
4
+
5
+ export default class FileLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new THREEFileLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (gltf) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, gltf);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
+ // }
31
+ },
32
+ (msg) =>
33
+ {
34
+ ctx.__set_error(msg);
35
+ ctx.__loading_ended();
36
+ }
37
+ );
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { FontLoader as TFontLoader } from 'three';
4
+
5
+ export default class FontLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new TFontLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (font) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, font);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
+ // }
31
+ },
32
+ (msg) =>
33
+ {
34
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then probably the problem is related to the file not being found. Check the name and path of the resource');
35
+ ctx.__loading_ended();
36
+ }
37
+ );
38
+ }
39
+ }
@@ -0,0 +1,45 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREEGLTFLoader from 'three/examples/jsm/loaders/GLTFLoader.js';
4
+ import * as THREEDRACOLoader from 'three/examples/jsm/loaders/DRACOLoader.js';
5
+
6
+ export default class GLTFDRACOLoader extends AbstractLoader
7
+ {
8
+ constructor(resource_id, url, size)
9
+ {
10
+ super(resource_id, url, size);
11
+ this.loader = new THREEGLTFLoader.GLTFLoader();
12
+ this.draco_loader = new THREEDRACOLoader.DRACOLoader();
13
+
14
+ this.draco_loader.setDecoderPath(window.draco_decoder_path);
15
+ this.draco_loader.setDecoderConfig({ type: 'js' });
16
+ this.loader.setDRACOLoader(this.draco_loader);
17
+ }
18
+
19
+ on_preloaded_finished(resource_container)
20
+ {
21
+ let ctx = this;
22
+
23
+ this.loader.load(this.url, (gltf) =>
24
+ {
25
+ resource_container.set_resource(ctx.resource_id, ctx.url, gltf);
26
+
27
+ ctx.__update_downloaded_bytes(1, 1);
28
+ ctx.__loading_ended();
29
+ },
30
+ (xhr) =>
31
+ {
32
+ // if (xhr)
33
+ // {
34
+ // let total = xhr.total || this.total_bytes;
35
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
36
+ // }
37
+ },
38
+ (msg) =>
39
+ {
40
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
41
+ ctx.__loading_ended();
42
+ }
43
+ );
44
+ }
45
+ }
@@ -0,0 +1,40 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREEGLTFLoader from 'three/examples/jsm/loaders/GLTFLoader.js';
4
+
5
+ export default class GLTFLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new THREEGLTFLoader.GLTFLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (gltf) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, gltf);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+
30
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
31
+ // }
32
+ },
33
+ (msg) =>
34
+ {
35
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
36
+ ctx.__loading_ended();
37
+ }
38
+ );
39
+ }
40
+ }
@@ -0,0 +1,43 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREEHDRCubeTextureLoader from 'three/examples/jsm/loaders/HDRCubeTextureLoader.js';
4
+ import { UnsignedByteType } from 'three';
5
+
6
+ export default class HDRCubeTextureLoader extends AbstractLoader
7
+ {
8
+ constructor(resource_id, url, size)
9
+ {
10
+ super(resource_id, url, size);
11
+ this.loader = new THREEHDRCubeTextureLoader.HDRCubeTextureLoader();
12
+ this.url_suffix = ['/px.hdr', '/nx.hdr', '/py.hdr', '/ny.hdr', '/pz.hdr', '/nz.hdr'];
13
+ }
14
+
15
+ on_preloaded_finished(resource_container)
16
+ {
17
+ let ctx = this;
18
+
19
+ this.loader.setPath(this.url)
20
+ .setDataType(UnsignedByteType)
21
+ .load(this.url_suffix, (hdr) =>
22
+ {
23
+ resource_container.set_resource(ctx.resource_id, ctx.url, hdr);
24
+
25
+ ctx.__update_downloaded_bytes(1, 1);
26
+ ctx.__loading_ended();
27
+ },
28
+ (xhr) =>
29
+ {
30
+ // if (xhr)
31
+ // {
32
+ // let total = xhr.total || this.total_bytes;
33
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
34
+ // }
35
+ },
36
+ (msg) =>
37
+ {
38
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
39
+ ctx.__loading_ended();
40
+ }
41
+ );
42
+ }
43
+ }
@@ -0,0 +1,40 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { FileLoader as THREEFileLoader } from 'three';
4
+
5
+ export default class JSONLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+
11
+ this.loader = new THREEFileLoader();
12
+ }
13
+
14
+ on_preloaded_finished(resource_container)
15
+ {
16
+ let ctx = this;
17
+
18
+ this.loader.load(this.url, (data) =>
19
+ {
20
+ resource_container.set_resource(ctx.resource_id, ctx.url, JSON.parse(data));
21
+
22
+ ctx.__update_downloaded_bytes(1, 1);
23
+ ctx.__loading_ended();
24
+ },
25
+ (xhr) =>
26
+ {
27
+ // if (xhr)
28
+ // {
29
+ // let total = xhr.total || this.total_bytes;
30
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
31
+ // }
32
+ },
33
+ (msg) =>
34
+ {
35
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
36
+ ctx.__loading_ended();
37
+ }
38
+ );
39
+ }
40
+ }
@@ -0,0 +1,39 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREEOBJLoader from 'three/examples/jsm/loaders/OBJLoader.js';
4
+
5
+ export default class OBJLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new THREEOBJLoader.OBJLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (gltf) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, gltf);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
+ // }
31
+ },
32
+ (msg) =>
33
+ {
34
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then probably the problem is related to the file not being found. Check the name and path of the resource');
35
+ ctx.__loading_ended();
36
+ }
37
+ );
38
+ }
39
+ }
@@ -0,0 +1,63 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { Vector3 as THREEVector3 } from 'three';
4
+ import { FileLoader as THREEFileLoader } from 'three';
5
+
6
+ export default class PointArrayLoader extends AbstractLoader
7
+ {
8
+ constructor(resource_id, url, size)
9
+ {
10
+ super(resource_id, url, size);
11
+ this.loader = new THREEFileLoader();
12
+ }
13
+
14
+ on_preloaded_finished(resource_container)
15
+ {
16
+ let ctx = this;
17
+
18
+ this.loader.load(this.url, (text) =>
19
+ {
20
+ resource_container.set_resource(ctx.resource_id, ctx.url, ctx.parse_path(text));
21
+
22
+ ctx.__update_downloaded_bytes(1, 1);
23
+ ctx.__loading_ended();
24
+ },
25
+ (xhr) =>
26
+ {
27
+ // if (xhr)
28
+ // {
29
+ // let total = xhr.total || this.total_bytes;
30
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
31
+ // }
32
+ },
33
+ (msg) =>
34
+ {
35
+ ctx.__set_error(msg);
36
+ ctx.__loading_ended();
37
+ }
38
+ );
39
+ }
40
+
41
+ parse_path(raw_data)
42
+ {
43
+ let string_array = raw_data.split('\n');
44
+
45
+ if (string_array[string_array.length - 1] === '')
46
+ {
47
+ string_array.pop();
48
+ }
49
+
50
+ let positions = [];
51
+
52
+ for (let i = 0; i < string_array.length; i += 3)
53
+ {
54
+ let x = parseFloat(string_array[i + 0]);
55
+ let y = parseFloat(string_array[i + 1]);
56
+ let z = parseFloat(string_array[i + 2]);
57
+ positions.push(new THREEVector3(x, y, z));
58
+ }
59
+ return positions;
60
+ // let curve = new THREE.CatmullRomCurve3(positions);
61
+ // return curve.getPoints(100);
62
+ }
63
+ }
@@ -0,0 +1,42 @@
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREERGBELoader from 'three/examples/jsm/loaders/RGBELoader.js';
4
+
5
+ import { UnsignedByteType as THREEUnsignedByteType } from 'three';
6
+
7
+ export default class RGBETextureLoader extends AbstractLoader
8
+ {
9
+ constructor(resource_id, url, size)
10
+ {
11
+ super(resource_id, url, size);
12
+ this.loader = new THREERGBELoader.RGBELoader();
13
+ this.loader.setDataType(THREEUnsignedByteType);
14
+ }
15
+
16
+ on_preloaded_finished(resource_container)
17
+ {
18
+ let ctx = this;
19
+
20
+ this.loader.load(this.url, (hdr) =>
21
+ {
22
+ resource_container.set_resource(ctx.resource_id, ctx.url, hdr);
23
+
24
+ ctx.__update_downloaded_bytes(1, 1);
25
+ ctx.__loading_ended();
26
+ },
27
+ (xhr) =>
28
+ {
29
+ // if (xhr)
30
+ // {
31
+ // let total = xhr.total || this.total_bytes;
32
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
33
+ // }
34
+ },
35
+ (msg) =>
36
+ {
37
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
38
+ ctx.__loading_ended();
39
+ }
40
+ );
41
+ }
42
+ }