brick-engine-js 1.0.8 → 1.0.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 (280) hide show
  1. package/dist/app.js +1 -4952
  2. package/dist/brick-engine.js +1 -4970
  3. package/dist/css/{app.bundle.css → app.0ce9b8479d1758fc15ba.css} +0 -2
  4. package/dist/css/{brick-engine.bundle.css → brick-engine.0ce9b8479d1758fc15ba.css} +0 -2
  5. package/dist/docs/GAME_DEVELOPER_GUIDE.html +1 -1
  6. package/dist/docs/brick-engine-guide.html +1 -1
  7. package/dist/docs/getting-started.html +1 -1
  8. package/dist/docs/jsdoc_standard.html +1 -1
  9. package/dist/docs/publishing.html +1 -1
  10. package/dist/docs/reference/interfaces/modules/Session.html +1 -1
  11. package/dist/docs/reference/modules/GameMenu.html +1 -1
  12. package/dist/docs/reference/modules/GameSession.html +1 -1
  13. package/dist/docs/reference/modules/InitialStateSnapshot.html +1 -1
  14. package/dist/docs/reference/modules/SessionModal.html +1 -1
  15. package/dist/docs/testing_best_practices.html +1 -1
  16. package/dist/index.html +1 -15
  17. package/dist/vendor/p5.min.js +1 -1
  18. package/package.json +2 -4
  19. package/dist/app.js.map +0 -1
  20. package/dist/brick-engine.js.map +0 -1
  21. package/dist/css/app.bundle.css.map +0 -1
  22. package/dist/css/brick-engine.bundle.css.map +0 -1
  23. package/docs/GAME_DEVELOPER_GUIDE.adoc +0 -167
  24. package/docs/brick-engine-guide.adoc +0 -87
  25. package/docs/diagrams/lifecycle.mmd +0 -19
  26. package/docs/documentation_style_guide.adoc +0 -210
  27. package/docs/getting-started.adoc +0 -147
  28. package/docs/images/lifecycle.svg +0 -1
  29. package/docs/jsdoc_standard.adoc +0 -109
  30. package/docs/publishing.adoc +0 -58
  31. package/docs/reference/enums/Color.adoc +0 -35
  32. package/docs/reference/enums/ControlEventType.adoc +0 -28
  33. package/docs/reference/enums/ControlKey.adoc +0 -34
  34. package/docs/reference/enums/FontAlignment.adoc +0 -43
  35. package/docs/reference/enums/FontSize.adoc +0 -31
  36. package/docs/reference/enums/Sound.adoc +0 -42
  37. package/docs/reference/enums/StateProperty.adoc +0 -33
  38. package/docs/reference/helpers/CellHelper.adoc +0 -37
  39. package/docs/reference/helpers/ControlInputHandlerHelper.adoc +0 -57
  40. package/docs/reference/helpers/CoordinateHelper.adoc +0 -118
  41. package/docs/reference/helpers/RelativeValuesHelper.adoc +0 -53
  42. package/docs/reference/interfaces/Debuggable.adoc +0 -29
  43. package/docs/reference/interfaces/GameModules.adoc +0 -35
  44. package/docs/reference/interfaces/Initializable.adoc +0 -24
  45. package/docs/reference/interfaces/RendererInitializable.adoc +0 -33
  46. package/docs/reference/interfaces/StateSyncable.adoc +0 -41
  47. package/docs/reference/interfaces/modules/Control.adoc +0 -98
  48. package/docs/reference/interfaces/modules/Grid.adoc +0 -411
  49. package/docs/reference/interfaces/modules/Renderer.adoc +0 -34
  50. package/docs/reference/interfaces/modules/RendererComposite.adoc +0 -57
  51. package/docs/reference/interfaces/modules/Score.adoc +0 -107
  52. package/docs/reference/interfaces/modules/Session.adoc +0 -66
  53. package/docs/reference/interfaces/modules/State.adoc +0 -290
  54. package/docs/reference/interfaces/modules/Text.adoc +0 -110
  55. package/docs/reference/interfaces/modules/Time.adoc +0 -119
  56. package/docs/reference/modules/Debugger.adoc +0 -71
  57. package/docs/reference/modules/DisplayRenderer.adoc +0 -55
  58. package/docs/reference/modules/Game.adoc +0 -256
  59. package/docs/reference/modules/GameControl.adoc +0 -139
  60. package/docs/reference/modules/GameGrid.adoc +0 -794
  61. package/docs/reference/modules/GameHudGrid.adoc +0 -38
  62. package/docs/reference/modules/GameMenu.adoc +0 -39
  63. package/docs/reference/modules/GameRenderer.adoc +0 -79
  64. package/docs/reference/modules/GameScore.adoc +0 -138
  65. package/docs/reference/modules/GameSession.adoc +0 -43
  66. package/docs/reference/modules/GameSound.adoc +0 -111
  67. package/docs/reference/modules/GameState.adoc +0 -318
  68. package/docs/reference/modules/GameText.adoc +0 -139
  69. package/docs/reference/modules/GameTime.adoc +0 -141
  70. package/docs/reference/modules/HudRenderer.adoc +0 -56
  71. package/docs/reference/modules/InitialStateSnapshot.adoc +0 -47
  72. package/docs/reference/modules/SessionModal.adoc +0 -34
  73. package/docs/reference/types/Axis.adoc +0 -28
  74. package/docs/reference/types/Cell.adoc +0 -29
  75. package/docs/reference/types/ControlCallback.adoc +0 -23
  76. package/docs/reference/types/Coordinate.adoc +0 -29
  77. package/docs/reference/types/GameEntry.adoc +0 -29
  78. package/docs/reference/types/GameEvent.adoc +0 -29
  79. package/docs/reference/types/Piece.adoc +0 -32
  80. package/docs/reference/types/RendererMetrics.adoc +0 -29
  81. package/docs/reference/types/Vector.adoc +0 -28
  82. package/docs/testing_best_practices.adoc +0 -190
  83. package/public/CNAME +0 -1
  84. package/public/docs/GAME_DEVELOPER_GUIDE.html +0 -727
  85. package/public/docs/brick-engine-guide.html +0 -610
  86. package/public/docs/diagrams/lifecycle.mmd +0 -19
  87. package/public/docs/documentation_style_guide.html +0 -994
  88. package/public/docs/getting-started.html +0 -648
  89. package/public/docs/images/lifecycle.svg +0 -1
  90. package/public/docs/index.html +0 -593
  91. package/public/docs/jsdoc_standard.html +0 -656
  92. package/public/docs/publishing.html +0 -573
  93. package/public/docs/reference/enums/Color.html +0 -533
  94. package/public/docs/reference/enums/ControlEventType.html +0 -505
  95. package/public/docs/reference/enums/ControlKey.html +0 -529
  96. package/public/docs/reference/enums/FontAlignment.html +0 -545
  97. package/public/docs/reference/enums/FontSize.html +0 -517
  98. package/public/docs/reference/enums/Sound.html +0 -558
  99. package/public/docs/reference/enums/StateProperty.html +0 -525
  100. package/public/docs/reference/helpers/CellHelper.html +0 -520
  101. package/public/docs/reference/helpers/ControlInputHandlerHelper.html +0 -569
  102. package/public/docs/reference/helpers/CoordinateHelper.html +0 -703
  103. package/public/docs/reference/helpers/RelativeValuesHelper.html +0 -560
  104. package/public/docs/reference/interfaces/Debuggable.html +0 -501
  105. package/public/docs/reference/interfaces/GameModules.html +0 -544
  106. package/public/docs/reference/interfaces/Initializable.html +0 -495
  107. package/public/docs/reference/interfaces/RendererInitializable.html +0 -517
  108. package/public/docs/reference/interfaces/StateSyncable.html +0 -542
  109. package/public/docs/reference/interfaces/modules/Control.html +0 -648
  110. package/public/docs/reference/interfaces/modules/Grid.html +0 -1256
  111. package/public/docs/reference/interfaces/modules/Renderer.html +0 -522
  112. package/public/docs/reference/interfaces/modules/RendererComposite.html +0 -577
  113. package/public/docs/reference/interfaces/modules/Score.html +0 -669
  114. package/public/docs/reference/interfaces/modules/Session.html +0 -585
  115. package/public/docs/reference/interfaces/modules/State.html +0 -897
  116. package/public/docs/reference/interfaces/modules/Text.html +0 -668
  117. package/public/docs/reference/interfaces/modules/Time.html +0 -684
  118. package/public/docs/reference/modules/Debugger.html +0 -579
  119. package/public/docs/reference/modules/DisplayRenderer.html +0 -557
  120. package/public/docs/reference/modules/Game.html +0 -909
  121. package/public/docs/reference/modules/GameControl.html +0 -716
  122. package/public/docs/reference/modules/GameGrid.html +0 -1910
  123. package/public/docs/reference/modules/GameHudGrid.html +0 -508
  124. package/public/docs/reference/modules/GameMenu.html +0 -538
  125. package/public/docs/reference/modules/GameRenderer.html +0 -589
  126. package/public/docs/reference/modules/GameScore.html +0 -664
  127. package/public/docs/reference/modules/GameSession.html +0 -533
  128. package/public/docs/reference/modules/GameSound.html +0 -636
  129. package/public/docs/reference/modules/GameState.html +0 -922
  130. package/public/docs/reference/modules/GameText.html +0 -701
  131. package/public/docs/reference/modules/GameTime.html +0 -696
  132. package/public/docs/reference/modules/HudRenderer.html +0 -568
  133. package/public/docs/reference/modules/InitialStateSnapshot.html +0 -557
  134. package/public/docs/reference/modules/SessionModal.html +0 -520
  135. package/public/docs/reference/types/Axis.html +0 -505
  136. package/public/docs/reference/types/Cell.html +0 -514
  137. package/public/docs/reference/types/ControlCallback.html +0 -488
  138. package/public/docs/reference/types/Coordinate.html +0 -510
  139. package/public/docs/reference/types/GameEntry.html +0 -514
  140. package/public/docs/reference/types/GameEvent.html +0 -514
  141. package/public/docs/reference/types/Piece.html +0 -506
  142. package/public/docs/reference/types/RendererMetrics.html +0 -514
  143. package/public/docs/reference/types/Vector.html +0 -509
  144. package/public/docs/testing_best_practices.html +0 -770
  145. package/public/favicon.ico +0 -0
  146. package/public/fonts/digital-7.monoitalic.ttf +0 -0
  147. package/public/images/cell.svg +0 -32
  148. package/public/images/close.png +0 -0
  149. package/public/images/games.png +0 -0
  150. package/public/images/github.png +0 -0
  151. package/public/images/letter-a.png +0 -0
  152. package/public/images/letter-d.png +0 -0
  153. package/public/images/letter-j.png +0 -0
  154. package/public/images/letter-s.png +0 -0
  155. package/public/images/letter-w.png +0 -0
  156. package/public/images/meta-image.png +0 -0
  157. package/public/images/number-1.png +0 -0
  158. package/public/images/number-2.png +0 -0
  159. package/public/images/number-3.png +0 -0
  160. package/public/images/number-4.png +0 -0
  161. package/public/images/number-5.png +0 -0
  162. package/public/images/number-6.png +0 -0
  163. package/public/images/splash.gif +0 -0
  164. package/public/index.html +0 -15
  165. package/public/sounds/sound_00.wav +0 -0
  166. package/public/sounds/sound_01.wav +0 -0
  167. package/public/sounds/sound_02.wav +0 -0
  168. package/public/sounds/sound_03.wav +0 -0
  169. package/public/sounds/sound_04.wav +0 -0
  170. package/public/sounds/sound_05.wav +0 -0
  171. package/public/sounds/sound_06.wav +0 -0
  172. package/public/sounds/sound_07.wav +0 -0
  173. package/public/sounds/sound_08.wav +0 -0
  174. package/public/sounds/sound_09.wav +0 -0
  175. package/public/sounds/sound_10.wav +0 -0
  176. package/public/sounds/sound_11.wav +0 -0
  177. package/public/sounds/sound_12.wav +0 -0
  178. package/public/sounds/sound_13.wav +0 -0
  179. package/public/sounds/sound_14.wav +0 -0
  180. package/public/sounds/sound_15.wav +0 -0
  181. package/public/style/body.css +0 -86
  182. package/public/style/buttons.css +0 -233
  183. package/public/style/debugger.css +0 -117
  184. package/public/style/sessionModal.css +0 -155
  185. package/public/style/sourceCodeAndCommands.css +0 -74
  186. package/public/style/splash.css +0 -13
  187. package/public/style/theme.css +0 -137
  188. /package/dist/{bootstrap.d.ts → types/bootstrap.d.ts} +0 -0
  189. /package/dist/{bootstrap.test.d.ts → types/bootstrap.test.d.ts} +0 -0
  190. /package/dist/{config → types/config}/configs.d.ts +0 -0
  191. /package/dist/{config → types/config}/configs.test.d.ts +0 -0
  192. /package/dist/{core → types/core}/Game.d.ts +0 -0
  193. /package/dist/{core → types/core}/Game.test.d.ts +0 -0
  194. /package/dist/{core → types/core}/InitialStateSnapshot.d.ts +0 -0
  195. /package/dist/{core → types/core}/InitialStateSnapshot.test.d.ts +0 -0
  196. /package/dist/{core → types/core}/helpers/CellHelper.d.ts +0 -0
  197. /package/dist/{core → types/core}/helpers/CellHelper.test.d.ts +0 -0
  198. /package/dist/{core → types/core}/helpers/ControlInputHandlerHelper.d.ts +0 -0
  199. /package/dist/{core → types/core}/helpers/ControlInputHandlerHelper.test.d.ts +0 -0
  200. /package/dist/{core → types/core}/helpers/CoordinateHelper.d.ts +0 -0
  201. /package/dist/{core → types/core}/helpers/CoordinateHelper.test.d.ts +0 -0
  202. /package/dist/{core → types/core}/helpers/InterfaceIdentifierHelper.d.ts +0 -0
  203. /package/dist/{core → types/core}/helpers/InterfaceIdentifierHelper.test.d.ts +0 -0
  204. /package/dist/{core → types/core}/helpers/RelativeValuesHelper.d.ts +0 -0
  205. /package/dist/{core → types/core}/helpers/RelativeValuesHelper.test.d.ts +0 -0
  206. /package/dist/{core → types/core}/module/control/GameControl.d.ts +0 -0
  207. /package/dist/{core → types/core}/module/control/GameControl.test.d.ts +0 -0
  208. /package/dist/{core → types/core}/module/control/GameControlKeyBinding.d.ts +0 -0
  209. /package/dist/{core → types/core}/module/control/GameControlKeyBinding.test.d.ts +0 -0
  210. /package/dist/{core → types/core}/module/grid/GameGrid.d.ts +0 -0
  211. /package/dist/{core → types/core}/module/grid/GameGrid.test.d.ts +0 -0
  212. /package/dist/{core → types/core}/module/grid/GameHudGrid.d.ts +0 -0
  213. /package/dist/{core → types/core}/module/grid/GameHudGrid.test.d.ts +0 -0
  214. /package/dist/{core → types/core}/module/grid/engines/GridAnalysisEngine.d.ts +0 -0
  215. /package/dist/{core → types/core}/module/grid/engines/GridAnalysisEngine.test.d.ts +0 -0
  216. /package/dist/{core → types/core}/module/grid/engines/GridLineEngine.d.ts +0 -0
  217. /package/dist/{core → types/core}/module/grid/engines/GridLineEngine.test.d.ts +0 -0
  218. /package/dist/{core → types/core}/module/grid/engines/GridMovementEngine.d.ts +0 -0
  219. /package/dist/{core → types/core}/module/grid/engines/GridMovementEngine.test.d.ts +0 -0
  220. /package/dist/{core → types/core}/module/grid/engines/GridRegionEngine.d.ts +0 -0
  221. /package/dist/{core → types/core}/module/grid/engines/GridRegionEngine.test.d.ts +0 -0
  222. /package/dist/{core → types/core}/module/grid/engines/GridTransformEngine.d.ts +0 -0
  223. /package/dist/{core → types/core}/module/grid/engines/GridTransformEngine.test.d.ts +0 -0
  224. /package/dist/{core → types/core}/module/renderer/DisplayRenderer.d.ts +0 -0
  225. /package/dist/{core → types/core}/module/renderer/DisplayRenderer.test.d.ts +0 -0
  226. /package/dist/{core → types/core}/module/renderer/GameRenderer.d.ts +0 -0
  227. /package/dist/{core → types/core}/module/renderer/GameRenderer.test.d.ts +0 -0
  228. /package/dist/{core → types/core}/module/renderer/HudRenderer.d.ts +0 -0
  229. /package/dist/{core → types/core}/module/renderer/HudRenderer.test.d.ts +0 -0
  230. /package/dist/{core → types/core}/module/score/GameScore.d.ts +0 -0
  231. /package/dist/{core → types/core}/module/score/GameScore.test.d.ts +0 -0
  232. /package/dist/{core → types/core}/module/session/GameSession.d.ts +0 -0
  233. /package/dist/{core → types/core}/module/session/GameSession.test.d.ts +0 -0
  234. /package/dist/{core → types/core}/module/sound/GameSound.d.ts +0 -0
  235. /package/dist/{core → types/core}/module/sound/GameSound.test.d.ts +0 -0
  236. /package/dist/{core → types/core}/module/state/GameState.d.ts +0 -0
  237. /package/dist/{core → types/core}/module/state/GameState.test.d.ts +0 -0
  238. /package/dist/{core → types/core}/module/text/GameText.d.ts +0 -0
  239. /package/dist/{core → types/core}/module/text/GameText.test.d.ts +0 -0
  240. /package/dist/{core → types/core}/module/time/GameTime.d.ts +0 -0
  241. /package/dist/{core → types/core}/module/time/GameTime.test.d.ts +0 -0
  242. /package/dist/{core → types/core}/types/Interfaces.d.ts +0 -0
  243. /package/dist/{core → types/core}/types/Types.d.ts +0 -0
  244. /package/dist/{core → types/core}/types/enums.d.ts +0 -0
  245. /package/dist/{core → types/core}/types/modules.d.ts +0 -0
  246. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
  247. /package/dist/{main.d.ts → types/main.d.ts} +0 -0
  248. /package/dist/{menu → types/menu}/GameMenu.d.ts +0 -0
  249. /package/dist/{menu → types/menu}/GameMenu.test.d.ts +0 -0
  250. /package/dist/{menu → types/menu}/GameMenuSingleton.d.ts +0 -0
  251. /package/dist/{menu → types/menu}/GameMenuSingleton.test.d.ts +0 -0
  252. /package/dist/{menu → types/menu}/GameRepository.d.ts +0 -0
  253. /package/dist/{menu → types/menu}/GameRepository.test.d.ts +0 -0
  254. /package/dist/{menu → types/menu}/manager/GameManager.d.ts +0 -0
  255. /package/dist/{menu → types/menu}/manager/GameManager.test.d.ts +0 -0
  256. /package/dist/types/{interfaces.d.ts → types/interfaces.d.ts} +0 -0
  257. /package/dist/{view → types/view}/Debugger.d.ts +0 -0
  258. /package/dist/{view → types/view}/Debugger.test.d.ts +0 -0
  259. /package/dist/{view → types/view}/GameView.d.ts +0 -0
  260. /package/dist/{view → types/view}/GameView.test.d.ts +0 -0
  261. /package/dist/{view → types/view}/SessionModal.d.ts +0 -0
  262. /package/dist/{view → types/view}/SessionModal.test.d.ts +0 -0
  263. /package/dist/{view → types/view}/components/layout/ButtonLayout.d.ts +0 -0
  264. /package/dist/{view → types/view}/components/layout/ButtonLayout.test.d.ts +0 -0
  265. /package/dist/{view → types/view}/components/layout/ContainerLayout.d.ts +0 -0
  266. /package/dist/{view → types/view}/components/layout/ContainerLayout.test.d.ts +0 -0
  267. /package/dist/{view → types/view}/components/layout/FrameLayout.d.ts +0 -0
  268. /package/dist/{view → types/view}/components/layout/FrameLayout.test.d.ts +0 -0
  269. /package/dist/{view → types/view}/components/ui/BigButton.d.ts +0 -0
  270. /package/dist/{view → types/view}/components/ui/BigButton.test.d.ts +0 -0
  271. /package/dist/{view → types/view}/components/ui/Button.d.ts +0 -0
  272. /package/dist/{view → types/view}/components/ui/Button.test.d.ts +0 -0
  273. /package/dist/{view → types/view}/components/ui/Canvas.d.ts +0 -0
  274. /package/dist/{view → types/view}/components/ui/Canvas.test.d.ts +0 -0
  275. /package/dist/{view → types/view}/components/ui/SmallButton.d.ts +0 -0
  276. /package/dist/{view → types/view}/components/ui/SmallButton.test.d.ts +0 -0
  277. /package/dist/{view → types/view}/theme/applyColors.d.ts +0 -0
  278. /package/dist/{view → types/view}/theme/applyColors.test.d.ts +0 -0
  279. /package/dist/{view → types/view}/theme/dimensions.d.ts +0 -0
  280. /package/dist/{view → types/view}/theme/dimensions.test.d.ts +0 -0
