@tsparticles/engine 4.0.0-beta.0 → 4.0.0-beta.10

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 (242) hide show
  1. package/67.min.js +1 -0
  2. package/README.md +53 -965
  3. package/browser/Core/CanvasManager.js +303 -0
  4. package/browser/Core/Container.js +61 -34
  5. package/browser/Core/Engine.js +26 -138
  6. package/browser/Core/Particle.js +29 -28
  7. package/{cjs/Core/Particles.js → browser/Core/ParticlesManager.js} +27 -57
  8. package/browser/Core/RenderManager.js +303 -0
  9. package/browser/Core/Retina.js +3 -8
  10. package/browser/Core/Utils/PluginManager.js +145 -0
  11. package/browser/Options/Classes/Options.js +8 -21
  12. package/browser/Options/Classes/Particles/Paint.js +20 -0
  13. package/browser/Options/Classes/Particles/ParticlesOptions.js +65 -27
  14. package/browser/Options/Interfaces/Particles/IPaint.js +1 -0
  15. package/browser/Types/CanvasContextType.js +1 -0
  16. package/browser/Utils/CanvasUtils.js +4 -4
  17. package/browser/Utils/ColorUtils.js +21 -21
  18. package/browser/Utils/LogUtils.js +1 -0
  19. package/browser/Utils/OptionsUtils.js +2 -2
  20. package/browser/Utils/Utils.js +16 -10
  21. package/browser/exports.js +1 -0
  22. package/cjs/Core/CanvasManager.js +303 -0
  23. package/cjs/Core/Container.js +61 -34
  24. package/cjs/Core/Engine.js +26 -138
  25. package/cjs/Core/Particle.js +29 -28
  26. package/{esm/Core/Particles.js → cjs/Core/ParticlesManager.js} +27 -57
  27. package/cjs/Core/RenderManager.js +303 -0
  28. package/cjs/Core/Retina.js +3 -8
  29. package/cjs/Core/Utils/PluginManager.js +145 -0
  30. package/cjs/Options/Classes/Options.js +8 -21
  31. package/cjs/Options/Classes/Particles/Paint.js +20 -0
  32. package/cjs/Options/Classes/Particles/ParticlesOptions.js +65 -27
  33. package/cjs/Options/Interfaces/Particles/IPaint.js +1 -0
  34. package/cjs/Types/CanvasContextType.js +1 -0
  35. package/cjs/Utils/CanvasUtils.js +4 -4
  36. package/cjs/Utils/ColorUtils.js +21 -21
  37. package/cjs/Utils/LogUtils.js +1 -0
  38. package/cjs/Utils/OptionsUtils.js +2 -2
  39. package/cjs/Utils/Utils.js +16 -10
  40. package/cjs/exports.js +1 -0
  41. package/dist_browser_Core_Container_js.js +24 -14
  42. package/esm/Core/CanvasManager.js +303 -0
  43. package/esm/Core/Container.js +61 -34
  44. package/esm/Core/Engine.js +26 -138
  45. package/esm/Core/Particle.js +29 -28
  46. package/{browser/Core/Particles.js → esm/Core/ParticlesManager.js} +27 -57
  47. package/esm/Core/RenderManager.js +303 -0
  48. package/esm/Core/Retina.js +3 -8
  49. package/esm/Core/Utils/PluginManager.js +145 -0
  50. package/esm/Options/Classes/Options.js +8 -21
  51. package/esm/Options/Classes/Particles/Paint.js +20 -0
  52. package/esm/Options/Classes/Particles/ParticlesOptions.js +65 -27
  53. package/esm/Options/Interfaces/Particles/IPaint.js +1 -0
  54. package/esm/Types/CanvasContextType.js +1 -0
  55. package/esm/Utils/CanvasUtils.js +4 -4
  56. package/esm/Utils/ColorUtils.js +21 -21
  57. package/esm/Utils/LogUtils.js +1 -0
  58. package/esm/Utils/OptionsUtils.js +2 -2
  59. package/esm/Utils/Utils.js +16 -10
  60. package/esm/exports.js +1 -0
  61. package/package.json +2 -3
  62. package/report.html +84 -29
  63. package/tsparticles.engine.js +31 -11
  64. package/tsparticles.engine.min.js +2 -2
  65. package/types/Core/CanvasManager.d.ts +39 -0
  66. package/types/Core/Container.d.ts +26 -7
  67. package/types/Core/Engine.d.ts +2 -54
  68. package/types/Core/Interfaces/IContainerPlugin.d.ts +8 -7
  69. package/types/Core/Interfaces/IDrawParticleParams.d.ts +2 -1
  70. package/types/Core/Interfaces/IPalette.d.ts +15 -2
  71. package/types/Core/Interfaces/IParticleRetinaProps.d.ts +4 -4
  72. package/types/Core/Interfaces/IParticleUpdater.d.ts +2 -1
  73. package/types/Core/Interfaces/IShapeDrawData.d.ts +2 -1
  74. package/types/Core/Particle.d.ts +4 -4
  75. package/types/Core/{Particles.d.ts → ParticlesManager.d.ts} +4 -11
  76. package/types/Core/{Canvas.d.ts → RenderManager.d.ts} +12 -33
  77. package/types/Core/Retina.d.ts +0 -2
  78. package/types/Core/Utils/PluginManager.d.ts +62 -0
  79. package/types/Options/Classes/Options.d.ts +3 -3
  80. package/types/Options/Classes/Particles/Paint.d.ts +10 -0
  81. package/types/Options/Classes/Particles/ParticlesOptions.d.ts +7 -7
  82. package/types/Options/Interfaces/Particles/IPaint.d.ts +6 -0
  83. package/types/Options/Interfaces/Particles/IParticlesOptions.d.ts +3 -4
  84. package/types/Types/CanvasContextType.d.ts +1 -0
  85. package/types/Utils/CanvasUtils.d.ts +8 -5
  86. package/types/Utils/ColorUtils.d.ts +8 -8
  87. package/types/Utils/LogUtils.d.ts +1 -0
  88. package/types/Utils/OptionsUtils.d.ts +2 -2
  89. package/types/export-types.d.ts +5 -2
  90. package/types/exports.d.ts +1 -0
  91. package/164.min.js +0 -1
  92. package/browser/Core/Canvas.js +0 -570
  93. package/cjs/Core/Canvas.js +0 -570
  94. package/esm/Core/Canvas.js +0 -570
  95. package/umd/Core/Canvas.js +0 -584
  96. package/umd/Core/Container.js +0 -356
  97. package/umd/Core/Engine.js +0 -295
  98. package/umd/Core/Interfaces/Colors.js +0 -12
  99. package/umd/Core/Interfaces/IBounds.js +0 -12
  100. package/umd/Core/Interfaces/IBubbleParticleData.js +0 -12
  101. package/umd/Core/Interfaces/ICircleBouncer.js +0 -12
  102. package/umd/Core/Interfaces/IColorManager.js +0 -12
  103. package/umd/Core/Interfaces/IContainerPlugin.js +0 -12
  104. package/umd/Core/Interfaces/ICoordinates.js +0 -12
  105. package/umd/Core/Interfaces/IDelta.js +0 -12
  106. package/umd/Core/Interfaces/IDimension.js +0 -12
  107. package/umd/Core/Interfaces/IDistance.js +0 -12
  108. package/umd/Core/Interfaces/IDrawParticleParams.js +0 -12
  109. package/umd/Core/Interfaces/IEffectDrawer.js +0 -12
  110. package/umd/Core/Interfaces/ILoadParams.js +0 -12
  111. package/umd/Core/Interfaces/IPalette.js +0 -12
  112. package/umd/Core/Interfaces/IParticleColorStyle.js +0 -12
  113. package/umd/Core/Interfaces/IParticleHslAnimation.js +0 -12
  114. package/umd/Core/Interfaces/IParticleLife.js +0 -12
  115. package/umd/Core/Interfaces/IParticleOpacityData.js +0 -12
  116. package/umd/Core/Interfaces/IParticleRetinaProps.js +0 -12
  117. package/umd/Core/Interfaces/IParticleRoll.js +0 -12
  118. package/umd/Core/Interfaces/IParticleRotateData.js +0 -12
  119. package/umd/Core/Interfaces/IParticleTransformValues.js +0 -12
  120. package/umd/Core/Interfaces/IParticleUpdater.js +0 -12
  121. package/umd/Core/Interfaces/IParticleValueAnimation.js +0 -12
  122. package/umd/Core/Interfaces/IPlugin.js +0 -12
  123. package/umd/Core/Interfaces/IPositionFromSizeParams.js +0 -12
  124. package/umd/Core/Interfaces/IRangeValue.js +0 -12
  125. package/umd/Core/Interfaces/IShapeDrawData.js +0 -12
  126. package/umd/Core/Interfaces/IShapeDrawer.js +0 -12
  127. package/umd/Core/Interfaces/IShapeValues.js +0 -12
  128. package/umd/Core/Interfaces/ISlowParticleData.js +0 -12
  129. package/umd/Core/Particle.js +0 -432
  130. package/umd/Core/Particles.js +0 -407
  131. package/umd/Core/Retina.js +0 -52
  132. package/umd/Core/Utils/Constants.js +0 -23
  133. package/umd/Core/Utils/EventListeners.js +0 -102
  134. package/umd/Core/Utils/Ranges.js +0 -91
  135. package/umd/Core/Utils/SpatialHashGrid.js +0 -116
  136. package/umd/Core/Utils/Vectors.js +0 -126
  137. package/umd/Enums/AnimationStatus.js +0 -18
  138. package/umd/Enums/Directions/MoveDirection.js +0 -27
  139. package/umd/Enums/Directions/OutModeDirection.js +0 -20
  140. package/umd/Enums/Directions/RotateDirection.js +0 -19
  141. package/umd/Enums/Modes/AnimationMode.js +0 -20
  142. package/umd/Enums/Modes/LimitMode.js +0 -18
  143. package/umd/Enums/Modes/OutMode.js +0 -21
  144. package/umd/Enums/Modes/PixelMode.js +0 -18
  145. package/umd/Enums/RangeType.js +0 -18
  146. package/umd/Enums/Types/AlterType.js +0 -18
  147. package/umd/Enums/Types/DestroyType.js +0 -19
  148. package/umd/Enums/Types/EasingType.js +0 -58
  149. package/umd/Enums/Types/EventType.js +0 -28
  150. package/umd/Enums/Types/GradientType.js +0 -19
  151. package/umd/Enums/Types/ParticleOutType.js +0 -19
  152. package/umd/Enums/Types/StartValueType.js +0 -19
  153. package/umd/Options/Classes/AnimatableColor.js +0 -52
  154. package/umd/Options/Classes/AnimationOptions.js +0 -79
  155. package/umd/Options/Classes/Background/Background.js +0 -56
  156. package/umd/Options/Classes/ColorAnimation.js +0 -44
  157. package/umd/Options/Classes/FullScreen/FullScreen.js +0 -34
  158. package/umd/Options/Classes/HslAnimation.js +0 -30
  159. package/umd/Options/Classes/Options.js +0 -171
  160. package/umd/Options/Classes/OptionsColor.js +0 -42
  161. package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +0 -31
  162. package/umd/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js +0 -21
  163. package/umd/Options/Classes/Particles/Effect/Effect.js +0 -46
  164. package/umd/Options/Classes/Particles/Fill.js +0 -42
  165. package/umd/Options/Classes/Particles/Move/Move.js +0 -120
  166. package/umd/Options/Classes/Particles/Move/MoveAngle.js +0 -35
  167. package/umd/Options/Classes/Particles/Move/MoveCenter.js +0 -45
  168. package/umd/Options/Classes/Particles/Move/MoveGravity.js +0 -45
  169. package/umd/Options/Classes/Particles/Move/OutModes.js +0 -38
  170. package/umd/Options/Classes/Particles/Move/Path/MovePath.js +0 -46
  171. package/umd/Options/Classes/Particles/Move/Spin.js +0 -40
  172. package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +0 -41
  173. package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +0 -37
  174. package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +0 -35
  175. package/umd/Options/Classes/Particles/Opacity/Opacity.js +0 -35
  176. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -34
  177. package/umd/Options/Classes/Particles/ParticlesOptions.js +0 -116
  178. package/umd/Options/Classes/Particles/Shape/Shape.js +0 -46
  179. package/umd/Options/Classes/Particles/Size/Size.js +0 -35
  180. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +0 -34
  181. package/umd/Options/Classes/Particles/Stroke.js +0 -39
  182. package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +0 -42
  183. package/umd/Options/Classes/ResizeEvent.js +0 -34
  184. package/umd/Options/Classes/ValueWithRandom.js +0 -56
  185. package/umd/Options/Interfaces/Background/IBackground.js +0 -12
  186. package/umd/Options/Interfaces/FullScreen/IFullScreen.js +0 -12
  187. package/umd/Options/Interfaces/IAnimatable.js +0 -12
  188. package/umd/Options/Interfaces/IAnimatableColor.js +0 -12
  189. package/umd/Options/Interfaces/IAnimation.js +0 -12
  190. package/umd/Options/Interfaces/IColorAnimation.js +0 -12
  191. package/umd/Options/Interfaces/IHslAnimation.js +0 -12
  192. package/umd/Options/Interfaces/IOptionLoader.js +0 -12
  193. package/umd/Options/Interfaces/IOptions.js +0 -12
  194. package/umd/Options/Interfaces/IOptionsColor.js +0 -12
  195. package/umd/Options/Interfaces/IResizeEvent.js +0 -12
  196. package/umd/Options/Interfaces/IValueWithRandom.js +0 -12
  197. package/umd/Options/Interfaces/Particles/Bounce/IParticlesBounce.js +0 -12
  198. package/umd/Options/Interfaces/Particles/Effect/IEffect.js +0 -12
  199. package/umd/Options/Interfaces/Particles/IFill.js +0 -12
  200. package/umd/Options/Interfaces/Particles/IParticlesOptions.js +0 -12
  201. package/umd/Options/Interfaces/Particles/IStroke.js +0 -12
  202. package/umd/Options/Interfaces/Particles/Move/IMove.js +0 -12
  203. package/umd/Options/Interfaces/Particles/Move/IMoveAngle.js +0 -12
  204. package/umd/Options/Interfaces/Particles/Move/IMoveCenter.js +0 -12
  205. package/umd/Options/Interfaces/Particles/Move/IMoveGravity.js +0 -12
  206. package/umd/Options/Interfaces/Particles/Move/IOutModes.js +0 -12
  207. package/umd/Options/Interfaces/Particles/Move/ISpin.js +0 -12
  208. package/umd/Options/Interfaces/Particles/Move/Path/IMovePath.js +0 -12
  209. package/umd/Options/Interfaces/Particles/Number/IParticlesDensity.js +0 -12
  210. package/umd/Options/Interfaces/Particles/Number/IParticlesNumber.js +0 -12
  211. package/umd/Options/Interfaces/Particles/Number/IParticlesNumberLimit.js +0 -12
  212. package/umd/Options/Interfaces/Particles/Opacity/IOpacity.js +0 -12
  213. package/umd/Options/Interfaces/Particles/Opacity/IOpacityAnimation.js +0 -12
  214. package/umd/Options/Interfaces/Particles/Shape/IShape.js +0 -12
  215. package/umd/Options/Interfaces/Particles/Size/ISize.js +0 -12
  216. package/umd/Options/Interfaces/Particles/Size/ISizeAnimation.js +0 -12
  217. package/umd/Options/Interfaces/Particles/ZIndex/IZIndex.js +0 -12
  218. package/umd/Types/CustomEventArgs.js +0 -12
  219. package/umd/Types/CustomEventListener.js +0 -12
  220. package/umd/Types/EasingFunction.js +0 -12
  221. package/umd/Types/EngineInitializers.js +0 -12
  222. package/umd/Types/ExportResult.js +0 -12
  223. package/umd/Types/ISourceOptions.js +0 -12
  224. package/umd/Types/ParticlesGroups.js +0 -12
  225. package/umd/Types/PathOptions.js +0 -12
  226. package/umd/Types/RangeValue.js +0 -12
  227. package/umd/Types/RecursivePartial.js +0 -12
  228. package/umd/Types/ShapeData.js +0 -12
  229. package/umd/Types/SingleOrMultiple.js +0 -12
  230. package/umd/Utils/CanvasUtils.js +0 -145
  231. package/umd/Utils/ColorUtils.js +0 -395
  232. package/umd/Utils/EventDispatcher.js +0 -63
  233. package/umd/Utils/LogUtils.js +0 -36
  234. package/umd/Utils/MathUtils.js +0 -203
  235. package/umd/Utils/OptionsUtils.js +0 -25
  236. package/umd/Utils/TypeUtils.js +0 -40
  237. package/umd/Utils/Utils.js +0 -484
  238. package/umd/bundle.js +0 -32
  239. package/umd/export-types.js +0 -12
  240. package/umd/exports.js +0 -82
  241. package/umd/index.js +0 -32
  242. package/umd/initEngine.js +0 -17
