@vpmedia/phaser 1.95.0 → 1.96.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 (167) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/package.json +9 -9
  3. package/src/phaser/core/animation.js +61 -56
  4. package/src/phaser/core/animation_manager.js +55 -55
  5. package/src/phaser/core/cache.js +154 -154
  6. package/src/phaser/core/device.js +2 -1
  7. package/src/phaser/core/device_util.js +27 -27
  8. package/src/phaser/core/dom.js +43 -43
  9. package/src/phaser/core/event_manager.js +63 -63
  10. package/src/phaser/core/factory.js +47 -47
  11. package/src/phaser/core/frame.js +30 -30
  12. package/src/phaser/core/frame_data.js +30 -28
  13. package/src/phaser/core/frame_util.js +8 -8
  14. package/src/phaser/core/game.js +34 -18
  15. package/src/phaser/core/loader.js +170 -170
  16. package/src/phaser/core/loader_parser.js +22 -22
  17. package/src/phaser/core/raf.js +1 -1
  18. package/src/phaser/core/scene.js +16 -10
  19. package/src/phaser/core/scene_manager.js +51 -43
  20. package/src/phaser/core/signal.js +56 -52
  21. package/src/phaser/core/sound.js +54 -54
  22. package/src/phaser/core/sound_manager.js +49 -49
  23. package/src/phaser/core/stage.js +16 -16
  24. package/src/phaser/core/time.js +30 -30
  25. package/src/phaser/core/timer.js +64 -64
  26. package/src/phaser/core/timer_event.js +9 -9
  27. package/src/phaser/core/tween.js +90 -90
  28. package/src/phaser/core/tween_data.js +30 -30
  29. package/src/phaser/core/tween_manager.js +29 -24
  30. package/src/phaser/core/world.js +4 -3
  31. package/src/phaser/display/bitmap_text.js +61 -54
  32. package/src/phaser/display/button.js +48 -47
  33. package/src/phaser/display/canvas/buffer.js +8 -8
  34. package/src/phaser/display/canvas/graphics.js +8 -8
  35. package/src/phaser/display/canvas/masker.js +5 -5
  36. package/src/phaser/display/canvas/pool.js +18 -18
  37. package/src/phaser/display/canvas/renderer.js +16 -16
  38. package/src/phaser/display/canvas/tinter.js +22 -22
  39. package/src/phaser/display/canvas/util.js +42 -42
  40. package/src/phaser/display/display_object.js +119 -108
  41. package/src/phaser/display/graphics.js +112 -112
  42. package/src/phaser/display/graphics_data.js +10 -10
  43. package/src/phaser/display/graphics_data_util.js +3 -3
  44. package/src/phaser/display/group.js +50 -50
  45. package/src/phaser/display/image.js +54 -50
  46. package/src/phaser/display/sprite_batch.js +2 -2
  47. package/src/phaser/display/sprite_util.js +19 -19
  48. package/src/phaser/display/text.js +212 -187
  49. package/src/phaser/display/webgl/abstract_filter.js +4 -4
  50. package/src/phaser/display/webgl/base_texture.js +9 -9
  51. package/src/phaser/display/webgl/blend_manager.js +7 -7
  52. package/src/phaser/display/webgl/earcut.js +95 -95
  53. package/src/phaser/display/webgl/earcut_node.js +4 -4
  54. package/src/phaser/display/webgl/fast_sprite_batch.js +15 -15
  55. package/src/phaser/display/webgl/filter_manager.js +9 -9
  56. package/src/phaser/display/webgl/filter_texture.js +10 -10
  57. package/src/phaser/display/webgl/graphics.js +37 -37
  58. package/src/phaser/display/webgl/graphics_data.js +4 -4
  59. package/src/phaser/display/webgl/mask_manager.js +6 -6
  60. package/src/phaser/display/webgl/render_texture.js +16 -16
  61. package/src/phaser/display/webgl/renderer.js +20 -20
  62. package/src/phaser/display/webgl/shader/complex.js +4 -4
  63. package/src/phaser/display/webgl/shader/fast.js +4 -4
  64. package/src/phaser/display/webgl/shader/normal.js +8 -8
  65. package/src/phaser/display/webgl/shader/primitive.js +4 -4
  66. package/src/phaser/display/webgl/shader/strip.js +4 -4
  67. package/src/phaser/display/webgl/shader_manager.js +9 -9
  68. package/src/phaser/display/webgl/sprite_batch.js +18 -18
  69. package/src/phaser/display/webgl/stencil_manager.js +16 -16
  70. package/src/phaser/display/webgl/texture.js +13 -13
  71. package/src/phaser/display/webgl/texture_util.js +8 -8
  72. package/src/phaser/display/webgl/util.js +25 -25
  73. package/src/phaser/geom/circle.js +69 -69
  74. package/src/phaser/geom/ellipse.js +28 -28
  75. package/src/phaser/geom/line.js +93 -93
  76. package/src/phaser/geom/matrix.js +54 -54
  77. package/src/phaser/geom/point.js +96 -96
  78. package/src/phaser/geom/polygon.js +22 -22
  79. package/src/phaser/geom/rectangle.js +132 -132
  80. package/src/phaser/geom/rounded_rectangle.js +12 -12
  81. package/src/phaser/geom/util/circle.js +33 -33
  82. package/src/phaser/geom/util/ellipse.js +5 -5
  83. package/src/phaser/geom/util/line.js +26 -26
  84. package/src/phaser/geom/util/matrix.js +8 -8
  85. package/src/phaser/geom/util/point.js +97 -97
  86. package/src/phaser/geom/util/polygon.js +4 -4
  87. package/src/phaser/geom/util/rectangle.js +74 -74
  88. package/src/phaser/geom/util/rounded_rectangle.js +4 -4
  89. package/src/phaser/util/math.js +81 -81
  90. package/types/phaser/core/animation.d.ts +61 -56
  91. package/types/phaser/core/animation.d.ts.map +1 -1
  92. package/types/phaser/core/animation_manager.d.ts +55 -55
  93. package/types/phaser/core/cache.d.ts +154 -154
  94. package/types/phaser/core/device.d.ts.map +1 -1
  95. package/types/phaser/core/dom.d.ts +43 -43
  96. package/types/phaser/core/event_manager.d.ts +63 -63
  97. package/types/phaser/core/factory.d.ts +47 -47
  98. package/types/phaser/core/frame.d.ts +30 -30
  99. package/types/phaser/core/frame_data.d.ts +28 -27
  100. package/types/phaser/core/frame_data.d.ts.map +1 -1
  101. package/types/phaser/core/game.d.ts +52 -19
  102. package/types/phaser/core/game.d.ts.map +1 -1
  103. package/types/phaser/core/loader.d.ts +170 -170
  104. package/types/phaser/core/loader_parser.d.ts.map +1 -1
  105. package/types/phaser/core/raf.d.ts +1 -1
  106. package/types/phaser/core/scene.d.ts +15 -9
  107. package/types/phaser/core/scene.d.ts.map +1 -1
  108. package/types/phaser/core/scene_manager.d.ts +51 -43
  109. package/types/phaser/core/scene_manager.d.ts.map +1 -1
  110. package/types/phaser/core/signal.d.ts +54 -51
  111. package/types/phaser/core/signal.d.ts.map +1 -1
  112. package/types/phaser/core/sound.d.ts +54 -54
  113. package/types/phaser/core/sound_manager.d.ts +49 -49
  114. package/types/phaser/core/stage.d.ts +10 -10
  115. package/types/phaser/core/time.d.ts +30 -30
  116. package/types/phaser/core/timer.d.ts +64 -64
  117. package/types/phaser/core/timer_event.d.ts +9 -9
  118. package/types/phaser/core/tween.d.ts +90 -90
  119. package/types/phaser/core/tween_data.d.ts +30 -30
  120. package/types/phaser/core/tween_manager.d.ts +29 -24
  121. package/types/phaser/core/tween_manager.d.ts.map +1 -1
  122. package/types/phaser/core/world.d.ts +4 -3
  123. package/types/phaser/core/world.d.ts.map +1 -1
  124. package/types/phaser/display/bitmap_text.d.ts +59 -52
  125. package/types/phaser/display/bitmap_text.d.ts.map +1 -1
  126. package/types/phaser/display/button.d.ts +47 -46
  127. package/types/phaser/display/button.d.ts.map +1 -1
  128. package/types/phaser/display/canvas/buffer.d.ts +8 -8
  129. package/types/phaser/display/canvas/renderer.d.ts +16 -16
  130. package/types/phaser/display/display_object.d.ts +119 -108
  131. package/types/phaser/display/display_object.d.ts.map +1 -1
  132. package/types/phaser/display/graphics.d.ts +101 -101
  133. package/types/phaser/display/graphics_data.d.ts +10 -10
  134. package/types/phaser/display/group.d.ts +47 -47
  135. package/types/phaser/display/image.d.ts +42 -40
  136. package/types/phaser/display/image.d.ts.map +1 -1
  137. package/types/phaser/display/text.d.ts +207 -184
  138. package/types/phaser/display/text.d.ts.map +1 -1
  139. package/types/phaser/display/webgl/abstract_filter.d.ts +4 -4
  140. package/types/phaser/display/webgl/base_texture.d.ts +9 -9
  141. package/types/phaser/display/webgl/blend_manager.d.ts +6 -6
  142. package/types/phaser/display/webgl/earcut.d.ts +95 -95
  143. package/types/phaser/display/webgl/earcut_node.d.ts +4 -4
  144. package/types/phaser/display/webgl/fast_sprite_batch.d.ts +15 -15
  145. package/types/phaser/display/webgl/filter_manager.d.ts +8 -8
  146. package/types/phaser/display/webgl/filter_texture.d.ts +10 -10
  147. package/types/phaser/display/webgl/graphics_data.d.ts +4 -4
  148. package/types/phaser/display/webgl/render_texture.d.ts +16 -16
  149. package/types/phaser/display/webgl/renderer.d.ts +20 -20
  150. package/types/phaser/display/webgl/shader/complex.d.ts +4 -4
  151. package/types/phaser/display/webgl/shader/fast.d.ts +4 -4
  152. package/types/phaser/display/webgl/shader/normal.d.ts +8 -8
  153. package/types/phaser/display/webgl/shader/primitive.d.ts +4 -4
  154. package/types/phaser/display/webgl/shader/strip.d.ts +4 -4
  155. package/types/phaser/display/webgl/shader_manager.d.ts +8 -8
  156. package/types/phaser/display/webgl/sprite_batch.d.ts +17 -17
  157. package/types/phaser/display/webgl/stencil_manager.d.ts +15 -15
  158. package/types/phaser/display/webgl/texture.d.ts +12 -12
  159. package/types/phaser/geom/circle.d.ts +69 -69
  160. package/types/phaser/geom/ellipse.d.ts +28 -28
  161. package/types/phaser/geom/line.d.ts +93 -93
  162. package/types/phaser/geom/matrix.d.ts +54 -54
  163. package/types/phaser/geom/point.d.ts +96 -96
  164. package/types/phaser/geom/polygon.d.ts +22 -22
  165. package/types/phaser/geom/rectangle.d.ts +132 -132
  166. package/types/phaser/geom/rounded_rectangle.d.ts +12 -12
  167. package/pnpm-workspace.yaml +0 -4