@@ -1,290 +0,0 @@
1
- = State Reference
2
- :description: Interface for managing global game lifecycle flags, persistence, and preferences.
3
- :keywords: state, lifecycle, persistence, preferences
4
- :toc: left
5
- :toclevels: 3
6
- :sectnums:
7
- :sectlinks:
8
- :icons: font
9
- :source-highlighter: highlight.js
10
- :reproducible:
11
- :experimental:
12
- :idprefix:
13
- :idseparator: -
14
-
15
- Interface for managing global game lifecycle flags, persistence, and preferences.
16
-
17
- == Methods
18
-
19
- === `isOn(): boolean`
20
-
21
- Returns `true` if the engine is "powered on".
22
-
23
- **Returns**
24
-
25
- `boolean` - `true` if on.
26
-
27
-
28
- '''
29
-
30
- === `isOff(): boolean`
31
-
32
- Returns `true` if the engine is "powered off".
33
-
34
- **Returns**
35
-
36
- `boolean` - `true` if off.
37
-
38
-
39
- '''
40
-
41
- === `isStarted(): boolean`
42
-
43
- Returns `true` if a game session has been initialized.
44
-
45
- **Returns**
46
-
47
- `boolean` - `true` if started.
48
-
49
-
50
- '''
51
-
52
- === `isPlaying(): boolean`
53
-
54
- Returns `true` if the game is active and logic ticks are flowing.
55
-
56
- **Returns**
57
-
58
- `boolean` - `true` if playing.
59
-
60
-
61
- '''
62
-
63
- === `isPaused(): boolean`
64
-
65
- Returns `true` if the game is started but currently paused.
66
-
67
- **Returns**
68
-
69
- `boolean` - `true` if paused.
70
-
71
-
72
- '''
73
-
74
- === `isGameOver(): boolean`
75
-
76
- Returns `true` if the current session has ended in defeat.
77
-
78
- **Returns**
79
-
80
- `boolean` - `true` if game over.
81
-
82
-
83
- '''
84
-
85
- === `isColorEnabled(): boolean`
86
-
87
- Returns `true` if themed color rendering is active.
88
-
89
- **Returns**
90
-
91
- `boolean` - `true` if color is enabled.
92
-
93
-
94
- '''
95
-
96
- === `setColorEnabled(value: boolean): void`
97
-
98
- Manually sets the color rendering preference.
99
-
100
- **Parameters**
101
-
102
- [cols="1,1,3"]
103
- |===
104
- |Name |Type |Description
105
- |`value` |`boolean` |`true` to enable colors, `false` for monochrome/grayscale.
106
- |===
107
-
108
-
109
- '''
110
-
111
- === `isMuted(): boolean`
112
-
113
- Returns `true` if the audio system is suppressed.
114
-
115
- **Returns**
116
-
117
- `boolean` - `true` if muted.
118
-
119
-
120
- '''
121
-
122
- === `setMuted(value: boolean): void`
123
-
124
- Manually sets the audio suppression preference.
125
-
126
- **Parameters**
127
-
128
- [cols="1,1,3"]
129
- |===
130
- |Name |Type |Description
131
- |`value` |`boolean` |`true` to mute, `false` to unmute.
132
- |===
133
-
134
-
135
- '''
136
-
137
- === `getHighScore(): number`
138
-
139
- Retrieves the persistent high score for the current game.
140
-
141
- **Returns**
142
-
143
- `number` - The current high score.
144
-
145
-
146
- '''
147
-
148
- === `setHighScore(value: number): void`
149
-
150
- Updates the persistent high score.
151
-
152
- **Parameters**
153
-
154
- [cols="1,1,3"]
155
- |===
156
- |Name |Type |Description
157
- |`value` |`number` |The new high score to save.
158
- |===
159
-
160
-
161
- '''
162
-
163
- === `subscribe(property: xref:../../enums/StateProperty.adoc[StateProperty], callback: (value: boolean | number) => void): void`
164
-
165
- Registers a listener for changes to a specific state property.
166
-
167
- **Parameters**
168
-
169
- [cols="1,1,3"]
170
- |===
171
- |Name |Type |Description
172
- |`property` |`xref:../../enums/StateProperty.adoc[StateProperty]` |The property to watch.
173
- |`callback` |`(value: boolean \| number) => void` |Function called when the property changes.
174
- |===
175
-
176
-
177
- '''
178
-
179
- === `unsubscribe(property: xref:../../enums/StateProperty.adoc[StateProperty], callback: (value: boolean | number) => void): void`
180
-
181
- Removes a previously registered property listener.
182
-
183
- **Parameters**
184
-
185
- [cols="1,1,3"]
186
- |===
187
- |Name |Type |Description
188
- |`property` |`xref:../../enums/StateProperty.adoc[StateProperty]` |The property being watched.
189
- |`callback` |`(value: boolean \| number) => void` |The function to remove.
190
- |===
191
-
192
-
193
- '''
194
-
195
- === `turnOn(): void`
196
-
197
- Powers up the engine.
198
-
199
-
200
- '''
201
-
202
- === `turnOff(): void`
203
-
204
- Powers down the engine and saves state.
205
-
206
-
207
- '''
208
-
209
- === `startGame(): void`
210
-
211
- Transitions from the menu to an active game session.
212
-
213
-
214
- '''
215
-
216
- === `exitGame(): void`
217
-
218
- Ends the current game session and returns to the menu.
219
-
220
-
221
- '''
222
-
223
- === `pause(): void`
224
-
225
- Toggles the gameplay state to paused.
226
-
227
-
228
- '''
229
-
230
- === `resume(): void`
231
-
232
- Toggles the gameplay state back to playing.
233
-
234
-
235
- '''
236
-
237
- === `triggerGameOver(): void`
238
-
239
- Transitions to the game over screen.
240
-
241
-
242
- '''
243
-
244
- === `resetGame(): void`
245
-
246
- Resets session-specific state (score, grids) while maintaining high score and preferences.
247
-
248
-
249
- '''
250
-
251
- === `toggleColorEnabled(): void`
252
-
253
- Flips the current `colorEnabled` flag.
254
-
255
-
256
- '''
257
-
258
- === `toggleMuted(): void`
259
-
260
- Flips the current `muted` flag.
261
-
262
-
263
- '''
264
-
265
- === `setPersistenceKey(key: string): void`
266
-
267
- Sets the unique namespace used for `localStorage`.
268
-
269
- **Parameters**
270
-
271
- [cols="1,1,3"]
272
- |===
273
- |Name |Type |Description
274
- |`key` |`string` |The unique key prefix.
275
- |===
276
-
277
-
278
- '''
279
-
280
- === `getPersistenceKey(): string`
281
-
282
- Returns the active namespace prefix.
283
-
284
- **Returns**
285
-
286
- `string` - The persistence key.
287
-
288
- == General Usage
289
-
290
- Implemented by `xref:../../modules/GameState.adoc[GameState]`. It serves as the single source of truth for the engine's behavior tree.
@@ -1,110 +0,0 @@
1
- = Text Reference
2
- :description: Interface for drawing pixelated, responsive typography.
3
- :keywords: text, typography, rendering, display, retro
4
- :toc: left
5
- :toclevels: 3
6
- :sectnums:
7
- :sectlinks:
8
- :icons: font
9
- :source-highlighter: highlight.js
10
- :reproducible:
11
- :experimental:
12
- :idprefix:
13
- :idseparator: -
14
-
15
- Interface for drawing pixelated, responsive typography.
16
-
17
- == Methods
18
-
19
- === `setTextSize(fontSize: xref:../../enums/FontSize.adoc[FontSize]): void`
20
-
21
- Sets the scale of the subsequent text operations.
22
-
23
- **Parameters**
24
-
25
- [cols="1,1,3"]
26
- |===
27
- |Name |Type |Description
28
- |`fontSize` |`xref:../../enums/FontSize.adoc[FontSize]` |Enum value for text size (SMALL, MEDIUM, LARGE).
29
- |===
30
-
31
-
32
- '''
33
-
34
- === `setTextAlign(fontAlign: xref:../../enums/FontAlignment.adoc[FontAlignment], fontVerticalAlign: xref:../../enums/FontAlignment.adoc[FontAlignment]): void`
35
-
36
- Sets both horizontal and vertical anchor points.
37
-
38
- **Parameters**
39
-
40
- [cols="1,1,3"]
41
- |===
42
- |Name |Type |Description
43
- |`fontAlign` |`xref:../../enums/FontAlignment.adoc[FontAlignment]` |Horizontal alignment (LEFT, CENTER, RIGHT).
44
- |`fontVerticalAlign` |`xref:../../enums/FontAlignment.adoc[FontAlignment]` |Vertical alignment (TOP, CENTER, BOTTOM).
45
- |===
46
-
47
-
48
- '''
49
-
50
- === `textOnHud(text: string, coordinate: xref:../../types/Coordinate.adoc[Coordinate]): void`
51
-
52
- Renders a string within the HUD area at the specified normalized coordinate (0.0 to 1.0 relative to HUD bounds).
53
-
54
- **Parameters**
55
-
56
- [cols="1,1,3"]
57
- |===
58
- |Name |Type |Description
59
- |`text` |`string` |The string content to display.
60
- |`coordinate` |`xref:../../types/Coordinate.adoc[Coordinate]` |Normalized position `{x, y}`.
61
- |===
62
-
63
-
64
- '''
65
-
66
- === `textOnDisplay(text: string, coordinate: xref:../../types/Coordinate.adoc[Coordinate]): void`
67
-
68
- Renders a string within the main game area at the specified normalized coordinate (0.0 to 1.0 relative to display bounds).
69
-
70
- **Parameters**
71
-
72
- [cols="1,1,3"]
73
- |===
74
- |Name |Type |Description
75
- |`text` |`string` |The string content to display.
76
- |`coordinate` |`xref:../../types/Coordinate.adoc[Coordinate]` |Normalized position `{x, y}`.
77
- |===
78
-
79
-
80
- '''
81
-
82
- === `setRendererMetrics(rendererMetrics: xref:../../types/RendererMetrics.adoc[RendererMetrics]): void`
83
-
84
- Internal setup method to provide the pixel-to-grid mapping data.
85
-
86
- **Parameters**
87
-
88
- [cols="1,1,3"]
89
- |===
90
- |Name |Type |Description
91
- |`rendererMetrics` |`xref:../../types/RendererMetrics.adoc[RendererMetrics]` |The calculated display dimensions.
92
- |===
93
-
94
-
95
- '''
96
-
97
- === `setActiveText(): void`
98
-
99
- Sets the text rendering style to "active" (high contrast).
100
-
101
-
102
- '''
103
-
104
- === `setInactiveText(): void`
105
-
106
- Sets the text rendering style to "inactive" (low contrast, background effect).
107
-
108
- == General Usage
109
-
110
- Implemented by `xref:../../modules/GameText.adoc[GameText]`. Used to display scores, labels, and title screen messages across different engine layers.
@@ -1,119 +0,0 @@
1
- = Time Reference
2
- :description: Interface for managing the game's logical clock and update frequency.
3
- :keywords: time, clock, tick, interval, game-loop
4
- :toc: left
5
- :toclevels: 3
6
- :sectnums:
7
- :sectlinks:
8
- :icons: font
9
- :source-highlighter: highlight.js
10
- :reproducible:
11
- :experimental:
12
- :idprefix:
13
- :idseparator: -
14
-
15
- Interface for managing the game's logical clock and update frequency.
16
-
17
- == Properties
18
-
19
- [cols="1,1,3"]
20
- |===
21
- |Name |Type |Description
22
- |`tickInterval` |`number` |The duration in milliseconds between logic updates.
23
- |===
24
-
25
- == Methods
26
-
27
- === `update(deltaTime: number): void`
28
-
29
- Adds elapsed time to the internal accumulator. Called every frame.
30
-
31
- **Parameters**
32
-
33
- [cols="1,1,3"]
34
- |===
35
- |Name |Type |Description
36
- |`deltaTime` |`number` |Time in milliseconds since last frame.
37
- |===
38
-
39
-
40
- '''
41
-
42
- === `shouldTick(): boolean`
43
-
44
- Returns `true` if the accumulator has exceeded the `tickInterval`, indicating a logic update is due.
45
-
46
- **Returns**
47
-
48
- `boolean` - `true` if a tick should occur.
49
-
50
-
51
- '''
52
-
53
- === `reset(): void`
54
-
55
- Clears the time accumulator. Useful during game restarts.
56
-
57
-
58
- '''
59
-
60
- === `incrementTickInterval(amount: number): void`
61
-
62
- Slows down the game by increasing the time between ticks.
63
-
64
- **Parameters**
65
-
66
- [cols="1,1,3"]
67
- |===
68
- |Name |Type |Description
69
- |`amount` |`number` |Milliseconds to add to the interval.
70
- |===
71
-
72
-
73
- '''
74
-
75
- === `decrementTickInterval(amount: number): void`
76
-
77
- Speeds up the game by decreasing the time between ticks.
78
-
79
- **Parameters**
80
-
81
- [cols="1,1,3"]
82
- |===
83
- |Name |Type |Description
84
- |`amount` |`number` |Milliseconds to subtract from the interval.
85
- |===
86
-
87
-
88
- '''
89
-
90
- === `setTickInterval(interval: number): void`
91
-
92
- Sets the tick interval exactly to the specified value.
93
-
94
- **Parameters**
95
-
96
- [cols="1,1,3"]
97
- |===
98
- |Name |Type |Description
99
- |`interval` |`number` |The new interval between logic updates (in milliseconds).
100
- |===
101
-
102
-
103
- '''
104
-
105
- === `setMinTickInterval(interval: number): void`
106
-
107
- Sets the minimum limit for the tick interval, preventing the game from speeding up beyond this point.
108
-
109
- **Parameters**
110
-
111
- [cols="1,1,3"]
112
- |===
113
- |Name |Type |Description
114
- |`interval` |`number` |The minimum interval allowed (in milliseconds).
115
- |===
116
-
117
- == General Usage
118
-
119
- Implemented by `xref:../../modules/GameTime.adoc[GameTime]`. This module ensures that game logic (like falling pieces) runs at a consistent speed regardless of the render frame rate.
@@ -1,71 +0,0 @@
1
- = Debugger Class Reference
2
- :description: Real-time, HTML-based overlay for monitoring the state of all engine modules.
3
- :keywords: debug, monitoring, overlay, diagnostics
4
- :toc: left
5
- :toclevels: 3
6
- :sectnums:
7
- :sectlinks:
8
- :icons: font
9
- :source-highlighter: highlight.js
10
- :reproducible:
11
- :experimental:
12
- :idprefix:
13
- :idseparator: -
14
-
15
- The `Debugger` class provides a real-time, HTML-based overlay for monitoring the state of all engine modules. It automatically identifies and extracts data from any module that implements the `xref:../interfaces/Debuggable.adoc[Debuggable]` interface.
16
-
17
- == API Reference
18
-
19
- === `setup(): void`
20
-
21
- Initializes the debugger's DOM structure.
22
-
23
- **Behavior**
24
-
25
- Creates the main debugger container (`<details id="debugger">`) and appends it to the document body. It scans all registered `xref:../interfaces/GameModules.adoc[GameModules]` and prepares the UI sections for those that expose debug information via `getDebugData`.
26
-
27
- '''
28
-
29
- === `setGameModules(gameModules: GameModules): void`
30
-
31
- Updates the active game modules being monitored by the debugger.
32
-
33
- **Parameters**
34
-
35
- [cols="1,1,3", options="header"]
36
- |===
37
- |Name |Type |Description
38
- |`gameModules` |`xref:../interfaces/GameModules.adoc[GameModules]` | The new instance of game modules to track.
39
- |===
40
-
41
- **Behavior**
42
-
43
- When switching games or game states, this method replaces the internal module references and automatically triggers a UI rebuild by calling `setup()`. Importantly, it preserves the `open` state of any currently expanded module details (`<details>` tags) so the layout does not unexpectedly collapse when the new modules load.
44
-
45
- '''
46
-
47
- === `update(): Promise<void>`
48
-
49
- Refreshes the overlay with new data from the modules.
50
-
51
- **Behavior**
52
-
53
- Executes at a frequency controlled by `configs.game.debugger.msInterval`. It fetches the latest metrics from all `Debuggable` modules and updates the corresponding UI nodes. To maintain performance, it uses a precise timing check and caches DOM references.
54
-
55
- == Configuration
56
-
57
- The debugger behavior is controlled via the main `configs.ts` file:
58
-
59
- * `configs.game.debugger.enabled`: Global toggle to enable/disable the overlay.
60
- * `configs.game.debugger.msInterval`: The refresh rate (in milliseconds). Higher values reduce CPU usage.
61
-
62
- == Implementation
63
-
64
- Modules wishing to appear in the debugger must implement the `Debuggable` interface:
65
-
66
- [source,typescript]
67
- ----
68
- interface Debuggable {
69
- getDebugData(): Record<string, string | number | boolean>;
70
- }
71
- ----
@@ -1,55 +0,0 @@
1
- = DisplayRenderer Module Reference
2
- :description: Responsible for drawing the main game grid and active bricks.
3
- :keywords: rendering, display, grid, graphics
4
- :toc: left
5
- :toclevels: 3
6
- :sectnums:
7
- :sectlinks:
8
- :icons: font
9
- :source-highlighter: highlight.js
10
- :reproducible:
11
- :experimental:
12
- :idprefix:
13
- :idseparator: -
14
-
15
- The `DisplayRenderer` is responsible for drawing the main game grid and the active bricks. It implements the standard `xref:../interfaces/modules/Renderer.adoc[Renderer]` interface and is managed by the `xref:GameRenderer.adoc[GameRenderer]`.
16
-
17
- == API Reference
18
-
19
- === `setup(rendererMetrics: RendererMetrics): void`
20
-
21
- Initializes the renderer and pre-calculates the static scene.
22
-
23
- **Parameters**
24
-
25
- [cols="1,1,3"]
26
- |===
27
- |Name |Type |Description
28
- |`rendererMetrics` |`xref:../types/RendererMetrics.adoc[RendererMetrics]` |The layout metrics calculated by `xref:GameRenderer.adoc[GameRenderer]`.
29
- |===
30
-
31
- **Behavior**
32
-
33
- Stores the layout metrics for use during drawing. It also initializes an off-screen graphics buffer to pre-render the static background and borders, significantly improving performance by avoiding redundant draw calls every frame.
34
-
35
-
36
- '''
37
-
38
- === `render(grid: Cell[][]): void`
39
-
40
- Executes the main display drawing logic.
41
-
42
- **Parameters**
43
-
44
- [cols="1,1,3"]
45
- |===
46
- |Name |Type |Description
47
- |`grid` |`xref:../types/Cell.adoc[Cell][][]` |The current matrix of game cells.
48
- |===
49
-
50
- **Behavior**
51
-
52
- 1. Renders the pre-cached static background.
53
- 2. Iterates through the active `grid` state and draws each occupied cell using the previously stored metric offsets.
54
-
55
-