@nice2dev/game-engine 0.1.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 (519) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +21 -0
  3. package/README.md +105 -0
  4. package/dist/cjs/accessibility/Accessibility.js +162 -0
  5. package/dist/cjs/accessibility/Accessibility.js.map +1 -0
  6. package/dist/cjs/ai/AI.js +321 -0
  7. package/dist/cjs/ai/AI.js.map +1 -0
  8. package/dist/cjs/animation/Animation.js +233 -0
  9. package/dist/cjs/animation/Animation.js.map +1 -0
  10. package/dist/cjs/audio/AudioAdvanced.js +262 -0
  11. package/dist/cjs/audio/AudioAdvanced.js.map +1 -0
  12. package/dist/cjs/audio/AudioManager.js +248 -0
  13. package/dist/cjs/audio/AudioManager.js.map +1 -0
  14. package/dist/cjs/core/EventBus.js +63 -0
  15. package/dist/cjs/core/EventBus.js.map +1 -0
  16. package/dist/cjs/core/GameClock.js +70 -0
  17. package/dist/cjs/core/GameClock.js.map +1 -0
  18. package/dist/cjs/core/GameConfig.js +86 -0
  19. package/dist/cjs/core/GameConfig.js.map +1 -0
  20. package/dist/cjs/core/GameLoop.js +93 -0
  21. package/dist/cjs/core/GameLoop.js.map +1 -0
  22. package/dist/cjs/core/ServiceLocator.js +73 -0
  23. package/dist/cjs/core/ServiceLocator.js.map +1 -0
  24. package/dist/cjs/core/Validation.js +119 -0
  25. package/dist/cjs/core/Validation.js.map +1 -0
  26. package/dist/cjs/core/math.js +116 -0
  27. package/dist/cjs/core/math.js.map +1 -0
  28. package/dist/cjs/devtools/DevTools.js +560 -0
  29. package/dist/cjs/devtools/DevTools.js.map +1 -0
  30. package/dist/cjs/devtools/DeveloperExperience.js +562 -0
  31. package/dist/cjs/devtools/DeveloperExperience.js.map +1 -0
  32. package/dist/cjs/docs/DocGenerator.js +357 -0
  33. package/dist/cjs/docs/DocGenerator.js.map +1 -0
  34. package/dist/cjs/ecs/World.js +280 -0
  35. package/dist/cjs/ecs/World.js.map +1 -0
  36. package/dist/cjs/editor/AdvancedEditor.js +149 -0
  37. package/dist/cjs/editor/AdvancedEditor.js.map +1 -0
  38. package/dist/cjs/editor/AssetManager.js +190 -0
  39. package/dist/cjs/editor/AssetManager.js.map +1 -0
  40. package/dist/cjs/editor/DebugTools.js +187 -0
  41. package/dist/cjs/editor/DebugTools.js.map +1 -0
  42. package/dist/cjs/editor/NiceGameEditor.js +361 -0
  43. package/dist/cjs/editor/NiceGameEditor.js.map +1 -0
  44. package/dist/cjs/editor/SceneEditor.js +223 -0
  45. package/dist/cjs/editor/SceneEditor.js.map +1 -0
  46. package/dist/cjs/engine/NiceGameEngine.js +172 -0
  47. package/dist/cjs/engine/NiceGameEngine.js.map +1 -0
  48. package/dist/cjs/enterprise/Enterprise.js +258 -0
  49. package/dist/cjs/enterprise/Enterprise.js.map +1 -0
  50. package/dist/cjs/i18n/I18n.js +634 -0
  51. package/dist/cjs/i18n/I18n.js.map +1 -0
  52. package/dist/cjs/i18n/useTranslation.js +100 -0
  53. package/dist/cjs/i18n/useTranslation.js.map +1 -0
  54. package/dist/cjs/index.js +526 -0
  55. package/dist/cjs/index.js.map +1 -0
  56. package/dist/cjs/input/GamepadNavigation.js +181 -0
  57. package/dist/cjs/input/GamepadNavigation.js.map +1 -0
  58. package/dist/cjs/input/InputManager.js +404 -0
  59. package/dist/cjs/input/InputManager.js.map +1 -0
  60. package/dist/cjs/input/useGamepads.js +86 -0
  61. package/dist/cjs/input/useGamepads.js.map +1 -0
  62. package/dist/cjs/kids/KidMode.js +670 -0
  63. package/dist/cjs/kids/KidMode.js.map +1 -0
  64. package/dist/cjs/kids/KidTools.js +533 -0
  65. package/dist/cjs/kids/KidTools.js.map +1 -0
  66. package/dist/cjs/monetization/Monetization.js +197 -0
  67. package/dist/cjs/monetization/Monetization.js.map +1 -0
  68. package/dist/cjs/multiplayer/LocalMultiplayer.js +288 -0
  69. package/dist/cjs/multiplayer/LocalMultiplayer.js.map +1 -0
  70. package/dist/cjs/multiplayer/MiniGameTypes.js +70 -0
  71. package/dist/cjs/multiplayer/MiniGameTypes.js.map +1 -0
  72. package/dist/cjs/network/MultiplayerTransport.js +109 -0
  73. package/dist/cjs/network/MultiplayerTransport.js.map +1 -0
  74. package/dist/cjs/network/Networking.js +569 -0
  75. package/dist/cjs/network/Networking.js.map +1 -0
  76. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js +32 -0
  77. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -0
  78. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js +51 -0
  79. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -0
  80. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js +46 -0
  81. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -0
  82. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js +18 -0
  83. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -0
  84. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js +145 -0
  85. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -0
  86. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js +161 -0
  87. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -0
  88. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js +56 -0
  89. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -0
  90. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js +11 -0
  91. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -0
  92. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js +52 -0
  93. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -0
  94. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js +576 -0
  95. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -0
  96. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js +956 -0
  97. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -0
  98. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js +149 -0
  99. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -0
  100. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js +25 -0
  101. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -0
  102. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js +27 -0
  103. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -0
  104. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js +26 -0
  105. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -0
  106. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js +124 -0
  107. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -0
  108. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js +17 -0
  109. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -0
  110. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js +188 -0
  111. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -0
  112. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js +199 -0
  113. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -0
  114. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js +108 -0
  115. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -0
  116. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js +38 -0
  117. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -0
  118. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js +24 -0
  119. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -0
  120. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js +264 -0
  121. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -0
  122. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js +160 -0
  123. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -0
  124. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js +88 -0
  125. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -0
  126. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js +50 -0
  127. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +1 -0
  128. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js +6 -0
  129. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -0
  130. package/dist/cjs/pathfinding/Pathfinding.js +255 -0
  131. package/dist/cjs/pathfinding/Pathfinding.js.map +1 -0
  132. package/dist/cjs/performance/BenchmarkSuite.js +318 -0
  133. package/dist/cjs/performance/BenchmarkSuite.js.map +1 -0
  134. package/dist/cjs/performance/Performance.js +180 -0
  135. package/dist/cjs/performance/Performance.js.map +1 -0
  136. package/dist/cjs/performance/PerformanceAdvanced.js +628 -0
  137. package/dist/cjs/performance/PerformanceAdvanced.js.map +1 -0
  138. package/dist/cjs/physics/PhysicsAdvanced.js +432 -0
  139. package/dist/cjs/physics/PhysicsAdvanced.js.map +1 -0
  140. package/dist/cjs/physics/PhysicsEngine2D.js +445 -0
  141. package/dist/cjs/physics/PhysicsEngine2D.js.map +1 -0
  142. package/dist/cjs/plugins/PluginSDK.js +488 -0
  143. package/dist/cjs/plugins/PluginSDK.js.map +1 -0
  144. package/dist/cjs/plugins/PluginTestKit.js +368 -0
  145. package/dist/cjs/plugins/PluginTestKit.js.map +1 -0
  146. package/dist/cjs/procedural/Procedural.js +288 -0
  147. package/dist/cjs/procedural/Procedural.js.map +1 -0
  148. package/dist/cjs/procedural/WorldBuilding.js +246 -0
  149. package/dist/cjs/procedural/WorldBuilding.js.map +1 -0
  150. package/dist/cjs/release/MobileExport.js +149 -0
  151. package/dist/cjs/release/MobileExport.js.map +1 -0
  152. package/dist/cjs/release/Release.js +151 -0
  153. package/dist/cjs/release/Release.js.map +1 -0
  154. package/dist/cjs/rendering/Camera2D.js +129 -0
  155. package/dist/cjs/rendering/Camera2D.js.map +1 -0
  156. package/dist/cjs/rendering/Renderer2D.js +337 -0
  157. package/dist/cjs/rendering/Renderer2D.js.map +1 -0
  158. package/dist/cjs/runtime3d/Runtime3D.js +381 -0
  159. package/dist/cjs/runtime3d/Runtime3D.js.map +1 -0
  160. package/dist/cjs/runtime3d/SceneEditor3D.js +316 -0
  161. package/dist/cjs/runtime3d/SceneEditor3D.js.map +1 -0
  162. package/dist/cjs/scene/SceneManager.js +186 -0
  163. package/dist/cjs/scene/SceneManager.js.map +1 -0
  164. package/dist/cjs/scripting/NodeGraph.js +573 -0
  165. package/dist/cjs/scripting/NodeGraph.js.map +1 -0
  166. package/dist/cjs/social/Social.js +91 -0
  167. package/dist/cjs/social/Social.js.map +1 -0
  168. package/dist/cjs/templates/ActionTemplates.js +229 -0
  169. package/dist/cjs/templates/ActionTemplates.js.map +1 -0
  170. package/dist/cjs/templates/PartyTemplates.js +221 -0
  171. package/dist/cjs/templates/PartyTemplates.js.map +1 -0
  172. package/dist/cjs/templates/PuzzleTemplates.js +283 -0
  173. package/dist/cjs/templates/PuzzleTemplates.js.map +1 -0
  174. package/dist/cjs/templates/RPGTemplates.js +209 -0
  175. package/dist/cjs/templates/RPGTemplates.js.map +1 -0
  176. package/dist/cjs/templates/SportsTemplates.js +272 -0
  177. package/dist/cjs/templates/SportsTemplates.js.map +1 -0
  178. package/dist/cjs/templates/StrategyTemplates.js +173 -0
  179. package/dist/cjs/templates/StrategyTemplates.js.map +1 -0
  180. package/dist/cjs/templates/WaveDefense.js +470 -0
  181. package/dist/cjs/templates/WaveDefense.js.map +1 -0
  182. package/dist/cjs/tilemap/Tilemap.js +208 -0
  183. package/dist/cjs/tilemap/Tilemap.js.map +1 -0
  184. package/dist/cjs/tutorials/TutorialBranching.js +392 -0
  185. package/dist/cjs/tutorials/TutorialBranching.js.map +1 -0
  186. package/dist/cjs/tutorials/TutorialEngine.js +903 -0
  187. package/dist/cjs/tutorials/TutorialEngine.js.map +1 -0
  188. package/dist/cjs/tutorials/TutorialOverlay.js +602 -0
  189. package/dist/cjs/tutorials/TutorialOverlay.js.map +1 -0
  190. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +816 -0
  191. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +1 -0
  192. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +741 -0
  193. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +1 -0
  194. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +786 -0
  195. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +1 -0
  196. package/dist/cjs/ui/GameUI.js +312 -0
  197. package/dist/cjs/ui/GameUI.js.map +1 -0
  198. package/dist/cjs/xr/ARVR.js +197 -0
  199. package/dist/cjs/xr/ARVR.js.map +1 -0
  200. package/dist/esm/accessibility/Accessibility.js +153 -0
  201. package/dist/esm/accessibility/Accessibility.js.map +1 -0
  202. package/dist/esm/ai/AI.js +302 -0
  203. package/dist/esm/ai/AI.js.map +1 -0
  204. package/dist/esm/animation/Animation.js +227 -0
  205. package/dist/esm/animation/Animation.js.map +1 -0
  206. package/dist/esm/audio/AudioAdvanced.js +243 -0
  207. package/dist/esm/audio/AudioAdvanced.js.map +1 -0
  208. package/dist/esm/audio/AudioManager.js +246 -0
  209. package/dist/esm/audio/AudioManager.js.map +1 -0
  210. package/dist/esm/core/EventBus.js +61 -0
  211. package/dist/esm/core/EventBus.js.map +1 -0
  212. package/dist/esm/core/GameClock.js +68 -0
  213. package/dist/esm/core/GameClock.js.map +1 -0
  214. package/dist/esm/core/GameConfig.js +80 -0
  215. package/dist/esm/core/GameConfig.js.map +1 -0
  216. package/dist/esm/core/GameLoop.js +91 -0
  217. package/dist/esm/core/GameLoop.js.map +1 -0
  218. package/dist/esm/core/ServiceLocator.js +70 -0
  219. package/dist/esm/core/ServiceLocator.js.map +1 -0
  220. package/dist/esm/core/Validation.js +108 -0
  221. package/dist/esm/core/Validation.js.map +1 -0
  222. package/dist/esm/core/math.js +114 -0
  223. package/dist/esm/core/math.js.map +1 -0
  224. package/dist/esm/devtools/DevTools.js +555 -0
  225. package/dist/esm/devtools/DevTools.js.map +1 -0
  226. package/dist/esm/devtools/DeveloperExperience.js +547 -0
  227. package/dist/esm/devtools/DeveloperExperience.js.map +1 -0
  228. package/dist/esm/docs/DocGenerator.js +353 -0
  229. package/dist/esm/docs/DocGenerator.js.map +1 -0
  230. package/dist/esm/ecs/World.js +276 -0
  231. package/dist/esm/ecs/World.js.map +1 -0
  232. package/dist/esm/editor/AdvancedEditor.js +141 -0
  233. package/dist/esm/editor/AdvancedEditor.js.map +1 -0
  234. package/dist/esm/editor/AssetManager.js +188 -0
  235. package/dist/esm/editor/AssetManager.js.map +1 -0
  236. package/dist/esm/editor/DebugTools.js +179 -0
  237. package/dist/esm/editor/DebugTools.js.map +1 -0
  238. package/dist/esm/editor/NiceGameEditor.js +355 -0
  239. package/dist/esm/editor/NiceGameEditor.js.map +1 -0
  240. package/dist/esm/editor/SceneEditor.js +209 -0
  241. package/dist/esm/editor/SceneEditor.js.map +1 -0
  242. package/dist/esm/engine/NiceGameEngine.js +170 -0
  243. package/dist/esm/engine/NiceGameEngine.js.map +1 -0
  244. package/dist/esm/enterprise/Enterprise.js +246 -0
  245. package/dist/esm/enterprise/Enterprise.js.map +1 -0
  246. package/dist/esm/i18n/I18n.js +622 -0
  247. package/dist/esm/i18n/I18n.js.map +1 -0
  248. package/dist/esm/i18n/useTranslation.js +95 -0
  249. package/dist/esm/i18n/useTranslation.js.map +1 -0
  250. package/dist/esm/index.js +71 -0
  251. package/dist/esm/index.js.map +1 -0
  252. package/dist/esm/input/GamepadNavigation.js +178 -0
  253. package/dist/esm/input/GamepadNavigation.js.map +1 -0
  254. package/dist/esm/input/InputManager.js +399 -0
  255. package/dist/esm/input/InputManager.js.map +1 -0
  256. package/dist/esm/input/useGamepads.js +83 -0
  257. package/dist/esm/input/useGamepads.js.map +1 -0
  258. package/dist/esm/kids/KidMode.js +663 -0
  259. package/dist/esm/kids/KidMode.js.map +1 -0
  260. package/dist/esm/kids/KidTools.js +529 -0
  261. package/dist/esm/kids/KidTools.js.map +1 -0
  262. package/dist/esm/monetization/Monetization.js +186 -0
  263. package/dist/esm/monetization/Monetization.js.map +1 -0
  264. package/dist/esm/multiplayer/LocalMultiplayer.js +284 -0
  265. package/dist/esm/multiplayer/LocalMultiplayer.js.map +1 -0
  266. package/dist/esm/multiplayer/MiniGameTypes.js +60 -0
  267. package/dist/esm/multiplayer/MiniGameTypes.js.map +1 -0
  268. package/dist/esm/network/MultiplayerTransport.js +106 -0
  269. package/dist/esm/network/MultiplayerTransport.js.map +1 -0
  270. package/dist/esm/network/Networking.js +561 -0
  271. package/dist/esm/network/Networking.js.map +1 -0
  272. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js +30 -0
  273. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -0
  274. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js +49 -0
  275. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -0
  276. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js +44 -0
  277. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -0
  278. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js +16 -0
  279. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -0
  280. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js +136 -0
  281. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -0
  282. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js +159 -0
  283. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -0
  284. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js +54 -0
  285. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -0
  286. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js +9 -0
  287. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -0
  288. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js +49 -0
  289. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -0
  290. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js +573 -0
  291. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -0
  292. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js +954 -0
  293. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -0
  294. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js +147 -0
  295. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -0
  296. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js +25 -0
  297. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -0
  298. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js +27 -0
  299. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -0
  300. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js +26 -0
  301. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -0
  302. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js +122 -0
  303. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -0
  304. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js +15 -0
  305. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -0
  306. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js +186 -0
  307. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -0
  308. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js +197 -0
  309. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -0
  310. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js +106 -0
  311. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -0
  312. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js +36 -0
  313. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -0
  314. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js +22 -0
  315. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -0
  316. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js +249 -0
  317. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -0
  318. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js +158 -0
  319. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -0
  320. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js +86 -0
  321. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -0
  322. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js +13 -0
  323. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +1 -0
  324. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js +4 -0
  325. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -0
  326. package/dist/esm/pathfinding/Pathfinding.js +250 -0
  327. package/dist/esm/pathfinding/Pathfinding.js.map +1 -0
  328. package/dist/esm/performance/BenchmarkSuite.js +315 -0
  329. package/dist/esm/performance/BenchmarkSuite.js.map +1 -0
  330. package/dist/esm/performance/Performance.js +171 -0
  331. package/dist/esm/performance/Performance.js.map +1 -0
  332. package/dist/esm/performance/PerformanceAdvanced.js +620 -0
  333. package/dist/esm/performance/PerformanceAdvanced.js.map +1 -0
  334. package/dist/esm/physics/PhysicsAdvanced.js +417 -0
  335. package/dist/esm/physics/PhysicsAdvanced.js.map +1 -0
  336. package/dist/esm/physics/PhysicsEngine2D.js +442 -0
  337. package/dist/esm/physics/PhysicsEngine2D.js.map +1 -0
  338. package/dist/esm/plugins/PluginSDK.js +484 -0
  339. package/dist/esm/plugins/PluginSDK.js.map +1 -0
  340. package/dist/esm/plugins/PluginTestKit.js +359 -0
  341. package/dist/esm/plugins/PluginTestKit.js.map +1 -0
  342. package/dist/esm/procedural/Procedural.js +282 -0
  343. package/dist/esm/procedural/Procedural.js.map +1 -0
  344. package/dist/esm/procedural/WorldBuilding.js +225 -0
  345. package/dist/esm/procedural/WorldBuilding.js.map +1 -0
  346. package/dist/esm/release/MobileExport.js +142 -0
  347. package/dist/esm/release/MobileExport.js.map +1 -0
  348. package/dist/esm/release/Release.js +141 -0
  349. package/dist/esm/release/Release.js.map +1 -0
  350. package/dist/esm/rendering/Camera2D.js +127 -0
  351. package/dist/esm/rendering/Camera2D.js.map +1 -0
  352. package/dist/esm/rendering/Renderer2D.js +334 -0
  353. package/dist/esm/rendering/Renderer2D.js.map +1 -0
  354. package/dist/esm/runtime3d/Runtime3D.js +371 -0
  355. package/dist/esm/runtime3d/Runtime3D.js.map +1 -0
  356. package/dist/esm/runtime3d/SceneEditor3D.js +299 -0
  357. package/dist/esm/runtime3d/SceneEditor3D.js.map +1 -0
  358. package/dist/esm/scene/SceneManager.js +184 -0
  359. package/dist/esm/scene/SceneManager.js.map +1 -0
  360. package/dist/esm/scripting/NodeGraph.js +568 -0
  361. package/dist/esm/scripting/NodeGraph.js.map +1 -0
  362. package/dist/esm/social/Social.js +85 -0
  363. package/dist/esm/social/Social.js.map +1 -0
  364. package/dist/esm/templates/ActionTemplates.js +217 -0
  365. package/dist/esm/templates/ActionTemplates.js.map +1 -0
  366. package/dist/esm/templates/PartyTemplates.js +204 -0
  367. package/dist/esm/templates/PartyTemplates.js.map +1 -0
  368. package/dist/esm/templates/PuzzleTemplates.js +267 -0
  369. package/dist/esm/templates/PuzzleTemplates.js.map +1 -0
  370. package/dist/esm/templates/RPGTemplates.js +196 -0
  371. package/dist/esm/templates/RPGTemplates.js.map +1 -0
  372. package/dist/esm/templates/SportsTemplates.js +257 -0
  373. package/dist/esm/templates/SportsTemplates.js.map +1 -0
  374. package/dist/esm/templates/StrategyTemplates.js +157 -0
  375. package/dist/esm/templates/StrategyTemplates.js.map +1 -0
  376. package/dist/esm/templates/WaveDefense.js +467 -0
  377. package/dist/esm/templates/WaveDefense.js.map +1 -0
  378. package/dist/esm/tilemap/Tilemap.js +205 -0
  379. package/dist/esm/tilemap/Tilemap.js.map +1 -0
  380. package/dist/esm/tutorials/TutorialBranching.js +388 -0
  381. package/dist/esm/tutorials/TutorialBranching.js.map +1 -0
  382. package/dist/esm/tutorials/TutorialEngine.js +897 -0
  383. package/dist/esm/tutorials/TutorialEngine.js.map +1 -0
  384. package/dist/esm/tutorials/TutorialOverlay.js +600 -0
  385. package/dist/esm/tutorials/TutorialOverlay.js.map +1 -0
  386. package/dist/esm/tutorials/content/Tutorials_T05_T08.js +810 -0
  387. package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +1 -0
  388. package/dist/esm/tutorials/content/Tutorials_T09_T11.js +736 -0
  389. package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +1 -0
  390. package/dist/esm/tutorials/content/Tutorials_T12_T15.js +780 -0
  391. package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +1 -0
  392. package/dist/esm/ui/GameUI.js +310 -0
  393. package/dist/esm/ui/GameUI.js.map +1 -0
  394. package/dist/esm/xr/ARVR.js +182 -0
  395. package/dist/esm/xr/ARVR.js.map +1 -0
  396. package/dist/types/__tests__/setup.d.ts +1 -0
  397. package/dist/types/accessibility/Accessibility.d.ts +82 -0
  398. package/dist/types/accessibility/index.d.ts +1 -0
  399. package/dist/types/ai/AI.d.ts +140 -0
  400. package/dist/types/ai/index.d.ts +1 -0
  401. package/dist/types/animation/Animation.d.ts +90 -0
  402. package/dist/types/animation/index.d.ts +1 -0
  403. package/dist/types/audio/AudioAdvanced.d.ts +190 -0
  404. package/dist/types/audio/AudioManager.d.ts +55 -0
  405. package/dist/types/audio/index.d.ts +1 -0
  406. package/dist/types/community/Community.d.ts +112 -0
  407. package/dist/types/community/index.d.ts +1 -0
  408. package/dist/types/core/EventBus.d.ts +16 -0
  409. package/dist/types/core/GameClock.d.ts +29 -0
  410. package/dist/types/core/GameConfig.d.ts +20 -0
  411. package/dist/types/core/GameLoop.d.ts +32 -0
  412. package/dist/types/core/ServiceLocator.d.ts +36 -0
  413. package/dist/types/core/TypeSafety.d.ts +190 -0
  414. package/dist/types/core/Validation.d.ts +24 -0
  415. package/dist/types/core/index.d.ts +7 -0
  416. package/dist/types/core/math.d.ts +32 -0
  417. package/dist/types/core/types.d.ts +130 -0
  418. package/dist/types/devtools/AssetStore.d.ts +133 -0
  419. package/dist/types/devtools/DevTools.d.ts +217 -0
  420. package/dist/types/devtools/DeveloperExperience.d.ts +123 -0
  421. package/dist/types/devtools/index.d.ts +3 -0
  422. package/dist/types/docs/APIPlayground.d.ts +26 -0
  423. package/dist/types/docs/Cookbook.d.ts +18 -0
  424. package/dist/types/docs/DocGenerator.d.ts +83 -0
  425. package/dist/types/docs/Guides.d.ts +18 -0
  426. package/dist/types/docs/index.d.ts +4 -0
  427. package/dist/types/ecs/World.d.ts +219 -0
  428. package/dist/types/ecs/index.d.ts +1 -0
  429. package/dist/types/editor/AdvancedEditor.d.ts +267 -0
  430. package/dist/types/editor/AssetManager.d.ts +45 -0
  431. package/dist/types/editor/DebugTools.d.ts +74 -0
  432. package/dist/types/editor/NiceGameEditor.d.ts +115 -0
  433. package/dist/types/editor/SceneEditor.d.ts +37 -0
  434. package/dist/types/editor/index.d.ts +8 -0
  435. package/dist/types/engine/NiceGameEngine.d.ts +53 -0
  436. package/dist/types/engine/index.d.ts +2 -0
  437. package/dist/types/enterprise/Enterprise.d.ts +217 -0
  438. package/dist/types/enterprise/index.d.ts +1 -0
  439. package/dist/types/epic/index.d.ts +10 -0
  440. package/dist/types/i18n/I18n.d.ts +107 -0
  441. package/dist/types/i18n/index.d.ts +2 -0
  442. package/dist/types/i18n/useTranslation.d.ts +74 -0
  443. package/dist/types/index.d.ts +127 -0
  444. package/dist/types/input/GamepadNavigation.d.ts +34 -0
  445. package/dist/types/input/InputManager.d.ts +77 -0
  446. package/dist/types/input/index.d.ts +3 -0
  447. package/dist/types/input/useGamepads.d.ts +39 -0
  448. package/dist/types/kids/KidMode.d.ts +207 -0
  449. package/dist/types/kids/KidTools.d.ts +135 -0
  450. package/dist/types/kids/index.d.ts +2 -0
  451. package/dist/types/legendary/index.d.ts +57 -0
  452. package/dist/types/monetization/Monetization.d.ts +224 -0
  453. package/dist/types/monetization/index.d.ts +1 -0
  454. package/dist/types/multiplayer/LocalMultiplayer.d.ts +61 -0
  455. package/dist/types/multiplayer/MiniGameTypes.d.ts +70 -0
  456. package/dist/types/multiplayer/index.d.ts +3 -0
  457. package/dist/types/network/MultiplayerTransport.d.ts +71 -0
  458. package/dist/types/network/Networking.d.ts +199 -0
  459. package/dist/types/network/index.d.ts +2 -0
  460. package/dist/types/pathfinding/Pathfinding.d.ts +42 -0
  461. package/dist/types/pathfinding/index.d.ts +1 -0
  462. package/dist/types/performance/AssetCompression.d.ts +137 -0
  463. package/dist/types/performance/BenchmarkSuite.d.ts +99 -0
  464. package/dist/types/performance/Performance.d.ts +87 -0
  465. package/dist/types/performance/PerformanceAdvanced.d.ts +220 -0
  466. package/dist/types/performance/WASMModules.d.ts +65 -0
  467. package/dist/types/performance/WebGPUCompute.d.ts +164 -0
  468. package/dist/types/performance/index.d.ts +1 -0
  469. package/dist/types/physics/PhysicsAdvanced.d.ts +148 -0
  470. package/dist/types/physics/PhysicsEngine2D.d.ts +66 -0
  471. package/dist/types/physics/index.d.ts +1 -0
  472. package/dist/types/plugins/PluginSDK.d.ts +134 -0
  473. package/dist/types/plugins/PluginTestKit.d.ts +107 -0
  474. package/dist/types/plugins/index.d.ts +2 -0
  475. package/dist/types/procedural/Procedural.d.ts +90 -0
  476. package/dist/types/procedural/WorldBuilding.d.ts +200 -0
  477. package/dist/types/procedural/index.d.ts +2 -0
  478. package/dist/types/release/MobileExport.d.ts +218 -0
  479. package/dist/types/release/Release.d.ts +81 -0
  480. package/dist/types/release/index.d.ts +1 -0
  481. package/dist/types/rendering/Camera2D.d.ts +39 -0
  482. package/dist/types/rendering/Renderer2D.d.ts +41 -0
  483. package/dist/types/rendering/index.d.ts +2 -0
  484. package/dist/types/runtime3d/Runtime3D.d.ts +259 -0
  485. package/dist/types/runtime3d/SceneEditor3D.d.ts +186 -0
  486. package/dist/types/runtime3d/index.d.ts +2 -0
  487. package/dist/types/scene/SceneManager.d.ts +59 -0
  488. package/dist/types/scene/index.d.ts +2 -0
  489. package/dist/types/scripting/NodeGraph.d.ts +84 -0
  490. package/dist/types/scripting/index.d.ts +2 -0
  491. package/dist/types/social/Social.d.ts +245 -0
  492. package/dist/types/social/index.d.ts +1 -0
  493. package/dist/types/templates/ActionTemplates.d.ts +173 -0
  494. package/dist/types/templates/PartyTemplates.d.ts +195 -0
  495. package/dist/types/templates/PuzzleTemplates.d.ts +127 -0
  496. package/dist/types/templates/RPGTemplates.d.ts +210 -0
  497. package/dist/types/templates/SportsTemplates.d.ts +162 -0
  498. package/dist/types/templates/StrategyTemplates.d.ts +264 -0
  499. package/dist/types/templates/WaveDefense.d.ts +92 -0
  500. package/dist/types/templates/index.d.ts +2 -0
  501. package/dist/types/tilemap/Tilemap.d.ts +66 -0
  502. package/dist/types/tilemap/index.d.ts +1 -0
  503. package/dist/types/tutorials/TutorialBranching.d.ts +132 -0
  504. package/dist/types/tutorials/TutorialEditor.d.ts +43 -0
  505. package/dist/types/tutorials/TutorialEngine.d.ts +237 -0
  506. package/dist/types/tutorials/TutorialOverlay.d.ts +79 -0
  507. package/dist/types/tutorials/VoiceNarration.d.ts +75 -0
  508. package/dist/types/tutorials/content/Tutorials_T04.d.ts +3 -0
  509. package/dist/types/tutorials/content/Tutorials_T05_T08.d.ts +6 -0
  510. package/dist/types/tutorials/content/Tutorials_T09_T11.d.ts +5 -0
  511. package/dist/types/tutorials/content/Tutorials_T12_T15.d.ts +6 -0
  512. package/dist/types/tutorials/content/UITutorials.d.ts +14 -0
  513. package/dist/types/tutorials/content/index.d.ts +5 -0
  514. package/dist/types/tutorials/index.d.ts +6 -0
  515. package/dist/types/ui/GameUI.d.ts +97 -0
  516. package/dist/types/ui/index.d.ts +2 -0
  517. package/dist/types/xr/ARVR.d.ts +252 -0
  518. package/dist/types/xr/index.d.ts +1 -0
  519. package/package.json +88 -0
