@nice2dev/game-engine 1.0.5 → 1.0.11

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 +7 -6
@@ -1,5 +1,5 @@
1
- import { EventBus } from '../core/EventBus.js';
2
1
  import React from 'react';
2
+ import { EventBus } from '../core/EventBus.js';
3
3
 
4
4
  /* ────────────────────────────────────────────────────────────────
5
5
  Dialogue System — Visual Dialogue Tree Editor
@@ -19,7 +19,7 @@ class DialogueEngine {
19
19
  this.trees = new Map();
20
20
  this.globalVariables = new Map();
21
21
  this.currentState = null;
22
- this.events = events !== null && events !== void 0 ? events : new EventBus();
22
+ this.events = events ?? new EventBus();
23
23
  }
24
24
  /* ── Tree Management ──────────────────────────────────────────── */
25
25
  registerTree(tree) {
@@ -43,10 +43,10 @@ class DialogueEngine {
43
43
  return this.globalVariables.get(name);
44
44
  }
45
45
  getVariable(variableId) {
46
- var _a;
47
- if (!this.currentState)
46
+ if (!this.currentState) {
48
47
  return this.globalVariables.get(variableId);
49
- return (_a = this.currentState.variables[variableId]) !== null && _a !== void 0 ? _a : this.globalVariables.get(variableId);
48
+ }
49
+ return this.currentState.variables[variableId] ?? this.globalVariables.get(variableId);
50
50
  }
51
51
  setVariable(variableId, value, scope) {
52
52
  if (scope === 'global') {
@@ -60,8 +60,9 @@ class DialogueEngine {
60
60
  /* ── Dialogue Flow ────────────────────────────────────────────── */
61
61
  startDialogue(treeId, startLabel) {
62
62
  const tree = this.trees.get(treeId);
63
- if (!tree)
63
+ if (!tree) {
64
64
  return false;
65
+ }
65
66
  // Find start node
66
67
  let startNode;
67
68
  if (startLabel) {
@@ -70,8 +71,9 @@ class DialogueEngine {
70
71
  if (!startNode) {
71
72
  startNode = tree.nodes.find((n) => n.id === tree.startNodeId);
72
73
  }
73
- if (!startNode)
74
+ if (!startNode) {
74
75
  return false;
76
+ }
75
77
  // Initialize state
76
78
  const variables = {};
77
79
  for (const v of tree.variables) {
@@ -97,22 +99,25 @@ class DialogueEngine {
97
99
  return true;
98
100
  }
99
101
  endDialogue() {
100
- if (!this.currentState)
102
+ if (!this.currentState) {
101
103
  return;
104
+ }
102
105
  const treeId = this.currentState.treeId;
103
106
  this.currentState.isActive = false;
104
107
  this.emitEvent('dialogue:ended', { treeId, state: { ...this.currentState } });
105
108
  this.currentState = null;
106
109
  }
107
110
  pauseDialogue() {
108
- if (!this.currentState || !this.currentState.isActive)
111
+ if (!this.currentState || !this.currentState.isActive) {
109
112
  return;
113
+ }
110
114
  this.currentState.isPaused = true;
111
115
  this.emitEvent('dialogue:paused', {});
112
116
  }
113
117
  resumeDialogue() {
114
- if (!this.currentState || !this.currentState.isActive)
118
+ if (!this.currentState || !this.currentState.isActive) {
115
119
  return;
120
+ }
116
121
  this.currentState.isPaused = false;
117
122
  this.emitEvent('dialogue:resumed', {});
118
123
  }
@@ -120,19 +125,21 @@ class DialogueEngine {
120
125
  return this.currentState ? { ...this.currentState } : null;
121
126
  }
122
127
  isActive() {
123
- var _a, _b;
124
- return (_b = (_a = this.currentState) === null || _a === void 0 ? void 0 : _a.isActive) !== null && _b !== void 0 ? _b : false;
128
+ return this.currentState?.isActive ?? false;
125
129
  }
126
130
  /* ── Node Navigation ──────────────────────────────────────────── */
127
131
  goToNode(nodeId) {
128
- if (!this.currentState)
132
+ if (!this.currentState) {
129
133
  return;
134
+ }
130
135
  const tree = this.trees.get(this.currentState.treeId);
131
- if (!tree)
136
+ if (!tree) {
132
137
  return;
133
- const node = tree.nodes.find(n => n.id === nodeId);
134
- if (!node)
138
+ }
139
+ const node = tree.nodes.find((n) => n.id === nodeId);
140
+ if (!node) {
135
141
  return;
142
+ }
136
143
  this.currentState.currentNodeId = nodeId;
137
144
  this.currentState.history.push(nodeId);
138
145
  this.emitEvent('dialogue:node-entered', { nodeId, nodeType: node.type });
@@ -141,8 +148,9 @@ class DialogueEngine {
141
148
  processNode(node, tree) {
142
149
  switch (node.type) {
143
150
  case 'start':
144
- if (node.nextNode)
151
+ if (node.nextNode) {
145
152
  this.goToNode(node.nextNode);
153
+ }
146
154
  break;
147
155
  case 'text':
148
156
  this.processTextNode(node, tree);
@@ -169,7 +177,7 @@ class DialogueEngine {
169
177
  }
170
178
  }
171
179
  processTextNode(node, tree) {
172
- const character = tree.characters.find(c => c.id === node.characterId);
180
+ const character = tree.characters.find((c) => c.id === node.characterId);
173
181
  if (character && this.onTextCallback) {
174
182
  this.onTextCallback(node, character);
175
183
  }
@@ -182,12 +190,14 @@ class DialogueEngine {
182
190
  }
183
191
  processChoiceNode(node, tree) {
184
192
  // Filter valid options based on conditions
185
- const validOptions = node.options.filter(opt => {
186
- if (opt.disabled)
193
+ const validOptions = node.options.filter((opt) => {
194
+ if (opt.disabled) {
187
195
  return false;
188
- if (!opt.conditions || opt.conditions.length === 0)
196
+ }
197
+ if (!opt.conditions || opt.conditions.length === 0) {
189
198
  return true;
190
- return opt.conditions.every(c => this.evaluateCondition(c));
199
+ }
200
+ return opt.conditions.every((c) => this.evaluateCondition(c));
191
201
  });
192
202
  if (this.onChoiceCallback) {
193
203
  this.onChoiceCallback(node, validOptions);
@@ -196,18 +206,19 @@ class DialogueEngine {
196
206
  processBranchNode(node) {
197
207
  const result = this.evaluateConditions(node.conditions, node.logic);
198
208
  const nextNode = result ? node.trueNode : node.falseNode;
199
- if (nextNode)
209
+ if (nextNode) {
200
210
  this.goToNode(nextNode);
211
+ }
201
212
  }
202
213
  processSetVariableNode(node, tree) {
203
- var _a;
204
- const variable = tree.variables.find(v => v.id === node.variableId);
214
+ const variable = tree.variables.find((v) => v.id === node.variableId);
205
215
  if (!variable) {
206
- if (node.nextNode)
216
+ if (node.nextNode) {
207
217
  this.goToNode(node.nextNode);
218
+ }
208
219
  return;
209
220
  }
210
- const currentValue = (_a = this.getVariable(node.variableId)) !== null && _a !== void 0 ? _a : variable.defaultValue;
221
+ const currentValue = this.getVariable(node.variableId) ?? variable.defaultValue;
211
222
  let newValue;
212
223
  switch (node.operation) {
213
224
  case 'set':
@@ -232,8 +243,9 @@ class DialogueEngine {
232
243
  newValue = node.value;
233
244
  }
234
245
  this.setVariable(node.variableId, newValue, variable.scope);
235
- if (node.nextNode)
246
+ if (node.nextNode) {
236
247
  this.goToNode(node.nextNode);
248
+ }
237
249
  }
238
250
  processEventNode(node) {
239
251
  this.events.emit(node.eventType, node.eventData);
@@ -241,8 +253,9 @@ class DialogueEngine {
241
253
  eventType: node.eventType,
242
254
  eventData: node.eventData,
243
255
  });
244
- if (node.nextNode)
256
+ if (node.nextNode) {
245
257
  this.goToNode(node.nextNode);
258
+ }
246
259
  }
247
260
  processRandomNode(node) {
248
261
  const totalWeight = node.outputs.reduce((sum, out) => sum + out.weight, 0);
@@ -256,8 +269,9 @@ class DialogueEngine {
256
269
  }
257
270
  // Fallback to first output
258
271
  const first = node.outputs[0];
259
- if (first === null || first === void 0 ? void 0 : first.nextNode)
272
+ if (first?.nextNode) {
260
273
  this.goToNode(first.nextNode);
274
+ }
261
275
  }
262
276
  processEndNode(node) {
263
277
  // Apply final variable changes
@@ -265,7 +279,7 @@ class DialogueEngine {
265
279
  const tree = this.trees.get(this.currentState.treeId);
266
280
  if (tree) {
267
281
  for (const sv of node.setVariables) {
268
- const variable = tree.variables.find(v => v.id === sv.variableId);
282
+ const variable = tree.variables.find((v) => v.id === sv.variableId);
269
283
  if (variable) {
270
284
  this.setVariable(sv.variableId, sv.value, variable.scope);
271
285
  }
@@ -279,21 +293,25 @@ class DialogueEngine {
279
293
  }
280
294
  /* ── Choice Selection ─────────────────────────────────────────── */
281
295
  selectChoice(optionId) {
282
- if (!this.currentState || !this.currentState.isActive)
296
+ if (!this.currentState || !this.currentState.isActive) {
283
297
  return false;
298
+ }
284
299
  const tree = this.trees.get(this.currentState.treeId);
285
- if (!tree)
300
+ if (!tree) {
286
301
  return false;
287
- const node = tree.nodes.find(n => n.id === this.currentState.currentNodeId);
288
- if (!node || node.type !== 'choice')
302
+ }
303
+ const node = tree.nodes.find((n) => n.id === this.currentState.currentNodeId);
304
+ if (!node || node.type !== 'choice') {
289
305
  return false;
290
- const choice = node.options.find(o => o.id === optionId);
291
- if (!choice)
306
+ }
307
+ const choice = node.options.find((o) => o.id === optionId);
308
+ if (!choice) {
292
309
  return false;
310
+ }
293
311
  // Apply variables from choice
294
312
  if (choice.setVariables) {
295
313
  for (const sv of choice.setVariables) {
296
- const variable = tree.variables.find(v => v.id === sv.variableId);
314
+ const variable = tree.variables.find((v) => v.id === sv.variableId);
297
315
  if (variable) {
298
316
  this.setVariable(sv.variableId, sv.value, variable.scope);
299
317
  }
@@ -316,14 +334,17 @@ class DialogueEngine {
316
334
  }
317
335
  /** Advance to next node (for text nodes) */
318
336
  advance() {
319
- if (!this.currentState || !this.currentState.isActive)
337
+ if (!this.currentState || !this.currentState.isActive) {
320
338
  return false;
339
+ }
321
340
  const tree = this.trees.get(this.currentState.treeId);
322
- if (!tree)
341
+ if (!tree) {
323
342
  return false;
324
- const node = tree.nodes.find(n => n.id === this.currentState.currentNodeId);
325
- if (!node)
343
+ }
344
+ const node = tree.nodes.find((n) => n.id === this.currentState.currentNodeId);
345
+ if (!node) {
326
346
  return false;
347
+ }
327
348
  if (node.type === 'text' && node.nextNode) {
328
349
  this.goToNode(node.nextNode);
329
350
  return true;
@@ -332,19 +353,21 @@ class DialogueEngine {
332
353
  }
333
354
  /* ── Condition Evaluation ─────────────────────────────────────── */
334
355
  evaluateConditions(conditions, logic) {
335
- if (conditions.length === 0)
356
+ if (conditions.length === 0) {
336
357
  return true;
358
+ }
337
359
  if (logic === 'and') {
338
- return conditions.every(c => this.evaluateCondition(c));
360
+ return conditions.every((c) => this.evaluateCondition(c));
339
361
  }
340
362
  else {
341
- return conditions.some(c => this.evaluateCondition(c));
363
+ return conditions.some((c) => this.evaluateCondition(c));
342
364
  }
343
365
  }
344
366
  evaluateCondition(condition) {
345
367
  const varValue = this.getVariable(condition.variableId);
346
- if (varValue === undefined)
368
+ if (varValue === undefined) {
347
369
  return false;
370
+ }
348
371
  const { operator, value } = condition;
349
372
  switch (operator) {
350
373
  case 'eq':
@@ -381,11 +404,10 @@ class DialogueEngine {
381
404
  }
382
405
  /* ── Events ───────────────────────────────────────────────────── */
383
406
  emitEvent(type, data) {
384
- var _a, _b, _c, _d;
385
407
  this.events.emit(type, {
386
408
  type,
387
- treeId: (_b = (_a = this.currentState) === null || _a === void 0 ? void 0 : _a.treeId) !== null && _b !== void 0 ? _b : '',
388
- nodeId: (_d = (_c = this.currentState) === null || _c === void 0 ? void 0 : _c.currentNodeId) !== null && _d !== void 0 ? _d : undefined,
409
+ treeId: this.currentState?.treeId ?? '',
410
+ nodeId: this.currentState?.currentNodeId ?? undefined,
389
411
  data,
390
412
  timestamp: Date.now(),
391
413
  });
@@ -459,12 +481,12 @@ class DialogueTreeBuilder {
459
481
  const id = this.generateId();
460
482
  const node = { id, type: 'start', label, nextNode, position };
461
483
  this.tree.nodes.push(node);
462
- if (!this.tree.startNodeId)
484
+ if (!this.tree.startNodeId) {
463
485
  this.tree.startNodeId = id;
486
+ }
464
487
  return this;
465
488
  }
466
489
  addText(characterId, text, nextNode = null, options = {}) {
467
- var _a;
468
490
  const id = this.generateId();
469
491
  const node = {
470
492
  id,
@@ -472,20 +494,19 @@ class DialogueTreeBuilder {
472
494
  characterId,
473
495
  text,
474
496
  nextNode,
475
- position: (_a = options.position) !== null && _a !== void 0 ? _a : { x: 100, y: 0 },
497
+ position: options.position ?? { x: 100, y: 0 },
476
498
  ...options,
477
499
  };
478
500
  this.tree.nodes.push(node);
479
501
  return this;
480
502
  }
481
503
  addChoice(options, settings = {}) {
482
- var _a;
483
504
  const id = this.generateId();
484
505
  const node = {
485
506
  id,
486
507
  type: 'choice',
487
508
  options,
488
- position: (_a = settings.position) !== null && _a !== void 0 ? _a : { x: 200, y: 0 },
509
+ position: settings.position ?? { x: 200, y: 0 },
489
510
  ...settings,
490
511
  };
491
512
  this.tree.nodes.push(node);
@@ -562,9 +583,8 @@ class DialogueTreeBuilder {
562
583
  }
563
584
  /** Get the ID of the last added node */
564
585
  lastNodeId() {
565
- var _a;
566
586
  const lastNode = this.tree.nodes[this.tree.nodes.length - 1];
567
- return (_a = lastNode === null || lastNode === void 0 ? void 0 : lastNode.id) !== null && _a !== void 0 ? _a : '';
587
+ return lastNode?.id ?? '';
568
588
  }
569
589
  /** Get node by index (1-based for readability) */
570
590
  nodeId(index) {
@@ -637,35 +657,37 @@ const DialogueBox = ({ text, characterName, portrait, emotion = 'neutral', textE
637
657
  onClick: handleClick,
638
658
  'data-emotion': emotion,
639
659
  }, [
640
- portrait && React.createElement('div', {
641
- key: 'portrait',
642
- className: 'nice-dialogue-portrait',
643
- style: {
644
- width: '80px',
645
- height: '80px',
646
- flexShrink: 0,
647
- borderRadius: '8px',
648
- overflow: 'hidden',
649
- },
650
- }, React.createElement('img', {
651
- src: portrait,
652
- alt: characterName !== null && characterName !== void 0 ? characterName : 'Character',
653
- style: { width: '100%', height: '100%', objectFit: 'cover' },
654
- })),
660
+ portrait &&
661
+ React.createElement('div', {
662
+ key: 'portrait',
663
+ className: 'nice-dialogue-portrait',
664
+ style: {
665
+ width: '80px',
666
+ height: '80px',
667
+ flexShrink: 0,
668
+ borderRadius: '8px',
669
+ overflow: 'hidden',
670
+ },
671
+ }, React.createElement('img', {
672
+ src: portrait,
673
+ alt: characterName ?? 'Character',
674
+ style: { width: '100%', height: '100%', objectFit: 'cover' },
675
+ })),
655
676
  React.createElement('div', {
656
677
  key: 'content',
657
678
  className: 'nice-dialogue-content',
658
679
  style: { flex: 1 },
659
680
  }, [
660
- characterName && React.createElement('div', {
661
- key: 'name',
662
- className: 'nice-dialogue-name',
663
- style: {
664
- fontWeight: 'bold',
665
- marginBottom: '8px',
666
- color: '#64b5f6',
667
- },
668
- }, characterName),
681
+ characterName &&
682
+ React.createElement('div', {
683
+ key: 'name',
684
+ className: 'nice-dialogue-name',
685
+ style: {
686
+ fontWeight: 'bold',
687
+ marginBottom: '8px',
688
+ color: '#64b5f6',
689
+ },
690
+ }, characterName),
669
691
  React.createElement('div', {
670
692
  key: 'text',
671
693
  className: 'nice-dialogue-text',
@@ -688,20 +710,22 @@ const DialogueBox = ({ text, characterName, portrait, emotion = 'neutral', textE
688
710
  * ChoiceList component for displaying dialogue choices
689
711
  */
690
712
  const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style, }) => {
691
- const [timeLeft, setTimeLeft] = React.useState(timeout !== null && timeout !== void 0 ? timeout : 0);
713
+ const [timeLeft, setTimeLeft] = React.useState(timeout ?? 0);
692
714
  const [selectedIndex, setSelectedIndex] = React.useState(0);
693
715
  // Timeout countdown
694
716
  React.useEffect(() => {
695
- if (!timeout)
717
+ if (!timeout) {
696
718
  return;
719
+ }
697
720
  setTimeLeft(timeout);
698
721
  const interval = setInterval(() => {
699
- setTimeLeft(prev => {
722
+ setTimeLeft((prev) => {
700
723
  if (prev <= 100) {
701
724
  // Auto-select first option
702
- const firstValid = options.find(o => !o.disabled);
703
- if (firstValid)
725
+ const firstValid = options.find((o) => !o.disabled);
726
+ if (firstValid) {
704
727
  onSelect(firstValid.id);
728
+ }
705
729
  return 0;
706
730
  }
707
731
  return prev - 100;
@@ -712,15 +736,15 @@ const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style,
712
736
  // Keyboard navigation
713
737
  React.useEffect(() => {
714
738
  const handleKeyDown = (e) => {
715
- const validOptions = options.filter(o => !o.disabled);
739
+ const validOptions = options.filter((o) => !o.disabled);
716
740
  switch (e.key) {
717
741
  case 'ArrowUp':
718
742
  e.preventDefault();
719
- setSelectedIndex(prev => (prev - 1 + validOptions.length) % validOptions.length);
743
+ setSelectedIndex((prev) => (prev - 1 + validOptions.length) % validOptions.length);
720
744
  break;
721
745
  case 'ArrowDown':
722
746
  e.preventDefault();
723
- setSelectedIndex(prev => (prev + 1) % validOptions.length);
747
+ setSelectedIndex((prev) => (prev + 1) % validOptions.length);
724
748
  break;
725
749
  case 'Enter':
726
750
  case ' ':
@@ -734,7 +758,7 @@ const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style,
734
758
  window.addEventListener('keydown', handleKeyDown);
735
759
  return () => window.removeEventListener('keydown', handleKeyDown);
736
760
  }, [options, selectedIndex, onSelect]);
737
- const validOptions = options.filter(o => !o.disabled);
761
+ const validOptions = options.filter((o) => !o.disabled);
738
762
  return React.createElement('div', {
739
763
  className: `nice-choice-list ${className}`,
740
764
  style: {
@@ -745,33 +769,36 @@ const ChoiceList = ({ options, prompt, onSelect, timeout, className = '', style,
745
769
  ...style,
746
770
  },
747
771
  }, [
748
- prompt && React.createElement('div', {
749
- key: 'prompt',
750
- className: 'nice-choice-prompt',
751
- style: {
752
- marginBottom: '16px',
753
- fontStyle: 'italic',
754
- opacity: 0.9,
755
- },
756
- }, prompt),
757
- timeout && timeLeft > 0 && React.createElement('div', {
758
- key: 'timer',
759
- className: 'nice-choice-timer',
760
- style: {
761
- marginBottom: '8px',
762
- height: '4px',
763
- backgroundColor: 'rgba(255, 255, 255, 0.2)',
764
- borderRadius: '2px',
765
- overflow: 'hidden',
766
- },
767
- }, React.createElement('div', {
768
- style: {
769
- width: `${(timeLeft / timeout) * 100}%`,
770
- height: '100%',
771
- backgroundColor: timeLeft < 3000 ? '#f44336' : '#4caf50',
772
- transition: 'width 0.1s linear',
773
- },
774
- })),
772
+ prompt &&
773
+ React.createElement('div', {
774
+ key: 'prompt',
775
+ className: 'nice-choice-prompt',
776
+ style: {
777
+ marginBottom: '16px',
778
+ fontStyle: 'italic',
779
+ opacity: 0.9,
780
+ },
781
+ }, prompt),
782
+ timeout &&
783
+ timeLeft > 0 &&
784
+ React.createElement('div', {
785
+ key: 'timer',
786
+ className: 'nice-choice-timer',
787
+ style: {
788
+ marginBottom: '8px',
789
+ height: '4px',
790
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
791
+ borderRadius: '2px',
792
+ overflow: 'hidden',
793
+ },
794
+ }, React.createElement('div', {
795
+ style: {
796
+ width: `${(timeLeft / timeout) * 100}%`,
797
+ height: '100%',
798
+ backgroundColor: timeLeft < 3000 ? '#f44336' : '#4caf50',
799
+ transition: 'width 0.1s linear',
800
+ },
801
+ })),
775
802
  React.createElement('div', {
776
803
  key: 'options',
777
804
  className: 'nice-choice-options',
@@ -837,7 +864,7 @@ function validateDialogueTree(tree) {
837
864
  throw new Error('Invalid dialogue tree: missing startNodeId');
838
865
  }
839
866
  // Validate all node connections
840
- const nodeIds = new Set(t.nodes.map(n => n.id));
867
+ const nodeIds = new Set(t.nodes.map((n) => n.id));
841
868
  for (const node of t.nodes) {
842
869
  validateNodeConnections(node, nodeIds);
843
870
  }
@@ -881,12 +908,14 @@ function findUnreachableNodes(tree) {
881
908
  const toVisit = [tree.startNodeId];
882
909
  while (toVisit.length > 0) {
883
910
  const nodeId = toVisit.pop();
884
- if (reachable.has(nodeId))
911
+ if (reachable.has(nodeId)) {
885
912
  continue;
913
+ }
886
914
  reachable.add(nodeId);
887
- const node = tree.nodes.find(n => n.id === nodeId);
888
- if (!node)
915
+ const node = tree.nodes.find((n) => n.id === nodeId);
916
+ if (!node) {
889
917
  continue;
918
+ }
890
919
  const nextIds = getNextNodeIds(node);
891
920
  for (const id of nextIds) {
892
921
  if (id && !reachable.has(id)) {
@@ -894,9 +923,7 @@ function findUnreachableNodes(tree) {
894
923
  }
895
924
  }
896
925
  }
897
- return tree.nodes
898
- .filter(n => !reachable.has(n.id) && n.type !== 'start')
899
- .map(n => n.id);
926
+ return tree.nodes.filter((n) => !reachable.has(n.id) && n.type !== 'start').map((n) => n.id);
900
927
  }
901
928
  function getNextNodeIds(node) {
902
929
  switch (node.type) {
@@ -906,12 +933,12 @@ function getNextNodeIds(node) {
906
933
  case 'event':
907
934
  return [node.nextNode];
908
935
  case 'choice':
909
- return node.options.map(o => o.nextNode);
936
+ return node.options.map((o) => o.nextNode);
910
937
  case 'branch':
911
938
  case 'check_variable':
912
939
  return [node.trueNode, node.falseNode];
913
940
  case 'random':
914
- return node.outputs.map(o => o.nextNode);
941
+ return node.outputs.map((o) => o.nextNode);
915
942
  case 'end':
916
943
  return [];
917
944
  default:
@@ -998,10 +1025,7 @@ const EMOTION_COLORS = {
998
1025
  custom: '#ffffff',
999
1026
  };
1000
1027
  function createEmptyDialogueTree(id, name) {
1001
- return new DialogueTreeBuilder(id, name)
1002
- .addStart('main', null)
1003
- .addEnd('success')
1004
- .build();
1028
+ return new DialogueTreeBuilder(id, name).addStart('main', null).addEnd('success').build();
1005
1029
  }
1006
1030
 
1007
1031
  export { ChoiceList, DEFAULT_TEXT_SPEED, DialogueBox, DialogueEngine, DialogueTreeBuilder, EMOTION_COLORS, applyLocalization, createEmptyDialogueTree, deserializeDialogueTree, extractTranslatableStrings, findUnreachableNodes, serializeDialogueTree, useTypewriter, validateDialogueTree };