ohzi-core 12.5.2 → 12.7.0

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 (265) hide show
  1. package/README.md +9 -9
  2. package/build/index.mjs +1 -1
  3. package/build/index.mjs.map +1 -1
  4. package/build/index.module.js +2 -0
  5. package/build/index.module.js.map +1 -0
  6. package/package.json +64 -63
  7. package/src/.vscode/settings.json +2 -2
  8. package/src/BaseApplication.js +40 -40
  9. package/src/Browser.js +119 -119
  10. package/src/CameraManager.js +37 -37
  11. package/src/Capabilities.js +13 -13
  12. package/src/CustomBezierCurve.js +58 -58
  13. package/src/Debug.js +359 -359
  14. package/src/Graphics.js +507 -507
  15. package/src/Initializer.js +56 -56
  16. package/src/KeyboardInput.js +177 -177
  17. package/src/OS.js +59 -59
  18. package/src/OScreen.js +90 -90
  19. package/src/OrthographicCamera.js +36 -36
  20. package/src/PerspectiveCamera.js +34 -34
  21. package/src/ReflectionPlaneContext.js +22 -22
  22. package/src/RenderLayers.js +30 -30
  23. package/src/RenderLoop.js +125 -122
  24. package/src/RenderOrder.js +40 -40
  25. package/src/ResourceContainer.js +57 -57
  26. package/src/SceneManager.js +55 -55
  27. package/src/Screen.js +71 -71
  28. package/src/Time.js +99 -98
  29. package/src/UI.js +106 -106
  30. package/src/action_sequencer/ActionEvent.js +22 -22
  31. package/src/action_sequencer/ActionInterpolator.js +39 -39
  32. package/src/action_sequencer/ActionSequencer.js +338 -338
  33. package/src/action_sequencer/NumberInterpolator.js +42 -42
  34. package/src/action_sequencer/VectorInterpolator.js +34 -34
  35. package/src/blitter_index.js +14 -14
  36. package/src/canvas_drawer/CanvasDrawer.js +146 -146
  37. package/src/canvas_drawer/MultiLineTextDrawer.js +58 -58
  38. package/src/canvas_drawer/SimpleTextDrawer.js +55 -55
  39. package/src/components/AudioClip.js +67 -67
  40. package/src/components/AxisHelper.js +60 -60
  41. package/src/components/BaseObject.js +50 -50
  42. package/src/components/EdgeMesh.js +172 -172
  43. package/src/components/GeometryEdgeVisualizer.js +57 -57
  44. package/src/components/Grid.js +40 -40
  45. package/src/components/Line.js +225 -225
  46. package/src/components/MultiLinePath.js +25 -25
  47. package/src/components/MultiLineText2D.js +75 -75
  48. package/src/components/ObjectAxis.js +27 -27
  49. package/src/components/ObjectOrientedBoundingBox.js +228 -228
  50. package/src/components/PlaneHelper.js +38 -38
  51. package/src/components/Shape2D.js +52 -52
  52. package/src/components/Shape3D.js +46 -46
  53. package/src/components/Text2D.js +49 -49
  54. package/src/components/UIElement.js +246 -246
  55. package/src/components/UpdatableMaterialMesh.js +26 -26
  56. package/src/components/WorldImage.js +101 -101
  57. package/src/components/mouse_interactors/ObjectRotator.js +64 -64
  58. package/src/components/sdf_text/SDFText.js +156 -156
  59. package/src/components/sdf_text/SDFTextBatch.js +195 -195
  60. package/src/components/sdf_text/TextGlyph.js +17 -17
  61. package/src/data_textures/CustomDataTexture.js +53 -53
  62. package/src/data_textures/RGBADataTexture.js +14 -14
  63. package/src/data_textures/RGBAFloatDataTexture.js +14 -14
  64. package/src/data_textures/RGBDataTexture.js +14 -14
  65. package/src/data_textures/RGBFloatDataTexture.js +13 -13
  66. package/src/editor/ManipulatorHandle.js +73 -73
  67. package/src/editor/ObjectEditor.js +68 -68
  68. package/src/editor/ObjectManipulator.js +112 -112
  69. package/src/editor/ObjectPicker.js +77 -77
  70. package/src/editor/shaders/object_picker.frag +5 -5
  71. package/src/editor/shaders/object_picker.vert +7 -7
  72. package/src/gpu_particles/GPUParticleSystem.js +111 -111
  73. package/src/gpu_particles/ParticleAttribute.js +89 -89
  74. package/src/gpu_particles/ParticlePositionAttribute.js +42 -42
  75. package/src/html_utilities/CSSAnimator.js +66 -66
  76. package/src/html_utilities/css_animator_states/Animating.js +46 -46
  77. package/src/html_utilities/css_animator_states/Idle.js +27 -27
  78. package/src/index.js +134 -134
  79. package/src/loaders/AsyncAbstractLoader.js +160 -160
  80. package/src/loaders/AsyncAudiosLoader.js +34 -34
  81. package/src/loaders/AsyncObjectsLoader.js +44 -44
  82. package/src/loaders/AsyncTexturesLoader.js +81 -70
  83. package/src/loaders/assets_loader/AsyncAssetsLoaderWorker.js +69 -69
  84. package/src/loaders/assets_loader/ResourceContainer.js +37 -37
  85. package/src/loaders/assets_loader/ResourceLoaderChecker.js +39 -39
  86. package/src/materials/AddMaterial.js +20 -20
  87. package/src/materials/AlphaFilterMaterial.js +23 -23
  88. package/src/materials/BaseShaderMaterial.js +21 -21
  89. package/src/materials/BlitMaterial.js +30 -30
  90. package/src/materials/BloomComposeMaterial.js +24 -24
  91. package/src/materials/BoxBlurMaterial.js +16 -16
  92. package/src/materials/ClearAlphaMaterial.js +15 -15
  93. package/src/materials/ClearColorMaterial.js +33 -33
  94. package/src/materials/ClearDepthNormalMaterial.js +16 -16
  95. package/src/materials/DeferredRendererComposeMaterial.js +35 -35
  96. package/src/materials/DepthNormalMaterial.js +30 -30
  97. package/src/materials/DisplayNormalTextureMaterial.js +18 -18
  98. package/src/materials/DualFilteringBlurMaterial.js +14 -14
  99. package/src/materials/FXAAMaterial.js +12 -12
  100. package/src/materials/GaussianBlurMaterial.js +40 -40
  101. package/src/materials/LuminosityHighPassMaterial.js +26 -26
  102. package/src/materials/MedianFilterMaterial.js +45 -45
  103. package/src/materials/NormalMaterial.js +19 -19
  104. package/src/materials/SDFScreenTextMaterial.js +34 -34
  105. package/src/materials/SDFTextMaterial.js +41 -41
  106. package/src/materials/SSAOComposeMaterial.js +14 -14
  107. package/src/materials/SSAOMaterial.js +65 -65
  108. package/src/materials/ScreenSpaceTextureMaterial.js +67 -67
  109. package/src/materials/UIElementMaterial.js +30 -30
  110. package/src/materials/UnrealBloomComposeMaterial.js +100 -100
  111. package/src/materials/UnrealBlurMaterial.js +20 -20
  112. package/src/materials/UnrealComposeMaterial.js +27 -27
  113. package/src/materials/ViewPositionMaterial.js +19 -19
  114. package/src/materials/deferred/DeferredPointLightMaterial.js +42 -42
  115. package/src/materials/gpu_particles/AttributeUpdateMaterial.js +37 -37
  116. package/src/materials/gpu_particles/BasicParticleMaterial.js +25 -25
  117. package/src/materials/gpu_particles/ParticleStorageMaterial.js +37 -37
  118. package/src/materials/gpu_particles/PositionStorageMaterial.js +26 -26
  119. package/src/object_pool/Pool.js +75 -75
  120. package/src/primitives/Arrow.js +62 -62
  121. package/src/primitives/Cube.js +24 -24
  122. package/src/primitives/HorizontalPlane.js +27 -27
  123. package/src/primitives/Sphere.js +22 -22
  124. package/src/primitives/VerticalPlane.js +26 -26
  125. package/src/raycast/GroupRaycaster.js +43 -43
  126. package/src/raycast/PlaneDragResolver.js +92 -92
  127. package/src/raycast/PlaneRaycastResolver.js +24 -24
  128. package/src/raycast/PlaneRaycaster.js +25 -25
  129. package/src/raycast/RaycastResolver.js +24 -24
  130. package/src/raycast/SurfaceDragResolver.js +80 -80
  131. package/src/raycast/states/BaseState.js +18 -18
  132. package/src/raycast/states/IdleState.js +19 -19
  133. package/src/raycast/states/OnRaycastEnter.js +17 -17
  134. package/src/raycast/states/OnRaycastExit.js +18 -18
  135. package/src/raycast/states/OnRaycastHover.js +27 -27
  136. package/src/render_mode/BaseRender.js +34 -34
  137. package/src/render_mode/BloomRender.js +63 -63
  138. package/src/render_mode/DebugNormalsRender.js +22 -22
  139. package/src/render_mode/DeferredRender.js +110 -110
  140. package/src/render_mode/NormalAORender.js +72 -72
  141. package/src/render_mode/NormalRender.js +38 -38
  142. package/src/render_mode/OutlineRender.js +157 -157
  143. package/src/render_mode/PlanarReflectionsRender.js +121 -121
  144. package/src/render_mode/UnrealBloomRender.js +123 -123
  145. package/src/render_mode/VRRender.js +71 -71
  146. package/src/render_utilities/Blitter.js +101 -101
  147. package/src/render_utilities/Blurrer.js +31 -31
  148. package/src/render_utilities/DepthAndNormalsRenderer.js +47 -47
  149. package/src/render_utilities/DualFilteringBlurrer.js +58 -58
  150. package/src/render_utilities/GaussianBlurrer.js +167 -167
  151. package/src/render_utilities/MedianFilter.js +68 -68
  152. package/src/render_utilities/ViewPositionRenderer.js +50 -50
  153. package/src/resource_loader/BasisLoader.js +51 -51
  154. package/src/resource_loader/FontLoader.js +48 -48
  155. package/src/resource_loader/JSONLoader.js +35 -35
  156. package/src/resource_loader/OBJLoader.js +48 -48
  157. package/src/resource_loader/PointArrayLoader.js +72 -72
  158. package/src/resource_loader/RGBETextureLoader.js +48 -48
  159. package/src/resource_loader/VideoLoader.js +32 -32
  160. package/src/scenes/AbstractScene.js +175 -175
  161. package/src/scenes/loading_states/CompilatorManager.js +41 -41
  162. package/src/scenes/loading_states/HighQualityLoadingState.js +28 -28
  163. package/src/scenes/loading_states/LoadingState.js +117 -117
  164. package/src/scenes/loading_states/RegularLoadingState.js +41 -41
  165. package/src/shaders/add/add.frag +27 -27
  166. package/src/shaders/anti_aliasing/fxaa.frag +72 -72
  167. package/src/shaders/basic_color/basic_color.frag +5 -5
  168. package/src/shaders/basic_color/basic_color.vert +9 -9
  169. package/src/shaders/basic_line/basic_line.frag +36 -36
  170. package/src/shaders/basic_line/basic_line.vert +37 -37
  171. package/src/shaders/basic_texture/basic_texture.frag +9 -9
  172. package/src/shaders/basic_texture/basic_texture.vert +16 -16
  173. package/src/shaders/bloom/bloom_compose_frag.glsl +22 -22
  174. package/src/shaders/bloom/cheap_bloom_compose_frag.glsl +13 -13
  175. package/src/shaders/box_blur/box_blur.frag +24 -24
  176. package/src/shaders/box_blur/compose.frag +31 -31
  177. package/src/shaders/clear/clear_depth_normal.frag +24 -24
  178. package/src/shaders/copy/copy.frag +6 -6
  179. package/src/shaders/copy/copy.vert +5 -5
  180. package/src/shaders/deferred/blit_copy.vert +11 -11
  181. package/src/shaders/deferred/deferred_compose.frag +59 -59
  182. package/src/shaders/deferred/point_light.frag +66 -66
  183. package/src/shaders/deferred/point_light.vert +13 -13
  184. package/src/shaders/depth_normals/debug_normals.frag +47 -47
  185. package/src/shaders/depth_normals/depth_normals.frag +30 -30
  186. package/src/shaders/depth_normals/depth_normals.vert +12 -12
  187. package/src/shaders/dual_filter_blur/alpha_filter.frag +14 -14
  188. package/src/shaders/dual_filter_blur/downsample.frag +21 -21
  189. package/src/shaders/dual_filter_blur/upsample.frag +24 -24
  190. package/src/shaders/edge_visualizer/edge_visualizer.frag +17 -17
  191. package/src/shaders/edge_visualizer/edge_visualizer.vert +15 -15
  192. package/src/shaders/edges/corners.frag +10 -10
  193. package/src/shaders/edges/corners.vert +30 -30
  194. package/src/shaders/edges/edges.frag +6 -6
  195. package/src/shaders/edges/edges.vert +27 -27
  196. package/src/shaders/gaussian_blur/gaussian_blur.frag +43 -43
  197. package/src/shaders/gaussian_blur/unreal_bloom_compose.frag +36 -36
  198. package/src/shaders/gpu_particles/common_utils.glsl +12 -12
  199. package/src/shaders/gpu_particles/generic_storage.frag +6 -6
  200. package/src/shaders/gpu_particles/store/store_position.vert +14 -14
  201. package/src/shaders/gpu_particles/update/basic_update.frag +20 -20
  202. package/src/shaders/gpu_particles/visualize/visualize.frag +10 -10
  203. package/src/shaders/gpu_particles/visualize/visualize.vert +12 -12
  204. package/src/shaders/grid/grid.frag +16 -16
  205. package/src/shaders/grid/grid.vert +9 -9
  206. package/src/shaders/luminosity_high_pass/luminosity_high_pass.frag +37 -37
  207. package/src/shaders/median_filter/median_filter.frag +134 -134
  208. package/src/shaders/normal/normal.frag +6 -6
  209. package/src/shaders/normal/normal.vert +6 -6
  210. package/src/shaders/sdf_text/sdf_screen_text.frag +51 -51
  211. package/src/shaders/sdf_text/sdf_screen_text.vert +41 -41
  212. package/src/shaders/sdf_text/sdf_text.frag +53 -53
  213. package/src/shaders/sdf_text/sdf_text.vert +41 -41
  214. package/src/shaders/ssao/hbao.frag +264 -264
  215. package/src/shaders/ssao/ssao.frag +95 -95
  216. package/src/shaders/ssao/ssao.vert +10 -10
  217. package/src/shaders/ssao/ssao_compose.frag +14 -14
  218. package/src/shaders/transparent_mix/copy.frag +6 -6
  219. package/src/shaders/transparent_mix/transparent_mix.frag +18 -18
  220. package/src/shaders/transparent_mix/transparent_mix.vert +7 -7
  221. package/src/shaders/ui/ss_texture.frag +10 -10
  222. package/src/shaders/ui/ss_texture.vert +31 -31
  223. package/src/shaders/ui/ws_texture.vert +38 -38
  224. package/src/shaders/ui_element/ui_element.frag +11 -11
  225. package/src/shaders/ui_element/ui_element.vert +32 -32
  226. package/src/shaders/unreal_blur/unreal_blur.frag +24 -24
  227. package/src/shaders/unreal_blur/unreal_compose.frag +23 -23
  228. package/src/shaders/write_view_position/write_view_position.frag +6 -6
  229. package/src/shaders/write_view_position/write_view_position.vert +8 -8
  230. package/src/static_batcher/BatchedMesh.js +56 -56
  231. package/src/static_batcher/GeometryBatch.js +308 -308
  232. package/src/static_batcher/GeometryBatcher.js +64 -64
  233. package/src/static_batcher/MeshBatcher.js +58 -58
  234. package/src/ui/ui_element_position/ScreenSpacePosition.js +16 -16
  235. package/src/ui/ui_element_position/WorldSpacePosition.js +23 -23
  236. package/src/ui/ui_element_state/OnIdle.js +24 -24
  237. package/src/ui/ui_element_state/OnMouseEnter.js +39 -39
  238. package/src/ui/ui_element_state/OnMouseExit.js +22 -22
  239. package/src/ui/ui_element_state/OnMouseHover.js +46 -46
  240. package/src/ui/ui_element_state/UIElementState.js +34 -34
  241. package/src/utilities/ArrayUtilities.js +57 -57
  242. package/src/utilities/CameraUtilities.js +283 -283
  243. package/src/utilities/EasingFunctions.js +231 -231
  244. package/src/utilities/FrustumPointFitter.js +257 -257
  245. package/src/utilities/GeometryUtilities.js +76 -76
  246. package/src/utilities/HTMLUtilities.js +76 -76
  247. package/src/utilities/ImageUtilities.js +28 -28
  248. package/src/utilities/MeshSampler.js +206 -206
  249. package/src/utilities/ModelUtilities.js +162 -162
  250. package/src/utilities/OMath.js +158 -158
  251. package/src/utilities/OrthographicFrustumPointFitter.js +49 -49
  252. package/src/utilities/PerspectiveFrustumPointFitter.js +254 -254
  253. package/src/utilities/StringUtilities.js +43 -43
  254. package/src/utilities/TimeUtilities.js +24 -24
  255. package/src/utilities/Validation.js +36 -36
  256. package/src/view_components/ApplicationView.js +73 -73
  257. package/src/view_components/TransitionManager.js +75 -75
  258. package/src/view_components/ViewComponent.js +61 -61
  259. package/src/view_components/ViewComponentManager.js +69 -69
  260. package/src/view_components/ViewManager.js +145 -145
  261. package/src/view_components/ViewState.js +49 -49
  262. package/src/view_components/transition/ActionSequencerBuilder.js +124 -124
  263. package/src/view_components/transition/DrawIOAnimationSheet.js +92 -92
  264. package/src/view_components/transition/TransitionTable.js +54 -54
  265. package/src/view_components/transition/ViewStateTransitionHandler.js +106 -106
