@nice2dev/game-engine 1.0.4 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (721) hide show
  1. package/dist/cjs/accessibility/Accessibility.js +55 -20
  2. package/dist/cjs/accessibility/Accessibility.js.map +1 -1
  3. package/dist/cjs/ai/AI.js +74 -40
  4. package/dist/cjs/ai/AI.js.map +1 -1
  5. package/dist/cjs/ai/BehaviorTree.js +39 -47
  6. package/dist/cjs/ai/BehaviorTree.js.map +1 -1
  7. package/dist/cjs/ai/StateMachine.js +64 -100
  8. package/dist/cjs/ai/StateMachine.js.map +1 -1
  9. package/dist/cjs/animation/Animation.js +58 -34
  10. package/dist/cjs/animation/Animation.js.map +1 -1
  11. package/dist/cjs/audio/AudioAdvanced.js +71 -37
  12. package/dist/cjs/audio/AudioAdvanced.js.map +1 -1
  13. package/dist/cjs/audio/AudioBridge.js +61 -49
  14. package/dist/cjs/audio/AudioBridge.js.map +1 -1
  15. package/dist/cjs/audio/AudioManager.js +45 -29
  16. package/dist/cjs/audio/AudioManager.js.map +1 -1
  17. package/dist/cjs/build-cloud/BuildOrchestration.js +1142 -0
  18. package/dist/cjs/build-cloud/BuildOrchestration.js.map +1 -0
  19. package/dist/cjs/build-cloud/GodotBuildCloud.js +722 -0
  20. package/dist/cjs/build-cloud/GodotBuildCloud.js.map +1 -0
  21. package/dist/cjs/build-cloud/UnityBuildCloud.js +652 -0
  22. package/dist/cjs/build-cloud/UnityBuildCloud.js.map +1 -0
  23. package/dist/cjs/build-cloud/UnrealBuildCloud.js +674 -0
  24. package/dist/cjs/build-cloud/UnrealBuildCloud.js.map +1 -0
  25. package/dist/cjs/core/EventBus.js +2 -1
  26. package/dist/cjs/core/EventBus.js.map +1 -1
  27. package/dist/cjs/core/GameConfig.js +1 -1
  28. package/dist/cjs/core/GameConfig.js.map +1 -1
  29. package/dist/cjs/core/GameLoop.js +6 -3
  30. package/dist/cjs/core/GameLoop.js.map +1 -1
  31. package/dist/cjs/core/ServiceLocator.js +1 -2
  32. package/dist/cjs/core/ServiceLocator.js.map +1 -1
  33. package/dist/cjs/devtools/DevTools.js +73 -43
  34. package/dist/cjs/devtools/DevTools.js.map +1 -1
  35. package/dist/cjs/devtools/DeveloperExperience.js +84 -42
  36. package/dist/cjs/devtools/DeveloperExperience.js.map +1 -1
  37. package/dist/cjs/devtools/GameplayAnalytics.js +71 -43
  38. package/dist/cjs/devtools/GameplayAnalytics.js.map +1 -1
  39. package/dist/cjs/dialogue/DialogueSystem.js +153 -129
  40. package/dist/cjs/dialogue/DialogueSystem.js.map +1 -1
  41. package/dist/cjs/docs/DocGenerator.js +70 -28
  42. package/dist/cjs/docs/DocGenerator.js.map +1 -1
  43. package/dist/cjs/ecs/World.js +159 -33
  44. package/dist/cjs/ecs/World.js.map +1 -1
  45. package/dist/cjs/editor/AchievementEditor.js +650 -0
  46. package/dist/cjs/editor/AchievementEditor.js.map +1 -0
  47. package/dist/cjs/editor/AdvancedEditor.js +95 -23
  48. package/dist/cjs/editor/AdvancedEditor.js.map +1 -1
  49. package/dist/cjs/editor/AnimationRetargeting.js +742 -0
  50. package/dist/cjs/editor/AnimationRetargeting.js.map +1 -0
  51. package/dist/cjs/editor/AssetBrowser.js +1191 -0
  52. package/dist/cjs/editor/AssetBrowser.js.map +1 -0
  53. package/dist/cjs/editor/AssetManager.js +22 -14
  54. package/dist/cjs/editor/AssetManager.js.map +1 -1
  55. package/dist/cjs/editor/ConsolePro.js +1092 -0
  56. package/dist/cjs/editor/ConsolePro.js.map +1 -0
  57. package/dist/cjs/editor/CraftingEditor.js +749 -0
  58. package/dist/cjs/editor/CraftingEditor.js.map +1 -0
  59. package/dist/cjs/editor/DebugTools.js +46 -23
  60. package/dist/cjs/editor/DebugTools.js.map +1 -1
  61. package/dist/cjs/editor/DialogueSystem.js +924 -0
  62. package/dist/cjs/editor/DialogueSystem.js.map +1 -0
  63. package/dist/cjs/editor/LeaderboardSystem.js +496 -0
  64. package/dist/cjs/editor/LeaderboardSystem.js.map +1 -0
  65. package/dist/cjs/editor/NiceGameEditor.js +532 -142
  66. package/dist/cjs/editor/NiceGameEditor.js.map +1 -1
  67. package/dist/cjs/editor/PrefabSystem.js +864 -0
  68. package/dist/cjs/editor/PrefabSystem.js.map +1 -0
  69. package/dist/cjs/editor/ProfilerPanel.js +716 -0
  70. package/dist/cjs/editor/ProfilerPanel.js.map +1 -0
  71. package/dist/cjs/editor/QuestEditor.js +850 -0
  72. package/dist/cjs/editor/QuestEditor.js.map +1 -0
  73. package/dist/cjs/editor/ReplaySystem.js +655 -0
  74. package/dist/cjs/editor/ReplaySystem.js.map +1 -0
  75. package/dist/cjs/editor/SceneEditor.js +33 -13
  76. package/dist/cjs/editor/SceneEditor.js.map +1 -1
  77. package/dist/cjs/editor/ScreenshotMode.js +710 -0
  78. package/dist/cjs/editor/ScreenshotMode.js.map +1 -0
  79. package/dist/cjs/editor/ShaderGraph.js +7 -6
  80. package/dist/cjs/editor/ShaderGraph.js.map +1 -1
  81. package/dist/cjs/editor/TimelineEditor.js +36 -30
  82. package/dist/cjs/editor/TimelineEditor.js.map +1 -1
  83. package/dist/cjs/editor/UndoRedoPro.js +920 -0
  84. package/dist/cjs/editor/UndoRedoPro.js.map +1 -0
  85. package/dist/cjs/editor/VRARMode.js +658 -0
  86. package/dist/cjs/editor/VRARMode.js.map +1 -0
  87. package/dist/cjs/engine/NiceGameEngine.js +12 -10
  88. package/dist/cjs/engine/NiceGameEngine.js.map +1 -1
  89. package/dist/cjs/engine/SaveSystemV2.js +73 -37
  90. package/dist/cjs/engine/SaveSystemV2.js.map +1 -1
  91. package/dist/cjs/enterprise/Enterprise.js +92 -44
  92. package/dist/cjs/enterprise/Enterprise.js.map +1 -1
  93. package/dist/cjs/export/BevyExporter.js +998 -0
  94. package/dist/cjs/export/BevyExporter.js.map +1 -0
  95. package/dist/cjs/export/CocosExporter.js +706 -0
  96. package/dist/cjs/export/CocosExporter.js.map +1 -0
  97. package/dist/cjs/export/Construct3Exporter.js +832 -0
  98. package/dist/cjs/export/Construct3Exporter.js.map +1 -0
  99. package/dist/cjs/export/DefoldExporter.js +1106 -0
  100. package/dist/cjs/export/DefoldExporter.js.map +1 -0
  101. package/dist/cjs/export/GDevelopExporter.js +748 -0
  102. package/dist/cjs/export/GDevelopExporter.js.map +1 -0
  103. package/dist/cjs/export/GameMakerExporter.js +846 -0
  104. package/dist/cjs/export/GameMakerExporter.js.map +1 -0
  105. package/dist/cjs/export/GodotExporter.js +45 -50
  106. package/dist/cjs/export/GodotExporter.js.map +1 -1
  107. package/dist/cjs/export/MinecraftBedrockExporter.js +606 -0
  108. package/dist/cjs/export/MinecraftBedrockExporter.js.map +1 -0
  109. package/dist/cjs/export/MonoGameExporter.js +1334 -0
  110. package/dist/cjs/export/MonoGameExporter.js.map +1 -0
  111. package/dist/cjs/export/Pico8Exporter.js +846 -0
  112. package/dist/cjs/export/Pico8Exporter.js.map +1 -0
  113. package/dist/cjs/export/PlatformExporter.js +4 -5
  114. package/dist/cjs/export/PlatformExporter.js.map +1 -1
  115. package/dist/cjs/export/RPGMakerExporter.js +906 -0
  116. package/dist/cjs/export/RPGMakerExporter.js.map +1 -0
  117. package/dist/cjs/export/RobloxExporter.js +943 -0
  118. package/dist/cjs/export/RobloxExporter.js.map +1 -0
  119. package/dist/cjs/export/Solar2DExporter.js +1283 -0
  120. package/dist/cjs/export/Solar2DExporter.js.map +1 -0
  121. package/dist/cjs/export/ThreeJSExporter.js +52 -55
  122. package/dist/cjs/export/ThreeJSExporter.js.map +1 -1
  123. package/dist/cjs/export/Tic80Exporter.js +1315 -0
  124. package/dist/cjs/export/Tic80Exporter.js.map +1 -0
  125. package/dist/cjs/export/UnityExporter.js +41 -56
  126. package/dist/cjs/export/UnityExporter.js.map +1 -1
  127. package/dist/cjs/export/UnrealExporter.js +962 -0
  128. package/dist/cjs/export/UnrealExporter.js.map +1 -0
  129. package/dist/cjs/export/WebExporter.js +42 -50
  130. package/dist/cjs/export/WebExporter.js.map +1 -1
  131. package/dist/cjs/export/index.js +50 -2
  132. package/dist/cjs/export/index.js.map +1 -1
  133. package/dist/cjs/godot-integration/GodotAssetLibrary.js +716 -0
  134. package/dist/cjs/godot-integration/GodotAssetLibrary.js.map +1 -0
  135. package/dist/cjs/godot-integration/GodotImport.js +1069 -0
  136. package/dist/cjs/godot-integration/GodotImport.js.map +1 -0
  137. package/dist/cjs/godot-integration/GodotLiveLink.js +962 -0
  138. package/dist/cjs/godot-integration/GodotLiveLink.js.map +1 -0
  139. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +668 -0
  140. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js.map +1 -0
  141. package/dist/cjs/i18n/I18n.js +56 -30
  142. package/dist/cjs/i18n/I18n.js.map +1 -1
  143. package/dist/cjs/i18n/useTranslation.js +4 -4
  144. package/dist/cjs/i18n/useTranslation.js.map +1 -1
  145. package/dist/cjs/import/AsepriteImporter.js +15 -19
  146. package/dist/cjs/import/AsepriteImporter.js.map +1 -1
  147. package/dist/cjs/import/DragonBonesImporter.js +36 -40
  148. package/dist/cjs/import/DragonBonesImporter.js.map +1 -1
  149. package/dist/cjs/import/GameMakerImporter.js +11 -17
  150. package/dist/cjs/import/GameMakerImporter.js.map +1 -1
  151. package/dist/cjs/import/GodotSceneImporter.js +43 -29
  152. package/dist/cjs/import/GodotSceneImporter.js.map +1 -1
  153. package/dist/cjs/import/LDtkImporter.js +16 -17
  154. package/dist/cjs/import/LDtkImporter.js.map +1 -1
  155. package/dist/cjs/import/Live2DImporter.js +16 -19
  156. package/dist/cjs/import/Live2DImporter.js.map +1 -1
  157. package/dist/cjs/import/NdgFormat.js +28 -35
  158. package/dist/cjs/import/NdgFormat.js.map +1 -1
  159. package/dist/cjs/import/OgmoImporter.js +16 -18
  160. package/dist/cjs/import/OgmoImporter.js.map +1 -1
  161. package/dist/cjs/import/RPGMakerImporter.js +5 -6
  162. package/dist/cjs/import/RPGMakerImporter.js.map +1 -1
  163. package/dist/cjs/import/SceneImporter.js +23 -13
  164. package/dist/cjs/import/SceneImporter.js.map +1 -1
  165. package/dist/cjs/import/SpineImporter.js +20 -20
  166. package/dist/cjs/import/SpineImporter.js.map +1 -1
  167. package/dist/cjs/import/SpriterImporter.js +38 -46
  168. package/dist/cjs/import/SpriterImporter.js.map +1 -1
  169. package/dist/cjs/import/TiledMapImporter.js +20 -24
  170. package/dist/cjs/import/TiledMapImporter.js.map +1 -1
  171. package/dist/cjs/import/UnitySceneImporter.js +15 -15
  172. package/dist/cjs/import/UnitySceneImporter.js.map +1 -1
  173. package/dist/cjs/index.js +516 -4
  174. package/dist/cjs/index.js.map +1 -1
  175. package/dist/cjs/input/GamepadNavigation.js +82 -47
  176. package/dist/cjs/input/GamepadNavigation.js.map +1 -1
  177. package/dist/cjs/input/InputManager.js +107 -52
  178. package/dist/cjs/input/InputManager.js.map +1 -1
  179. package/dist/cjs/input/useGamepads.js +35 -29
  180. package/dist/cjs/input/useGamepads.js.map +1 -1
  181. package/dist/cjs/integration/IconSprite.js +39 -21
  182. package/dist/cjs/integration/IconSprite.js.map +1 -1
  183. package/dist/cjs/inventory/InventorySystem.js +218 -127
  184. package/dist/cjs/inventory/InventorySystem.js.map +1 -1
  185. package/dist/cjs/kids/KidMode.js +491 -78
  186. package/dist/cjs/kids/KidMode.js.map +1 -1
  187. package/dist/cjs/kids/KidTools.js +154 -48
  188. package/dist/cjs/kids/KidTools.js.map +1 -1
  189. package/dist/cjs/monetization/Monetization.js +47 -35
  190. package/dist/cjs/monetization/Monetization.js.map +1 -1
  191. package/dist/cjs/multiplayer/LocalMultiplayer.js +48 -26
  192. package/dist/cjs/multiplayer/LocalMultiplayer.js.map +1 -1
  193. package/dist/cjs/multiplayer/MiniGameTypes.js +23 -10
  194. package/dist/cjs/multiplayer/MiniGameTypes.js.map +1 -1
  195. package/dist/cjs/native-engine/AssetPipeline.js +540 -0
  196. package/dist/cjs/native-engine/AssetPipeline.js.map +1 -0
  197. package/dist/cjs/native-engine/AudioEngine.js +825 -0
  198. package/dist/cjs/native-engine/AudioEngine.js.map +1 -0
  199. package/dist/cjs/native-engine/InputSystem.js +1175 -0
  200. package/dist/cjs/native-engine/InputSystem.js.map +1 -0
  201. package/dist/cjs/native-engine/NetworkingSystem.js +825 -0
  202. package/dist/cjs/native-engine/NetworkingSystem.js.map +1 -0
  203. package/dist/cjs/native-engine/PhysicsEngine.js +622 -0
  204. package/dist/cjs/native-engine/PhysicsEngine.js.map +1 -0
  205. package/dist/cjs/native-engine/RenderingEngine.js +371 -0
  206. package/dist/cjs/native-engine/RenderingEngine.js.map +1 -0
  207. package/dist/cjs/native-engine/SceneGraph.js +862 -0
  208. package/dist/cjs/native-engine/SceneGraph.js.map +1 -0
  209. package/dist/cjs/network/MultiplayerTransport.js +63 -33
  210. package/dist/cjs/network/MultiplayerTransport.js.map +1 -1
  211. package/dist/cjs/network/Networking.js +87 -62
  212. package/dist/cjs/network/Networking.js.map +1 -1
  213. package/dist/cjs/pathfinding/Pathfinding.js +71 -26
  214. package/dist/cjs/pathfinding/Pathfinding.js.map +1 -1
  215. package/dist/cjs/performance/AssetStreaming.js +656 -0
  216. package/dist/cjs/performance/AssetStreaming.js.map +1 -0
  217. package/dist/cjs/performance/BenchmarkSuite.js +37 -24
  218. package/dist/cjs/performance/BenchmarkSuite.js.map +1 -1
  219. package/dist/cjs/performance/DeltaCompression.js +566 -0
  220. package/dist/cjs/performance/DeltaCompression.js.map +1 -0
  221. package/dist/cjs/performance/DeterministicPhysics.js +603 -0
  222. package/dist/cjs/performance/DeterministicPhysics.js.map +1 -0
  223. package/dist/cjs/performance/ECSOptimization.js +726 -0
  224. package/dist/cjs/performance/ECSOptimization.js.map +1 -0
  225. package/dist/cjs/performance/HotReload.js +525 -0
  226. package/dist/cjs/performance/HotReload.js.map +1 -0
  227. package/dist/cjs/performance/InputRecording.js +590 -0
  228. package/dist/cjs/performance/InputRecording.js.map +1 -0
  229. package/dist/cjs/performance/InterestManagement.js +532 -0
  230. package/dist/cjs/performance/InterestManagement.js.map +1 -0
  231. package/dist/cjs/performance/LocalizationRuntime.js +472 -0
  232. package/dist/cjs/performance/LocalizationRuntime.js.map +1 -0
  233. package/dist/cjs/performance/MemoryManagement.js +487 -0
  234. package/dist/cjs/performance/MemoryManagement.js.map +1 -0
  235. package/dist/cjs/performance/ModSupport.js +531 -0
  236. package/dist/cjs/performance/ModSupport.js.map +1 -0
  237. package/dist/cjs/performance/MultiThreadedPhysics.js +500 -0
  238. package/dist/cjs/performance/MultiThreadedPhysics.js.map +1 -0
  239. package/dist/cjs/performance/NetworkPrediction.js +521 -0
  240. package/dist/cjs/performance/NetworkPrediction.js.map +1 -0
  241. package/dist/cjs/performance/ObjectPooling.js +653 -0
  242. package/dist/cjs/performance/ObjectPooling.js.map +1 -0
  243. package/dist/cjs/performance/Performance.js +64 -25
  244. package/dist/cjs/performance/Performance.js.map +1 -1
  245. package/dist/cjs/performance/PerformanceAdvanced.js +83 -49
  246. package/dist/cjs/performance/PerformanceAdvanced.js.map +1 -1
  247. package/dist/cjs/performance/SaveSystem.js +574 -0
  248. package/dist/cjs/performance/SaveSystem.js.map +1 -0
  249. package/dist/cjs/performance/WebGPURenderer.js +702 -0
  250. package/dist/cjs/performance/WebGPURenderer.js.map +1 -0
  251. package/dist/cjs/physics/PhysicsAdvanced.js +32 -20
  252. package/dist/cjs/physics/PhysicsAdvanced.js.map +1 -1
  253. package/dist/cjs/physics/PhysicsEngine2D.js +63 -36
  254. package/dist/cjs/physics/PhysicsEngine2D.js.map +1 -1
  255. package/dist/cjs/plugins/PluginSDK.js +46 -34
  256. package/dist/cjs/plugins/PluginSDK.js.map +1 -1
  257. package/dist/cjs/plugins/PluginTestKit.js +28 -29
  258. package/dist/cjs/plugins/PluginTestKit.js.map +1 -1
  259. package/dist/cjs/procedural/Procedural.js +24 -17
  260. package/dist/cjs/procedural/Procedural.js.map +1 -1
  261. package/dist/cjs/procedural/WorldBuilding.js +187 -55
  262. package/dist/cjs/procedural/WorldBuilding.js.map +1 -1
  263. package/dist/cjs/quest/QuestSystem.js +145 -111
  264. package/dist/cjs/quest/QuestSystem.js.map +1 -1
  265. package/dist/cjs/release/Release.js +142 -31
  266. package/dist/cjs/release/Release.js.map +1 -1
  267. package/dist/cjs/rendering/Camera2D.js +12 -7
  268. package/dist/cjs/rendering/Camera2D.js.map +1 -1
  269. package/dist/cjs/rendering/Renderer2D.js +62 -26
  270. package/dist/cjs/rendering/Renderer2D.js.map +1 -1
  271. package/dist/cjs/rendering/WebGPURenderPipeline.js +60 -31
  272. package/dist/cjs/rendering/WebGPURenderPipeline.js.map +1 -1
  273. package/dist/cjs/runtime3d/Runtime3D.js +80 -55
  274. package/dist/cjs/runtime3d/Runtime3D.js.map +1 -1
  275. package/dist/cjs/runtime3d/SceneEditor3D.js +20 -11
  276. package/dist/cjs/runtime3d/SceneEditor3D.js.map +1 -1
  277. package/dist/cjs/scene/SceneManager.js +26 -12
  278. package/dist/cjs/scene/SceneManager.js.map +1 -1
  279. package/dist/cjs/scripting/GraphToAST.js +36 -24
  280. package/dist/cjs/scripting/GraphToAST.js.map +1 -1
  281. package/dist/cjs/scripting/LanguageExporter.js +2 -3
  282. package/dist/cjs/scripting/LanguageExporter.js.map +1 -1
  283. package/dist/cjs/scripting/NodeGraph.js +49 -32
  284. package/dist/cjs/scripting/NodeGraph.js.map +1 -1
  285. package/dist/cjs/scripting/ScriptAST.js +19 -6
  286. package/dist/cjs/scripting/ScriptAST.js.map +1 -1
  287. package/dist/cjs/scripting/VisualScripting2.js +13 -12
  288. package/dist/cjs/scripting/VisualScripting2.js.map +1 -1
  289. package/dist/cjs/scripting/exporters/CSharpExporter.js +16 -16
  290. package/dist/cjs/scripting/exporters/CSharpExporter.js.map +1 -1
  291. package/dist/cjs/scripting/exporters/GDScriptExporter.js +3 -6
  292. package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +1 -1
  293. package/dist/cjs/scripting/exporters/LuaExporter.js +5 -9
  294. package/dist/cjs/scripting/exporters/LuaExporter.js.map +1 -1
  295. package/dist/cjs/scripting/exporters/PythonExporter.js +7 -13
  296. package/dist/cjs/scripting/exporters/PythonExporter.js.map +1 -1
  297. package/dist/cjs/scripting/exporters/RustExporter.js +7 -14
  298. package/dist/cjs/scripting/exporters/RustExporter.js.map +1 -1
  299. package/dist/cjs/scripting/exporters/TypeScriptExporter.js +28 -29
  300. package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +1 -1
  301. package/dist/cjs/social/Social.js +27 -20
  302. package/dist/cjs/social/Social.js.map +1 -1
  303. package/dist/cjs/systems/LightingSystem.js +980 -0
  304. package/dist/cjs/systems/LightingSystem.js.map +1 -0
  305. package/dist/cjs/systems/ParticleSystem2.js +34 -17
  306. package/dist/cjs/systems/ParticleSystem2.js.map +1 -1
  307. package/dist/cjs/systems/PhysicsDebugSystem.js +1228 -0
  308. package/dist/cjs/systems/PhysicsDebugSystem.js.map +1 -0
  309. package/dist/cjs/systems/TerrainSystem.js +1137 -0
  310. package/dist/cjs/systems/TerrainSystem.js.map +1 -0
  311. package/dist/cjs/templates/ActionTemplates.js +144 -24
  312. package/dist/cjs/templates/ActionTemplates.js.map +1 -1
  313. package/dist/cjs/templates/FightingTemplate.js +536 -0
  314. package/dist/cjs/templates/FightingTemplate.js.map +1 -0
  315. package/dist/cjs/templates/MetroidvaniaTemplate.js +523 -0
  316. package/dist/cjs/templates/MetroidvaniaTemplate.js.map +1 -0
  317. package/dist/cjs/templates/PartyTemplates.js +60 -28
  318. package/dist/cjs/templates/PartyTemplates.js.map +1 -1
  319. package/dist/cjs/templates/PuzzleTemplates.js +63 -22
  320. package/dist/cjs/templates/PuzzleTemplates.js.map +1 -1
  321. package/dist/cjs/templates/RPGTemplates.js +29 -15
  322. package/dist/cjs/templates/RPGTemplates.js.map +1 -1
  323. package/dist/cjs/templates/SportsTemplates.js +41 -17
  324. package/dist/cjs/templates/SportsTemplates.js.map +1 -1
  325. package/dist/cjs/templates/StrategyTemplates.js +45 -18
  326. package/dist/cjs/templates/StrategyTemplates.js.map +1 -1
  327. package/dist/cjs/templates/SurvivalTemplate.js +479 -0
  328. package/dist/cjs/templates/SurvivalTemplate.js.map +1 -0
  329. package/dist/cjs/templates/WaveDefense.js +139 -52
  330. package/dist/cjs/templates/WaveDefense.js.map +1 -1
  331. package/dist/cjs/tilemap/Tilemap.js +48 -32
  332. package/dist/cjs/tilemap/Tilemap.js.map +1 -1
  333. package/dist/cjs/tutorials/TutorialBranching.js +111 -42
  334. package/dist/cjs/tutorials/TutorialBranching.js.map +1 -1
  335. package/dist/cjs/tutorials/TutorialEngine.js +152 -80
  336. package/dist/cjs/tutorials/TutorialEngine.js.map +1 -1
  337. package/dist/cjs/tutorials/TutorialOverlay.js +117 -40
  338. package/dist/cjs/tutorials/TutorialOverlay.js.map +1 -1
  339. package/dist/cjs/ui/GameUI.js +69 -42
  340. package/dist/cjs/ui/GameUI.js.map +1 -1
  341. package/dist/cjs/unity-integration/UnityAssetStore.js +754 -0
  342. package/dist/cjs/unity-integration/UnityAssetStore.js.map +1 -0
  343. package/dist/cjs/unity-integration/UnityImport.js +1252 -0
  344. package/dist/cjs/unity-integration/UnityImport.js.map +1 -0
  345. package/dist/cjs/unity-integration/UnityLiveLink.js +1022 -0
  346. package/dist/cjs/unity-integration/UnityLiveLink.js.map +1 -0
  347. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +796 -0
  348. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js.map +1 -0
  349. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +833 -0
  350. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js.map +1 -0
  351. package/dist/cjs/unreal-integration/UnrealImport.js +442 -0
  352. package/dist/cjs/unreal-integration/UnrealImport.js.map +1 -0
  353. package/dist/cjs/unreal-integration/UnrealLiveLink.js +1186 -0
  354. package/dist/cjs/unreal-integration/UnrealLiveLink.js.map +1 -0
  355. package/dist/cjs/unreal-integration/UnrealMarketplace.js +497 -0
  356. package/dist/cjs/unreal-integration/UnrealMarketplace.js.map +1 -0
  357. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +835 -0
  358. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js.map +1 -0
  359. package/dist/cjs/xr/ARVR.js +32 -9
  360. package/dist/cjs/xr/ARVR.js.map +1 -1
  361. package/dist/esm/accessibility/Accessibility.js +55 -20
  362. package/dist/esm/accessibility/Accessibility.js.map +1 -1
  363. package/dist/esm/ai/AI.js +74 -40
  364. package/dist/esm/ai/AI.js.map +1 -1
  365. package/dist/esm/ai/BehaviorTree.js +39 -47
  366. package/dist/esm/ai/BehaviorTree.js.map +1 -1
  367. package/dist/esm/ai/StateMachine.js +65 -99
  368. package/dist/esm/ai/StateMachine.js.map +1 -1
  369. package/dist/esm/animation/Animation.js +58 -34
  370. package/dist/esm/animation/Animation.js.map +1 -1
  371. package/dist/esm/audio/AudioAdvanced.js +71 -37
  372. package/dist/esm/audio/AudioAdvanced.js.map +1 -1
  373. package/dist/esm/audio/AudioBridge.js +61 -49
  374. package/dist/esm/audio/AudioBridge.js.map +1 -1
  375. package/dist/esm/audio/AudioManager.js +45 -29
  376. package/dist/esm/audio/AudioManager.js.map +1 -1
  377. package/dist/esm/build-cloud/BuildOrchestration.js +1129 -0
  378. package/dist/esm/build-cloud/BuildOrchestration.js.map +1 -0
  379. package/dist/esm/build-cloud/GodotBuildCloud.js +715 -0
  380. package/dist/esm/build-cloud/GodotBuildCloud.js.map +1 -0
  381. package/dist/esm/build-cloud/UnityBuildCloud.js +643 -0
  382. package/dist/esm/build-cloud/UnityBuildCloud.js.map +1 -0
  383. package/dist/esm/build-cloud/UnrealBuildCloud.js +668 -0
  384. package/dist/esm/build-cloud/UnrealBuildCloud.js.map +1 -0
  385. package/dist/esm/core/EventBus.js +2 -1
  386. package/dist/esm/core/EventBus.js.map +1 -1
  387. package/dist/esm/core/GameConfig.js +1 -1
  388. package/dist/esm/core/GameConfig.js.map +1 -1
  389. package/dist/esm/core/GameLoop.js +6 -3
  390. package/dist/esm/core/GameLoop.js.map +1 -1
  391. package/dist/esm/core/ServiceLocator.js +1 -2
  392. package/dist/esm/core/ServiceLocator.js.map +1 -1
  393. package/dist/esm/devtools/DevTools.js +73 -43
  394. package/dist/esm/devtools/DevTools.js.map +1 -1
  395. package/dist/esm/devtools/DeveloperExperience.js +84 -42
  396. package/dist/esm/devtools/DeveloperExperience.js.map +1 -1
  397. package/dist/esm/devtools/GameplayAnalytics.js +71 -43
  398. package/dist/esm/devtools/GameplayAnalytics.js.map +1 -1
  399. package/dist/esm/dialogue/DialogueSystem.js +153 -129
  400. package/dist/esm/dialogue/DialogueSystem.js.map +1 -1
  401. package/dist/esm/docs/DocGenerator.js +70 -28
  402. package/dist/esm/docs/DocGenerator.js.map +1 -1
  403. package/dist/esm/ecs/World.js +159 -33
  404. package/dist/esm/ecs/World.js.map +1 -1
  405. package/dist/esm/editor/AchievementEditor.js +645 -0
  406. package/dist/esm/editor/AchievementEditor.js.map +1 -0
  407. package/dist/esm/editor/AdvancedEditor.js +95 -23
  408. package/dist/esm/editor/AdvancedEditor.js.map +1 -1
  409. package/dist/esm/editor/AnimationRetargeting.js +738 -0
  410. package/dist/esm/editor/AnimationRetargeting.js.map +1 -0
  411. package/dist/esm/editor/AssetBrowser.js +1184 -0
  412. package/dist/esm/editor/AssetBrowser.js.map +1 -0
  413. package/dist/esm/editor/AssetManager.js +22 -14
  414. package/dist/esm/editor/AssetManager.js.map +1 -1
  415. package/dist/esm/editor/ConsolePro.js +1085 -0
  416. package/dist/esm/editor/ConsolePro.js.map +1 -0
  417. package/dist/esm/editor/CraftingEditor.js +744 -0
  418. package/dist/esm/editor/CraftingEditor.js.map +1 -0
  419. package/dist/esm/editor/DebugTools.js +46 -23
  420. package/dist/esm/editor/DebugTools.js.map +1 -1
  421. package/dist/esm/editor/DialogueSystem.js +918 -0
  422. package/dist/esm/editor/DialogueSystem.js.map +1 -0
  423. package/dist/esm/editor/LeaderboardSystem.js +491 -0
  424. package/dist/esm/editor/LeaderboardSystem.js.map +1 -0
  425. package/dist/esm/editor/NiceGameEditor.js +532 -142
  426. package/dist/esm/editor/NiceGameEditor.js.map +1 -1
  427. package/dist/esm/editor/PrefabSystem.js +858 -0
  428. package/dist/esm/editor/PrefabSystem.js.map +1 -0
  429. package/dist/esm/editor/ProfilerPanel.js +710 -0
  430. package/dist/esm/editor/ProfilerPanel.js.map +1 -0
  431. package/dist/esm/editor/QuestEditor.js +846 -0
  432. package/dist/esm/editor/QuestEditor.js.map +1 -0
  433. package/dist/esm/editor/ReplaySystem.js +648 -0
  434. package/dist/esm/editor/ReplaySystem.js.map +1 -0
  435. package/dist/esm/editor/SceneEditor.js +33 -13
  436. package/dist/esm/editor/SceneEditor.js.map +1 -1
  437. package/dist/esm/editor/ScreenshotMode.js +702 -0
  438. package/dist/esm/editor/ScreenshotMode.js.map +1 -0
  439. package/dist/esm/editor/ShaderGraph.js +7 -6
  440. package/dist/esm/editor/ShaderGraph.js.map +1 -1
  441. package/dist/esm/editor/TimelineEditor.js +37 -30
  442. package/dist/esm/editor/TimelineEditor.js.map +1 -1
  443. package/dist/esm/editor/UndoRedoPro.js +914 -0
  444. package/dist/esm/editor/UndoRedoPro.js.map +1 -0
  445. package/dist/esm/editor/VRARMode.js +653 -0
  446. package/dist/esm/editor/VRARMode.js.map +1 -0
  447. package/dist/esm/engine/NiceGameEngine.js +12 -10
  448. package/dist/esm/engine/NiceGameEngine.js.map +1 -1
  449. package/dist/esm/engine/SaveSystemV2.js +73 -37
  450. package/dist/esm/engine/SaveSystemV2.js.map +1 -1
  451. package/dist/esm/enterprise/Enterprise.js +92 -44
  452. package/dist/esm/enterprise/Enterprise.js.map +1 -1
  453. package/dist/esm/export/BevyExporter.js +995 -0
  454. package/dist/esm/export/BevyExporter.js.map +1 -0
  455. package/dist/esm/export/CocosExporter.js +703 -0
  456. package/dist/esm/export/CocosExporter.js.map +1 -0
  457. package/dist/esm/export/Construct3Exporter.js +829 -0
  458. package/dist/esm/export/Construct3Exporter.js.map +1 -0
  459. package/dist/esm/export/DefoldExporter.js +1103 -0
  460. package/dist/esm/export/DefoldExporter.js.map +1 -0
  461. package/dist/esm/export/GDevelopExporter.js +745 -0
  462. package/dist/esm/export/GDevelopExporter.js.map +1 -0
  463. package/dist/esm/export/GameMakerExporter.js +843 -0
  464. package/dist/esm/export/GameMakerExporter.js.map +1 -0
  465. package/dist/esm/export/GodotExporter.js +45 -50
  466. package/dist/esm/export/GodotExporter.js.map +1 -1
  467. package/dist/esm/export/MinecraftBedrockExporter.js +603 -0
  468. package/dist/esm/export/MinecraftBedrockExporter.js.map +1 -0
  469. package/dist/esm/export/MonoGameExporter.js +1331 -0
  470. package/dist/esm/export/MonoGameExporter.js.map +1 -0
  471. package/dist/esm/export/Pico8Exporter.js +843 -0
  472. package/dist/esm/export/Pico8Exporter.js.map +1 -0
  473. package/dist/esm/export/PlatformExporter.js +4 -5
  474. package/dist/esm/export/PlatformExporter.js.map +1 -1
  475. package/dist/esm/export/RPGMakerExporter.js +903 -0
  476. package/dist/esm/export/RPGMakerExporter.js.map +1 -0
  477. package/dist/esm/export/RobloxExporter.js +940 -0
  478. package/dist/esm/export/RobloxExporter.js.map +1 -0
  479. package/dist/esm/export/Solar2DExporter.js +1280 -0
  480. package/dist/esm/export/Solar2DExporter.js.map +1 -0
  481. package/dist/esm/export/ThreeJSExporter.js +52 -55
  482. package/dist/esm/export/ThreeJSExporter.js.map +1 -1
  483. package/dist/esm/export/Tic80Exporter.js +1312 -0
  484. package/dist/esm/export/Tic80Exporter.js.map +1 -0
  485. package/dist/esm/export/UnityExporter.js +41 -56
  486. package/dist/esm/export/UnityExporter.js.map +1 -1
  487. package/dist/esm/export/UnrealExporter.js +959 -0
  488. package/dist/esm/export/UnrealExporter.js.map +1 -0
  489. package/dist/esm/export/WebExporter.js +42 -50
  490. package/dist/esm/export/WebExporter.js.map +1 -1
  491. package/dist/esm/export/index.js +38 -2
  492. package/dist/esm/export/index.js.map +1 -1
  493. package/dist/esm/godot-integration/GodotAssetLibrary.js +711 -0
  494. package/dist/esm/godot-integration/GodotAssetLibrary.js.map +1 -0
  495. package/dist/esm/godot-integration/GodotImport.js +1062 -0
  496. package/dist/esm/godot-integration/GodotImport.js.map +1 -0
  497. package/dist/esm/godot-integration/GodotLiveLink.js +958 -0
  498. package/dist/esm/godot-integration/GodotLiveLink.js.map +1 -0
  499. package/dist/esm/godot-integration/components/GodotProjectBrowser.js +666 -0
  500. package/dist/esm/godot-integration/components/GodotProjectBrowser.js.map +1 -0
  501. package/dist/esm/i18n/I18n.js +56 -30
  502. package/dist/esm/i18n/I18n.js.map +1 -1
  503. package/dist/esm/i18n/useTranslation.js +4 -4
  504. package/dist/esm/i18n/useTranslation.js.map +1 -1
  505. package/dist/esm/import/AsepriteImporter.js +15 -19
  506. package/dist/esm/import/AsepriteImporter.js.map +1 -1
  507. package/dist/esm/import/DragonBonesImporter.js +36 -40
  508. package/dist/esm/import/DragonBonesImporter.js.map +1 -1
  509. package/dist/esm/import/GameMakerImporter.js +11 -17
  510. package/dist/esm/import/GameMakerImporter.js.map +1 -1
  511. package/dist/esm/import/GodotSceneImporter.js +43 -29
  512. package/dist/esm/import/GodotSceneImporter.js.map +1 -1
  513. package/dist/esm/import/LDtkImporter.js +16 -17
  514. package/dist/esm/import/LDtkImporter.js.map +1 -1
  515. package/dist/esm/import/Live2DImporter.js +16 -19
  516. package/dist/esm/import/Live2DImporter.js.map +1 -1
  517. package/dist/esm/import/NdgFormat.js +28 -35
  518. package/dist/esm/import/NdgFormat.js.map +1 -1
  519. package/dist/esm/import/OgmoImporter.js +16 -18
  520. package/dist/esm/import/OgmoImporter.js.map +1 -1
  521. package/dist/esm/import/RPGMakerImporter.js +5 -6
  522. package/dist/esm/import/RPGMakerImporter.js.map +1 -1
  523. package/dist/esm/import/SceneImporter.js +23 -13
  524. package/dist/esm/import/SceneImporter.js.map +1 -1
  525. package/dist/esm/import/SpineImporter.js +20 -20
  526. package/dist/esm/import/SpineImporter.js.map +1 -1
  527. package/dist/esm/import/SpriterImporter.js +38 -46
  528. package/dist/esm/import/SpriterImporter.js.map +1 -1
  529. package/dist/esm/import/TiledMapImporter.js +20 -24
  530. package/dist/esm/import/TiledMapImporter.js.map +1 -1
  531. package/dist/esm/import/UnitySceneImporter.js +15 -15
  532. package/dist/esm/import/UnitySceneImporter.js.map +1 -1
  533. package/dist/esm/index.js +76 -3
  534. package/dist/esm/index.js.map +1 -1
  535. package/dist/esm/input/GamepadNavigation.js +82 -47
  536. package/dist/esm/input/GamepadNavigation.js.map +1 -1
  537. package/dist/esm/input/InputManager.js +107 -52
  538. package/dist/esm/input/InputManager.js.map +1 -1
  539. package/dist/esm/input/useGamepads.js +35 -29
  540. package/dist/esm/input/useGamepads.js.map +1 -1
  541. package/dist/esm/integration/IconSprite.js +39 -21
  542. package/dist/esm/integration/IconSprite.js.map +1 -1
  543. package/dist/esm/inventory/InventorySystem.js +218 -127
  544. package/dist/esm/inventory/InventorySystem.js.map +1 -1
  545. package/dist/esm/kids/KidMode.js +491 -78
  546. package/dist/esm/kids/KidMode.js.map +1 -1
  547. package/dist/esm/kids/KidTools.js +154 -48
  548. package/dist/esm/kids/KidTools.js.map +1 -1
  549. package/dist/esm/monetization/Monetization.js +47 -35
  550. package/dist/esm/monetization/Monetization.js.map +1 -1
  551. package/dist/esm/multiplayer/LocalMultiplayer.js +48 -26
  552. package/dist/esm/multiplayer/LocalMultiplayer.js.map +1 -1
  553. package/dist/esm/multiplayer/MiniGameTypes.js +23 -10
  554. package/dist/esm/multiplayer/MiniGameTypes.js.map +1 -1
  555. package/dist/esm/native-engine/AssetPipeline.js +537 -0
  556. package/dist/esm/native-engine/AssetPipeline.js.map +1 -0
  557. package/dist/esm/native-engine/AudioEngine.js +822 -0
  558. package/dist/esm/native-engine/AudioEngine.js.map +1 -0
  559. package/dist/esm/native-engine/InputSystem.js +1170 -0
  560. package/dist/esm/native-engine/InputSystem.js.map +1 -0
  561. package/dist/esm/native-engine/NetworkingSystem.js +817 -0
  562. package/dist/esm/native-engine/NetworkingSystem.js.map +1 -0
  563. package/dist/esm/native-engine/PhysicsEngine.js +619 -0
  564. package/dist/esm/native-engine/PhysicsEngine.js.map +1 -0
  565. package/dist/esm/native-engine/RenderingEngine.js +368 -0
  566. package/dist/esm/native-engine/RenderingEngine.js.map +1 -0
  567. package/dist/esm/native-engine/SceneGraph.js +857 -0
  568. package/dist/esm/native-engine/SceneGraph.js.map +1 -0
  569. package/dist/esm/network/MultiplayerTransport.js +63 -33
  570. package/dist/esm/network/MultiplayerTransport.js.map +1 -1
  571. package/dist/esm/network/Networking.js +87 -62
  572. package/dist/esm/network/Networking.js.map +1 -1
  573. package/dist/esm/pathfinding/Pathfinding.js +71 -26
  574. package/dist/esm/pathfinding/Pathfinding.js.map +1 -1
  575. package/dist/esm/performance/AssetStreaming.js +649 -0
  576. package/dist/esm/performance/AssetStreaming.js.map +1 -0
  577. package/dist/esm/performance/BenchmarkSuite.js +37 -24
  578. package/dist/esm/performance/BenchmarkSuite.js.map +1 -1
  579. package/dist/esm/performance/DeltaCompression.js +554 -0
  580. package/dist/esm/performance/DeltaCompression.js.map +1 -0
  581. package/dist/esm/performance/DeterministicPhysics.js +573 -0
  582. package/dist/esm/performance/DeterministicPhysics.js.map +1 -0
  583. package/dist/esm/performance/ECSOptimization.js +716 -0
  584. package/dist/esm/performance/ECSOptimization.js.map +1 -0
  585. package/dist/esm/performance/HotReload.js +517 -0
  586. package/dist/esm/performance/HotReload.js.map +1 -0
  587. package/dist/esm/performance/InputRecording.js +580 -0
  588. package/dist/esm/performance/InputRecording.js.map +1 -0
  589. package/dist/esm/performance/InterestManagement.js +524 -0
  590. package/dist/esm/performance/InterestManagement.js.map +1 -0
  591. package/dist/esm/performance/LocalizationRuntime.js +465 -0
  592. package/dist/esm/performance/LocalizationRuntime.js.map +1 -0
  593. package/dist/esm/performance/MemoryManagement.js +481 -0
  594. package/dist/esm/performance/MemoryManagement.js.map +1 -0
  595. package/dist/esm/performance/ModSupport.js +520 -0
  596. package/dist/esm/performance/ModSupport.js.map +1 -0
  597. package/dist/esm/performance/MultiThreadedPhysics.js +491 -0
  598. package/dist/esm/performance/MultiThreadedPhysics.js.map +1 -0
  599. package/dist/esm/performance/NetworkPrediction.js +508 -0
  600. package/dist/esm/performance/NetworkPrediction.js.map +1 -0
  601. package/dist/esm/performance/ObjectPooling.js +639 -0
  602. package/dist/esm/performance/ObjectPooling.js.map +1 -0
  603. package/dist/esm/performance/Performance.js +64 -25
  604. package/dist/esm/performance/Performance.js.map +1 -1
  605. package/dist/esm/performance/PerformanceAdvanced.js +83 -49
  606. package/dist/esm/performance/PerformanceAdvanced.js.map +1 -1
  607. package/dist/esm/performance/SaveSystem.js +567 -0
  608. package/dist/esm/performance/SaveSystem.js.map +1 -0
  609. package/dist/esm/performance/WebGPURenderer.js +697 -0
  610. package/dist/esm/performance/WebGPURenderer.js.map +1 -0
  611. package/dist/esm/physics/PhysicsAdvanced.js +32 -20
  612. package/dist/esm/physics/PhysicsAdvanced.js.map +1 -1
  613. package/dist/esm/physics/PhysicsEngine2D.js +63 -36
  614. package/dist/esm/physics/PhysicsEngine2D.js.map +1 -1
  615. package/dist/esm/plugins/PluginSDK.js +46 -34
  616. package/dist/esm/plugins/PluginSDK.js.map +1 -1
  617. package/dist/esm/plugins/PluginTestKit.js +28 -29
  618. package/dist/esm/plugins/PluginTestKit.js.map +1 -1
  619. package/dist/esm/procedural/Procedural.js +24 -17
  620. package/dist/esm/procedural/Procedural.js.map +1 -1
  621. package/dist/esm/procedural/WorldBuilding.js +188 -55
  622. package/dist/esm/procedural/WorldBuilding.js.map +1 -1
  623. package/dist/esm/quest/QuestSystem.js +145 -111
  624. package/dist/esm/quest/QuestSystem.js.map +1 -1
  625. package/dist/esm/release/Release.js +142 -31
  626. package/dist/esm/release/Release.js.map +1 -1
  627. package/dist/esm/rendering/Camera2D.js +12 -7
  628. package/dist/esm/rendering/Camera2D.js.map +1 -1
  629. package/dist/esm/rendering/Renderer2D.js +62 -26
  630. package/dist/esm/rendering/Renderer2D.js.map +1 -1
  631. package/dist/esm/rendering/WebGPURenderPipeline.js +60 -31
  632. package/dist/esm/rendering/WebGPURenderPipeline.js.map +1 -1
  633. package/dist/esm/runtime3d/Runtime3D.js +80 -55
  634. package/dist/esm/runtime3d/Runtime3D.js.map +1 -1
  635. package/dist/esm/runtime3d/SceneEditor3D.js +20 -11
  636. package/dist/esm/runtime3d/SceneEditor3D.js.map +1 -1
  637. package/dist/esm/scene/SceneManager.js +26 -12
  638. package/dist/esm/scene/SceneManager.js.map +1 -1
  639. package/dist/esm/scripting/GraphToAST.js +36 -24
  640. package/dist/esm/scripting/GraphToAST.js.map +1 -1
  641. package/dist/esm/scripting/LanguageExporter.js +2 -3
  642. package/dist/esm/scripting/LanguageExporter.js.map +1 -1
  643. package/dist/esm/scripting/NodeGraph.js +49 -32
  644. package/dist/esm/scripting/NodeGraph.js.map +1 -1
  645. package/dist/esm/scripting/ScriptAST.js +19 -6
  646. package/dist/esm/scripting/ScriptAST.js.map +1 -1
  647. package/dist/esm/scripting/VisualScripting2.js +13 -12
  648. package/dist/esm/scripting/VisualScripting2.js.map +1 -1
  649. package/dist/esm/scripting/exporters/CSharpExporter.js +16 -16
  650. package/dist/esm/scripting/exporters/CSharpExporter.js.map +1 -1
  651. package/dist/esm/scripting/exporters/GDScriptExporter.js +3 -6
  652. package/dist/esm/scripting/exporters/GDScriptExporter.js.map +1 -1
  653. package/dist/esm/scripting/exporters/LuaExporter.js +5 -9
  654. package/dist/esm/scripting/exporters/LuaExporter.js.map +1 -1
  655. package/dist/esm/scripting/exporters/PythonExporter.js +7 -13
  656. package/dist/esm/scripting/exporters/PythonExporter.js.map +1 -1
  657. package/dist/esm/scripting/exporters/RustExporter.js +7 -14
  658. package/dist/esm/scripting/exporters/RustExporter.js.map +1 -1
  659. package/dist/esm/scripting/exporters/TypeScriptExporter.js +28 -29
  660. package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +1 -1
  661. package/dist/esm/social/Social.js +27 -20
  662. package/dist/esm/social/Social.js.map +1 -1
  663. package/dist/esm/systems/LightingSystem.js +968 -0
  664. package/dist/esm/systems/LightingSystem.js.map +1 -0
  665. package/dist/esm/systems/ParticleSystem2.js +34 -17
  666. package/dist/esm/systems/ParticleSystem2.js.map +1 -1
  667. package/dist/esm/systems/PhysicsDebugSystem.js +1219 -0
  668. package/dist/esm/systems/PhysicsDebugSystem.js.map +1 -0
  669. package/dist/esm/systems/TerrainSystem.js +1125 -0
  670. package/dist/esm/systems/TerrainSystem.js.map +1 -0
  671. package/dist/esm/templates/ActionTemplates.js +144 -24
  672. package/dist/esm/templates/ActionTemplates.js.map +1 -1
  673. package/dist/esm/templates/FightingTemplate.js +513 -0
  674. package/dist/esm/templates/FightingTemplate.js.map +1 -0
  675. package/dist/esm/templates/MetroidvaniaTemplate.js +484 -0
  676. package/dist/esm/templates/MetroidvaniaTemplate.js.map +1 -0
  677. package/dist/esm/templates/PartyTemplates.js +60 -28
  678. package/dist/esm/templates/PartyTemplates.js.map +1 -1
  679. package/dist/esm/templates/PuzzleTemplates.js +63 -22
  680. package/dist/esm/templates/PuzzleTemplates.js.map +1 -1
  681. package/dist/esm/templates/RPGTemplates.js +29 -15
  682. package/dist/esm/templates/RPGTemplates.js.map +1 -1
  683. package/dist/esm/templates/SportsTemplates.js +41 -17
  684. package/dist/esm/templates/SportsTemplates.js.map +1 -1
  685. package/dist/esm/templates/StrategyTemplates.js +45 -18
  686. package/dist/esm/templates/StrategyTemplates.js.map +1 -1
  687. package/dist/esm/templates/SurvivalTemplate.js +447 -0
  688. package/dist/esm/templates/SurvivalTemplate.js.map +1 -0
  689. package/dist/esm/templates/WaveDefense.js +139 -52
  690. package/dist/esm/templates/WaveDefense.js.map +1 -1
  691. package/dist/esm/tilemap/Tilemap.js +48 -32
  692. package/dist/esm/tilemap/Tilemap.js.map +1 -1
  693. package/dist/esm/tutorials/TutorialBranching.js +111 -42
  694. package/dist/esm/tutorials/TutorialBranching.js.map +1 -1
  695. package/dist/esm/tutorials/TutorialEngine.js +152 -80
  696. package/dist/esm/tutorials/TutorialEngine.js.map +1 -1
  697. package/dist/esm/tutorials/TutorialOverlay.js +117 -40
  698. package/dist/esm/tutorials/TutorialOverlay.js.map +1 -1
  699. package/dist/esm/ui/GameUI.js +69 -42
  700. package/dist/esm/ui/GameUI.js.map +1 -1
  701. package/dist/esm/unity-integration/UnityAssetStore.js +749 -0
  702. package/dist/esm/unity-integration/UnityAssetStore.js.map +1 -0
  703. package/dist/esm/unity-integration/UnityImport.js +1246 -0
  704. package/dist/esm/unity-integration/UnityImport.js.map +1 -0
  705. package/dist/esm/unity-integration/UnityLiveLink.js +1017 -0
  706. package/dist/esm/unity-integration/UnityLiveLink.js.map +1 -0
  707. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +794 -0
  708. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js.map +1 -0
  709. package/dist/esm/unity-integration/components/UnityProjectBrowser.js +831 -0
  710. package/dist/esm/unity-integration/components/UnityProjectBrowser.js.map +1 -0
  711. package/dist/esm/unreal-integration/UnrealImport.js +437 -0
  712. package/dist/esm/unreal-integration/UnrealImport.js.map +1 -0
  713. package/dist/esm/unreal-integration/UnrealLiveLink.js +1182 -0
  714. package/dist/esm/unreal-integration/UnrealLiveLink.js.map +1 -0
  715. package/dist/esm/unreal-integration/UnrealMarketplace.js +490 -0
  716. package/dist/esm/unreal-integration/UnrealMarketplace.js.map +1 -0
  717. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +833 -0
  718. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js.map +1 -0
  719. package/dist/esm/xr/ARVR.js +32 -9
  720. package/dist/esm/xr/ARVR.js.map +1 -1
  721. package/package.json +6 -5
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var EventBus = require('../core/EventBus.js');
4
3
  var React = require('react');