@@ -2,8 +2,8 @@ import { Timer } from './timer.js';
2
2
 
3
3
  export class Time {
4
4
  /**
5
- * TBD.
6
- * @param {import('./game.js').Game} game - TBD.
5
+ * Creates a new Time instance.
6
+ * @param {import('./game.js').Game} game - Reference to the Phaser Game instance.
7
7
  */
8
8
  constructor(game) {
9
9
  this.game = game;
@@ -61,7 +61,7 @@ export class Time {
61
61
  }
62
62
 
63
63
  /**
64
- * TBD.
64
+ * Initializes the time manager and starts tracking time.
65
65
  */
66
66
  boot() {
67
67
  this._started = Date.now();
@@ -71,9 +71,9 @@ export class Time {
71
71
  }
72
72
 
73
73
  /**
74
- * TBD.
75
- * @param {Timer} timer - TBD.
76
- * @returns {Timer} TBD.
74
+ * Adds a Timer to the Time manager.
75
+ * @param {Timer} timer - The Timer to add.
76
+ * @returns {Timer} The added Timer object.
77
77
  */
78
78
  add(timer) {
79
79
  this._timers.push(timer);
@@ -81,9 +81,9 @@ export class Time {
81
81
  }
82
82
 
83
83
  /**
84
- * TBD.
85
- * @param {boolean} autoDestroy - TBD.
86
- * @returns {Timer} TBD.
84
+ * Creates a new Timer and adds it to the Time manager.
85
+ * @param {boolean} autoDestroy - Whether the timer should be automatically destroyed when it completes.
86
+ * @returns {Timer} The created Timer object.
87
87
  */
88
88
  create(autoDestroy = true) {
89
89
  const timer = new Timer(this.game, autoDestroy);
@@ -92,7 +92,7 @@ export class Time {
92
92
  }
93
93
 
94
94
  /**
95
- * TBD.
95
+ * Removes all timers from the Time manager.
96
96
  */
97
97
  removeAll() {
98
98
  for (let i = 0; i < this._timers.length; i += 1) {
@@ -103,7 +103,7 @@ export class Time {
103
103
  }
104
104
 
105
105
  /**
106
- * TBD.
106
+ * Refreshes the time tracking values.
107
107
  */
108
108
  refresh() {
109
109
  const previousDateNow = this.time;
@@ -114,8 +114,8 @@ export class Time {
114
114
  }
115
115
 
116
116
  /**
117
- * TBD.
118
- * @param {number} time - TBD.
117
+ * Updates the Time manager with a new timestamp.
118
+ * @param {number} time - The new timestamp to use for updating.
119
119
  */
120
120
  update(time) {
121
121
  const previousDateNow = this.time;
@@ -144,7 +144,7 @@ export class Time {
144
144
  }
145
145
 
146
146
  /**
147
- * TBD.
147
+ * Updates all timers managed by the Time manager.
148
148
  */
149
149
  updateTimers() {
150
150
  let i = 0;
@@ -161,7 +161,7 @@ export class Time {
161
161
  }
162
162
 
163
163
  /**
164
- * TBD.
164
+ * Updates the advanced timing values.
165
165
  */
166
166
  updateAdvancedTiming() {
167
167
  // count the number of time.update calls
@@ -187,7 +187,7 @@ export class Time {
187
187
  }
188
188
 
189
189
  /**
190
- * TBD.
190
+ * Handles game pause event.
191
191
  */
192
192
  gamePaused() {
193
193
  this._pauseStarted = Date.now();
@@ -200,7 +200,7 @@ export class Time {
200
200
  }
201
201
 
202
202
  /**
203
- * TBD.
203
+ * Handles game resume event.
204
204
  */
205
205
  gameResumed() {
206
206
  this.time = Date.now();
@@ -214,33 +214,33 @@ export class Time {
214
214
  }
215
215
 
216
216
  /**
217
- * TBD.
218
- * @returns {number} TBD.
217
+ * Gets the total elapsed time in seconds since the game started.
218
+ * @returns {number} The total elapsed time in seconds.
219
219
  */
220
220
  totalElapsedSeconds() {
221
221
  return (this.time - this._started) * 0.001;
222
222
  }
223
223
 
224
224
  /**
225
- * TBD.
226
- * @param {number} since - TBD.
227
- * @returns {number} TBD.
225
+ * Gets the elapsed time in milliseconds since a given timestamp.
226
+ * @param {number} since - The timestamp to calculate elapsed time from.
227
+ * @returns {number} The elapsed time in milliseconds.
228
228
  */
229
229
  elapsedSince(since) {
230
230
  return this.time - since;
231
231
  }
232
232
 
233
233
  /**
234
- * TBD.
235
- * @param {number} since - TBD.
236
- * @returns {number} TBD.
234
+ * Gets the elapsed time in seconds since a given timestamp.
235
+ * @param {number} since - The timestamp to calculate elapsed time from.
236
+ * @returns {number} The elapsed time in seconds.
237
237
  */
238
238
  elapsedSecondsSince(since) {
239
239
  return (this.time - since) * 0.001;
240
240
  }
241
241
 
242
242
  /**
243
- * TBD.
243
+ * Resets the time tracking values.
244
244
  */
245
245
  reset() {
246
246
  this._started = this.time;
@@ -248,22 +248,22 @@ export class Time {
248
248
  }
249
249
 
250
250
  /**
251
- * TBD.
251
+ * Destroys the Time manager and cleans up resources.
252
252
  */
253
253
  destroy() {
254
254
  this.reset();
255
255
  }
256
256
 
257
257
  /**
258
- * TBD.
259
- * @returns {number} TBD.
258
+ * Gets the desired frames per second.
259
+ * @returns {number} The desired frames per second.
260
260
  */
261
261
  get desiredFps() {
262
262
  return this._desiredFps;
263
263
  }
264
264
 
265
265
  /**
266
- * TBD.
266
+ * Sets the desired frames per second.
267
267
  */
268
268
  set desiredFps(value) {
269
269
  this._desiredFps = value;
@@ -3,9 +3,9 @@ import { TimerEvent } from './timer_event.js';
3
3
 
4
4
  export class Timer {
5
5
  /**
6
- * TBD.
7
- * @param {import('./game.js').Game} game - TBD.
8
- * @param {boolean} autoDestroy - TBD.
6
+ * Creates a new Timer instance.
7
+ * @param {import('./game.js').Game} game - The game instance.
8
+ * @param {boolean} autoDestroy - Whether to automatically destroy the timer when it completes.
9
9
  */
10
10
  constructor(game, autoDestroy = false) {
11
11
  this.game = game;
@@ -50,14 +50,14 @@ export class Timer {
50
50
  }
51
51
 
52
52
  /**
53
- * TBD.
54
- * @param {number} delay - TBD.
55
- * @param {boolean} loop - TBD.
56
- * @param {number} repeatCount - TBD.
57
- * @param {Function} callback - TBD.
58
- * @param {object} callbackContext - TBD.
59
- * @param {...any} args - TBD.
60
- * @returns {TimerEvent} TBD.
53
+ * Creates a new TimerEvent.
54
+ * @param {number} delay - The delay in milliseconds before the event fires.
55
+ * @param {boolean} loop - Whether the event should loop indefinitely.
56
+ * @param {number} repeatCount - The number of times to repeat the event (0 = infinite).
57
+ * @param {Function} callback - The function to call when the event fires.
58
+ * @param {object} callbackContext - The context in which to call the callback.
59
+ * @param {...any} args - Arguments to pass to the callback function.
60
+ * @returns {TimerEvent} The created TimerEvent.
61
61
  */
62
62
  create(delay, loop, repeatCount, callback, callbackContext = null, args) {
63
63
  const roundedDelay = Math.round(delay);
@@ -75,45 +75,45 @@ export class Timer {
75
75
  }
76
76
 
77
77
  /**
78
- * TBD.
79
- * @param {number} delay - TBD.
80
- * @param {Function} callback - TBD.
81
- * @param {object} callbackContext - TBD.
82
- * @param {...any} args - TBD.
83
- * @returns {TimerEvent} TBD.
78
+ * Creates a new TimerEvent that runs once.
79
+ * @param {number} delay - The delay in milliseconds before the event fires.
80
+ * @param {Function} callback - The function to call when the event fires.
81
+ * @param {object} callbackContext - The context in which to call the callback.
82
+ * @param {...any} args - Arguments to pass to the callback function.
83
+ * @returns {TimerEvent} The created TimerEvent.
84
84
  */
85
85
  add(delay, callback, callbackContext = null, ...args) {
86
86
  return this.create(delay, false, 0, callback, callbackContext, args);
87
87
  }
88
88
 
89
89
  /**
90
- * TBD.
91
- * @param {number} delay - TBD.
92
- * @param {number} repeatCount - TBD.
93
- * @param {Function} callback - TBD.
94
- * @param {object} callbackContext - TBD.
95
- * @param {...any} args - TBD.
96
- * @returns {TimerEvent} TBD.
90
+ * Creates a new TimerEvent that repeats a specified number of times.
91
+ * @param {number} delay - The delay in milliseconds before the event fires.
92
+ * @param {number} repeatCount - The number of times to repeat the event (0 = infinite).
93
+ * @param {Function} callback - The function to call when the event fires.
94
+ * @param {object} callbackContext - The context in which to call the callback.
95
+ * @param {...any} args - Arguments to pass to the callback function.
96
+ * @returns {TimerEvent} The created TimerEvent.
97
97
  */
98
98
  repeat(delay, repeatCount, callback, callbackContext = null, ...args) {
99
99
  return this.create(delay, false, repeatCount, callback, callbackContext, args);
100
100
  }
101
101
 
102
102
  /**
103
- * TBD.
104
- * @param {number} delay - TBD.
105
- * @param {Function} callback - TBD.
106
- * @param {object} callbackContext - TBD.
107
- * @param {...any} args - TBD.
108
- * @returns {TimerEvent} TBD.
103
+ * Creates a new TimerEvent that loops indefinitely.
104
+ * @param {number} delay - The delay in milliseconds before the event fires.
105
+ * @param {Function} callback - The function to call when the event fires.
106
+ * @param {object} callbackContext - The context in which to call the callback.
107
+ * @param {...any} args - Arguments to pass to the callback function.
108
+ * @returns {TimerEvent} The created TimerEvent.
109
109
  */
110
110
  loop(delay, callback, callbackContext = null, ...args) {
111
111
  return this.create(delay, true, 0, callback, callbackContext, args);
112
112
  }
113
113
 
114
114
  /**
115
- * TBD.
116
- * @param {number} delay - TBD.
115
+ * Starts the timer.
116
+ * @param {number} delay - The delay in milliseconds before starting (optional).
117
117
  */
118
118
  start(delay = 0) {
119
119
  if (this.running) {
@@ -127,8 +127,8 @@ export class Timer {
127
127
  }
128
128
 
129
129
  /**
130
- * TBD.
131
- * @param {boolean} clearEvents - TBD.
130
+ * Stops the timer.
131
+ * @param {boolean} clearEvents - Whether to clear all events (default: true).
132
132
  */
133
133
  stop(clearEvents = true) {
134
134
  this.running = false;
@@ -138,9 +138,9 @@ export class Timer {
138
138
  }
139
139
 
140
140
  /**
141
- * TBD.
142
- * @param {TimerEvent | null | undefined} event - TBD.
143
- * @returns {boolean} TBD.
141
+ * Removes a TimerEvent from the timer.
142
+ * @param {TimerEvent | null | undefined} event - The TimerEvent to remove.
143
+ * @returns {boolean} True if the event was removed, false otherwise.
144
144
  */
145
145
  remove(event) {
146
146
  for (let i = 0; i < this.events.length; i += 1) {
@@ -153,7 +153,7 @@ export class Timer {
153
153
  }
154
154
 
155
155
  /**
156
- * TBD.
156
+ * Orders the timer events by their next tick time.
157
157
  */
158
158
  order() {
159
159
  if (this.events.length > 0) {
@@ -164,10 +164,10 @@ export class Timer {
164
164
  }
165
165
 
166
166
  /**
167
- * TBD.
168
- * @param {TimerEvent} a - TBD.
169
- * @param {TimerEvent} b - TBD.
170
- * @returns {number} TBD.
167
+ * Sorts TimerEvents by their tick time.
168
+ * @param {TimerEvent} a - First TimerEvent to compare.
169
+ * @param {TimerEvent} b - Second TimerEvent to compare.
170
+ * @returns {number} Comparison result (-1, 0, or 1).
171
171
  */
172
172
  sortHandler(a, b) {
173
173
  if (a.tick < b.tick) {
@@ -179,7 +179,7 @@ export class Timer {
179
179
  }
180
180
 
181
181
  /**
182
- * TBD.
182
+ * Clears pending events from the timer.
183
183
  */
184
184
  clearPendingEvents() {
185
185
  this._i = this.events.length;
@@ -194,9 +194,9 @@ export class Timer {
194
194
  }
195
195
 
196
196
  /**
197
- * TBD.
198
- * @param {number} time - TBD.
199
- * @returns {boolean} TBD.
197
+ * Updates the timer state at a given time.
198
+ * @param {number} time - The current time in milliseconds.
199
+ * @returns {boolean} True if the timer should continue running, false if it should be destroyed.
200
200
  */
201
201
  update(time) {
202
202
  if (this.paused) {
@@ -254,7 +254,7 @@ export class Timer {
254
254
  }
255
255
 
256
256
  /**
257
- * TBD.
257
+ * Pauses the timer.
258
258
  */
259
259
  pause() {
260
260
  if (!this.running) {
@@ -269,7 +269,7 @@ export class Timer {
269
269
  }
270
270
 
271
271
  /**
272
- * TBD.
272
+ * Internal pause method for the timer.
273
273
  */
274
274
  _pause() {
275
275
  if (this.paused || !this.running) {
@@ -280,8 +280,8 @@ export class Timer {
280
280
  }
281
281
 
282
282
  /**
283
- * TBD.
284
- * @param {number} baseTime - TBD.
283
+ * Adjusts timer events when time has jumped (e.g., when tab is switched).
284
+ * @param {number} baseTime - The time to adjust from.
285
285
  */
286
286
  adjustEvents(baseTime) {
287
287
  for (let i = 0; i < this.events.length; i += 1) {
@@ -304,7 +304,7 @@ export class Timer {
304
304
  }
305
305
 
306
306
  /**
307
- * TBD.
307
+ * Resumes the timer.
308
308
  */
309
309
  resume() {
310
310
  if (!this.paused) {
@@ -319,7 +319,7 @@ export class Timer {
319
319
  }
320
320
 
321
321
  /**
322
- * TBD.
322
+ * Internal resume method for the timer.
323
323
  */
324
324
  _resume() {
325
325
  if (this._codePaused) {
@@ -329,7 +329,7 @@ export class Timer {
329
329
  }
330
330
 
331
331
  /**
332
- * TBD.
332
+ * Removes all events from the timer.
333
333
  */
334
334
  removeAll() {
335
335
  this.onComplete.removeAll();
@@ -339,7 +339,7 @@ export class Timer {
339
339
  }
340
340
 
341
341
  /**
342
- * TBD.
342
+ * Destroys the timer and cleans up resources.
343
343
  */
344
344
  destroy() {
345
345
  this.onComplete.removeAll();
@@ -350,16 +350,16 @@ export class Timer {
350
350
  }
351
351
 
352
352
  /**
353
- * TBD.
354
- * @returns {number} TBD.
353
+ * Gets the next tick time for the timer.
354
+ * @returns {number} The next tick time in milliseconds.
355
355
  */
356
356
  get next() {
357
357
  return this.nextTick;
358
358
  }
359
359
 
360
360
  /**
361
- * TBD.
362
- * @returns {number} TBD.
361
+ * Gets the duration until the next event.
362
+ * @returns {number} The duration in milliseconds.
363
363
  */
364
364
  get duration() {
365
365
  if (this.running && this.nextTick > this._now) {
@@ -369,16 +369,16 @@ export class Timer {
369
369
  }
370
370
 
371
371
  /**
372
- * TBD.
373
- * @returns {number} TBD.
372
+ * Gets the number of active events in the timer.
373
+ * @returns {number} The number of events.
374
374
  */
375
375
  get length() {
376
376
  return this.events.length;
377
377
  }
378
378
 
379
379
  /**
380
- * TBD.
381
- * @returns {number} TBD.
380
+ * Gets the elapsed time since the timer started.
381
+ * @returns {number} The elapsed time in milliseconds.
382
382
  */
383
383
  get ms() {
384
384
  if (this.running) {
@@ -388,8 +388,8 @@ export class Timer {
388
388
  }
389
389
 
390
390
  /**
391
- * TBD.
392
- * @returns {number} TBD.
391
+ * Gets the elapsed time in seconds since the timer started.
392
+ * @returns {number} The elapsed time in seconds.
393
393
  */
394
394
  get seconds() {
395
395
  if (this.running) {
@@ -1,14 +1,14 @@
1
1
  export class TimerEvent {
2
2
  /**
3
- * TBD.
4
- * @param {import('./timer.js').Timer} timer - TBD.
5
- * @param {number} delay - TBD.
6
- * @param {number} tick - TBD.
7
- * @param {number} repeatCount - TBD.
8
- * @param {boolean} loop - TBD.
9
- * @param {Function} callback - TBD.
10
- * @param {object} callbackContext - TBD.
11
- * @param {...any} args - TBD.
3
+ * Creates a new TimerEvent instance.
4
+ * @param {import('./timer.js').Timer} timer - Reference to the parent Timer.
5
+ * @param {number} delay - The delay (in milliseconds) before the event should occur.
6
+ * @param {number} tick - The tick (in milliseconds) at which the event should occur.
7
+ * @param {number} repeatCount - The number of times the event should repeat.
8
+ * @param {boolean} loop - Whether the event should loop.
9
+ * @param {Function} callback - The function to call when the event occurs.
10
+ * @param {object} callbackContext - The context in which to call the callback function.
11
+ * @param {...any} args - Arguments to pass to the callback function.
12
12
  */
13
13
  constructor(timer, delay, tick, repeatCount, loop, callback, callbackContext, args) {
14
14
  this.timer = timer;