package/package.json CHANGED
@@ -1,63 +1,64 @@
1
- {
2
- "name": "ohzi-core",
3
- "version": "12.5.2",
4
- "description": "OHZI Interactive Core Library",
5
- "source": "src/index.js",
6
- "module": "build/index.mjs",
7
- "types": "types/index.d.ts",
8
- "sideEffects": false,
9
- "files": [
10
- "build",
11
- "LICENSE",
12
- "src",
13
- "types",
14
- "package.json"
15
- ],
16
- "scripts": {
17
- "preinstall": "yarn config-hooks",
18
- "start": "rollup -w -c",
19
- "config-hooks": "git config core.hooksPath git_hooks",
20
- "build": "rollup -c",
21
- "create-tag": "node tasks/app/create_tag.mjs",
22
- "fix-syntax": "standardx --fix",
23
- "generate-types": "npx -p typescript tsc src/* --declaration --allowJs --emitDeclarationOnly --outDir types",
24
- "upload": "yarn build && npm publish && yarn create-tag",
25
- "create-view": "node ./tasks/create_view/create_view.mjs",
26
- "create-scene": "node ./tasks/create_scene/create_scene.mjs",
27
- "create-component": "node ./tasks/create_component/create_component.mjs"
28
- },
29
- "repository": {
30
- "type": "git",
31
- "url": "git+ssh://git@github.com/ohzinteractive/core.git"
32
- },
33
- "keywords": [
34
- "ohzi",
35
- "core"
36
- ],
37
- "author": "OHZI Interactive Studio",
38
- "license": "MIT",
39
- "bugs": {
40
- "url": "https://github.com/ohzinteractive/core/issues"
41
- },
42
- "homepage": "https://github.com/ohzinteractive/core",
43
- "publishConfig": {
44
- "registry": "https://registry.npmjs.org/"
45
- },
46
- "dependencies": {
47
- "three": "0.166.0"
48
- },
49
- "standardx": {
50
- "ignore": [
51
- "rollup.config.mjs"
52
- ]
53
- },
54
- "devDependencies": {
55
- "@types/three": "0.166.0",
56
- "rollup": "^2.44.0",
57
- "rollup-plugin-glslify": "^1.2.0",
58
- "rollup-plugin-sourcemaps": "^0.6.3",
59
- "rollup-plugin-terser": "^7.0.2",
60
- "standardx": "^7.0.0",
61
- "typescript": "^4.4.3"
62
- }
63
- }
1
+ {
2
+ "name": "ohzi-core",
3
+ "version": "12.7.0",
4
+ "description": "OHZI Interactive Core Library",
5
+ "source": "src/index.js",
6
+ "module": "build/index.mjs",
7
+ "types": "types/index.d.ts",
8
+ "sideEffects": false,
9
+ "files": [
10
+ "build",
11
+ "LICENSE",
12
+ "src",
13
+ "types",
14
+ "package.json"
15
+ ],
16
+ "scripts": {
17
+ "preinstall": "yarn config-hooks",
18
+ "start": "rollup -w -c",
19
+ "config-hooks": "git config core.hooksPath git_hooks",
20
+ "build": "rollup -c",
21
+ "create-tag": "node tasks/app/create_tag.mjs",
22
+ "fix-syntax": "standardx --fix",
23
+ "generate-types": "npx -p typescript tsc src/* --declaration --allowJs --emitDeclarationOnly --outDir types",
24
+ "upload": "yarn build && npm publish && yarn create-tag",
25
+ "create-view": "node ./tasks/create_view/create_view.mjs",
26
+ "create-scene": "node ./tasks/create_scene/create_scene.mjs",
27
+ "create-component": "node ./tasks/create_component/create_component.mjs"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+ssh://git@github.com/ohzinteractive/core.git"
32
+ },
33
+ "keywords": [
34
+ "ohzi",
35
+ "core"
36
+ ],
37
+ "author": "OHZI Interactive Studio",
38
+ "license": "MIT",
39
+ "bugs": {
40
+ "url": "https://github.com/ohzinteractive/core/issues"
41
+ },
42
+ "homepage": "https://github.com/ohzinteractive/core",
43
+ "publishConfig": {
44
+ "registry": "https://registry.npmjs.org/"
45
+ },
46
+ "dependencies": {
47
+ "three": "0.175.0"
48
+ },
49
+ "standardx": {
50
+ "ignore": [
51
+ "rollup.config.mjs"
52
+ ]
53
+ },
54
+ "devDependencies": {
55
+ "@types/three": "0.166.0",
56
+ "rollup": "^2.44.0",
57
+ "rollup-plugin-glslify": "^1.2.0",
58
+ "rollup-plugin-sourcemaps": "^0.6.3",
59
+ "rollup-plugin-terser": "^7.0.2",
60
+ "standardx": "^7.0.0",
61
+ "typescript": "^4.4.3"
62
+ },
63
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
64
+ }
@@ -1,3 +1,3 @@
1
- {
2
- "workbench.tree.indent": 15
1
+ {
2
+ "workbench.tree.indent": 15
3
3
  }
@@ -1,40 +1,40 @@
1
- import { RenderLoop } from './RenderLoop'; // eslint-disable-line no-unused-vars
2
-
3
- // @ts-check
4
- class BaseApplication
5
- {
6
- on_post_start()
7
- {}
8
-
9
- /**
10
- * @param {RenderLoop} [loop]
11
- */
12
- on_enter(loop) // eslint-disable-line no-unused-vars
13
- {}
14
-
15
- /**
16
- * @param {RenderLoop} [loop]
17
- */
18
- on_exit(loop) // eslint-disable-line no-unused-vars
19
- {}
20
-
21
- before_update()
22
- {}
23
-
24
- update()
25
- {}
26
-
27
- fixed_update()
28
- {}
29
-
30
- on_post_render()
31
- {}
32
-
33
- on_pre_render()
34
- {}
35
-
36
- on_frame_end()
37
- {}
38
- }
39
-
40
- export { BaseApplication };
1
+ import { RenderLoop } from './RenderLoop'; // eslint-disable-line no-unused-vars
2
+
3
+ // @ts-check
4
+ class BaseApplication
5
+ {
6
+ on_post_start()
7
+ {}
8
+
9
+ /**
10
+ * @param {RenderLoop} [loop]
11
+ */
12
+ on_enter(loop) // eslint-disable-line no-unused-vars
13
+ {}
14
+
15
+ /**
16
+ * @param {RenderLoop} [loop]
17
+ */
18
+ on_exit(loop) // eslint-disable-line no-unused-vars
19
+ {}
20
+
21
+ before_update()
22
+ {}
23
+
24
+ update()
25
+ {}
26
+
27
+ fixed_update()
28
+ {}
29
+
30
+ on_post_render()
31
+ {}
32
+
33
+ on_pre_render()
34
+ {}
35
+
36
+ on_frame_end()
37
+ {}
38
+ }
39
+
40
+ export { BaseApplication };
package/src/Browser.js CHANGED
@@ -1,119 +1,119 @@
1
- // @ts-check
2
- class Browser
3
- {
4
- async init()
5
- {
6
- this.browser_name = '';
7
- this.agent = window.navigator.userAgent.toLowerCase();
8
-
9
- this.has_web_xr_support = 'xr' in navigator;
10
- this.is_vr = this.has_web_xr_support && await navigator.xr.isSessionSupported('immersive-vr');
11
-
12
- switch (true)
13
- {
14
- case this.agent.indexOf('edge') > -1:
15
- this.browser_name = 'edge_ie';
16
- break;
17
- case this.agent.indexOf('edg') > -1:
18
- this.browser_name = 'edge_chromium';
19
- break;
20
- // @ts-ignore
21
- case this.agent.indexOf('opr') > -1 && !!window.opr:
22
- this.browser_name = 'opera';
23
- break;
24
- // @ts-ignore
25
- case this.agent.indexOf('chrome') > -1 && !!window.chrome:
26
- this.browser_name = 'chrome';
27
- break;
28
- case this.agent.indexOf('trident') > -1:
29
- this.browser_name = 'iexplorer';
30
- break;
31
- case this.agent.indexOf('firefox') > -1:
32
- this.browser_name = 'firefox';
33
- break;
34
- case this.agent.indexOf('safari') > -1:
35
- this.browser_name = 'safari';
36
- break;
37
- default:
38
- this.browser_name = 'other';
39
- break;
40
- }
41
-
42
- this.version = this.get_version();
43
- }
44
-
45
- get name()
46
- {
47
- return this.browser_name;
48
- }
49
-
50
- get is_safari()
51
- {
52
- return this.browser_name === 'safari';
53
- }
54
-
55
- get is_chrome()
56
- {
57
- return this.browser_name === 'chrome';
58
- }
59
-
60
- get is_firefox()
61
- {
62
- return this.browser_name === 'firefox';
63
- }
64
-
65
- get is_edge()
66
- {
67
- return this.browser_name === 'edge_ie';
68
- }
69
-
70
- get is_edge_chromium()
71
- {
72
- return this.browser_name === 'edge_chromium';
73
- }
74
-
75
- get has_webm()
76
- {
77
- return !!(this.is_chrome || this.is_firefox || this.is_edge_chromium);
78
- }
79
-
80
- get has_hvec()
81
- {
82
- return this.is_safari;
83
- }
84
-
85
- get preferred_video_extension()
86
- {
87
- return this.has_webm ? 'webm' : this.has_hvec ? 'hvec.mp4' : 'mp4';
88
- }
89
-
90
- get_version()
91
- {
92
- const ua = navigator.userAgent;
93
- let tem = [];
94
- let version = '0';
95
-
96
- let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
97
-
98
- if (/trident/i.test(M[1]))
99
- {
100
- tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
101
- version = 'IE ' + (tem[1] || '');
102
- }
103
- if (M[1] === 'Chrome')
104
- {
105
- tem = ua.match(/\b(OPR|Edge)\/(\d+)/);
106
- if (tem != null) version = tem.slice(1).join(' ').replace('OPR', 'Opera');
107
- }
108
-
109
- M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];
110
- if ((tem = ua.match(/version\/(\d+(\.\d+)?)/i)) != null) M.splice(1, 1, tem[1]);
111
-
112
- version = M.join(' ');
113
-
114
- return Number(version.split(' ')[1]);
115
- }
116
- }
117
-
118
- const browser = new Browser();
119
- export { browser as Browser };
1
+ // @ts-check
2
+ class Browser
3
+ {
4
+ async init()
5
+ {
6
+ this.browser_name = '';
7
+ this.agent = window.navigator.userAgent.toLowerCase();
8
+
9
+ this.has_web_xr_support = 'xr' in navigator;
10
+ this.is_vr = this.has_web_xr_support && await navigator.xr.isSessionSupported('immersive-vr');
11
+
12
+ switch (true)
13
+ {
14
+ case this.agent.indexOf('edge') > -1:
15
+ this.browser_name = 'edge_ie';
16
+ break;
17
+ case this.agent.indexOf('edg') > -1:
18
+ this.browser_name = 'edge_chromium';
19
+ break;
20
+ // @ts-ignore
21
+ case this.agent.indexOf('opr') > -1 && !!window.opr:
22
+ this.browser_name = 'opera';
23
+ break;
24
+ // @ts-ignore
25
+ case this.agent.indexOf('chrome') > -1 && !!window.chrome:
26
+ this.browser_name = 'chrome';
27
+ break;
28
+ case this.agent.indexOf('trident') > -1:
29
+ this.browser_name = 'iexplorer';
30
+ break;
31
+ case this.agent.indexOf('firefox') > -1:
32
+ this.browser_name = 'firefox';
33
+ break;
34
+ case this.agent.indexOf('safari') > -1:
35
+ this.browser_name = 'safari';
36
+ break;
37
+ default:
38
+ this.browser_name = 'other';
39
+ break;
40
+ }
41
+
42
+ this.version = this.get_version();
43
+ }
44
+
45
+ get name()
46
+ {
47
+ return this.browser_name;
48
+ }
49
+
50
+ get is_safari()
51
+ {
52
+ return this.browser_name === 'safari';
53
+ }
54
+
55
+ get is_chrome()
56
+ {
57
+ return this.browser_name === 'chrome';
58
+ }
59
+
60
+ get is_firefox()
61
+ {
62
+ return this.browser_name === 'firefox';
63
+ }
64
+
65
+ get is_edge()
66
+ {
67
+ return this.browser_name === 'edge_ie';
68
+ }
69
+
70
+ get is_edge_chromium()
71
+ {
72
+ return this.browser_name === 'edge_chromium';
73
+ }
74
+
75
+ get has_webm()
76
+ {
77
+ return !!(this.is_chrome || this.is_firefox || this.is_edge_chromium);
78
+ }
79
+
80
+ get has_hvec()
81
+ {
82
+ return this.is_safari;
83
+ }
84
+
85
+ get preferred_video_extension()
86
+ {
87
+ return this.has_webm ? 'webm' : this.has_hvec ? 'hvec.mp4' : 'mp4';
88
+ }
89
+
90
+ get_version()
91
+ {
92
+ const ua = navigator.userAgent;
93
+ let tem = [];
94
+ let version = '0';
95
+
96
+ let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
97
+
98
+ if (/trident/i.test(M[1]))
99
+ {
100
+ tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
101
+ version = 'IE ' + (tem[1] || '');
102
+ }
103
+ if (M[1] === 'Chrome')
104
+ {
105
+ tem = ua.match(/\b(OPR|Edge)\/(\d+)/);
106
+ if (tem != null) version = tem.slice(1).join(' ').replace('OPR', 'Opera');
107
+ }
108
+
109
+ M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];
110
+ if ((tem = ua.match(/version\/(\d+(\.\d+)?)/i)) != null) M.splice(1, 1, tem[1]);
111
+
112
+ version = M.join(' ');
113
+
114
+ return Number(version.split(' ')[1]);
115
+ }
116
+ }
117
+
118
+ const browser = new Browser();
119
+ export { browser as Browser };
@@ -1,37 +1,37 @@
1
- // @ts-check
2
- import { PerspectiveCamera } from './PerspectiveCamera'; // eslint-disable-line no-unused-vars
3
-
4
- class CameraManager
5
- {
6
- init()
7
- {
8
- this._current = undefined;
9
- // VR Spectator
10
- this._spectator = undefined;
11
- }
12
-
13
- set current(camera)
14
- {
15
- this._current = camera;
16
- }
17
-
18
- /** @type {PerspectiveCamera} */
19
- get current()
20
- {
21
- return this._current;
22
- }
23
-
24
- set spectator(camera)
25
- {
26
- this._spectator = camera;
27
- }
28
-
29
- /** @type {PerspectiveCamera} */
30
- get spectator()
31
- {
32
- return this._spectator;
33
- }
34
- }
35
-
36
- const camera_manager = new CameraManager();
37
- export { camera_manager as CameraManager };
1
+ // @ts-check
2
+ import { PerspectiveCamera } from './PerspectiveCamera'; // eslint-disable-line no-unused-vars
3
+
4
+ class CameraManager
5
+ {
6
+ init()
7
+ {
8
+ this._current = undefined;
9
+ // VR Spectator
10
+ this._spectator = undefined;
11
+ }
12
+
13
+ set current(camera)
14
+ {
15
+ this._current = camera;
16
+ }
17
+
18
+ /** @type {PerspectiveCamera} */
19
+ get current()
20
+ {
21
+ return this._current;
22
+ }
23
+
24
+ set spectator(camera)
25
+ {
26
+ this._spectator = camera;
27
+ }
28
+
29
+ /** @type {PerspectiveCamera} */
30
+ get spectator()
31
+ {
32
+ return this._spectator;
33
+ }
34
+ }
35
+
36
+ const camera_manager = new CameraManager();
37
+ export { camera_manager as CameraManager };
@@ -1,13 +1,13 @@
1
- // @ts-check
2
- class Capabilities
3
- {
4
- init()
5
- {
6
- this.max_anisotropy = 0;
7
- this.vertex_texture_sampler_available = false;
8
- this.fp_textures_available = false;
9
- }
10
- }
11
-
12
- const capabilities = new Capabilities();
13
- export { capabilities as Capabilities };
1
+ // @ts-check
2
+ class Capabilities
3
+ {
4
+ init()
5
+ {
6
+ this.max_anisotropy = 0;
7
+ this.vertex_texture_sampler_available = false;
8
+ this.fp_textures_available = false;
9
+ }
10
+ }
11
+
12
+ const capabilities = new Capabilities();
13
+ export { capabilities as Capabilities };
@@ -1,58 +1,58 @@
1
- // @ts-check
2
- import { Vector3 } from 'three';
3
-
4
- class CustomBezierCurve
5
- {
6
- /**
7
- * @param {Vector3[]} points
8
- */
9
- constructor(points)
10
- {
11
- this.original_points = [];
12
- this.tmp_points = [];
13
- for (let i = 0; i < points.length; i++)
14
- {
15
- this.original_points.push(new Vector3().copy(points[i]));
16
- this.tmp_points.push(new Vector3());
17
- }
18
- }
19
-
20
- /**
21
- * @param {number} point_amount
22
- * @returns {Vector3[]}
23
- */
24
- build(point_amount)
25
- {
26
- const curve = [];
27
- for (let i = 0; i < point_amount; i++)
28
- {
29
- curve.push(new Vector3().copy(this.get_point_at(i / point_amount)));
30
- }
31
- return curve;
32
- }
33
-
34
- /**
35
- * @param {number} t
36
- * @returns {Vector3}
37
- */
38
- get_point_at(t)
39
- {
40
- for (let i = 0; i < this.original_points.length; i++)
41
- {
42
- this.tmp_points[i].copy(this.original_points[i]);
43
- }
44
-
45
- const tmp_vec = new Vector3();
46
- for (let steps = this.tmp_points.length - 1; steps > 0; steps--)
47
- {
48
- for (let i = 0; i < steps; i++)
49
- {
50
- tmp_vec.lerpVectors(this.tmp_points[i], this.tmp_points[i + 1], t);
51
- this.tmp_points[i].copy(tmp_vec);
52
- }
53
- }
54
- return this.tmp_points[0].clone();
55
- }
56
- }
57
-
58
- export { CustomBezierCurve };
1
+ // @ts-check
2
+ import { Vector3 } from 'three';
3
+
4
+ class CustomBezierCurve
5
+ {
6
+ /**
7
+ * @param {Vector3[]} points
8
+ */
9
+ constructor(points)
10
+ {
11
+ this.original_points = [];
12
+ this.tmp_points = [];
13
+ for (let i = 0; i < points.length; i++)
14
+ {
15
+ this.original_points.push(new Vector3().copy(points[i]));
16
+ this.tmp_points.push(new Vector3());
17
+ }
18
+ }
19
+
20
+ /**
21
+ * @param {number} point_amount
22
+ * @returns {Vector3[]}
23
+ */
24
+ build(point_amount)
25
+ {
26
+ const curve = [];
27
+ for (let i = 0; i < point_amount; i++)
28
+ {
29
+ curve.push(new Vector3().copy(this.get_point_at(i / point_amount)));
30
+ }
31
+ return curve;
32
+ }
33
+
34
+ /**
35
+ * @param {number} t
36
+ * @returns {Vector3}
37
+ */
38
+ get_point_at(t)
39
+ {
40
+ for (let i = 0; i < this.original_points.length; i++)
41
+ {
42
+ this.tmp_points[i].copy(this.original_points[i]);
43
+ }
44
+
45
+ const tmp_vec = new Vector3();
46
+ for (let steps = this.tmp_points.length - 1; steps > 0; steps--)
47
+ {
48
+ for (let i = 0; i < steps; i++)
49
+ {
50
+ tmp_vec.lerpVectors(this.tmp_points[i], this.tmp_points[i + 1], t);
51
+ this.tmp_points[i].copy(tmp_vec);
52
+ }
53
+ }
54
+ return this.tmp_points[0].clone();
55
+ }
56
+ }
57
+
58
+ export { CustomBezierCurve };