4
+ var EventBus = require('../core/EventBus.js');
5
5
 
6
6
  /* ────────────────────────────────────────────────────────────────
7
7
  Dialogue System — Visual Dialogue Tree Editor
@@ -21,7 +21,7 @@ class DialogueEngine {
21
21
  this.trees = new Map();
22
22
  this.globalVariables = new Map();
23
23
  this.currentState = null;
24
- this.events = events !== null && events !== void 0 ? events : new EventBus.EventBus();
24
+ this.events = events ?? new EventBus.EventBus();
25
25
  }
26
26
  /* ── Tree Management ──────────────────────────────────────────── */
27
27
  registerTree(tree) {
@@ -45,10 +45,10 @@ class DialogueEngine {
45
45
  return this.globalVariables.get(name);
46
46
  }
47
47
  getVariable(variableId) {
48
- var _a;
49
- if (!this.currentState)
48
+ if (!this.currentState) {
50
49
  return this.globalVariables.get(variableId);
51
- return (_a = this.currentState.variables[variableId]) !== null && _a !== void 0 ? _a : this.globalVariables.get(variableId);
50
+ }
51
+ return this.currentState.variables[variableId] ?? this.globalVariables.get(variableId);
52
52
  }
53
53
  setVariable(variableId, value, scope) {
54
54
  if (scope === 'global') {
@@ -62,8 +62,9 @@ class DialogueEngine {
62
62
  /* ── Dialogue Flow ────────────────────────────────────────────── */
63
63
  startDialogue(treeId, startLabel) {
64
64
  const tree = this.trees.get(treeId);
65
- if (!tree)
65
+ if (!tree) {
66
66
  return false;
67
+ }
67
68
  // Find start node
68
69
  let startNode;
69
70
  if (startLabel) {
@@ -72,8 +73,9 @@ class DialogueEngine {
72
73
  if (!startNode) {
73
74
  startNode = tree.nodes.find((n) => n.id === tree.startNodeId);
74
75
  }
75
- if (!startNode)
76
+ if (!startNode) {
76
77
  return false;
78
+ }
77
79
  // Initialize state
78
80
  const variables = {};
79
81
  for (const v of tree.variables) {
@@ -99,22 +101,25 @@ class DialogueEngine {
99
101
  return true;
100
102
  }
101
103
  endDialogue() {
102
- if (!this.currentState)
104
+ if (!this.currentState) {
103
105
  return;
106
+ }
104
107
  const treeId = this.currentState.treeId;
105
108
  this.currentState.isActive = false;
106
109
  this.emitEvent('dialogue:ended', { treeId, state: { ...this.currentState } });
107
110
  this.currentState = null;
108
111
  }
109
112
  pauseDialogue() {
110
- if (!this.currentState || !this.currentState.isActive)
113
+ if (!this.currentState || !this.currentState.isActive) {
111
114
  return;
115
+ }
112
116
  this.currentState.isPaused = true;
113
117
  this.emitEvent('dialogue:paused', {});
114
118
  }
115
119
  resumeDialogue() {
116
- if (!this.currentState || !this.currentState.isActive)
120
+ if (!this.currentState || !this.currentState.isActive) {
117
121
  return;
122
+ }
118
123
  this.currentState.isPaused = false;
119
124
  this.emitEvent('dialogue:resumed', {});
120
125
  }
@@ -122,19 +127,21 @@ class DialogueEngine {
122
127
  return this.currentState ? { ...this.currentState } : null;
123
128
  }
124
129
  isActive() {
125
- var _a, _b;
126
- return (_b = (_a = this.currentState) === null || _a === void 0 ? void 0 : _a.isActive) !== null && _b !== void 0 ? _b : false;
130
+ return this.currentState?.isActive ?? false;
127
131
  }
128
132
  /* ── Node Navigation ──────────────────────────────────────────── */
129
133
  goToNode(nodeId) {
130
- if (!this.currentState)
134
+ if (!this.currentState) {
131
135
  return;
136
+ }
132
137
  const tree = this.trees.get(this.currentState.treeId);
133
- if (!tree)
138
+ if (!tree) {
134
139
  return;
135
- const node = tree.nodes.find(n => n.id === nodeId);
136
- if (!node)
140
+ }
141
+ const node = tree.nodes.find((n) => n.id === nodeId);
142
+ if (!node) {
137
143
  return;
144
+ }
138
145
  this.currentState.currentNodeId = nodeId;
139
146
  this.currentState.history.push(nodeId);
140
147
  this.emitEvent('dialogue:node-entered', { nodeId, nodeType: node.type });
@@ -143,8 +150,9 @@ class DialogueEngine {
143
150
  processNode(node, tree) {
144
151
  switch (node.type) {
145
152
  case 'start':
146
- if (node.nextNode)
153
+ if (node.nextNode) {
147
154
  this.goToNode(node.nextNode);
155
+ }
148
156
  break;
149
157
  case 'text':
150
158
  this.processTextNode(node, tree);
@@ -171,7 +179,7 @@ class DialogueEngine {
171
179
  }
172
180
  }
173
181
  processTextNode(node, tree) {
174
- const character = tree.characters.find(c => c.id === node.characterId);
182
+ const character = tree.characters.find((c) => c.id === node.characterId);
175
183
  if (character && this.onTextCallback) {
176
184
  this.onTextCallback(node, character);
177
185
  }
@@ -184,12 +192,14 @@ class DialogueEngine {
184
192
  }
185
193
  processChoiceNode(node, tree) {
186
194
  // Filter valid options based on conditions
187
- const validOptions = node.options.filter(opt => {
188
- if (opt.disabled)
195
+ const validOptions = node.options.filter((opt) => {
196
+ if (opt.disabled) {
189
197
  return false;
190
- if (!opt.conditions || opt.conditions.length === 0)
198
+ }
199
+ if (!opt.conditions || opt.conditions.length === 0) {
191
200
  return true;
192
- return opt.conditions.every(c => this.evaluateCondition(c));
201
+ }
202
+ return opt.conditions.every((c) => this.evaluateCondition(c));
193
203
  });
194
204
  if (this.onChoiceCallback) {
195
205
  this.onChoiceCallback(node, validOptions);
@@ -198,18 +208,19 @@ class DialogueEngine {
198
208
  processBranchNode(node) {
199
209
  const result = this.evaluateConditions(node.conditions, node.logic);
200
210
  const nextNode = result ? node.trueNode : node.falseNode;
201
- if (nextNode)
211
+ if (nextNode) {
202
212
  this.goToNode(nextNode);
213
+ }
203
214
  }
204
215
  processSetVariableNode(node, tree) {
205
- var _a;
206
- const variable = tree.variables.find(v => v.id === node.variableId);
216
+ const variable = tree.variables.find((v) => v.id === node.variableId);
207
217
  if (!variable) {
208
- if (node.nextNode)
218
+ if (node.nextNode) {
209
219
  this.goToNode(node.nextNode);
220
+ }
210
221
  return;
211
222
  }
212
- const currentValue = (_a = this.getVariable(node.variableId)) !== null && _a !== void 0 ? _a : variable.defaultValue;
223
+ const currentValue = this.getVariable(node.variableId) ?? variable.defaultValue;
213
224
  let newValue;
214
225
  switch (node.operation) {
215
226
  case 'set':
@@ -234,8 +245,9 @@ class DialogueEngine {
234
245
  newValue = node.value;
235
246
  }
236
247
  this.setVariable(node.variableId, newValue, variable.scope);
237
- if (node.nextNode)
248
+ if (node.nextNode) {
238
249
  this.goToNode(node.nextNode);
250
+ }
239
251
  }
240
252
  processEventNode(node) {
241
253
  this.events.emit(node.eventType, node.eventData);
@@ -243,8 +255,9 @@ class DialogueEngine {
243
255
  eventType: node.eventType,
244
256
  eventData: node.eventData,
245
257
  });
246
- if (node.nextNode)
258
+ if (node.nextNode) {
247
259
  this.goToNode(node.nextNode);
260
+ }
248
261
  }
249
262
  processRandomNode(node) {
250
263
  const totalWeight = node.outputs.reduce((sum, out) => sum + out.weight, 0);
@@ -258,8 +271,9 @@ class DialogueEngine {
258
271
  }
259
272
  // Fallback to first output
260
273
  const first = node.outputs[0];
261
- if (first === null || first === void 0 ? void 0 : first.nextNode)
274
+ if (first?.nextNode) {
262
275
  this.goToNode(first.nextNode);
276
+ }
263
277
  }
264
278
  processEndNode(node) {
265
279
  // Apply final variable changes
@@ -267,7 +281,7 @@ class DialogueEngine {
267
281
  const tree = this.trees.get(this.currentState.treeId);
268
282
  if (tree) {
269
283
  for (const sv of node.setVariables) {
270
- const variable = tree.variables.find(v => v.id === sv.variableId);
284
+ const variable = tree.variables.find((v) => v.id === sv.variableId);
271
285
  if (variable) {
272
286
  this.setVariable(sv.variableId, sv.value, variable.scope);
273
287
  }
@@ -281,21 +295,25 @@ class DialogueEngine {
281
295
  }
282
296
  /* ── Choice Selection ─────────────────────────────────────────── */
283
297
  selectChoice(optionId) {
284
- if (!this.currentState || !this.currentState.isActive)
298
+ if (!this.currentState || !this.currentState.isActive) {
285
299
  return false;
300
+ }
286
301
  const tree = this.trees.get(this.currentState.treeId);
287
- if (!tree)
302
+ if (!tree) {
288
303
  return false;
289
- const node = tree.nodes.find(n => n.id === this.currentState.currentNodeId);
290
- if (!node || node.type !== 'choice')
304
+ }
305
+ const node = tree.nodes.find((n) => n.id === this.currentState.currentNodeId);
306
+ if (!node || node.type !== 'choice') {
291
307
  return false;
292
- const choice = node.options.find(o => o.id === optionId);
293
- if (!choice)
308
+ }
309
+ const choice = node.options.find((o) => o.id === optionId);
310
+ if (!choice) {
294
311
  return false;
312
+ }
295
313
  // Apply variables from choice
296
314
  if (choice.setVariables) {
297
315
  for (const sv of choice.setVariables) {
298
- const variable = tree.variables.find(v => v.id === sv.variableId);
316
+ const variable = tree.variables.find((v) => v.id === sv.variableId);
299
317
  if (variable) {
300
318
  this.setVariable(sv.variableId, sv.value, variable.scope);
301
319
  }
@@ -318,14 +336,17 @@ class DialogueEngine {
318
336
  }
319
337
  /** Advance to next node (for text nodes) */
320
338
  advance() {
321
- if (!this.currentState || !this.currentState.isActive)
339
+ if (!this.currentState || !this.currentState.isActive) {
322
340
  return false;
341
+ }
323
342
  const tree = this.trees.get(this.currentState.treeId);
324
- if (!tree)
343
+ if (!tree) {
325
344
  return false;
326
- const node = tree.nodes.find(n => n.id === this.currentState.currentNodeId);
327
- if (!node)
345
+ }
346
+ const node = tree.nodes.find((n) => n.id === this.currentState.currentNodeId);
347
+ if (!node) {
328
348
  return false;
349
+ }
329
350
  if (node.type === 'text' && node.nextNode) {
330
351
  this.goToNode(node.nextNode);
331
352
  return true;
@@ -334,19 +355,21 @@ class DialogueEngine {
334
355
  }
335
356
  /* ── Condition Evaluation ─────────────────────────────────────── */
336
357
  evaluateConditions(conditions, logic) {
337
- if (conditions.length === 0)
358
+ if (conditions.length === 0) {
338
359
  return true;
360
+ }
339
361
  if (logic === 'and') {
340
- return conditions.every(c => this.evaluateCondition(c));
362
+ return conditions.every((c) => this.evaluateCondition(c));
341
363
  }
342
364
  else {
343
- return conditions.some(c => this.evaluateCondition(c));
365
+ return conditions.some((c) => this.evaluateCondition(c));
344
366
  }
345
367
  }
346
368
  evaluateCondition(condition) {
347
369
  const varValue = this.getVariable(condition.variableId);
348
- if (varValue === undefined)
370
+ if (varValue === undefined) {
349
371
  return false;
372
+ }
350
373
  const { operator, value } = condition;
351
374
  switch (operator) {
352
375
  case 'eq':
@@ -383,11 +406,10 @@ class DialogueEngine {
383
406
  }
384
407
  /* ── Events ───────────────────────────────────────────────────── */
385
408
  emitEvent(type, data) {
386
- var _a, _b, _c, _d;
387
409
  this.events.emit(type, {
388
410
  type,
389
- treeId: (_b = (_a = this.currentState) === null || _a === void 0 ? void 0 : _a.treeId) !== null && _b !== void 0 ? _b : '',
390
- nodeId: (_d = (_c = this.currentState) === null || _c === void 0 ? void 0 : _c.currentNodeId) !== null && _d !== void 0 ? _d : undefined,
411
+ treeId: this.currentState?.treeId ?? '',
412
+ nodeId: this.currentState?.currentNodeId ?? undefined,
391
413
  data,
392
414
  timestamp: Date.now(),
393
415
  });
@@ -461,12 +483,12 @@ class DialogueTreeBuilder {
461
483
  const id = this.generateId();
462
484
  const node = { id, type: 'start', label, nextNode, position };
463
485
  this.tree.nodes.push(node);
464
- if (!this.tree.startNodeId)
486
+ if (!this.tree.startNodeId) {
465
487
  this.tree.startNodeId = id;
488
+ }
466
489
  return this;
467
490
  }
468
491
  addText(characterId, text, nextNode = null, options = {}) {
469
- var _a;
470
492
  const id = this.generateId();
471
493
  const node = {
472
494
  id,
@@ -474,20 +496,19 @@ class DialogueTreeBuilder {
474
496
  characterId,
475
497
  text,
476
498
  nextNode,
477
- position: (_a = options.position) !== null && _a !== void 0 ? _a : { x: 100, y: 0 },
499
+ position: options.position ?? { x: 100, y: 0 },
478
500
  ...options,
479
501
  };
480
502
  this.tree.nodes.push(node);
481
503
  return this;
482
504
  }
483
505
  addChoice(options, settings = {}) {
484
- var _a;
485
506
  const id = this.generateId();
486
507
  const node = {
487
508
  id,
488
509
  type: 'choice',
489
510
  options,
490
- position: (_a = settings.position) !== null && _a !== void 0 ? _a : { x: 200, y: 0 },
511
+ position: settings.position ?? { x: 200, y: 0 },
491
512
  ...settings,
492
513
  };
493
514
  this.tree.nodes.push(node);
@@ -564,9 +585,8 @@ class DialogueTreeBuilder {
564
585
  }
565
586
  /** Get the ID of the last added node */
566
587
  lastNodeId() {
567
- var _a;
568
588
  const lastNode = this.tree.nodes[this.tree.nodes.length - 1];
569
- return (_a = lastNode === null || lastNode === void 0 ? void 0 : lastNode.id) !== null && _a !== void 0 ? _a : '';
589
+ return lastNode?.id ?? '';
570
590
  }
571
591
  /** Get node by index (1-based for readability) */
572
592
  nodeId(index) {
@@ -639,35 +659,37 @@ const DialogueBox = ({ text, characterName, portrait, emotion = 'neutral', textE
639
659
  onClick: handleClick,
640
660
  'data-emotion': emotion,
641
661
  }, [
642
- portrait && React.createElement('div', {
643
- key: 'portrait',
644
- className: 'nice-dialogue-portrait',
645
- style: {
646
- width: '80px',
647
- height: '80px',
648
- flexShrink: 0,
649
- borderRadius: '8px',
650
- overflow: 'hidden',
651
- },
652
- }, React.createElement('img', {
653
- src: portrait,
654
- alt: characterName !== null && characterName !== void 0 ? characterName : 'Character',
655
- style: { width: '100%', height: '100%', objectFit: 'cover' },
656
- })),
662
+ portrait &&
663
+ React.createElement('div', {
664
+ key: 'portrait',
665
+ className: 'nice-dialogue-portrait',
666
+ style: {
667
+ width: '80px',
668
+ height: '80px',
669
+ flexShrink: 0,
670
+ borderRadius: '8px',
671
+ overflow: 'hidden',
672
+ },
673
+ }, React.createElement('img', {
674
+ src: portrait,
675
+ alt: characterName ?? 'Character',
676
+ style: { width: '100%', height: '100%', objectFit: 'cover' },
677
+ })),
657
678
  React.createElement('div', {
658
679
  key: 'content',
659
680
  className: 'nice-dialogue-content',
660
681
  style: { flex: 1 },
661
682
  }, [
662
- characterName && React.createElement('div', {
663
- key: 'name',
664
- className: 'nice-dialogue-name',
665
- style: {
666
- fontWeight: 'bold',
667
- marginBottom: '8px',
668
- color: '#64b5f6',
669
- },
670
- }, characterName),
683
+ characterName &&
684
+ React.createElement('div', {
685
+ key: 'name',
686
+ className: 'nice-dialogue-name',
687
+ style: {
688
+ fontWeight: 'bold',
689
+ marginBottom: '8px',
690
+ color: '#64b5f6',
691
+ },
692
+ }, characterName),
671
693
  React.createElement('div', {
672
694
  key: 'text',
673
695
  className: 'nice-dialogue-text',
@@ -690,20 +712,22 @@ const DialogueBox = ({ text, characterName, portrait, emotion = 'neutral', textE
690
712
  * ChoiceList component for displaying dialogue choices
691
713
  */
692
714
  const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style, }) => {
693
- const [timeLeft, setTimeLeft] = React.useState(timeout !== null && timeout !== void 0 ? timeout : 0);
715
+ const [timeLeft, setTimeLeft] = React.useState(timeout ?? 0);
694
716
  const [selectedIndex, setSelectedIndex] = React.useState(0);
695
717
  // Timeout countdown
696
718
  React.useEffect(() => {
697
- if (!timeout)
719
+ if (!timeout) {
698
720
  return;
721
+ }
699
722
  setTimeLeft(timeout);
700
723
  const interval = setInterval(() => {
701
- setTimeLeft(prev => {
724
+ setTimeLeft((prev) => {
702
725
  if (prev <= 100) {
703
726
  // Auto-select first option
704
- const firstValid = options.find(o => !o.disabled);
705
- if (firstValid)
727
+ const firstValid = options.find((o) => !o.disabled);
728
+ if (firstValid) {
706
729
  onSelect(firstValid.id);
730
+ }
707
731
  return 0;
708
732
  }
709
733
  return prev - 100;
@@ -714,15 +738,15 @@ const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style,
714
738
  // Keyboard navigation
715
739
  React.useEffect(() => {
716
740
  const handleKeyDown = (e) => {
717
- const validOptions = options.filter(o => !o.disabled);
741
+ const validOptions = options.filter((o) => !o.disabled);
718
742
  switch (e.key) {
719
743
  case 'ArrowUp':
720
744
  e.preventDefault();
721
- setSelectedIndex(prev => (prev - 1 + validOptions.length) % validOptions.length);
745
+ setSelectedIndex((prev) => (prev - 1 + validOptions.length) % validOptions.length);
722
746
  break;
723
747
  case 'ArrowDown':
724
748
  e.preventDefault();
725
- setSelectedIndex(prev => (prev + 1) % validOptions.length);
749
+ setSelectedIndex((prev) => (prev + 1) % validOptions.length);
726
750
  break;
727
751
  case 'Enter':
728
752
  case ' ':
@@ -736,7 +760,7 @@ const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style,
736
760
  window.addEventListener('keydown', handleKeyDown);
737
761
  return () => window.removeEventListener('keydown', handleKeyDown);
738
762
  }, [options, selectedIndex, onSelect]);
739
- const validOptions = options.filter(o => !o.disabled);
763
+ const validOptions = options.filter((o) => !o.disabled);
740
764
  return React.createElement('div', {
741
765
  className: `nice-choice-list ${className}`,
742
766
  style: {
@@ -747,33 +771,36 @@ const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style,
747
771
  ...style,
748
772
  },
749
773
  }, [
750
- prompt && React.createElement('div', {
751
- key: 'prompt',
752
- className: 'nice-choice-prompt',
753
- style: {
754
- marginBottom: '16px',
755
- fontStyle: 'italic',
756
- opacity: 0.9,
757
- },
758
- }, prompt),
759
- timeout && timeLeft > 0 && React.createElement('div', {
760
- key: 'timer',
761
- className: 'nice-choice-timer',
762
- style: {
763
- marginBottom: '8px',
764
- height: '4px',
765
- backgroundColor: 'rgba(255, 255, 255, 0.2)',
766
- borderRadius: '2px',
767
- overflow: 'hidden',
768
- },
769
- }, React.createElement('div', {
770
- style: {
771
- width: `${(timeLeft / timeout) * 100}%`,
772
- height: '100%',
773
- backgroundColor: timeLeft < 3000 ? '#f44336' : '#4caf50',
774
- transition: 'width 0.1s linear',
775
- },
776
- })),
774
+ prompt &&
775
+ React.createElement('div', {
776
+ key: 'prompt',
777
+ className: 'nice-choice-prompt',
778
+ style: {
779
+ marginBottom: '16px',
780
+ fontStyle: 'italic',
781
+ opacity: 0.9,
782
+ },
783
+ }, prompt),
784
+ timeout &&
785
+ timeLeft > 0 &&
786
+ React.createElement('div', {
787
+ key: 'timer',
788
+ className: 'nice-choice-timer',
789
+ style: {
790
+ marginBottom: '8px',
791
+ height: '4px',
792
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
793
+ borderRadius: '2px',
794
+ overflow: 'hidden',
795
+ },
796
+ }, React.createElement('div', {
797
+ style: {
798
+ width: `${(timeLeft / timeout) * 100}%`,
799
+ height: '100%',
800
+ backgroundColor: timeLeft < 3000 ? '#f44336' : '#4caf50',
801
+ transition: 'width 0.1s linear',
802
+ },
803
+ })),
777
804
  React.createElement('div', {
778
805
  key: 'options',
779
806
  className: 'nice-choice-options',
@@ -839,7 +866,7 @@ function validateDialogueTree(tree) {
839
866
  throw new Error('Invalid dialogue tree: missing startNodeId');
840
867
  }
841
868
  // Validate all node connections
842
- const nodeIds = new Set(t.nodes.map(n => n.id));
869
+ const nodeIds = new Set(t.nodes.map((n) => n.id));
843
870
  for (const node of t.nodes) {
844
871
  validateNodeConnections(node, nodeIds);
845
872
  }
@@ -883,12 +910,14 @@ function findUnreachableNodes(tree) {
883
910
  const toVisit = [tree.startNodeId];
884
911
  while (toVisit.length > 0) {
885
912
  const nodeId = toVisit.pop();
886
- if (reachable.has(nodeId))
913
+ if (reachable.has(nodeId)) {
887
914
  continue;
915
+ }
888
916
  reachable.add(nodeId);
889
- const node = tree.nodes.find(n => n.id === nodeId);
890
- if (!node)
917
+ const node = tree.nodes.find((n) => n.id === nodeId);
918
+ if (!node) {
891
919
  continue;
920
+ }
892
921
  const nextIds = getNextNodeIds(node);
893
922
  for (const id of nextIds) {
894
923
  if (id && !reachable.has(id)) {
@@ -896,9 +925,7 @@ function findUnreachableNodes(tree) {
896
925
  }
897
926
  }
898
927
  }
899
- return tree.nodes
900
- .filter(n => !reachable.has(n.id) && n.type !== 'start')
901
- .map(n => n.id);
928
+ return tree.nodes.filter((n) => !reachable.has(n.id) && n.type !== 'start').map((n) => n.id);
902
929
  }
903
930
  function getNextNodeIds(node) {
904
931
  switch (node.type) {
@@ -908,12 +935,12 @@ function getNextNodeIds(node) {
908
935
  case 'event':
909
936
  return [node.nextNode];
910
937
  case 'choice':
911
- return node.options.map(o => o.nextNode);
938
+ return node.options.map((o) => o.nextNode);
912
939
  case 'branch':
913
940
  case 'check_variable':
914
941
  return [node.trueNode, node.falseNode];
915
942
  case 'random':
916
- return node.outputs.map(o => o.nextNode);
943
+ return node.outputs.map((o) => o.nextNode);
917
944
  case 'end':
918
945
  return [];
919
946
  default:
@@ -1000,10 +1027,7 @@ const EMOTION_COLORS = {
1000
1027
  custom: '#ffffff',
1001
1028
  };
1002
1029
  function createEmptyDialogueTree(id, name) {
1003
- return new DialogueTreeBuilder(id, name)
1004
- .addStart('main', null)
1005
- .addEnd('success')
1006
- .build();
1030
+ return new DialogueTreeBuilder(id, name).addStart('main', null).addEnd('success').build();
1007
1031
  }
1008
1032
 
1009
1033
  exports.ChoiceList = ChoiceList;