@@ -0,0 +1,140 @@
1
+ import type { EntityId, Vec2 } from '../core/types';
2
+ export type BTStatus = 'success' | 'failure' | 'running';
3
+ export interface BTContext {
4
+ entityId: EntityId;
5
+ dt: number;
6
+ blackboard: Map<string, unknown>;
7
+ }
8
+ export interface BTNode {
9
+ name: string;
10
+ tick(ctx: BTContext): BTStatus;
11
+ reset(): void;
12
+ }
13
+ export declare class BTAction implements BTNode {
14
+ name: string;
15
+ private fn;
16
+ constructor(name: string, fn: (ctx: BTContext) => BTStatus);
17
+ tick(ctx: BTContext): BTStatus;
18
+ reset(): void;
19
+ }
20
+ export declare class BTCondition implements BTNode {
21
+ name: string;
22
+ private condition;
23
+ constructor(name: string, condition: (ctx: BTContext) => boolean);
24
+ tick(ctx: BTContext): BTStatus;
25
+ reset(): void;
26
+ }
27
+ export declare class BTSequence implements BTNode {
28
+ name: string;
29
+ children: BTNode[];
30
+ private currentIndex;
31
+ constructor(name: string, children: BTNode[]);
32
+ tick(ctx: BTContext): BTStatus;
33
+ reset(): void;
34
+ }
35
+ export declare class BTSelector implements BTNode {
36
+ name: string;
37
+ children: BTNode[];
38
+ private currentIndex;
39
+ constructor(name: string, children: BTNode[]);
40
+ tick(ctx: BTContext): BTStatus;
41
+ reset(): void;
42
+ }
43
+ export declare class BTParallel implements BTNode {
44
+ name: string;
45
+ children: BTNode[];
46
+ private successThreshold;
47
+ constructor(name: string, children: BTNode[], successThreshold?: number);
48
+ tick(ctx: BTContext): BTStatus;
49
+ reset(): void;
50
+ }
51
+ export declare class BTDecorator implements BTNode {
52
+ name: string;
53
+ child: BTNode;
54
+ private decorator;
55
+ constructor(name: string, child: BTNode, decorator: (result: BTStatus, ctx: BTContext) => BTStatus);
56
+ tick(ctx: BTContext): BTStatus;
57
+ reset(): void;
58
+ }
59
+ /** Inverter: success→failure, failure→success. */
60
+ export declare function btInvert(child: BTNode): BTDecorator;
61
+ /** Repeat N times or until failure. */
62
+ export declare class BTRepeat implements BTNode {
63
+ name: string;
64
+ child: BTNode;
65
+ private maxRepeats;
66
+ private count;
67
+ constructor(name: string, child: BTNode, maxRepeats: number);
68
+ tick(ctx: BTContext): BTStatus;
69
+ reset(): void;
70
+ }
71
+ export interface SteeringAgent {
72
+ position: Vec2;
73
+ velocity: Vec2;
74
+ maxSpeed: number;
75
+ maxForce: number;
76
+ }
77
+ export declare function steerSeek(agent: SteeringAgent, target: Vec2): Vec2;
78
+ export declare function steerFlee(agent: SteeringAgent, target: Vec2): Vec2;
79
+ export declare function steerArrive(agent: SteeringAgent, target: Vec2, slowRadius: number): Vec2;
80
+ export declare function steerWander(agent: SteeringAgent, wanderDistance: number, wanderRadius: number, wanderAngle: number): {
81
+ force: Vec2;
82
+ newAngle: number;
83
+ };
84
+ export declare function steerSeparation(agent: SteeringAgent, neighbors: Vec2[], radius: number): Vec2;
85
+ export interface FSMState<T> {
86
+ name: string;
87
+ enter?(context: T): void;
88
+ update?(context: T, dt: number): void;
89
+ exit?(context: T): void;
90
+ }
91
+ export declare class FiniteStateMachine<T> {
92
+ private states;
93
+ private currentState;
94
+ private context;
95
+ constructor(context: T);
96
+ addState(state: FSMState<T>): void;
97
+ setState(name: string): void;
98
+ update(dt: number): void;
99
+ getCurrentState(): string | null;
100
+ }
101
+ export interface UtilityAction {
102
+ name: string;
103
+ score: (ctx: unknown) => number;
104
+ execute: (ctx: unknown) => void;
105
+ }
106
+ export declare function selectBestAction(actions: UtilityAction[], ctx: unknown): UtilityAction | null;
107
+ export interface GOAPAction {
108
+ name: string;
109
+ cost: number;
110
+ preconditions: Record<string, boolean>;
111
+ effects: Record<string, boolean>;
112
+ }
113
+ export interface GOAPGoal {
114
+ name: string;
115
+ conditions: Record<string, boolean>;
116
+ priority: number;
117
+ }
118
+ export declare function planGOAP(worldState: Record<string, boolean>, goal: GOAPGoal, actions: GOAPAction[], maxDepth?: number): GOAPAction[] | null;
119
+ export interface DialogNode {
120
+ id: string;
121
+ speakerId: string;
122
+ text: string;
123
+ responses: DialogResponse[];
124
+ condition?: string;
125
+ onEnter?: string;
126
+ }
127
+ export interface DialogResponse {
128
+ text: string;
129
+ nextNodeId: string;
130
+ condition?: string;
131
+ effect?: string;
132
+ }
133
+ export interface DialogTree {
134
+ id: string;
135
+ startNodeId: string;
136
+ nodes: Map<string, DialogNode>;
137
+ }
138
+ export declare function createDialogTree(id: string, nodes: DialogNode[]): DialogTree;
139
+ /** Get available responses (filter by conditions using evaluator). */
140
+ export declare function getAvailableResponses(tree: DialogTree, nodeId: string, evaluateCondition?: (condition: string) => boolean): DialogResponse[];
@@ -0,0 +1 @@
1
+ export * from './AI';
@@ -0,0 +1,90 @@
1
+ import type { Rect } from '../core/types';
2
+ export interface AnimationFrame {
3
+ /** Source rect in the sprite sheet. */
4
+ srcRect: Rect;
5
+ /** Duration of this frame in seconds. */
6
+ duration: number;
7
+ /** Optional event to fire when this frame starts. */
8
+ event?: string;
9
+ }
10
+ export interface AnimationClip {
11
+ name: string;
12
+ frames: AnimationFrame[];
13
+ loop: boolean;
14
+ /** Playback speed multiplier (default 1). */
15
+ speed: number;
16
+ }
17
+ export type AnimationEventCallback = (clipName: string, eventName: string) => void;
18
+ export type EasingFn = (t: number) => number;
19
+ export declare const Easing: {
20
+ readonly linear: (t: number) => number;
21
+ readonly easeInQuad: (t: number) => number;
22
+ readonly easeOutQuad: (t: number) => number;
23
+ readonly easeInOutQuad: (t: number) => number;
24
+ readonly easeInCubic: (t: number) => number;
25
+ readonly easeOutCubic: (t: number) => number;
26
+ readonly easeInOutCubic: (t: number) => number;
27
+ readonly easeOutBounce: (t: number) => number;
28
+ readonly easeOutElastic: (t: number) => number;
29
+ };
30
+ export declare class SpriteAnimator {
31
+ private clips;
32
+ private currentClip;
33
+ private frameIndex;
34
+ private elapsed;
35
+ private playing;
36
+ private onEvent;
37
+ private finished;
38
+ get isPlaying(): boolean;
39
+ get isFinished(): boolean;
40
+ get currentClipName(): string | null;
41
+ get currentFrameIndex(): number;
42
+ addClip(clip: AnimationClip): void;
43
+ removeClip(name: string): void;
44
+ play(name: string, restart?: boolean): void;
45
+ stop(): void;
46
+ resume(): void;
47
+ setEventCallback(cb: AnimationEventCallback): void;
48
+ getCurrentFrame(): AnimationFrame | null;
49
+ update(dt: number): void;
50
+ private fireEvent;
51
+ }
52
+ export interface TweenConfig<T extends Record<string, number>> {
53
+ target: T;
54
+ from?: Partial<T>;
55
+ to: Partial<T>;
56
+ duration: number;
57
+ easing?: EasingFn;
58
+ delay?: number;
59
+ onComplete?: () => void;
60
+ onUpdate?: (t: number) => void;
61
+ }
62
+ export declare class TweenManager {
63
+ private tweens;
64
+ create<T extends Record<string, number>>(config: TweenConfig<T>): void;
65
+ update(dt: number): void;
66
+ clear(): void;
67
+ get count(): number;
68
+ }
69
+ export interface AnimState {
70
+ name: string;
71
+ clipName: string;
72
+ }
73
+ export interface AnimTransition {
74
+ from: string;
75
+ to: string;
76
+ condition: () => boolean;
77
+ }
78
+ export declare class AnimationStateMachine {
79
+ private states;
80
+ private transitions;
81
+ private current;
82
+ private animator;
83
+ constructor(animator: SpriteAnimator);
84
+ addState(name: string, clipName: string): void;
85
+ addTransition(from: string, to: string, condition: () => boolean): void;
86
+ get currentState(): string | null;
87
+ forceState(name: string): void;
88
+ update(): void;
89
+ }
90
+ export declare function createClipFromSheet(name: string, sheetColumns: number, startIndex: number, frameCount: number, frameWidth: number, frameHeight: number, frameDuration?: number, loop?: boolean): AnimationClip;
@@ -0,0 +1 @@
1
+ export * from './Animation';
@@ -0,0 +1,190 @@
1
+ export type WaveformType = 'sine' | 'square' | 'sawtooth' | 'triangle' | 'noise' | 'pulse';
2
+ export interface OscillatorConfig {
3
+ waveform: WaveformType;
4
+ frequency: number;
5
+ amplitude: number;
6
+ phase: number;
7
+ detune: number;
8
+ pulseWidth?: number;
9
+ }
10
+ export interface EnvelopeADSR {
11
+ attack: number;
12
+ decay: number;
13
+ sustain: number;
14
+ release: number;
15
+ }
16
+ export declare const DEFAULT_ADSR: EnvelopeADSR;
17
+ export interface SynthPatch {
18
+ name: string;
19
+ oscillators: OscillatorConfig[];
20
+ envelope: EnvelopeADSR;
21
+ filterType: 'lowpass' | 'highpass' | 'bandpass' | 'notch' | 'none';
22
+ filterFrequency: number;
23
+ filterResonance: number;
24
+ filterEnvelope?: EnvelopeADSR;
25
+ filterEnvAmount: number;
26
+ lfo?: LFOConfig;
27
+ gain: number;
28
+ pan: number;
29
+ }
30
+ export interface LFOConfig {
31
+ waveform: WaveformType;
32
+ frequency: number;
33
+ amplitude: number;
34
+ target: 'frequency' | 'amplitude' | 'filter' | 'pan';
35
+ }
36
+ /** Generate a single sample from an oscillator (for procedural audio). */
37
+ export declare function oscillatorSample(config: OscillatorConfig, time: number): number;
38
+ /** Compute ADSR envelope value at a given time. */
39
+ export declare function adsrValue(env: EnvelopeADSR, time: number, noteOffTime: number | null): number;
40
+ /** Preset synth patches. */
41
+ export declare const SYNTH_PRESETS: Record<string, SynthPatch>;
42
+ export type EffectType = 'reverb' | 'delay' | 'distortion' | 'chorus' | 'flanger' | 'phaser' | 'compressor' | 'equalizer' | 'tremolo' | 'bitcrusher' | 'limiter';
43
+ export interface AudioEffect {
44
+ type: EffectType;
45
+ enabled: boolean;
46
+ wet: number;
47
+ params: Record<string, number>;
48
+ }
49
+ export interface ReverbParams {
50
+ roomSize: number;
51
+ damping: number;
52
+ preDelay: number;
53
+ }
54
+ export interface DelayParams {
55
+ time: number;
56
+ feedback: number;
57
+ pingPong: boolean;
58
+ }
59
+ export interface DistortionParams {
60
+ amount: number;
61
+ tone: number;
62
+ }
63
+ export interface ChorusParams {
64
+ rate: number;
65
+ depth: number;
66
+ delay: number;
67
+ }
68
+ export interface CompressorParams {
69
+ threshold: number;
70
+ ratio: number;
71
+ attack: number;
72
+ release: number;
73
+ knee: number;
74
+ }
75
+ export interface EQBand {
76
+ frequency: number;
77
+ gain: number;
78
+ q: number;
79
+ type: 'lowshelf' | 'highshelf' | 'peaking';
80
+ }
81
+ export declare function createReverb(roomSize?: number, damping?: number, wet?: number): AudioEffect;
82
+ export declare function createDelay(time?: number, feedback?: number, wet?: number): AudioEffect;
83
+ export declare function createDistortion(amount?: number, tone?: number, wet?: number): AudioEffect;
84
+ export declare function createCompressor(threshold?: number, ratio?: number, attack?: number, release?: number): AudioEffect;
85
+ export interface AudioEffectsChain {
86
+ effects: AudioEffect[];
87
+ masterGain: number;
88
+ masterPan: number;
89
+ }
90
+ export declare function createEffectsChain(effects?: AudioEffect[]): AudioEffectsChain;
91
+ export type MusicLayerState = 'playing' | 'fading-in' | 'fading-out' | 'stopped';
92
+ export interface MusicLayer {
93
+ id: string;
94
+ trackId: string;
95
+ volume: number;
96
+ loop: boolean;
97
+ syncToBar: boolean;
98
+ state: MusicLayerState;
99
+ fadeTime: number;
100
+ conditions: MusicCondition[];
101
+ }
102
+ export interface MusicCondition {
103
+ parameter: string;
104
+ operator: '=' | '!=' | '<' | '>' | '<=' | '>=';
105
+ value: number | string;
106
+ }
107
+ export interface MusicTransition {
108
+ fromState: string;
109
+ toState: string;
110
+ type: 'crossfade' | 'cut' | 'stinger' | 'musical';
111
+ duration: number;
112
+ stingerTrackId?: string;
113
+ syncPoint: 'immediate' | 'next-beat' | 'next-bar' | 'next-section';
114
+ }
115
+ export interface AdaptiveMusicConfig {
116
+ bpm: number;
117
+ beatsPerBar: number;
118
+ states: MusicState[];
119
+ transitions: MusicTransition[];
120
+ parameters: Map<string, number>;
121
+ currentState: string;
122
+ }
123
+ export interface MusicState {
124
+ name: string;
125
+ layers: MusicLayer[];
126
+ intensity: number;
127
+ }
128
+ export declare function evaluateMusicConditions(conditions: MusicCondition[], params: Map<string, number>): boolean;
129
+ export declare function findNextMusicState(config: AdaptiveMusicConfig): string | null;
130
+ /** Beat/bar timing helpers. */
131
+ export declare function beatDuration(bpm: number): number;
132
+ export declare function barDuration(bpm: number, beatsPerBar: number): number;
133
+ export declare function currentBeat(time: number, bpm: number): number;
134
+ export declare function nextBarTime(time: number, bpm: number, beatsPerBar: number): number;
135
+ export interface AudioAnalysisConfig {
136
+ fftSize: 256 | 512 | 1024 | 2048 | 4096;
137
+ smoothingTimeConstant: number;
138
+ minDecibels: number;
139
+ maxDecibels: number;
140
+ }
141
+ export declare const DEFAULT_ANALYSIS_CONFIG: AudioAnalysisConfig;
142
+ export interface AudioBands {
143
+ sub: number;
144
+ bass: number;
145
+ lowMid: number;
146
+ mid: number;
147
+ highMid: number;
148
+ presence: number;
149
+ brilliance: number;
150
+ overall: number;
151
+ }
152
+ export declare function extractBands(frequencyData: Uint8Array, sampleRate: number): AudioBands;
153
+ export interface AudioReactiveBinding {
154
+ band: keyof AudioBands;
155
+ target: string;
156
+ min: number;
157
+ max: number;
158
+ smoothing: number;
159
+ sensitivity: number;
160
+ }
161
+ export interface VoiceChatConfig {
162
+ codec: 'opus' | 'pcm';
163
+ sampleRate: 16000 | 24000 | 48000;
164
+ bitrate: number;
165
+ channelCount: 1 | 2;
166
+ echoCancellation: boolean;
167
+ noiseSuppression: boolean;
168
+ autoGainControl: boolean;
169
+ vadEnabled: boolean;
170
+ vadThreshold: number;
171
+ spatialAudio: boolean;
172
+ maxDistance: number;
173
+ pushToTalk: boolean;
174
+ pushToTalkKey: string;
175
+ muteOnDeafen: boolean;
176
+ }
177
+ export declare const DEFAULT_VOICE_CONFIG: VoiceChatConfig;
178
+ export interface VoiceParticipant {
179
+ peerId: string;
180
+ displayName: string;
181
+ isMuted: boolean;
182
+ isDeafened: boolean;
183
+ isSpeaking: boolean;
184
+ volume: number;
185
+ position?: {
186
+ x: number;
187
+ y: number;
188
+ z: number;
189
+ };
190
+ }
@@ -0,0 +1,55 @@
1
+ import type { AudioChannel, Vec2 } from '../core/types';
2
+ import { EventBus } from '../core/EventBus';
3
+ export interface SoundOptions {
4
+ volume?: number;
5
+ loop?: boolean;
6
+ channel?: AudioChannel;
7
+ pitch?: number;
8
+ pan?: number;
9
+ position?: Vec2;
10
+ maxDistance?: number;
11
+ }
12
+ export interface MusicOptions {
13
+ volume?: number;
14
+ loop?: boolean;
15
+ fadeIn?: number;
16
+ }
17
+ export declare class AudioManager {
18
+ readonly events: EventBus;
19
+ private ctx;
20
+ private masterGain;
21
+ private channelGains;
22
+ private bufferCache;
23
+ private activeMusic;
24
+ private activeSounds;
25
+ private pool;
26
+ private _listenerPos;
27
+ private _muted;
28
+ private volumes;
29
+ /** Initialize audio context (must be called after user gesture). */
30
+ init(): void;
31
+ /** Ensure context is running (after autoplay policy). */
32
+ resume(): Promise<void>;
33
+ dispose(): void;
34
+ /** Load an audio file and cache its buffer. */
35
+ load(id: string, url: string): Promise<void>;
36
+ /** Check if a sound is loaded. */
37
+ isLoaded(id: string): boolean;
38
+ /** Play a sound effect. Returns an ID to control it. */
39
+ play(id: string, options?: SoundOptions): number;
40
+ /** Stop a specific playing sound. */
41
+ stopSound(soundId: number): void;
42
+ /** Play background music with optional crossfade. */
43
+ playMusic(id: string, options?: MusicOptions): void;
44
+ /** Stop music with fade out. */
45
+ stopMusic(fadeOut?: number): void;
46
+ private fadeOutMusic;
47
+ setVolume(channel: AudioChannel, volume: number): void;
48
+ getVolume(channel: AudioChannel): number;
49
+ get muted(): boolean;
50
+ set muted(value: boolean);
51
+ setListenerPosition(pos: Vec2): void;
52
+ /** Stop all sounds and music, properly disconnecting audio nodes. */
53
+ stopAll(): void;
54
+ get activeSoundCount(): number;
55
+ }
@@ -0,0 +1 @@
1
+ export { AudioManager, type SoundOptions, type MusicOptions, } from './AudioManager';
@@ -0,0 +1,112 @@
1
+ export interface CommunityConfig {
2
+ projectName: string;
3
+ repoUrl: string;
4
+ license: 'MIT' | 'Apache-2.0' | 'BSD-3-Clause' | 'GPL-3.0';
5
+ discordUrl?: string;
6
+ websiteUrl?: string;
7
+ maintainers: string[];
8
+ }
9
+ export interface GameJamEntry {
10
+ id: string;
11
+ title: string;
12
+ author: string;
13
+ description: string;
14
+ url: string;
15
+ thumbnailUrl: string;
16
+ tags: string[];
17
+ submittedAt: number;
18
+ rating: number;
19
+ votes: number;
20
+ }
21
+ export interface ShowcaseProject {
22
+ id: string;
23
+ title: string;
24
+ author: string;
25
+ description: string;
26
+ url: string;
27
+ thumbnailUrl: string;
28
+ engineVersion: string;
29
+ features: string[];
30
+ stars: number;
31
+ }
32
+ export interface CertificationLevel {
33
+ id: string;
34
+ name: string;
35
+ description: string;
36
+ requirements: string[];
37
+ badge: string;
38
+ }
39
+ export interface SecurityCheckItem {
40
+ id: string;
41
+ category: string;
42
+ description: string;
43
+ severity: 'critical' | 'high' | 'medium' | 'low';
44
+ passed: boolean;
45
+ notes?: string;
46
+ }
47
+ export interface RoadmapItem {
48
+ id: string;
49
+ title: string;
50
+ description: string;
51
+ status: 'planned' | 'in-progress' | 'completed' | 'deferred';
52
+ milestone: string;
53
+ priority: 'critical' | 'high' | 'medium' | 'low';
54
+ estimatedVersion: string;
55
+ }
56
+ export declare function generateContributing(config: CommunityConfig): string;
57
+ export declare function generateCodeOfConduct(config: CommunityConfig): string;
58
+ export declare class GameJamPlatform {
59
+ private entries;
60
+ private jamActive;
61
+ private jamTitle;
62
+ private jamTheme;
63
+ private jamDeadline;
64
+ createJam(title: string, theme: string, durationDays: number): void;
65
+ submit(entry: Omit<GameJamEntry, 'submittedAt' | 'rating' | 'votes'>): GameJamEntry | null;
66
+ vote(entryId: string, rating: number): boolean;
67
+ getLeaderboard(): GameJamEntry[];
68
+ getEntries(tag?: string): GameJamEntry[];
69
+ get info(): {
70
+ title: string;
71
+ theme: string;
72
+ active: boolean;
73
+ deadline: number;
74
+ entryCount: number;
75
+ timeRemaining: number;
76
+ };
77
+ endJam(): GameJamEntry[];
78
+ }
79
+ export declare class ShowcaseGallery {
80
+ private projects;
81
+ add(project: ShowcaseProject): void;
82
+ remove(id: string): boolean;
83
+ star(id: string): void;
84
+ getFeatured(count?: number): ShowcaseProject[];
85
+ getByFeature(feature: string): ShowcaseProject[];
86
+ search(query: string): ShowcaseProject[];
87
+ getAll(): ShowcaseProject[];
88
+ }
89
+ export declare const CERTIFICATION_LEVELS: CertificationLevel[];
90
+ export declare function checkCertification(levelId: string, completedRequirements: string[]): {
91
+ eligible: boolean;
92
+ completed: number;
93
+ total: number;
94
+ missing: string[];
95
+ };
96
+ export declare const SECURITY_AUDIT_CHECKLIST: SecurityCheckItem[];
97
+ export declare function runSecurityAudit(checks: SecurityCheckItem[]): {
98
+ passed: number;
99
+ failed: number;
100
+ criticalFailures: SecurityCheckItem[];
101
+ score: number;
102
+ };
103
+ export declare function generateGitHubActionsCI(config: CommunityConfig): string;
104
+ export declare const V2_ROADMAP: RoadmapItem[];
105
+ export declare function getRoadmapByMilestone(milestone: string): RoadmapItem[];
106
+ export declare function getRoadmapProgress(): {
107
+ total: number;
108
+ completed: number;
109
+ inProgress: number;
110
+ planned: number;
111
+ percent: number;
112
+ };
@@ -0,0 +1 @@
1
+ export * from './Community';
@@ -0,0 +1,16 @@
1
+ export type EventHandler<T = unknown> = (data: T) => void;
2
+ export declare class EventBus {
3
+ private handlers;
4
+ /** Subscribe to an event. Returns unsubscribe function. */
5
+ on<T = unknown>(event: string, handler: EventHandler<T>): () => void;
6
+ /** Subscribe once — auto-removes after first call. */
7
+ once<T = unknown>(event: string, handler: EventHandler<T>): () => void;
8
+ /** Unsubscribe from an event. */
9
+ off<T = unknown>(event: string, handler: EventHandler<T>): void;
10
+ /** Emit an event to all subscribers. */
11
+ emit<T = unknown>(event: string, data: T): void;
12
+ /** Remove all handlers for an event, or all events if no arg. */
13
+ clear(event?: string): void;
14
+ /** Check if an event has any listeners. */
15
+ has(event: string): boolean;
16
+ }
@@ -0,0 +1,29 @@
1
+ export declare class GameClock {
2
+ private _startTime;
3
+ private _elapsed;
4
+ private _delta;
5
+ private _frame;
6
+ private _timeScale;
7
+ private _paused;
8
+ private _fixedDelta;
9
+ constructor(fixedFps?: number);
10
+ /** Total elapsed time in seconds (affected by timeScale) */
11
+ get elapsed(): number;
12
+ /** Delta time for current frame in seconds */
13
+ get delta(): number;
14
+ /** Fixed timestep for physics */
15
+ get fixedDelta(): number;
16
+ /** Current frame number */
17
+ get frame(): number;
18
+ /** Time scale multiplier (0 = frozen, 1 = normal, 2 = 2x) */
19
+ get timeScale(): number;
20
+ set timeScale(value: number);
21
+ get paused(): boolean;
22
+ /** Real time since start in seconds (unaffected by timeScale) */
23
+ get realTime(): number;
24
+ /** Called each frame with raw delta */
25
+ tick(rawDelta: number): void;
26
+ pause(): void;
27
+ resume(): void;
28
+ reset(): void;
29
+ }
@@ -0,0 +1,20 @@
1
+ import type { GameSettings, PhysicsSettings, AudioSettings, RenderingSettings, DeepPartial } from './types';
2
+ export declare const DEFAULT_PHYSICS: PhysicsSettings;
3
+ export declare const DEFAULT_AUDIO: AudioSettings;
4
+ export declare const DEFAULT_RENDERING: RenderingSettings;
5
+ export declare const DEFAULT_SETTINGS: GameSettings;
6
+ export declare class GameConfig {
7
+ private _settings;
8
+ constructor(overrides?: DeepPartial<GameSettings>);
9
+ get settings(): Readonly<GameSettings>;
10
+ get width(): number;
11
+ get height(): number;
12
+ get targetFps(): number;
13
+ get maxPlayers(): number;
14
+ get physics(): Readonly<PhysicsSettings>;
15
+ get audio(): Readonly<AudioSettings>;
16
+ get rendering(): Readonly<RenderingSettings>;
17
+ update(overrides: DeepPartial<GameSettings>): void;
18
+ toJSON(): GameSettings;
19
+ static fromJSON(json: GameSettings): GameConfig;
20
+ }