@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,172 @@
1
+ 'use strict';
2
+
3
+ var GameLoop = require('../core/GameLoop.js');
4
+ var GameClock = require('../core/GameClock.js');
5
+ var GameConfig = require('../core/GameConfig.js');
6
+ var EventBus = require('../core/EventBus.js');
7
+ var ServiceLocator = require('../core/ServiceLocator.js');
8
+ var World = require('../ecs/World.js');
9
+ var InputManager = require('../input/InputManager.js');
10
+ var AudioManager = require('../audio/AudioManager.js');
11
+ var Renderer2D = require('../rendering/Renderer2D.js');
12
+ var PhysicsEngine2D = require('../physics/PhysicsEngine2D.js');
13
+ var SceneManager = require('../scene/SceneManager.js');
14
+ var GameUI = require('../ui/GameUI.js');
15
+ var LocalMultiplayer = require('../multiplayer/LocalMultiplayer.js');
16
+
17
+ /* ────────────────────────────────────────────────────────────────
18
+ NiceGameEngine — Main engine class, ties all subsystems together
19
+ ──────────────────────────────────────────────────────────────── */
20
+ class NiceGameEngine {
21
+ constructor(options) {
22
+ var _a;
23
+ // Core
24
+ this.events = new EventBus.EventBus();
25
+ this._state = 'idle';
26
+ this.canvas = options.canvas;
27
+ this._debug = (_a = options.debug) !== null && _a !== void 0 ? _a : false;
28
+ // Config
29
+ this.config = new GameConfig.GameConfig(options.settings);
30
+ const s = this.config.settings;
31
+ // Core
32
+ this.clock = new GameClock.GameClock();
33
+ this.services = new ServiceLocator.ServiceLocator();
34
+ // ECS World
35
+ this.world = new World.World();
36
+ // Input
37
+ this.input = new InputManager.InputManager();
38
+ // Audio
39
+ this.audio = new AudioManager.AudioManager();
40
+ // Rendering
41
+ this.renderer = new Renderer2D.Renderer2D(options.canvas);
42
+ // Physics
43
+ this.physics = new PhysicsEngine2D.PhysicsEngine2D();
44
+ this.physics.gravity = { ...s.physics.gravity };
45
+ // Scene
46
+ this.scenes = new SceneManager.SceneManager();
47
+ // UI
48
+ this.ui = new GameUI.GameUI();
49
+ this.ui.setScreenSize(s.width, s.height);
50
+ // Multiplayer
51
+ this.players = new LocalMultiplayer.PlayerManager(s.maxPlayers);
52
+ this.splitScreen = new LocalMultiplayer.SplitScreenManager();
53
+ this.splitScreen.setCanvasSize(s.width, s.height);
54
+ // Register services
55
+ this.services.register(ServiceLocator.SERVICE_KEYS.EVENT_BUS, this.events);
56
+ this.services.register(ServiceLocator.SERVICE_KEYS.WORLD, this.world);
57
+ this.services.register(ServiceLocator.SERVICE_KEYS.INPUT, this.input);
58
+ this.services.register(ServiceLocator.SERVICE_KEYS.AUDIO, this.audio);
59
+ this.services.register(ServiceLocator.SERVICE_KEYS.RENDERER, this.renderer);
60
+ this.services.register(ServiceLocator.SERVICE_KEYS.CAMERA, this.renderer.camera);
61
+ this.services.register(ServiceLocator.SERVICE_KEYS.SCENE_MANAGER, this.scenes);
62
+ this.services.register(ServiceLocator.SERVICE_KEYS.PLAYER_MANAGER, this.players);
63
+ // Built-in systems
64
+ this.world.addSystem(new PhysicsEngine2D.PhysicsSystem(this.physics));
65
+ this.world.addSystem(new Renderer2D.RenderSystem(this.renderer));
66
+ // Game loop
67
+ this.loop = new GameLoop.GameLoop({
68
+ update: (dt) => this.update(dt),
69
+ fixedUpdate: (fixedDt) => this.fixedUpdate(fixedDt),
70
+ render: (alpha) => this.render(alpha),
71
+ });
72
+ this.loop.fixedTimestep = s.physics.fixedTimestep;
73
+ }
74
+ get state() {
75
+ return this._state;
76
+ }
77
+ get camera() {
78
+ return this.renderer.camera;
79
+ }
80
+ get debug() {
81
+ return this._debug;
82
+ }
83
+ set debug(v) {
84
+ this._debug = v;
85
+ this.renderer.debugDraw = v;
86
+ }
87
+ /* ── Lifecycle ──────────────────────────────────────────────── */
88
+ async start() {
89
+ this._state = 'loading';
90
+ this.events.emit('engine:loading', null);
91
+ // Init input (attaches DOM listeners)
92
+ this.input.attach(this.canvas);
93
+ // Init audio
94
+ await this.audio.init();
95
+ this._state = 'running';
96
+ this.loop.start();
97
+ this.events.emit('engine:started', null);
98
+ }
99
+ stop() {
100
+ this.loop.stop();
101
+ this.input.detach();
102
+ this._state = 'idle';
103
+ this.events.emit('engine:stopped', null);
104
+ }
105
+ pause() {
106
+ if (this._state === 'running') {
107
+ this._state = 'paused';
108
+ this.loop.stop();
109
+ this.clock.pause();
110
+ this.events.emit('engine:paused', null);
111
+ }
112
+ }
113
+ resume() {
114
+ if (this._state === 'paused') {
115
+ this._state = 'running';
116
+ this.clock.resume();
117
+ this.loop.start();
118
+ this.events.emit('engine:resumed', null);
119
+ }
120
+ }
121
+ destroy() {
122
+ this.stop();
123
+ this.world.clear();
124
+ this.ui.clear();
125
+ this.audio.stopAll();
126
+ this.services.clear();
127
+ this.events.clear();
128
+ }
129
+ /** Alias for destroy() — unified cleanup pattern. */
130
+ dispose() {
131
+ this.destroy();
132
+ }
133
+ /* ── Main loops ─────────────────────────────────────────────── */
134
+ update(dt) {
135
+ if (this._state !== 'running')
136
+ return;
137
+ this.clock.tick(dt);
138
+ this.input.update();
139
+ this.scenes.updateTransition(dt);
140
+ this.world.update(dt);
141
+ this.events.emit('engine:update', dt);
142
+ }
143
+ fixedUpdate(fixedDt) {
144
+ if (this._state !== 'running')
145
+ return;
146
+ this.world.fixedUpdate(fixedDt);
147
+ this.events.emit('engine:fixedUpdate', fixedDt);
148
+ }
149
+ render(alpha) {
150
+ const ctx = this.renderer.ctx;
151
+ if (!ctx)
152
+ return;
153
+ const viewports = this.splitScreen.getViewports();
154
+ if (viewports.length <= 1) {
155
+ this.renderer.render(this.world, alpha);
156
+ }
157
+ else {
158
+ for (const vp of viewports) {
159
+ this.splitScreen.applyViewport(ctx, vp);
160
+ this.renderer.render(this.world, alpha);
161
+ this.splitScreen.restoreViewport(ctx);
162
+ }
163
+ this.splitScreen.renderDividers(ctx);
164
+ }
165
+ // UI overlay (always on top, full screen)
166
+ this.ui.render(ctx);
167
+ this.events.emit('engine:render', alpha);
168
+ }
169
+ }
170
+
171
+ exports.NiceGameEngine = NiceGameEngine;
172
+ //# sourceMappingURL=NiceGameEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NiceGameEngine.js","sources":["../../../src/engine/NiceGameEngine.ts"],"sourcesContent":[null],"names":["EventBus","GameConfig","GameClock","ServiceLocator","World","InputManager","AudioManager","Renderer2D","PhysicsEngine2D","SceneManager","GameUI","PlayerManager","SplitScreenManager","SERVICE_KEYS","PhysicsSystem","RenderSystem","GameLoop"],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ 'use strict';
2
+
3
+ /* ────────────────────────────────────────────────────────────────
4
+ EPIC E10 — Enterprise Features
5
+
6
+ White-label editor, self-hosted, LDAP/SSO, audit logs,
7
+ role-based access, custom branding
8
+ ──────────────────────────────────────────────────────────────── */
9
+ const DEFAULT_BRANDING = {
10
+ appName: 'Nice2Dev Game Engine',
11
+ appLogo: '/assets/logo.svg',
12
+ appIcon: '/assets/favicon.ico',
13
+ companyName: 'Nice2Dev',
14
+ primaryColor: '#2563eb',
15
+ secondaryColor: '#1e40af',
16
+ accentColor: '#f59e0b',
17
+ backgroundColor: '#0f172a',
18
+ textColor: '#e2e8f0',
19
+ fontFamily: '"Inter", system-ui, sans-serif',
20
+ borderRadius: 8,
21
+ footerText: '© Nice2Dev',
22
+ };
23
+ function generateCSSVariables(branding) {
24
+ return `:root {
25
+ --brand-primary: ${branding.primaryColor};
26
+ --brand-secondary: ${branding.secondaryColor};
27
+ --brand-accent: ${branding.accentColor};
28
+ --brand-bg: ${branding.backgroundColor};
29
+ --brand-text: ${branding.textColor};
30
+ --brand-font: ${branding.fontFamily};
31
+ --brand-radius: ${branding.borderRadius}px;
32
+ }`;
33
+ }
34
+ const DEFAULT_PASSWORD_POLICY = {
35
+ minLength: 8,
36
+ maxLength: 128,
37
+ requireUppercase: true,
38
+ requireLowercase: true,
39
+ requireDigit: true,
40
+ requireSpecial: false,
41
+ preventReuse: 5,
42
+ expiryDays: 0,
43
+ };
44
+ function validatePassword(password, policy) {
45
+ const errors = [];
46
+ if (password.length < policy.minLength)
47
+ errors.push(`Minimum length: ${policy.minLength}`);
48
+ if (password.length > policy.maxLength)
49
+ errors.push(`Maximum length: ${policy.maxLength}`);
50
+ if (policy.requireUppercase && !/[A-Z]/.test(password))
51
+ errors.push('Requires uppercase letter');
52
+ if (policy.requireLowercase && !/[a-z]/.test(password))
53
+ errors.push('Requires lowercase letter');
54
+ if (policy.requireDigit && !/\d/.test(password))
55
+ errors.push('Requires digit');
56
+ if (policy.requireSpecial && !/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(password))
57
+ errors.push('Requires special character');
58
+ return errors;
59
+ }
60
+ const SYSTEM_ROLES = [
61
+ {
62
+ id: 'admin',
63
+ name: 'Administrator',
64
+ description: 'Full access to all features',
65
+ permissions: ['admin.all'],
66
+ isSystem: true,
67
+ },
68
+ {
69
+ id: 'editor',
70
+ name: 'Editor',
71
+ description: 'Can create and edit projects',
72
+ permissions: [
73
+ 'project.create', 'project.read', 'project.edit',
74
+ 'asset.upload', 'asset.edit',
75
+ 'settings.view', 'api.access',
76
+ ],
77
+ isSystem: true,
78
+ },
79
+ {
80
+ id: 'viewer',
81
+ name: 'Viewer',
82
+ description: 'Read-only access',
83
+ permissions: ['project.read', 'settings.view'],
84
+ isSystem: true,
85
+ },
86
+ {
87
+ id: 'moderator',
88
+ name: 'Moderator',
89
+ description: 'Can moderate content',
90
+ permissions: [
91
+ 'project.read', 'asset.edit', 'asset.delete',
92
+ 'marketplace.moderate', 'audit.view',
93
+ ],
94
+ isSystem: true,
95
+ },
96
+ ];
97
+ function hasPermission(userPermissions, required) {
98
+ if (userPermissions.indexOf('admin.all') !== -1)
99
+ return true;
100
+ return userPermissions.indexOf(required) !== -1;
101
+ }
102
+ function resolveRolePermissions(roleId, allRoles) {
103
+ const role = allRoles.find(r => r.id === roleId);
104
+ if (!role)
105
+ return [];
106
+ const perms = new Set(role.permissions);
107
+ if (role.inherits) {
108
+ for (const inheritId of role.inherits) {
109
+ const inherited = resolveRolePermissions(inheritId, allRoles);
110
+ for (const p of inherited)
111
+ perms.add(p);
112
+ }
113
+ }
114
+ const result = [];
115
+ perms.forEach(p => result.push(p));
116
+ return result;
117
+ }
118
+ class AuditLog {
119
+ constructor(maxEntries = 100000) {
120
+ this.entries = [];
121
+ this.maxEntries = maxEntries;
122
+ }
123
+ log(entry) {
124
+ const full = {
125
+ ...entry,
126
+ id: `audit_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
127
+ timestamp: Date.now(),
128
+ };
129
+ this.entries.push(full);
130
+ if (this.entries.length > this.maxEntries) {
131
+ this.entries.shift();
132
+ }
133
+ return full;
134
+ }
135
+ query(q) {
136
+ let filtered = this.entries;
137
+ if (q.userId)
138
+ filtered = filtered.filter(e => e.userId === q.userId);
139
+ if (q.action)
140
+ filtered = filtered.filter(e => e.action === q.action);
141
+ if (q.resourceType)
142
+ filtered = filtered.filter(e => e.resourceType === q.resourceType);
143
+ if (q.resourceId)
144
+ filtered = filtered.filter(e => e.resourceId === q.resourceId);
145
+ if (q.severity)
146
+ filtered = filtered.filter(e => e.severity === q.severity);
147
+ if (q.startDate)
148
+ filtered = filtered.filter(e => e.timestamp >= q.startDate);
149
+ if (q.endDate)
150
+ filtered = filtered.filter(e => e.timestamp <= q.endDate);
151
+ const total = filtered.length;
152
+ const start = (q.page - 1) * q.pageSize;
153
+ const paged = filtered.slice(start, start + q.pageSize);
154
+ return { entries: paged, total };
155
+ }
156
+ getRecent(count) {
157
+ return this.entries.slice(-count);
158
+ }
159
+ getFailedLogins(since) {
160
+ return this.entries.filter(e => e.action === 'login_failed' && e.timestamp >= since);
161
+ }
162
+ clear() {
163
+ this.entries.length = 0;
164
+ }
165
+ }
166
+ const PLAN_LIMITS = {
167
+ free: {
168
+ maxProjects: 3, maxMembers: 3, maxStorageGB: 1,
169
+ customDomain: false, ssoEnabled: false, apiAccess: false,
170
+ prioritySupport: false, sla: 'none', dataRetentionDays: 30,
171
+ },
172
+ starter: {
173
+ maxProjects: 10, maxMembers: 10, maxStorageGB: 10,
174
+ customDomain: false, ssoEnabled: false, apiAccess: true,
175
+ prioritySupport: false, sla: 'none', dataRetentionDays: 90,
176
+ },
177
+ professional: {
178
+ maxProjects: 50, maxMembers: 50, maxStorageGB: 100,
179
+ customDomain: true, ssoEnabled: true, apiAccess: true,
180
+ prioritySupport: true, sla: '99.9%', dataRetentionDays: 365,
181
+ },
182
+ enterprise: {
183
+ maxProjects: -1, maxMembers: -1, maxStorageGB: -1,
184
+ customDomain: true, ssoEnabled: true, apiAccess: true,
185
+ prioritySupport: true, sla: '99.99%', dataRetentionDays: -1,
186
+ },
187
+ };
188
+ const DEFAULT_RATE_LIMITS = {
189
+ standard: {
190
+ windowMs: 60000,
191
+ maxRequests: 100,
192
+ burstLimit: 20,
193
+ slowDownAfter: 80,
194
+ slowDownDelay: 500,
195
+ },
196
+ premium: {
197
+ windowMs: 60000,
198
+ maxRequests: 1000,
199
+ burstLimit: 100,
200
+ slowDownAfter: 800,
201
+ slowDownDelay: 100,
202
+ },
203
+ enterprise: {
204
+ windowMs: 60000,
205
+ maxRequests: 10000,
206
+ burstLimit: 500,
207
+ slowDownAfter: 8000,
208
+ slowDownDelay: 50,
209
+ },
210
+ };
211
+ class RateLimiter {
212
+ constructor(config) {
213
+ this.windows = new Map();
214
+ this.config = config;
215
+ }
216
+ tryConsume(key) {
217
+ const now = Date.now();
218
+ let window = this.windows.get(key);
219
+ if (!window || now > window.resetAt) {
220
+ window = { count: 0, resetAt: now + this.config.windowMs };
221
+ this.windows.set(key, window);
222
+ }
223
+ if (window.count >= this.config.maxRequests) {
224
+ return {
225
+ allowed: false,
226
+ remaining: 0,
227
+ retryAfter: window.resetAt - now,
228
+ };
229
+ }
230
+ window.count++;
231
+ return {
232
+ allowed: true,
233
+ remaining: this.config.maxRequests - window.count,
234
+ };
235
+ }
236
+ getRemainingRequests(key) {
237
+ const window = this.windows.get(key);
238
+ if (!window || Date.now() > window.resetAt)
239
+ return this.config.maxRequests;
240
+ return Math.max(0, this.config.maxRequests - window.count);
241
+ }
242
+ reset(key) {
243
+ this.windows.delete(key);
244
+ }
245
+ }
246
+
247
+ exports.AuditLog = AuditLog;
248
+ exports.DEFAULT_BRANDING = DEFAULT_BRANDING;
249
+ exports.DEFAULT_PASSWORD_POLICY = DEFAULT_PASSWORD_POLICY;
250
+ exports.DEFAULT_RATE_LIMITS = DEFAULT_RATE_LIMITS;
251
+ exports.PLAN_LIMITS = PLAN_LIMITS;
252
+ exports.RateLimiter = RateLimiter;
253
+ exports.SYSTEM_ROLES = SYSTEM_ROLES;
254
+ exports.generateCSSVariables = generateCSSVariables;
255
+ exports.hasPermission = hasPermission;
256
+ exports.resolveRolePermissions = resolveRolePermissions;
257
+ exports.validatePassword = validatePassword;
258
+ //# sourceMappingURL=Enterprise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Enterprise.js","sources":["../../../src/enterprise/Enterprise.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}