@@ -1,203 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../Enums/Directions/MoveDirection.js", "../Core/Utils/Constants.js", "../Core/Utils/Vectors.js", "./TypeUtils.js"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.setRandom = setRandom;
13
- exports.getRandom = getRandom;
14
- exports.getRandomInRange = getRandomInRange;
15
- exports.setAnimationFunctions = setAnimationFunctions;
16
- exports.animate = animate;
17
- exports.cancelAnimation = cancelAnimation;
18
- exports.clamp = clamp;
19
- exports.mix = mix;
20
- exports.randomInRangeValue = randomInRangeValue;
21
- exports.getRangeValue = getRangeValue;
22
- exports.getRangeMin = getRangeMin;
23
- exports.getRangeMax = getRangeMax;
24
- exports.setRangeValue = setRangeValue;
25
- exports.getDistances = getDistances;
26
- exports.getDistanceSq = getDistanceSq;
27
- exports.getDistance = getDistance;
28
- exports.checkDistance = checkDistance;
29
- exports.degToRad = degToRad;
30
- exports.getParticleDirectionAngle = getParticleDirectionAngle;
31
- exports.getParticleBaseVelocity = getParticleBaseVelocity;
32
- exports.collisionVelocity = collisionVelocity;
33
- exports.calcPositionFromSize = calcPositionFromSize;
34
- exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
35
- exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
36
- exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
37
- exports.calcExactPositionOrRandomFromSizeRanged = calcExactPositionOrRandomFromSizeRanged;
38
- exports.parseAlpha = parseAlpha;
39
- const MoveDirection_js_1 = require("../Enums/Directions/MoveDirection.js");
40
- const Constants_js_1 = require("../Core/Utils/Constants.js");
41
- const Vectors_js_1 = require("../Core/Utils/Vectors.js");
42
- const TypeUtils_js_1 = require("./TypeUtils.js");
43
- const piDeg = 180, degToRadFactor = Math.PI / piDeg;
44
- let _random = Math.random;
45
- const _animationLoop = {
46
- nextFrame: (cb) => requestAnimationFrame(cb),
47
- cancel: (idx) => {
48
- cancelAnimationFrame(idx);
49
- },
50
- };
51
- function setRandom(rnd = Math.random) {
52
- _random = rnd;
53
- }
54
- function getRandom() {
55
- const min = 0, max = 1;
56
- return clamp(_random(), min, max - Number.EPSILON);
57
- }
58
- function getRandomInRange(min, max) {
59
- return getRandom() * (max - min) + min;
60
- }
61
- function setAnimationFunctions(nextFrame, cancel) {
62
- _animationLoop.nextFrame = nextFrame;
63
- _animationLoop.cancel = cancel;
64
- }
65
- function animate(fn) {
66
- return _animationLoop.nextFrame(fn);
67
- }
68
- function cancelAnimation(handle) {
69
- _animationLoop.cancel(handle);
70
- }
71
- function clamp(num, min, max) {
72
- return Math.min(Math.max(num, min), max);
73
- }
74
- function mix(comp1, comp2, weight1, weight2) {
75
- return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));
76
- }
77
- function randomInRangeValue(r) {
78
- const max = getRangeMax(r), minOffset = 0;
79
- let min = getRangeMin(r);
80
- if (max === min) {
81
- min = minOffset;
82
- }
83
- return getRandomInRange(min, max);
84
- }
85
- function getRangeValue(value) {
86
- return (0, TypeUtils_js_1.isNumber)(value) ? value : randomInRangeValue(value);
87
- }
88
- function getRangeMin(value) {
89
- return (0, TypeUtils_js_1.isNumber)(value) ? value : value.min;
90
- }
91
- function getRangeMax(value) {
92
- return (0, TypeUtils_js_1.isNumber)(value) ? value : value.max;
93
- }
94
- function setRangeValue(source, value) {
95
- if (source === value || (value === undefined && (0, TypeUtils_js_1.isNumber)(source))) {
96
- return source;
97
- }
98
- const min = getRangeMin(source), max = getRangeMax(source);
99
- return value !== undefined
100
- ? {
101
- min: Math.min(min, value),
102
- max: Math.max(max, value),
103
- }
104
- : setRangeValue(min, max);
105
- }
106
- function getDistances(pointA, pointB) {
107
- const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;
108
- return { dx: dx, dy: dy, distance: Math.hypot(dx, dy) };
109
- }
110
- function getDistanceSq(pointA, pointB) {
111
- const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;
112
- return dx * dx + dy * dy;
113
- }
114
- function getDistance(pointA, pointB) {
115
- return Math.sqrt(getDistanceSq(pointA, pointB));
116
- }
117
- function checkDistance(pointA, pointB, distance) {
118
- return getDistanceSq(pointA, pointB) <= distance * distance;
119
- }
120
- function degToRad(degrees) {
121
- return degrees * degToRadFactor;
122
- }
123
- function getParticleDirectionAngle(direction, position, center) {
124
- if ((0, TypeUtils_js_1.isNumber)(direction)) {
125
- return degToRad(direction);
126
- }
127
- switch (direction) {
128
- case MoveDirection_js_1.MoveDirection.top:
129
- return -Math.PI * Constants_js_1.half;
130
- case MoveDirection_js_1.MoveDirection.topRight:
131
- return -Math.PI * Constants_js_1.quarter;
132
- case MoveDirection_js_1.MoveDirection.right:
133
- return Constants_js_1.empty;
134
- case MoveDirection_js_1.MoveDirection.bottomRight:
135
- return Math.PI * Constants_js_1.quarter;
136
- case MoveDirection_js_1.MoveDirection.bottom:
137
- return Math.PI * Constants_js_1.half;
138
- case MoveDirection_js_1.MoveDirection.bottomLeft:
139
- return Math.PI * Constants_js_1.threeQuarter;
140
- case MoveDirection_js_1.MoveDirection.left:
141
- return Math.PI;
142
- case MoveDirection_js_1.MoveDirection.topLeft:
143
- return -Math.PI * Constants_js_1.threeQuarter;
144
- case MoveDirection_js_1.MoveDirection.inside:
145
- return Math.atan2(center.y - position.y, center.x - position.x);
146
- case MoveDirection_js_1.MoveDirection.outside:
147
- return Math.atan2(position.y - center.y, position.x - center.x);
148
- default:
149
- return getRandom() * Constants_js_1.doublePI;
150
- }
151
- }
152
- function getParticleBaseVelocity(direction) {
153
- const baseVelocity = Vectors_js_1.Vector.origin;
154
- baseVelocity.length = 1;
155
- baseVelocity.angle = direction;
156
- return baseVelocity;
157
- }
158
- function collisionVelocity(v1, v2, m1, m2) {
159
- return Vectors_js_1.Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * Constants_js_1.double * m2) / (m1 + m2), v1.y);
160
- }
161
- function calcPositionFromSize(data) {
162
- return data.position?.x !== undefined && data.position.y !== undefined
163
- ? {
164
- x: (data.position.x * data.size.width) / Constants_js_1.percentDenominator,
165
- y: (data.position.y * data.size.height) / Constants_js_1.percentDenominator,
166
- }
167
- : undefined;
168
- }
169
- function calcPositionOrRandomFromSize(data) {
170
- return {
171
- x: ((data.position?.x ?? getRandom() * Constants_js_1.percentDenominator) * data.size.width) / Constants_js_1.percentDenominator,
172
- y: ((data.position?.y ?? getRandom() * Constants_js_1.percentDenominator) * data.size.height) / Constants_js_1.percentDenominator,
173
- };
174
- }
175
- function calcPositionOrRandomFromSizeRanged(data) {
176
- const position = {
177
- x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
178
- y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
179
- };
180
- return calcPositionOrRandomFromSize({ size: data.size, position });
181
- }
182
- function calcExactPositionOrRandomFromSize(data) {
183
- const { position, size } = data;
184
- return {
185
- x: position?.x ?? getRandom() * size.width,
186
- y: position?.y ?? getRandom() * size.height,
187
- };
188
- }
189
- function calcExactPositionOrRandomFromSizeRanged(data) {
190
- const position = {
191
- x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
192
- y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
193
- };
194
- return calcExactPositionOrRandomFromSize({ size: data.size, position });
195
- }
196
- function parseAlpha(input) {
197
- const defaultAlpha = 1;
198
- if (!input) {
199
- return defaultAlpha;
200
- }
201
- return input.endsWith("%") ? parseFloat(input) / Constants_js_1.percentDenominator : parseFloat(input);
202
- }
203
- });
@@ -1,25 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../Options/Classes/Particles/ParticlesOptions.js"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.loadOptions = loadOptions;
13
- exports.loadParticlesOptions = loadParticlesOptions;
14
- const ParticlesOptions_js_1 = require("../Options/Classes/Particles/ParticlesOptions.js");
15
- function loadOptions(options, ...sourceOptionsArr) {
16
- for (const sourceOptions of sourceOptionsArr) {
17
- options.load(sourceOptions);
18
- }
19
- }
20
- function loadParticlesOptions(engine, container, ...sourceOptionsArr) {
21
- const options = new ParticlesOptions_js_1.ParticlesOptions(engine, container);
22
- loadOptions(options, ...sourceOptionsArr);
23
- return options;
24
- }
25
- });
@@ -1,40 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.isBoolean = isBoolean;
13
- exports.isString = isString;
14
- exports.isNumber = isNumber;
15
- exports.isFunction = isFunction;
16
- exports.isObject = isObject;
17
- exports.isArray = isArray;
18
- exports.isNull = isNull;
19
- function isBoolean(arg) {
20
- return typeof arg === "boolean";
21
- }
22
- function isString(arg) {
23
- return typeof arg === "string";
24
- }
25
- function isNumber(arg) {
26
- return typeof arg === "number";
27
- }
28
- function isFunction(arg) {
29
- return typeof arg === "function";
30
- }
31
- function isObject(arg) {
32
- return typeof arg === "object" && arg !== null;
33
- }
34
- function isArray(arg) {
35
- return Array.isArray(arg);
36
- }
37
- function isNull(arg) {
38
- return arg === null || arg === undefined;
39
- }
40
- });