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
@@ -1,43 +1,43 @@
1
- class StringUtilities
2
- {
3
- constructor()
4
- {}
5
-
6
- static get_random_color()
7
- {
8
- const hexValues = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'];
9
- let hex = '#';
10
-
11
- for (let i = 0; i < 6; i++)
12
- {
13
- const index = Math.floor(Math.random() * hexValues.length);
14
- hex += hexValues[index];
15
- }
16
-
17
- return hex;
18
- }
19
-
20
- static capitalize(string)
21
- {
22
- const words = string.split(' ');
23
-
24
- for (let i = 0; i < words.length; i++)
25
- {
26
- words[i] = words[i][0].toUpperCase() + words[i].substr(1);
27
- }
28
-
29
- return words.join(' ');
30
- }
31
-
32
- static capitalize_first_letter(string)
33
- {
34
- return string.charAt(0).toUpperCase() + string.slice(1);
35
- }
36
-
37
- static snake_to_camelcase(string)
38
- {
39
- return string.toLowerCase().replace(/[-_][a-z0-9]/g, (group) => group.slice(-1).toUpperCase());
40
- }
41
- }
42
-
43
- export { StringUtilities };
1
+ class StringUtilities
2
+ {
3
+ constructor()
4
+ {}
5
+
6
+ static get_random_color()
7
+ {
8
+ const hexValues = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'];
9
+ let hex = '#';
10
+
11
+ for (let i = 0; i < 6; i++)
12
+ {
13
+ const index = Math.floor(Math.random() * hexValues.length);
14
+ hex += hexValues[index];
15
+ }
16
+
17
+ return hex;
18
+ }
19
+
20
+ static capitalize(string)
21
+ {
22
+ const words = string.split(' ');
23
+
24
+ for (let i = 0; i < words.length; i++)
25
+ {
26
+ words[i] = words[i][0].toUpperCase() + words[i].substr(1);
27
+ }
28
+
29
+ return words.join(' ');
30
+ }
31
+
32
+ static capitalize_first_letter(string)
33
+ {
34
+ return string.charAt(0).toUpperCase() + string.slice(1);
35
+ }
36
+
37
+ static snake_to_camelcase(string)
38
+ {
39
+ return string.toLowerCase().replace(/[-_][a-z0-9]/g, (group) => group.slice(-1).toUpperCase());
40
+ }
41
+ }
42
+
43
+ export { StringUtilities };
@@ -1,24 +1,24 @@
1
- class TimeUtilities
2
- {
3
- constructor()
4
- {}
5
-
6
- // Converts a time string (00:00:00.45) into miliseconds
7
- time_str_to_ms(time_str)
8
- {
9
- time_str = time_str.split(':');
10
-
11
- let hours = Number(time_str[0]);
12
- hours = hours * 60 * 60 * 1000;
13
-
14
- let minutes = Number(time_str[1]);
15
- minutes = minutes * 60 * 1000;
16
-
17
- let seconds = Number(time_str[2]);
18
- seconds = seconds * 1000;
19
-
20
- return hours + minutes + seconds;
21
- }
22
- }
23
-
24
- export { TimeUtilities };
1
+ class TimeUtilities
2
+ {
3
+ constructor()
4
+ {}
5
+
6
+ // Converts a time string (00:00:00.45) into miliseconds
7
+ time_str_to_ms(time_str)
8
+ {
9
+ time_str = time_str.split(':');
10
+
11
+ let hours = Number(time_str[0]);
12
+ hours = hours * 60 * 60 * 1000;
13
+
14
+ let minutes = Number(time_str[1]);
15
+ minutes = minutes * 60 * 1000;
16
+
17
+ let seconds = Number(time_str[2]);
18
+ seconds = seconds * 1000;
19
+
20
+ return hours + minutes + seconds;
21
+ }
22
+ }
23
+
24
+ export { TimeUtilities };
@@ -1,36 +1,36 @@
1
- class Validation
2
- {
3
- constructor()
4
- {}
5
-
6
- static is_int(n)
7
- {
8
- return Number(n) === n && n % 1 === 0;
9
- }
10
-
11
- static is_float(n)
12
- {
13
- return Number(n) === n && n % 1 !== 0;
14
- }
15
-
16
- static is_number(n)
17
- {
18
- return this.is_int(n) || this.is_float(n);
19
- }
20
-
21
- static is_json(str)
22
- {
23
- try
24
- {
25
- JSON.parse(str);
26
- }
27
- catch (e)
28
- {
29
- return false;
30
- }
31
-
32
- return true;
33
- }
34
- }
35
-
36
- export { Validation };
1
+ class Validation
2
+ {
3
+ constructor()
4
+ {}
5
+
6
+ static is_int(n)
7
+ {
8
+ return Number(n) === n && n % 1 === 0;
9
+ }
10
+
11
+ static is_float(n)
12
+ {
13
+ return Number(n) === n && n % 1 !== 0;
14
+ }
15
+
16
+ static is_number(n)
17
+ {
18
+ return this.is_int(n) || this.is_float(n);
19
+ }
20
+
21
+ static is_json(str)
22
+ {
23
+ try
24
+ {
25
+ JSON.parse(str);
26
+ }
27
+ catch (e)
28
+ {
29
+ return false;
30
+ }
31
+
32
+ return true;
33
+ }
34
+ }
35
+
36
+ export { Validation };
@@ -1,73 +1,73 @@
1
- import { TransitionManager } from './TransitionManager';
2
- import { ViewManager } from './ViewManager';
3
- import { ViewState } from './ViewState';
4
-
5
- class ApplicationView extends ViewState
6
- {
7
- constructor({ name, url, container, transition_data })
8
- {
9
- super(name);
10
-
11
- this.container = container;
12
- this.url = url;
13
-
14
- this.current_opacity = 0;
15
-
16
- transition_data = transition_data || {
17
- animation_tracks: [],
18
- triggers: []
19
- };
20
-
21
- const transitions = [
22
- {
23
- to: name,
24
- data: transition_data
25
- }
26
- ];
27
-
28
- ViewManager.register_view(this);
29
- TransitionManager.add_transitions(transitions);
30
- }
31
-
32
- before_enter()
33
- {
34
- this.container.classList.add('before_enter');
35
- this.container.classList.remove('before_exit');
36
- this.container.classList.remove('hidden');
37
- }
38
-
39
- on_enter()
40
- {
41
- this.container.classList.remove('before_enter');
42
- this.container.classList.remove('before_exit');
43
- this.container.classList.remove('hidden');
44
- }
45
-
46
- before_exit()
47
- {
48
- this.container.classList.add('before_exit');
49
- this.container.classList.remove('before_enter');
50
- this.container.classList.remove('hidden');
51
- }
52
-
53
- on_exit()
54
- {
55
- this.container.classList.add('hidden');
56
- this.container.classList.remove('before_enter');
57
- this.container.classList.remove('before_exit');
58
- }
59
-
60
- set_opacity(current_state_data)
61
- {
62
- const opacity = current_state_data[`${this.name}_opacity`];
63
-
64
- if (this.current_opacity > opacity || this.current_opacity < opacity)
65
- {
66
- this.current_opacity = opacity;
67
-
68
- this.container.style.opacity = this.current_opacity;
69
- }
70
- }
71
- }
72
-
73
- export { ApplicationView };
1
+ import { TransitionManager } from './TransitionManager';
2
+ import { ViewManager } from './ViewManager';
3
+ import { ViewState } from './ViewState';
4
+
5
+ class ApplicationView extends ViewState
6
+ {
7
+ constructor({ name, url, container, transition_data })
8
+ {
9
+ super(name);
10
+
11
+ this.container = container;
12
+ this.url = url;
13
+
14
+ this.current_opacity = 0;
15
+
16
+ transition_data = transition_data || {
17
+ animation_tracks: [],
18
+ triggers: []
19
+ };
20
+
21
+ const transitions = [
22
+ {
23
+ to: name,
24
+ data: transition_data
25
+ }
26
+ ];
27
+
28
+ ViewManager.register_view(this);
29
+ TransitionManager.add_transitions(transitions);
30
+ }
31
+
32
+ before_enter()
33
+ {
34
+ this.container.classList.add('before_enter');
35
+ this.container.classList.remove('before_exit');
36
+ this.container.classList.remove('hidden');
37
+ }
38
+
39
+ on_enter()
40
+ {
41
+ this.container.classList.remove('before_enter');
42
+ this.container.classList.remove('before_exit');
43
+ this.container.classList.remove('hidden');
44
+ }
45
+
46
+ before_exit()
47
+ {
48
+ this.container.classList.add('before_exit');
49
+ this.container.classList.remove('before_enter');
50
+ this.container.classList.remove('hidden');
51
+ }
52
+
53
+ on_exit()
54
+ {
55
+ this.container.classList.add('hidden');
56
+ this.container.classList.remove('before_enter');
57
+ this.container.classList.remove('before_exit');
58
+ }
59
+
60
+ set_opacity(current_state_data)
61
+ {
62
+ const opacity = current_state_data[`${this.name}_opacity`];
63
+
64
+ if (this.current_opacity > opacity || this.current_opacity < opacity)
65
+ {
66
+ this.current_opacity = opacity;
67
+
68
+ this.container.style.opacity = this.current_opacity;
69
+ }
70
+ }
71
+ }
72
+
73
+ export { ApplicationView };
@@ -1,75 +1,75 @@
1
- import { TransitionTable } from './transition/TransitionTable';
2
- import { ViewStateTransitionHandler } from './transition/ViewStateTransitionHandler';
3
-
4
- class TransitionManager
5
- {
6
- constructor()
7
- {
8
- this.transition_table = new TransitionTable();
9
- this.transition_handler = new ViewStateTransitionHandler(this.transition_table);
10
- }
11
-
12
- get action_sequencer()
13
- {
14
- return this.transition_handler.action_sequencer;
15
- }
16
-
17
- get current_state_data()
18
- {
19
- return this.transition_handler.current_state_data;
20
- }
21
-
22
- get_current_state()
23
- {
24
- return this.transition_handler.current_state;
25
- }
26
-
27
- go_to_state(state, skip = false)
28
- {
29
- this.transition_handler.go_to_state(state, skip);
30
- }
31
-
32
- before_update()
33
- {
34
- this.transition_handler.before_update();
35
- }
36
-
37
- update()
38
- {
39
- this.transition_handler.update();
40
- }
41
-
42
- fixed_update()
43
- {
44
- this.transition_handler.fixed_update();
45
- }
46
-
47
- add_transitions(transitions)
48
- {
49
- this.transition_table.add_transitions(transitions);
50
- }
51
-
52
- set_transitions(transitions)
53
- {
54
- this.transition_table.set_transitions(transitions);
55
- }
56
-
57
- set_state(state)
58
- {
59
- this.transition_handler.set_state(state);
60
- }
61
-
62
- set_default_state_data(default_state_data)
63
- {
64
- this.transition_table.set_default_state_data(default_state_data);
65
- this.transition_handler.set_default_state_data(default_state_data);
66
- }
67
-
68
- set_transitions_velocity(transitions_velocity)
69
- {
70
- this.transition_table.set_transitions_velocity(transitions_velocity);
71
- }
72
- }
73
-
74
- const transition_manager = new TransitionManager();
75
- export { transition_manager as TransitionManager };
1
+ import { TransitionTable } from './transition/TransitionTable';
2
+ import { ViewStateTransitionHandler } from './transition/ViewStateTransitionHandler';
3
+
4
+ class TransitionManager
5
+ {
6
+ constructor()
7
+ {
8
+ this.transition_table = new TransitionTable();
9
+ this.transition_handler = new ViewStateTransitionHandler(this.transition_table);
10
+ }
11
+
12
+ get action_sequencer()
13
+ {
14
+ return this.transition_handler.action_sequencer;
15
+ }
16
+
17
+ get current_state_data()
18
+ {
19
+ return this.transition_handler.current_state_data;
20
+ }
21
+
22
+ get_current_state()
23
+ {
24
+ return this.transition_handler.current_state;
25
+ }
26
+
27
+ go_to_state(state, skip = false)
28
+ {
29
+ this.transition_handler.go_to_state(state, skip);
30
+ }
31
+
32
+ before_update()
33
+ {
34
+ this.transition_handler.before_update();
35
+ }
36
+
37
+ update()
38
+ {
39
+ this.transition_handler.update();
40
+ }
41
+
42
+ fixed_update()
43
+ {
44
+ this.transition_handler.fixed_update();
45
+ }
46
+
47
+ add_transitions(transitions)
48
+ {
49
+ this.transition_table.add_transitions(transitions);
50
+ }
51
+
52
+ set_transitions(transitions)
53
+ {
54
+ this.transition_table.set_transitions(transitions);
55
+ }
56
+
57
+ set_state(state)
58
+ {
59
+ this.transition_handler.set_state(state);
60
+ }
61
+
62
+ set_default_state_data(default_state_data)
63
+ {
64
+ this.transition_table.set_default_state_data(default_state_data);
65
+ this.transition_handler.set_default_state_data(default_state_data);
66
+ }
67
+
68
+ set_transitions_velocity(transitions_velocity)
69
+ {
70
+ this.transition_table.set_transitions_velocity(transitions_velocity);
71
+ }
72
+ }
73
+
74
+ const transition_manager = new TransitionManager();
75
+ export { transition_manager as TransitionManager };
@@ -1,61 +1,61 @@
1
- import { ViewComponentManager } from './ViewComponentManager';
2
-
3
- export class ViewComponent
4
- {
5
- constructor({ name, container })
6
- {
7
- this.name = name;
8
- this.container = container;
9
- this.hidden = true;
10
-
11
- ViewComponentManager.register_component(this);
12
- }
13
-
14
- start()
15
- {
16
- }
17
-
18
- on_enter()
19
- {
20
- this.container.classList.remove('hidden');
21
- ViewComponentManager.enable_component(this);
22
-
23
- this.hidden = false;
24
- }
25
-
26
- update()
27
- {
28
- }
29
-
30
- on_exit()
31
- {
32
- this.container.classList.add('hidden');
33
- ViewComponentManager.disable_component(this);
34
-
35
- this.hidden = true;
36
- }
37
-
38
- set_opacity(current_state_data)
39
- {
40
- this.container.style.opacity = current_state_data[`${this.name}_opacity`];
41
- this.toggle_hidden();
42
- }
43
-
44
- toggle_hidden()
45
- {
46
- if (this.container.style.opacity > 0.001)
47
- {
48
- if (this.hidden)
49
- {
50
- this.on_enter();
51
- }
52
- }
53
- else
54
- {
55
- if (!this.hidden)
56
- {
57
- this.on_exit();
58
- }
59
- }
60
- }
61
- }
1
+ import { ViewComponentManager } from './ViewComponentManager';
2
+
3
+ export class ViewComponent
4
+ {
5
+ constructor({ name, container })
6
+ {
7
+ this.name = name;
8
+ this.container = container;
9
+ this.hidden = true;
10
+
11
+ ViewComponentManager.register_component(this);
12
+ }
13
+
14
+ start()
15
+ {
16
+ }
17
+
18
+ on_enter()
19
+ {
20
+ this.container.classList.remove('hidden');
21
+ ViewComponentManager.enable_component(this);
22
+
23
+ this.hidden = false;
24
+ }
25
+
26
+ update()
27
+ {
28
+ }
29
+
30
+ on_exit()
31
+ {
32
+ this.container.classList.add('hidden');
33
+ ViewComponentManager.disable_component(this);
34
+
35
+ this.hidden = true;
36
+ }
37
+
38
+ set_opacity(current_state_data)
39
+ {
40
+ this.container.style.opacity = current_state_data[`${this.name}_opacity`];
41
+ this.toggle_hidden();
42
+ }
43
+
44
+ toggle_hidden()
45
+ {
46
+ if (this.container.style.opacity > 0.001)
47
+ {
48
+ if (this.hidden)
49
+ {
50
+ this.on_enter();
51
+ }
52
+ }
53
+ else
54
+ {
55
+ if (!this.hidden)
56
+ {
57
+ this.on_exit();
58
+ }
59
+ }
60
+ }
61
+ }