@nice2dev/game-engine 1.1.7 → 1.1.9

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 (487) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/cjs/devtools/DeveloperExperience.js +5 -5
  3. package/dist/cjs/dialogue/DialogueSystem.js +1 -1
  4. package/dist/cjs/editor/AssetBrowser.js +26 -25
  5. package/dist/cjs/editor/NiceGameEditor.js +66 -49
  6. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +33 -32
  7. package/dist/cjs/i18n/I18n.js +305 -0
  8. package/dist/cjs/kids/KidMode.js +36 -36
  9. package/dist/cjs/kids/KidTools.js +31 -31
  10. package/dist/cjs/native-engine/InputSystem.js +9 -2
  11. package/dist/cjs/plugins/PluginSDK.js +1 -1
  12. package/dist/cjs/plugins/PluginTestKit.js +1 -1
  13. package/dist/cjs/quest/QuestSystem.js +5 -1
  14. package/dist/cjs/tutorials/TutorialBranching.js +12 -12
  15. package/dist/cjs/tutorials/TutorialEngine.js +35 -35
  16. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +75 -75
  17. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +24 -24
  18. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +33 -33
  19. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  20. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +28 -27
  21. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  22. package/dist/esm/devtools/DeveloperExperience.js +5 -5
  23. package/dist/esm/dialogue/DialogueSystem.js +1 -1
  24. package/dist/esm/editor/AssetBrowser.js +26 -25
  25. package/dist/esm/editor/NiceGameEditor.js +67 -50
  26. package/dist/esm/godot-integration/components/GodotProjectBrowser.js +33 -32
  27. package/dist/esm/i18n/I18n.js +305 -0
  28. package/dist/esm/kids/KidMode.js +36 -36
  29. package/dist/esm/kids/KidTools.js +31 -31
  30. package/dist/esm/native-engine/InputSystem.js +9 -2
  31. package/dist/esm/plugins/PluginSDK.js +1 -1
  32. package/dist/esm/plugins/PluginTestKit.js +1 -1
  33. package/dist/esm/quest/QuestSystem.js +5 -1
  34. package/dist/esm/tutorials/TutorialBranching.js +12 -12
  35. package/dist/esm/tutorials/TutorialEngine.js +35 -35
  36. package/dist/esm/tutorials/content/Tutorials_T05_T08.js +75 -75
  37. package/dist/esm/tutorials/content/Tutorials_T09_T11.js +24 -24
  38. package/dist/esm/tutorials/content/Tutorials_T12_T15.js +33 -33
  39. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  40. package/dist/esm/unity-integration/components/UnityProjectBrowser.js +28 -27
  41. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  42. package/dist/types/editor/AssetBrowser.d.ts +1 -0
  43. package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +2 -1
  44. package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +1 -0
  45. package/dist/types/kids/KidMode.d.ts +4 -2
  46. package/dist/types/kids/KidTools.d.ts +1 -1
  47. package/dist/types/tutorials/TutorialBranching.d.ts +1 -1
  48. package/package.json +3 -2
  49. package/dist/cjs/accessibility/Accessibility.js.map +0 -1
  50. package/dist/cjs/ai/AI.js.map +0 -1
  51. package/dist/cjs/ai/BehaviorTree.js.map +0 -1
  52. package/dist/cjs/ai/StateMachine.js.map +0 -1
  53. package/dist/cjs/animation/Animation.js.map +0 -1
  54. package/dist/cjs/audio/AudioAdvanced.js.map +0 -1
  55. package/dist/cjs/audio/AudioBridge.js.map +0 -1
  56. package/dist/cjs/audio/AudioManager.js.map +0 -1
  57. package/dist/cjs/build-cloud/BuildOrchestration.js.map +0 -1
  58. package/dist/cjs/build-cloud/GodotBuildCloud.js.map +0 -1
  59. package/dist/cjs/build-cloud/UnityBuildCloud.js.map +0 -1
  60. package/dist/cjs/build-cloud/UnrealBuildCloud.js.map +0 -1
  61. package/dist/cjs/core/EventBus.js.map +0 -1
  62. package/dist/cjs/core/GameClock.js.map +0 -1
  63. package/dist/cjs/core/GameConfig.js.map +0 -1
  64. package/dist/cjs/core/GameLoop.js.map +0 -1
  65. package/dist/cjs/core/ServiceLocator.js.map +0 -1
  66. package/dist/cjs/core/Validation.js.map +0 -1
  67. package/dist/cjs/core/math.js.map +0 -1
  68. package/dist/cjs/devtools/DevTools.js.map +0 -1
  69. package/dist/cjs/devtools/DeveloperExperience.js.map +0 -1
  70. package/dist/cjs/devtools/GameplayAnalytics.js.map +0 -1
  71. package/dist/cjs/dialogue/DialogueSystem.js.map +0 -1
  72. package/dist/cjs/docs/DocGenerator.js.map +0 -1
  73. package/dist/cjs/ecs/World.js.map +0 -1
  74. package/dist/cjs/editor/AchievementEditor.js.map +0 -1
  75. package/dist/cjs/editor/AdvancedEditor.js.map +0 -1
  76. package/dist/cjs/editor/AnimationRetargeting.js.map +0 -1
  77. package/dist/cjs/editor/AssetBrowser.js.map +0 -1
  78. package/dist/cjs/editor/AssetManager.js.map +0 -1
  79. package/dist/cjs/editor/ConsolePro.js.map +0 -1
  80. package/dist/cjs/editor/CraftingEditor.js.map +0 -1
  81. package/dist/cjs/editor/DebugTools.js.map +0 -1
  82. package/dist/cjs/editor/DialogueSystem.js.map +0 -1
  83. package/dist/cjs/editor/LeaderboardSystem.js.map +0 -1
  84. package/dist/cjs/editor/NiceGameEditor.js.map +0 -1
  85. package/dist/cjs/editor/PrefabSystem.js.map +0 -1
  86. package/dist/cjs/editor/ProfilerPanel.js.map +0 -1
  87. package/dist/cjs/editor/QuestEditor.js.map +0 -1
  88. package/dist/cjs/editor/ReplaySystem.js.map +0 -1
  89. package/dist/cjs/editor/SceneEditor.js.map +0 -1
  90. package/dist/cjs/editor/ScreenshotMode.js.map +0 -1
  91. package/dist/cjs/editor/ShaderGraph.js.map +0 -1
  92. package/dist/cjs/editor/TimelineEditor.js.map +0 -1
  93. package/dist/cjs/editor/UndoRedoPro.js.map +0 -1
  94. package/dist/cjs/editor/VRARMode.js.map +0 -1
  95. package/dist/cjs/engine/NiceGameEngine.js.map +0 -1
  96. package/dist/cjs/engine/SaveSystem.js.map +0 -1
  97. package/dist/cjs/engine/SaveSystemV2.js +0 -530
  98. package/dist/cjs/engine/SaveSystemV2.js.map +0 -1
  99. package/dist/cjs/enterprise/Enterprise.js.map +0 -1
  100. package/dist/cjs/export/BevyExporter.js.map +0 -1
  101. package/dist/cjs/export/CocosExporter.js.map +0 -1
  102. package/dist/cjs/export/Construct3Exporter.js.map +0 -1
  103. package/dist/cjs/export/DefoldExporter.js.map +0 -1
  104. package/dist/cjs/export/GDevelopExporter.js.map +0 -1
  105. package/dist/cjs/export/GameMakerExporter.js.map +0 -1
  106. package/dist/cjs/export/GodotExporter.js.map +0 -1
  107. package/dist/cjs/export/MinecraftBedrockExporter.js.map +0 -1
  108. package/dist/cjs/export/MonoGameExporter.js.map +0 -1
  109. package/dist/cjs/export/Pico8Exporter.js.map +0 -1
  110. package/dist/cjs/export/PlatformExporter.js.map +0 -1
  111. package/dist/cjs/export/RPGMakerExporter.js.map +0 -1
  112. package/dist/cjs/export/RobloxExporter.js.map +0 -1
  113. package/dist/cjs/export/Solar2DExporter.js.map +0 -1
  114. package/dist/cjs/export/ThreeJSExporter.js.map +0 -1
  115. package/dist/cjs/export/Tic80Exporter.js.map +0 -1
  116. package/dist/cjs/export/UnityExporter.js.map +0 -1
  117. package/dist/cjs/export/UnrealExporter.js.map +0 -1
  118. package/dist/cjs/export/WebExporter.js.map +0 -1
  119. package/dist/cjs/export/index.js.map +0 -1
  120. package/dist/cjs/godot-integration/GodotAssetLibrary.js.map +0 -1
  121. package/dist/cjs/godot-integration/GodotImport.js.map +0 -1
  122. package/dist/cjs/godot-integration/GodotLiveLink.js.map +0 -1
  123. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  124. package/dist/cjs/i18n/I18n.js.map +0 -1
  125. package/dist/cjs/i18n/useTranslation.js.map +0 -1
  126. package/dist/cjs/import/AsepriteImporter.js.map +0 -1
  127. package/dist/cjs/import/DragonBonesImporter.js.map +0 -1
  128. package/dist/cjs/import/GameMakerImporter.js.map +0 -1
  129. package/dist/cjs/import/GodotSceneImporter.js.map +0 -1
  130. package/dist/cjs/import/LDtkImporter.js.map +0 -1
  131. package/dist/cjs/import/Live2DImporter.js.map +0 -1
  132. package/dist/cjs/import/NdgFormat.js.map +0 -1
  133. package/dist/cjs/import/OgmoImporter.js.map +0 -1
  134. package/dist/cjs/import/RPGMakerImporter.js.map +0 -1
  135. package/dist/cjs/import/SceneImporter.js.map +0 -1
  136. package/dist/cjs/import/SpineImporter.js.map +0 -1
  137. package/dist/cjs/import/SpriterImporter.js.map +0 -1
  138. package/dist/cjs/import/TiledMapImporter.js.map +0 -1
  139. package/dist/cjs/import/UnitySceneImporter.js.map +0 -1
  140. package/dist/cjs/import/index.js.map +0 -1
  141. package/dist/cjs/index.js.map +0 -1
  142. package/dist/cjs/input/GamepadNavigation.js.map +0 -1
  143. package/dist/cjs/input/InputManager.js.map +0 -1
  144. package/dist/cjs/input/useGamepads.js.map +0 -1
  145. package/dist/cjs/integration/IconSprite.js.map +0 -1
  146. package/dist/cjs/inventory/InventorySystem.js.map +0 -1
  147. package/dist/cjs/kids/KidMode.js.map +0 -1
  148. package/dist/cjs/kids/KidTools.js.map +0 -1
  149. package/dist/cjs/monetization/Monetization.js.map +0 -1
  150. package/dist/cjs/multiplayer/LocalMultiplayer.js.map +0 -1
  151. package/dist/cjs/multiplayer/MiniGameTypes.js.map +0 -1
  152. package/dist/cjs/native-engine/AssetPipeline.js.map +0 -1
  153. package/dist/cjs/native-engine/AudioEngine.js.map +0 -1
  154. package/dist/cjs/native-engine/InputSystem.js.map +0 -1
  155. package/dist/cjs/native-engine/NetworkingSystem.js.map +0 -1
  156. package/dist/cjs/native-engine/PhysicsEngine.js.map +0 -1
  157. package/dist/cjs/native-engine/RenderingEngine.js.map +0 -1
  158. package/dist/cjs/native-engine/SceneGraph.js.map +0 -1
  159. package/dist/cjs/network/MultiplayerTransport.js.map +0 -1
  160. package/dist/cjs/network/Networking.js.map +0 -1
  161. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  162. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  163. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  164. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  165. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  166. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  167. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  168. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  169. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  170. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  171. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  172. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  173. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  174. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  175. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  176. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  177. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  178. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  179. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  180. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  181. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  182. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  183. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  184. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  185. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  186. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  187. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  188. package/dist/cjs/pathfinding/Pathfinding.js.map +0 -1
  189. package/dist/cjs/performance/AssetStreaming.js.map +0 -1
  190. package/dist/cjs/performance/BenchmarkSuite.js.map +0 -1
  191. package/dist/cjs/performance/DeltaCompression.js.map +0 -1
  192. package/dist/cjs/performance/DeterministicPhysics.js.map +0 -1
  193. package/dist/cjs/performance/ECSOptimization.js.map +0 -1
  194. package/dist/cjs/performance/GameSaveSystem.js.map +0 -1
  195. package/dist/cjs/performance/HotReload.js.map +0 -1
  196. package/dist/cjs/performance/InputRecording.js.map +0 -1
  197. package/dist/cjs/performance/InterestManagement.js.map +0 -1
  198. package/dist/cjs/performance/LocalizationRuntime.js.map +0 -1
  199. package/dist/cjs/performance/MemoryManagement.js.map +0 -1
  200. package/dist/cjs/performance/ModSupport.js.map +0 -1
  201. package/dist/cjs/performance/MultiThreadedPhysics.js.map +0 -1
  202. package/dist/cjs/performance/NetworkPrediction.js.map +0 -1
  203. package/dist/cjs/performance/ObjectPooling.js.map +0 -1
  204. package/dist/cjs/performance/Performance.js.map +0 -1
  205. package/dist/cjs/performance/PerformanceAdvanced.js.map +0 -1
  206. package/dist/cjs/performance/SaveSystem.js +0 -574
  207. package/dist/cjs/performance/SaveSystem.js.map +0 -1
  208. package/dist/cjs/performance/WebGPURenderer.js.map +0 -1
  209. package/dist/cjs/physics/PhysicsAdvanced.js.map +0 -1
  210. package/dist/cjs/physics/PhysicsEngine2D.js.map +0 -1
  211. package/dist/cjs/plugins/PluginSDK.js.map +0 -1
  212. package/dist/cjs/plugins/PluginTestKit.js.map +0 -1
  213. package/dist/cjs/procedural/Procedural.js.map +0 -1
  214. package/dist/cjs/procedural/WorldBuilding.js.map +0 -1
  215. package/dist/cjs/quest/QuestSystem.js.map +0 -1
  216. package/dist/cjs/release/MobileExport.js.map +0 -1
  217. package/dist/cjs/release/Release.js.map +0 -1
  218. package/dist/cjs/rendering/Camera2D.js.map +0 -1
  219. package/dist/cjs/rendering/Renderer2D.js.map +0 -1
  220. package/dist/cjs/rendering/WebGPURenderPipeline.js.map +0 -1
  221. package/dist/cjs/runtime3d/Runtime3D.js.map +0 -1
  222. package/dist/cjs/runtime3d/SceneEditor3D.js.map +0 -1
  223. package/dist/cjs/scene/SceneManager.js.map +0 -1
  224. package/dist/cjs/scripting/GraphToAST.js.map +0 -1
  225. package/dist/cjs/scripting/LanguageExporter.js.map +0 -1
  226. package/dist/cjs/scripting/NodeGraph.js.map +0 -1
  227. package/dist/cjs/scripting/ScriptAST.js.map +0 -1
  228. package/dist/cjs/scripting/VisualScripting2.js.map +0 -1
  229. package/dist/cjs/scripting/exporters/CSharpExporter.js.map +0 -1
  230. package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +0 -1
  231. package/dist/cjs/scripting/exporters/LuaExporter.js.map +0 -1
  232. package/dist/cjs/scripting/exporters/PythonExporter.js.map +0 -1
  233. package/dist/cjs/scripting/exporters/RustExporter.js.map +0 -1
  234. package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +0 -1
  235. package/dist/cjs/social/Social.js.map +0 -1
  236. package/dist/cjs/systems/LightingSystem.js.map +0 -1
  237. package/dist/cjs/systems/ParticleSystem2.js.map +0 -1
  238. package/dist/cjs/systems/PhysicsDebugSystem.js.map +0 -1
  239. package/dist/cjs/systems/TerrainSystem.js.map +0 -1
  240. package/dist/cjs/templates/ActionTemplates.js.map +0 -1
  241. package/dist/cjs/templates/FightingTemplate.js.map +0 -1
  242. package/dist/cjs/templates/MetroidvaniaTemplate.js.map +0 -1
  243. package/dist/cjs/templates/PartyTemplates.js.map +0 -1
  244. package/dist/cjs/templates/PuzzleTemplates.js.map +0 -1
  245. package/dist/cjs/templates/RPGTemplates.js.map +0 -1
  246. package/dist/cjs/templates/SportsTemplates.js.map +0 -1
  247. package/dist/cjs/templates/StrategyTemplates.js.map +0 -1
  248. package/dist/cjs/templates/SurvivalTemplate.js.map +0 -1
  249. package/dist/cjs/templates/WaveDefense.js.map +0 -1
  250. package/dist/cjs/tilemap/Tilemap.js.map +0 -1
  251. package/dist/cjs/tutorials/TutorialBranching.js.map +0 -1
  252. package/dist/cjs/tutorials/TutorialEngine.js.map +0 -1
  253. package/dist/cjs/tutorials/TutorialOverlay.js.map +0 -1
  254. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  255. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  256. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  257. package/dist/cjs/ui/GameUI.js.map +0 -1
  258. package/dist/cjs/unity-integration/UnityAssetStore.js.map +0 -1
  259. package/dist/cjs/unity-integration/UnityImport.js.map +0 -1
  260. package/dist/cjs/unity-integration/UnityLiveLink.js.map +0 -1
  261. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  262. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  263. package/dist/cjs/unreal-integration/UnrealImport.js.map +0 -1
  264. package/dist/cjs/unreal-integration/UnrealLiveLink.js.map +0 -1
  265. package/dist/cjs/unreal-integration/UnrealMarketplace.js.map +0 -1
  266. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  267. package/dist/cjs/xr/ARVR.js.map +0 -1
  268. package/dist/esm/accessibility/Accessibility.js.map +0 -1
  269. package/dist/esm/ai/AI.js.map +0 -1
  270. package/dist/esm/ai/BehaviorTree.js.map +0 -1
  271. package/dist/esm/ai/StateMachine.js.map +0 -1
  272. package/dist/esm/animation/Animation.js.map +0 -1
  273. package/dist/esm/audio/AudioAdvanced.js.map +0 -1
  274. package/dist/esm/audio/AudioBridge.js.map +0 -1
  275. package/dist/esm/audio/AudioManager.js.map +0 -1
  276. package/dist/esm/build-cloud/BuildOrchestration.js.map +0 -1
  277. package/dist/esm/build-cloud/GodotBuildCloud.js.map +0 -1
  278. package/dist/esm/build-cloud/UnityBuildCloud.js.map +0 -1
  279. package/dist/esm/build-cloud/UnrealBuildCloud.js.map +0 -1
  280. package/dist/esm/core/EventBus.js.map +0 -1
  281. package/dist/esm/core/GameClock.js.map +0 -1
  282. package/dist/esm/core/GameConfig.js.map +0 -1
  283. package/dist/esm/core/GameLoop.js.map +0 -1
  284. package/dist/esm/core/ServiceLocator.js.map +0 -1
  285. package/dist/esm/core/Validation.js.map +0 -1
  286. package/dist/esm/core/math.js.map +0 -1
  287. package/dist/esm/devtools/DevTools.js.map +0 -1
  288. package/dist/esm/devtools/DeveloperExperience.js.map +0 -1
  289. package/dist/esm/devtools/GameplayAnalytics.js.map +0 -1
  290. package/dist/esm/dialogue/DialogueSystem.js.map +0 -1
  291. package/dist/esm/docs/DocGenerator.js.map +0 -1
  292. package/dist/esm/ecs/World.js.map +0 -1
  293. package/dist/esm/editor/AchievementEditor.js.map +0 -1
  294. package/dist/esm/editor/AdvancedEditor.js.map +0 -1
  295. package/dist/esm/editor/AnimationRetargeting.js.map +0 -1
  296. package/dist/esm/editor/AssetBrowser.js.map +0 -1
  297. package/dist/esm/editor/AssetManager.js.map +0 -1
  298. package/dist/esm/editor/ConsolePro.js.map +0 -1
  299. package/dist/esm/editor/CraftingEditor.js.map +0 -1
  300. package/dist/esm/editor/DebugTools.js.map +0 -1
  301. package/dist/esm/editor/DialogueSystem.js.map +0 -1
  302. package/dist/esm/editor/LeaderboardSystem.js.map +0 -1
  303. package/dist/esm/editor/NiceGameEditor.js.map +0 -1
  304. package/dist/esm/editor/PrefabSystem.js.map +0 -1
  305. package/dist/esm/editor/ProfilerPanel.js.map +0 -1
  306. package/dist/esm/editor/QuestEditor.js.map +0 -1
  307. package/dist/esm/editor/ReplaySystem.js.map +0 -1
  308. package/dist/esm/editor/SceneEditor.js.map +0 -1
  309. package/dist/esm/editor/ScreenshotMode.js.map +0 -1
  310. package/dist/esm/editor/ShaderGraph.js.map +0 -1
  311. package/dist/esm/editor/TimelineEditor.js.map +0 -1
  312. package/dist/esm/editor/UndoRedoPro.js.map +0 -1
  313. package/dist/esm/editor/VRARMode.js.map +0 -1
  314. package/dist/esm/engine/NiceGameEngine.js.map +0 -1
  315. package/dist/esm/engine/SaveSystem.js.map +0 -1
  316. package/dist/esm/engine/SaveSystemV2.js +0 -523
  317. package/dist/esm/engine/SaveSystemV2.js.map +0 -1
  318. package/dist/esm/enterprise/Enterprise.js.map +0 -1
  319. package/dist/esm/export/BevyExporter.js.map +0 -1
  320. package/dist/esm/export/CocosExporter.js.map +0 -1
  321. package/dist/esm/export/Construct3Exporter.js.map +0 -1
  322. package/dist/esm/export/DefoldExporter.js.map +0 -1
  323. package/dist/esm/export/GDevelopExporter.js.map +0 -1
  324. package/dist/esm/export/GameMakerExporter.js.map +0 -1
  325. package/dist/esm/export/GodotExporter.js.map +0 -1
  326. package/dist/esm/export/MinecraftBedrockExporter.js.map +0 -1
  327. package/dist/esm/export/MonoGameExporter.js.map +0 -1
  328. package/dist/esm/export/Pico8Exporter.js.map +0 -1
  329. package/dist/esm/export/PlatformExporter.js.map +0 -1
  330. package/dist/esm/export/RPGMakerExporter.js.map +0 -1
  331. package/dist/esm/export/RobloxExporter.js.map +0 -1
  332. package/dist/esm/export/Solar2DExporter.js.map +0 -1
  333. package/dist/esm/export/ThreeJSExporter.js.map +0 -1
  334. package/dist/esm/export/Tic80Exporter.js.map +0 -1
  335. package/dist/esm/export/UnityExporter.js.map +0 -1
  336. package/dist/esm/export/UnrealExporter.js.map +0 -1
  337. package/dist/esm/export/WebExporter.js.map +0 -1
  338. package/dist/esm/export/index.js.map +0 -1
  339. package/dist/esm/godot-integration/GodotAssetLibrary.js.map +0 -1
  340. package/dist/esm/godot-integration/GodotImport.js.map +0 -1
  341. package/dist/esm/godot-integration/GodotLiveLink.js.map +0 -1
  342. package/dist/esm/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  343. package/dist/esm/i18n/I18n.js.map +0 -1
  344. package/dist/esm/i18n/useTranslation.js.map +0 -1
  345. package/dist/esm/import/AsepriteImporter.js.map +0 -1
  346. package/dist/esm/import/DragonBonesImporter.js.map +0 -1
  347. package/dist/esm/import/GameMakerImporter.js.map +0 -1
  348. package/dist/esm/import/GodotSceneImporter.js.map +0 -1
  349. package/dist/esm/import/LDtkImporter.js.map +0 -1
  350. package/dist/esm/import/Live2DImporter.js.map +0 -1
  351. package/dist/esm/import/NdgFormat.js.map +0 -1
  352. package/dist/esm/import/OgmoImporter.js.map +0 -1
  353. package/dist/esm/import/RPGMakerImporter.js.map +0 -1
  354. package/dist/esm/import/SceneImporter.js.map +0 -1
  355. package/dist/esm/import/SpineImporter.js.map +0 -1
  356. package/dist/esm/import/SpriterImporter.js.map +0 -1
  357. package/dist/esm/import/TiledMapImporter.js.map +0 -1
  358. package/dist/esm/import/UnitySceneImporter.js.map +0 -1
  359. package/dist/esm/import/index.js.map +0 -1
  360. package/dist/esm/index.js.map +0 -1
  361. package/dist/esm/input/GamepadNavigation.js.map +0 -1
  362. package/dist/esm/input/InputManager.js.map +0 -1
  363. package/dist/esm/input/useGamepads.js.map +0 -1
  364. package/dist/esm/integration/IconSprite.js.map +0 -1
  365. package/dist/esm/inventory/InventorySystem.js.map +0 -1
  366. package/dist/esm/kids/KidMode.js.map +0 -1
  367. package/dist/esm/kids/KidTools.js.map +0 -1
  368. package/dist/esm/monetization/Monetization.js.map +0 -1
  369. package/dist/esm/multiplayer/LocalMultiplayer.js.map +0 -1
  370. package/dist/esm/multiplayer/MiniGameTypes.js.map +0 -1
  371. package/dist/esm/native-engine/AssetPipeline.js.map +0 -1
  372. package/dist/esm/native-engine/AudioEngine.js.map +0 -1
  373. package/dist/esm/native-engine/InputSystem.js.map +0 -1
  374. package/dist/esm/native-engine/NetworkingSystem.js.map +0 -1
  375. package/dist/esm/native-engine/PhysicsEngine.js.map +0 -1
  376. package/dist/esm/native-engine/RenderingEngine.js.map +0 -1
  377. package/dist/esm/native-engine/SceneGraph.js.map +0 -1
  378. package/dist/esm/network/MultiplayerTransport.js.map +0 -1
  379. package/dist/esm/network/Networking.js.map +0 -1
  380. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  381. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  382. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  383. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  384. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  385. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  386. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  387. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  388. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  389. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  390. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  391. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  392. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  393. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  394. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  395. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  396. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  397. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  398. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  399. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  400. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  401. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  402. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  403. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  404. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  405. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  406. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  407. package/dist/esm/pathfinding/Pathfinding.js.map +0 -1
  408. package/dist/esm/performance/AssetStreaming.js.map +0 -1
  409. package/dist/esm/performance/BenchmarkSuite.js.map +0 -1
  410. package/dist/esm/performance/DeltaCompression.js.map +0 -1
  411. package/dist/esm/performance/DeterministicPhysics.js.map +0 -1
  412. package/dist/esm/performance/ECSOptimization.js.map +0 -1
  413. package/dist/esm/performance/GameSaveSystem.js.map +0 -1
  414. package/dist/esm/performance/HotReload.js.map +0 -1
  415. package/dist/esm/performance/InputRecording.js.map +0 -1
  416. package/dist/esm/performance/InterestManagement.js.map +0 -1
  417. package/dist/esm/performance/LocalizationRuntime.js.map +0 -1
  418. package/dist/esm/performance/MemoryManagement.js.map +0 -1
  419. package/dist/esm/performance/ModSupport.js.map +0 -1
  420. package/dist/esm/performance/MultiThreadedPhysics.js.map +0 -1
  421. package/dist/esm/performance/NetworkPrediction.js.map +0 -1
  422. package/dist/esm/performance/ObjectPooling.js.map +0 -1
  423. package/dist/esm/performance/Performance.js.map +0 -1
  424. package/dist/esm/performance/PerformanceAdvanced.js.map +0 -1
  425. package/dist/esm/performance/SaveSystem.js +0 -567
  426. package/dist/esm/performance/SaveSystem.js.map +0 -1
  427. package/dist/esm/performance/WebGPURenderer.js.map +0 -1
  428. package/dist/esm/physics/PhysicsAdvanced.js.map +0 -1
  429. package/dist/esm/physics/PhysicsEngine2D.js.map +0 -1
  430. package/dist/esm/plugins/PluginSDK.js.map +0 -1
  431. package/dist/esm/plugins/PluginTestKit.js.map +0 -1
  432. package/dist/esm/procedural/Procedural.js.map +0 -1
  433. package/dist/esm/procedural/WorldBuilding.js.map +0 -1
  434. package/dist/esm/quest/QuestSystem.js.map +0 -1
  435. package/dist/esm/release/MobileExport.js.map +0 -1
  436. package/dist/esm/release/Release.js.map +0 -1
  437. package/dist/esm/rendering/Camera2D.js.map +0 -1
  438. package/dist/esm/rendering/Renderer2D.js.map +0 -1
  439. package/dist/esm/rendering/WebGPURenderPipeline.js.map +0 -1
  440. package/dist/esm/runtime3d/Runtime3D.js.map +0 -1
  441. package/dist/esm/runtime3d/SceneEditor3D.js.map +0 -1
  442. package/dist/esm/scene/SceneManager.js.map +0 -1
  443. package/dist/esm/scripting/GraphToAST.js.map +0 -1
  444. package/dist/esm/scripting/LanguageExporter.js.map +0 -1
  445. package/dist/esm/scripting/NodeGraph.js.map +0 -1
  446. package/dist/esm/scripting/ScriptAST.js.map +0 -1
  447. package/dist/esm/scripting/VisualScripting2.js.map +0 -1
  448. package/dist/esm/scripting/exporters/CSharpExporter.js.map +0 -1
  449. package/dist/esm/scripting/exporters/GDScriptExporter.js.map +0 -1
  450. package/dist/esm/scripting/exporters/LuaExporter.js.map +0 -1
  451. package/dist/esm/scripting/exporters/PythonExporter.js.map +0 -1
  452. package/dist/esm/scripting/exporters/RustExporter.js.map +0 -1
  453. package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +0 -1
  454. package/dist/esm/social/Social.js.map +0 -1
  455. package/dist/esm/systems/LightingSystem.js.map +0 -1
  456. package/dist/esm/systems/ParticleSystem2.js.map +0 -1
  457. package/dist/esm/systems/PhysicsDebugSystem.js.map +0 -1
  458. package/dist/esm/systems/TerrainSystem.js.map +0 -1
  459. package/dist/esm/templates/ActionTemplates.js.map +0 -1
  460. package/dist/esm/templates/FightingTemplate.js.map +0 -1
  461. package/dist/esm/templates/MetroidvaniaTemplate.js.map +0 -1
  462. package/dist/esm/templates/PartyTemplates.js.map +0 -1
  463. package/dist/esm/templates/PuzzleTemplates.js.map +0 -1
  464. package/dist/esm/templates/RPGTemplates.js.map +0 -1
  465. package/dist/esm/templates/SportsTemplates.js.map +0 -1
  466. package/dist/esm/templates/StrategyTemplates.js.map +0 -1
  467. package/dist/esm/templates/SurvivalTemplate.js.map +0 -1
  468. package/dist/esm/templates/WaveDefense.js.map +0 -1
  469. package/dist/esm/tilemap/Tilemap.js.map +0 -1
  470. package/dist/esm/tutorials/TutorialBranching.js.map +0 -1
  471. package/dist/esm/tutorials/TutorialEngine.js.map +0 -1
  472. package/dist/esm/tutorials/TutorialOverlay.js.map +0 -1
  473. package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  474. package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  475. package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  476. package/dist/esm/ui/GameUI.js.map +0 -1
  477. package/dist/esm/unity-integration/UnityAssetStore.js.map +0 -1
  478. package/dist/esm/unity-integration/UnityImport.js.map +0 -1
  479. package/dist/esm/unity-integration/UnityLiveLink.js.map +0 -1
  480. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  481. package/dist/esm/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  482. package/dist/esm/unreal-integration/UnrealImport.js.map +0 -1
  483. package/dist/esm/unreal-integration/UnrealLiveLink.js.map +0 -1
  484. package/dist/esm/unreal-integration/UnrealMarketplace.js.map +0 -1
  485. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  486. package/dist/esm/xr/ARVR.js.map +0 -1
  487. package/dist/types/engine/SaveSystemV2.d.ts +0 -155
@@ -124,14 +124,14 @@ const WIZARD_STEPS = [
124
124
  {
125
125
  id: 'start',
126
126
  question: {
127
- en: 'What would you like to do? 🎮',
128
- pl: 'Co chcesz zrobić? 🎮',
129
- de: 'Was möchtest du machen? 🎮',
127
+ en: 'What would you like to do?',
128
+ pl: 'Co chcesz zrobić?',
129
+ de: 'Was möchtest du machen?',
130
130
  },
131
131
  choices: [
132
132
  {
133
133
  id: 'make-game',
134
- icon: '🎮',
134
+ icon: 'gamepad',
135
135
  label: { en: 'Make a game!', pl: 'Zrobić grę!', de: 'Ein Spiel machen!' },
136
136
  description: {
137
137
  en: 'Create your own video game',
@@ -143,7 +143,7 @@ const WIZARD_STEPS = [
143
143
  },
144
144
  {
145
145
  id: 'learn',
146
- icon: '📚',
146
+ icon: 'book',
147
147
  label: { en: 'Learn something', pl: 'Nauczyć się czegoś', de: 'Etwas lernen' },
148
148
  description: {
149
149
  en: 'Follow a tutorial step by step',
@@ -155,7 +155,7 @@ const WIZARD_STEPS = [
155
155
  },
156
156
  {
157
157
  id: 'open-existing',
158
- icon: '📂',
158
+ icon: 'folder',
159
159
  label: { en: 'Open my project', pl: 'Otworzyć mój projekt', de: 'Mein Projekt öffnen' },
160
160
  description: {
161
161
  en: 'Continue working on a saved project',
@@ -169,15 +169,15 @@ const WIZARD_STEPS = [
169
169
  {
170
170
  id: 'game-type',
171
171
  question: {
172
- en: 'What kind of game? 🤔',
173
- pl: 'Jaki rodzaj gry? 🤔',
174
- de: 'Was für ein Spiel? 🤔',
172
+ en: 'What kind of game?',
173
+ pl: 'Jaki rodzaj gry?',
174
+ de: 'Was für ein Spiel?',
175
175
  },
176
176
  showBack: true,
177
177
  choices: [
178
178
  {
179
179
  id: 'platformer',
180
- icon: '🏃',
180
+ icon: 'user',
181
181
  label: { en: 'Platformer', pl: 'Platformówka', de: 'Plattformer' },
182
182
  description: {
183
183
  en: 'Jump and run like Mario!',
@@ -189,7 +189,7 @@ const WIZARD_STEPS = [
189
189
  },
190
190
  {
191
191
  id: 'space-shooter',
192
- icon: '🚀',
192
+ icon: 'rocket',
193
193
  label: { en: 'Space Shooter', pl: 'Kosmiczny strzelec', de: 'Weltraum-Shooter' },
194
194
  description: {
195
195
  en: 'Shoot aliens in space!',
@@ -201,7 +201,7 @@ const WIZARD_STEPS = [
201
201
  },
202
202
  {
203
203
  id: 'rpg',
204
- icon: '⚔️',
204
+ icon: 'target',
205
205
  label: { en: 'RPG Adventure', pl: 'Przygoda RPG', de: 'RPG-Abenteuer' },
206
206
  description: {
207
207
  en: 'Heroes, quests and magic!',
@@ -214,7 +214,7 @@ const WIZARD_STEPS = [
214
214
  },
215
215
  {
216
216
  id: 'tower-defense',
217
- icon: '🏰',
217
+ icon: 'building',
218
218
  label: { en: 'Tower Defense', pl: 'Tower Defense', de: 'Tower Defense' },
219
219
  description: {
220
220
  en: 'Build towers, stop enemies!',
@@ -227,7 +227,7 @@ const WIZARD_STEPS = [
227
227
  },
228
228
  {
229
229
  id: 'puzzle',
230
- icon: '🧩',
230
+ icon: 'puzzle',
231
231
  label: { en: 'Puzzle Game', pl: 'Gra logiczna', de: 'Puzzlespiel' },
232
232
  description: {
233
233
  en: 'Match colors and solve puzzles!',
@@ -239,7 +239,7 @@ const WIZARD_STEPS = [
239
239
  },
240
240
  {
241
241
  id: 'empty',
242
- icon: '✨',
242
+ icon: 'file',
243
243
  label: { en: 'Empty Project', pl: 'Pusty projekt', de: 'Leeres Projekt' },
244
244
  description: {
245
245
  en: 'Start from scratch!',
@@ -254,15 +254,15 @@ const WIZARD_STEPS = [
254
254
  {
255
255
  id: 'learn-what',
256
256
  question: {
257
- en: 'What would you like to learn? 🧑‍🎓',
258
- pl: 'Czego chcesz się nauczyć? 🧑‍🎓',
259
- de: 'Was möchtest du lernen? 🧑‍🎓',
257
+ en: 'What would you like to learn?',
258
+ pl: 'Czego chcesz się nauczyć?',
259
+ de: 'Was möchtest du lernen?',
260
260
  },
261
261
  showBack: true,
262
262
  choices: [
263
263
  {
264
264
  id: 'learn-basics',
265
- icon: '🌟',
265
+ icon: 'star',
266
266
  label: { en: 'The Basics', pl: 'Podstawy', de: 'Die Grundlagen' },
267
267
  description: {
268
268
  en: 'My very first game',
@@ -274,7 +274,7 @@ const WIZARD_STEPS = [
274
274
  },
275
275
  {
276
276
  id: 'learn-controls',
277
- icon: '🕹️',
277
+ icon: 'gamepad',
278
278
  label: { en: 'Controls & Movement', pl: 'Sterowanie i ruch', de: 'Steuerung & Bewegung' },
279
279
  description: {
280
280
  en: 'Keyboard, mouse, gamepad',
@@ -286,7 +286,7 @@ const WIZARD_STEPS = [
286
286
  },
287
287
  {
288
288
  id: 'learn-physics',
289
- icon: '⚡',
289
+ icon: 'zap',
290
290
  label: { en: 'Collisions & Physics', pl: 'Kolizje i fizyka', de: 'Kollisionen & Physik' },
291
291
  description: {
292
292
  en: 'Bounce, crash, explode!',
@@ -298,7 +298,7 @@ const WIZARD_STEPS = [
298
298
  },
299
299
  {
300
300
  id: 'learn-animations',
301
- icon: '🎬',
301
+ icon: 'video',
302
302
  label: { en: 'Animations', pl: 'Animacje', de: 'Animationen' },
303
303
  description: {
304
304
  en: 'Make things move smoothly',
@@ -310,7 +310,7 @@ const WIZARD_STEPS = [
310
310
  },
311
311
  {
312
312
  id: 'learn-multiplayer',
313
- icon: '👫',
313
+ icon: 'users',
314
314
  label: { en: 'Play with friends', pl: 'Graj ze znajomymi', de: 'Mit Freunden spielen' },
315
315
  description: {
316
316
  en: 'Local multiplayer on one screen',
@@ -322,7 +322,7 @@ const WIZARD_STEPS = [
322
322
  },
323
323
  {
324
324
  id: 'learn-platformer',
325
- icon: '🏃',
325
+ icon: 'user',
326
326
  label: {
327
327
  en: 'Build a Platformer',
328
328
  pl: 'Zbuduj platformówkę',
@@ -580,7 +580,7 @@ class BlockEditor {
580
580
  const KID_BLOCK_PALETTES = [
581
581
  {
582
582
  category: 'motion',
583
- icon: '🏃',
583
+ icon: 'move',
584
584
  label: { en: 'Motion', pl: 'Ruch', de: 'Bewegung' },
585
585
  blocks: [
586
586
  'move_right',
@@ -595,37 +595,37 @@ const KID_BLOCK_PALETTES = [
595
595
  },
596
596
  {
597
597
  category: 'looks',
598
- icon: '🎨',
598
+ icon: 'palette',
599
599
  label: { en: 'Looks', pl: 'Wygląd', de: 'Aussehen' },
600
600
  blocks: ['set_color', 'set_size', 'show', 'hide', 'set_sprite', 'say'],
601
601
  },
602
602
  {
603
603
  category: 'events',
604
- icon: '⚡',
604
+ icon: 'zap',
605
605
  label: { en: 'Events', pl: 'Zdarzenia', de: 'Ereignisse' },
606
606
  blocks: ['on_start', 'on_click', 'on_key_press', 'on_collision', 'on_timer'],
607
607
  },
608
608
  {
609
609
  category: 'control',
610
- icon: '🔄',
610
+ icon: 'refresh',
611
611
  label: { en: 'Control', pl: 'Sterowanie', de: 'Steuerung' },
612
612
  blocks: ['repeat', 'forever', 'if_then', 'if_then_else', 'wait'],
613
613
  },
614
614
  {
615
615
  category: 'sensing',
616
- icon: '👁️',
616
+ icon: 'eye',
617
617
  label: { en: 'Sensing', pl: 'Wykrywanie', de: 'Erkennung' },
618
618
  blocks: ['touching', 'key_pressed', 'mouse_x', 'mouse_y', 'distance_to'],
619
619
  },
620
620
  {
621
621
  category: 'operators',
622
- icon: '➕',
622
+ icon: 'plus',
623
623
  label: { en: 'Math', pl: 'Matematyka', de: 'Mathematik' },
624
624
  blocks: ['add', 'subtract', 'multiply', 'random', 'greater_than', 'less_than'],
625
625
  },
626
626
  {
627
627
  category: 'variables',
628
- icon: '📦',
628
+ icon: 'box',
629
629
  label: { en: 'Variables', pl: 'Zmienne', de: 'Variablen' },
630
630
  blocks: ['set_variable', 'change_variable', 'show_variable'],
631
631
  },
@@ -1000,8 +1000,15 @@ class UISystem {
1000
1000
  // Selected value
1001
1001
  this.ctx.fillStyle = this.style.textColor;
1002
1002
  this.ctx.fillText(options[selected] ?? '', x + this.style.padding, dropdownY + height / 2 + this.style.fontSize / 3);
1003
- // Arrow
1004
- this.ctx.fillText('▼', x + width - 20, dropdownY + height / 2 + this.style.fontSize / 3);
1003
+ // Arrow (drawn, not a font glyph)
1004
+ const arrowX = x + width - 16;
1005
+ const arrowY = dropdownY + height / 2;
1006
+ this.ctx.beginPath();
1007
+ this.ctx.moveTo(arrowX - 5, arrowY - 3);
1008
+ this.ctx.lineTo(arrowX + 5, arrowY - 3);
1009
+ this.ctx.lineTo(arrowX, arrowY + 3);
1010
+ this.ctx.closePath();
1011
+ this.ctx.fill();
1005
1012
  // Handle click - simplified, just cycle through options
1006
1013
  let newSelected = selected;
1007
1014
  if (hovered && this.mouseClicked) {
@@ -392,7 +392,7 @@ const plugin: PluginDefinition = {
392
392
  ctx.registerExtension('editor-panel', {
393
393
  id: 'perf-panel',
394
394
  title: 'Performance',
395
- icon: '📊',
395
+ icon: 'bar-chart',
396
396
  position: 'right',
397
397
  render: () => null, // React component
398
398
  });
@@ -340,7 +340,7 @@ async function testPluginLifecycle(plugin) {
340
340
  function formatTestResults(suite) {
341
341
  const lines = [`━━━ ${suite.suiteName} (${suite.pluginId}) ━━━`, ''];
342
342
  for (const r of suite.results) {
343
- const icon = r.status === 'passed' ? '✓' : r.status === 'failed' ? '✗' : '○';
343
+ const icon = r.status === 'passed' ? 'PASS' : r.status === 'failed' ? 'FAIL' : 'SKIP';
344
344
  const ms = r.duration.toFixed(1);
345
345
  lines.push(` ${icon} ${r.name} (${ms}ms)`);
346
346
  if (r.error) {
@@ -1,3 +1,4 @@
1
+ import { NiceIcon } from '@nice2dev/ui';
1
2
  import React from 'react';
2
3
  import { EventBus } from '../core/EventBus.js';
3
4
 
@@ -901,7 +902,10 @@ const QuestTracker = ({ state, quest, showOptional = false, className = '', styl
901
902
  React.createElement('span', {
902
903
  key: 'check',
903
904
  style: { color: obj.completed ? '#4caf50' : '#9e9e9e' },
904
- }, obj.completed ? '✓' : '○'),
905
+ }, React.createElement(NiceIcon, {
906
+ name: obj.completed ? 'check' : 'circle',
907
+ size: 12,
908
+ })),
905
909
  React.createElement('span', { key: 'desc' }, obj.description),
906
910
  obj.target > 1 &&
907
911
  React.createElement('span', {
@@ -302,7 +302,7 @@ const BUILT_IN_ACHIEVEMENTS = [
302
302
  pl: 'Ukończ swój pierwszy tutorial',
303
303
  de: 'Schließe dein erstes Tutorial ab',
304
304
  },
305
- icon: '🎉',
305
+ icon: 'star',
306
306
  tier: 'bronze',
307
307
  xp: 10,
308
308
  condition: { type: 'tutorials-count', count: 1 },
@@ -315,7 +315,7 @@ const BUILT_IN_ACHIEVEMENTS = [
315
315
  pl: 'Ukończ 5 tutoriali',
316
316
  de: 'Schließe 5 Tutorials ab',
317
317
  },
318
- icon: '📚',
318
+ icon: 'book',
319
319
  tier: 'silver',
320
320
  xp: 50,
321
321
  condition: { type: 'tutorials-count', count: 5 },
@@ -328,7 +328,7 @@ const BUILT_IN_ACHIEVEMENTS = [
328
328
  pl: 'Ukończ 10 tutoriali',
329
329
  de: 'Schließe 10 Tutorials ab',
330
330
  },
331
- icon: '🏅',
331
+ icon: 'medal',
332
332
  tier: 'gold',
333
333
  xp: 100,
334
334
  condition: { type: 'tutorials-count', count: 10 },
@@ -341,7 +341,7 @@ const BUILT_IN_ACHIEVEMENTS = [
341
341
  pl: 'Ukończ wszystkie 15 tutoriali game engine',
342
342
  de: 'Schließe alle 15 Game-Engine-Tutorials ab',
343
343
  },
344
- icon: '👑',
344
+ icon: 'medal',
345
345
  tier: 'diamond',
346
346
  xp: 500,
347
347
  condition: { type: 'tutorials-count', count: 15 },
@@ -354,7 +354,7 @@ const BUILT_IN_ACHIEVEMENTS = [
354
354
  pl: 'Ukończ tutorial "Zrób platformera"',
355
355
  de: 'Schließe das "Build a Platformer" Tutorial ab',
356
356
  },
357
- icon: '🎮',
357
+ icon: 'gamepad',
358
358
  tier: 'gold',
359
359
  xp: 75,
360
360
  condition: { type: 'tutorial-complete', tutorialId: 'build-a-platformer' },
@@ -367,7 +367,7 @@ const BUILT_IN_ACHIEVEMENTS = [
367
367
  pl: 'Ukończ tutorial "Zrób RPG"',
368
368
  de: 'Schließe das "Build an RPG" Tutorial ab',
369
369
  },
370
- icon: '⚔️',
370
+ icon: 'target',
371
371
  tier: 'gold',
372
372
  xp: 75,
373
373
  condition: { type: 'tutorial-complete', tutorialId: 'build-an-rpg' },
@@ -380,7 +380,7 @@ const BUILT_IN_ACHIEVEMENTS = [
380
380
  pl: 'Odpowiedz poprawnie na wszystkie quizy',
381
381
  de: 'Beantworte alle Quizfragen richtig',
382
382
  },
383
- icon: '🧠',
383
+ icon: 'lightbulb',
384
384
  tier: 'platinum',
385
385
  xp: 200,
386
386
  condition: { type: 'quiz-perfect' },
@@ -393,7 +393,7 @@ const BUILT_IN_ACHIEVEMENTS = [
393
393
  pl: 'Ukończ tutorial "Publikacja gry"',
394
394
  de: 'Schließe das "Publish Your Game" Tutorial ab',
395
395
  },
396
- icon: '🚀',
396
+ icon: 'rocket',
397
397
  tier: 'silver',
398
398
  xp: 50,
399
399
  condition: { type: 'tutorial-complete', tutorialId: 'publish-your-game' },
@@ -406,7 +406,7 @@ const BUILT_IN_ACHIEVEMENTS = [
406
406
  pl: 'Ucz się przez 7 kolejnych dni',
407
407
  de: 'Lerne 7 Tage am Stück',
408
408
  },
409
- icon: '🔥',
409
+ icon: 'zap',
410
410
  tier: 'silver',
411
411
  xp: 50,
412
412
  condition: { type: 'streak', streakDays: 7 },
@@ -419,7 +419,7 @@ const BUILT_IN_ACHIEVEMENTS = [
419
419
  pl: 'Ucz się przez 30 kolejnych dni',
420
420
  de: 'Lerne 30 Tage am Stück',
421
421
  },
422
- icon: '💎',
422
+ icon: 'diamond',
423
423
  tier: 'diamond',
424
424
  xp: 300,
425
425
  condition: { type: 'streak', streakDays: 30 },
@@ -433,7 +433,7 @@ const BUILT_IN_ACHIEVEMENTS = [
433
433
  pl: 'Ukończ tutorial "Zrób grę 3D"',
434
434
  de: 'Schließe das "3D-Spiel bauen" Tutorial ab',
435
435
  },
436
- icon: '🌐',
436
+ icon: 'globe',
437
437
  tier: 'gold',
438
438
  xp: 75,
439
439
  condition: { type: 'tutorial-complete', tutorialId: 'build-a-3d-game' },
@@ -446,7 +446,7 @@ const BUILT_IN_ACHIEVEMENTS = [
446
446
  pl: 'Ukończ tutorial multiplayer online',
447
447
  de: 'Schließe das Online-Multiplayer-Tutorial ab',
448
448
  },
449
- icon: '🌍',
449
+ icon: 'globe',
450
450
  tier: 'gold',
451
451
  xp: 75,
452
452
  condition: { type: 'tutorial-complete', tutorialId: 'multiplayer-online-webrtc' },
@@ -541,9 +541,9 @@ const TUTORIAL_FIRST_GAME = {
541
541
  de: 'Willkommen!',
542
542
  },
543
543
  content: {
544
- en: "In this tutorial, you will create a bouncing ball game! 🎮\n\nYou will learn:\n• How to create entities\n• How to add physics\n• How to handle collisions\n\nLet's get started!",
545
- pl: 'W tym samouczku stworzysz grę z odbijającą się piłką! 🎮\n\nNauczysz się:\n• Jak tworzyć obiekty\n• Jak dodawać fizykę\n• Jak obsługiwać kolizje\n\nZaczynajmy!',
546
- de: "In diesem Tutorial erstellst du ein Hüpfball-Spiel! 🎮\n\nDu lernst:\n• Wie man Entities erstellt\n• Wie man Physik hinzufügt\n• Wie man Kollisionen behandelt\n\nLos geht's!",
544
+ en: "In this tutorial, you will create a bouncing ball game!\n\nYou will learn:\n• How to create entities\n• How to add physics\n• How to handle collisions\n\nLet's get started!",
545
+ pl: 'W tym samouczku stworzysz grę z odbijającą się piłką!\n\nNauczysz się:\n• Jak tworzyć obiekty\n• Jak dodawać fizykę\n• Jak obsługiwać kolizje\n\nZaczynajmy!',
546
+ de: "In diesem Tutorial erstellst du ein Hüpfball-Spiel!\n\nDu lernst:\n• Wie man Entities erstellt\n• Wie man Physik hinzufügt\n• Wie man Kollisionen behandelt\n\nLos geht's!",
547
547
  },
548
548
  skippable: true,
549
549
  tooltipPosition: 'center',
@@ -624,9 +624,9 @@ const TUTORIAL_FIRST_GAME = {
624
624
  id: 'quiz-physics',
625
625
  type: 'quiz',
626
626
  title: {
627
- en: 'Quick Quiz! 🧠',
628
- pl: 'Szybki quiz! 🧠',
629
- de: 'Schnelles Quiz! 🧠',
627
+ en: 'Quick Quiz!',
628
+ pl: 'Szybki quiz!',
629
+ de: 'Schnelles Quiz!',
630
630
  },
631
631
  content: {
632
632
  en: 'What does the "restitution" value control?',
@@ -686,9 +686,9 @@ const TUTORIAL_FIRST_GAME = {
686
686
  id: 'start-game',
687
687
  type: 'code',
688
688
  title: {
689
- en: 'Start the Game! 🚀',
690
- pl: 'Uruchom grę! 🚀',
691
- de: 'Starte das Spiel! 🚀',
689
+ en: 'Start the Game!',
690
+ pl: 'Uruchom grę!',
691
+ de: 'Starte das Spiel!',
692
692
  },
693
693
  content: {
694
694
  en: 'Everything is ready! Start the game loop to see your bouncing ball in action!',
@@ -705,14 +705,14 @@ const TUTORIAL_FIRST_GAME = {
705
705
  id: 'congratulations',
706
706
  type: 'text',
707
707
  title: {
708
- en: 'Congratulations! 🎉',
709
- pl: 'Gratulacje! 🎉',
710
- de: 'Herzlichen Glückwunsch! 🎉',
708
+ en: 'Congratulations!',
709
+ pl: 'Gratulacje!',
710
+ de: 'Herzlichen Glückwunsch!',
711
711
  },
712
712
  content: {
713
- en: 'You just created your first game with Nice2Dev Game Engine!\n\n🏆 You learned:\n• Creating entities\n• Adding components (Transform, Sprite, RigidBody2D, Collider2D)\n• Physics simulation with restitution\n• Starting the game loop\n\nNext up: Try the "Space Shooter" tutorial! 🚀',
714
- pl: 'Właśnie stworzyłeś swoją pierwszą grę z Nice2Dev Game Engine!\n\n🏆 Nauczyłeś się:\n• Tworzenia obiektów\n• Dodawania komponentów (Transform, Sprite, RigidBody2D, Collider2D)\n• Symulacji fizyki z restitution\n• Uruchamiania pętli gry\n\nNastępnie: Spróbuj samouczka "Kosmiczny Strzelec"! 🚀',
715
- de: 'Du hast gerade dein erstes Spiel mit Nice2Dev Game Engine erstellt!\n\n🏆 Du hast gelernt:\n• Entities erstellen\n• Komponenten hinzufügen (Transform, Sprite, RigidBody2D, Collider2D)\n• Physiksimulation mit Restitution\n• Game-Loop starten\n\nAls nächstes: Probiere das "Space Shooter"-Tutorial! 🚀',
713
+ en: 'You just created your first game with Nice2Dev Game Engine!\n\nYou learned:\n• Creating entities\n• Adding components (Transform, Sprite, RigidBody2D, Collider2D)\n• Physics simulation with restitution\n• Starting the game loop\n\nNext up: Try the "Space Shooter" tutorial!',
714
+ pl: 'Właśnie stworzyłeś swoją pierwszą grę z Nice2Dev Game Engine!\n\nNauczyłeś się:\n• Tworzenia obiektów\n• Dodawania komponentów (Transform, Sprite, RigidBody2D, Collider2D)\n• Symulacji fizyki z restitution\n• Uruchamiania pętli gry\n\nNastępnie: Spróbuj samouczka "Kosmiczny Strzelec"!',
715
+ de: 'Du hast gerade dein erstes Spiel mit Nice2Dev Game Engine erstellt!\n\nDu hast gelernt:\n• Entities erstellen\n• Komponenten hinzufügen (Transform, Sprite, RigidBody2D, Collider2D)\n• Physiksimulation mit Restitution\n• Game-Loop starten\n\nAls nächstes: Probiere das "Space Shooter"-Tutorial!',
716
716
  },
717
717
  tooltipPosition: 'center',
718
718
  },
@@ -722,9 +722,9 @@ const TUTORIAL_FIRST_GAME = {
722
722
  const TUTORIAL_SPACE_SHOOTER = {
723
723
  id: 'space-shooter',
724
724
  title: {
725
- en: 'Space Shooter 🚀',
726
- pl: 'Kosmiczny Strzelec 🚀',
727
- de: 'Weltraum-Shooter 🚀',
725
+ en: 'Space Shooter',
726
+ pl: 'Kosmiczny Strzelec',
727
+ de: 'Weltraum-Shooter',
728
728
  },
729
729
  description: {
730
730
  en: 'Build a classic space shooter! Learn input handling, spawning enemies, and scoring.',
@@ -744,9 +744,9 @@ const TUTORIAL_SPACE_SHOOTER = {
744
744
  type: 'text',
745
745
  title: { en: 'Space Shooter', pl: 'Kosmiczny Strzelec', de: 'Weltraum-Shooter' },
746
746
  content: {
747
- en: 'Welcome to the Space Shooter tutorial! 🚀\n\nYou will learn:\n• Keyboard input handling\n• Spawning entities dynamically\n• Collision-based scoring\n• Game over logic\n\nPrerequisite: "Your First Game: Bouncing Ball"',
748
- pl: 'Witaj w samouczku Kosmiczny Strzelec! 🚀\n\nNauczysz się:\n• Obsługi sterowania z klawiatury\n• Dynamicznego tworzenia obiektów\n• Punktacji na podstawie kolizji\n• Logiki końca gry\n\nWymagany: "Twoja pierwsza gra: Odbijająca się piłka"',
749
- de: 'Willkommen beim Weltraum-Shooter Tutorial! 🚀\n\nDu lernst:\n• Tastatureingabe-Verarbeitung\n• Dynamisches Entity-Spawning\n• Kollisionsbasiertes Scoring\n• Game-Over-Logik\n\nVoraussetzung: "Dein erstes Spiel: Hüpfender Ball"',
747
+ en: 'Welcome to the Space Shooter tutorial!\n\nYou will learn:\n• Keyboard input handling\n• Spawning entities dynamically\n• Collision-based scoring\n• Game over logic\n\nPrerequisite: "Your First Game: Bouncing Ball"',
748
+ pl: 'Witaj w samouczku Kosmiczny Strzelec!\n\nNauczysz się:\n• Obsługi sterowania z klawiatury\n• Dynamicznego tworzenia obiektów\n• Punktacji na podstawie kolizji\n• Logiki końca gry\n\nWymagany: "Twoja pierwsza gra: Odbijająca się piłka"',
749
+ de: 'Willkommen beim Weltraum-Shooter Tutorial!\n\nDu lernst:\n• Tastatureingabe-Verarbeitung\n• Dynamisches Entity-Spawning\n• Kollisionsbasiertes Scoring\n• Game-Over-Logik\n\nVoraussetzung: "Dein erstes Spiel: Hüpfender Ball"',
750
750
  },
751
751
  tooltipPosition: 'center',
752
752
  },
@@ -784,7 +784,7 @@ const TUTORIAL_SPACE_SHOOTER = {
784
784
  {
785
785
  id: 'quiz-input',
786
786
  type: 'quiz',
787
- title: { en: 'Input Quiz 🧠', pl: 'Quiz o sterowaniu 🧠', de: 'Eingabe-Quiz 🧠' },
787
+ title: { en: 'Input Quiz', pl: 'Quiz o sterowaniu', de: 'Eingabe-Quiz' },
788
788
  content: {
789
789
  en: 'What is the difference between isKeyDown and isKeyPressed?',
790
790
  pl: 'Jaka jest różnica między isKeyDown i isKeyPressed?',
@@ -817,7 +817,7 @@ const TUTORIAL_SPACE_SHOOTER = {
817
817
  {
818
818
  id: 'shooting',
819
819
  type: 'code',
820
- title: { en: 'Shoot Bullets! 🔫', pl: 'Strzelaj pociskami! 🔫', de: 'Schieße Kugeln! 🔫' },
820
+ title: { en: 'Shoot Bullets!', pl: 'Strzelaj pociskami!', de: 'Schieße Kugeln!' },
821
821
  content: {
822
822
  en: 'Add shooting! When Space is pressed, create a bullet entity that moves upward.',
823
823
  pl: 'Dodaj strzelanie! Po naciśnięciu Spacji utwórz pocisk, który leci w górę.',
@@ -835,7 +835,7 @@ const TUTORIAL_SPACE_SHOOTER = {
835
835
  {
836
836
  id: 'checkpoint-halfway',
837
837
  type: 'checkpoint',
838
- title: { en: 'Halfway There! 🎯', pl: 'Połowa drogi! 🎯', de: 'Halb geschafft! 🎯' },
838
+ title: { en: 'Halfway There!', pl: 'Połowa drogi!', de: 'Halb geschafft!' },
839
839
  content: {
840
840
  en: "Great progress! You have a moving ship that can shoot. Let's add enemies next!",
841
841
  pl: 'Świetne postępy! Masz poruszający się statek, który potrafi strzelać. Dodajmy teraz wrogów!',
@@ -846,14 +846,14 @@ const TUTORIAL_SPACE_SHOOTER = {
846
846
  id: 'complete',
847
847
  type: 'text',
848
848
  title: {
849
- en: 'Mission Complete! 🏆',
850
- pl: 'Misja zakończona! 🏆',
851
- de: 'Mission abgeschlossen! 🏆',
849
+ en: 'Mission Complete!',
850
+ pl: 'Misja zakończona!',
851
+ de: 'Mission abgeschlossen!',
852
852
  },
853
853
  content: {
854
- en: 'You built a Space Shooter! 🚀\n\nSkills mastered:\n• Input handling (keyboard)\n• Dynamic entity spawning\n• Entity removal\n• Systems architecture\n\nChallenge: Add a scoring system and display it on screen!',
855
- pl: 'Zbudowałeś Kosmicznego Strzelca! 🚀\n\nOpanowane umiejętności:\n• Obsługa sterowania (klawiatura)\n• Dynamiczne tworzenie obiektów\n• Usuwanie obiektów\n• Architektura systemów\n\nWyzwanie: Dodaj system punktacji i wyświetl go na ekranie!',
856
- de: 'Du hast einen Weltraum-Shooter gebaut! 🚀\n\nGelernte Fähigkeiten:\n• Eingabeverarbeitung (Tastatur)\n• Dynamisches Entity-Spawning\n• Entity-Entfernung\n• System-Architektur\n\nHerausforderung: Füge ein Punktesystem hinzu und zeige es auf dem Bildschirm an!',
854
+ en: 'You built a Space Shooter!\n\nSkills mastered:\n• Input handling (keyboard)\n• Dynamic entity spawning\n• Entity removal\n• Systems architecture\n\nChallenge: Add a scoring system and display it on screen!',
855
+ pl: 'Zbudowałeś Kosmicznego Strzelca!\n\nOpanowane umiejętności:\n• Obsługa sterowania (klawiatura)\n• Dynamiczne tworzenie obiektów\n• Usuwanie obiektów\n• Architektura systemów\n\nWyzwanie: Dodaj system punktacji i wyświetl go na ekranie!',
856
+ de: 'Du hast einen Weltraum-Shooter gebaut!\n\nGelernte Fähigkeiten:\n• Eingabeverarbeitung (Tastatur)\n• Dynamisches Entity-Spawning\n• Entity-Entfernung\n• System-Architektur\n\nHerausforderung: Füge ein Punktesystem hinzu und zeige es auf dem Bildschirm an!',
857
857
  },
858
858
  tooltipPosition: 'center',
859
859
  },
@@ -921,7 +921,7 @@ const TUTORIAL_DATAGRID_BASICS = {
921
921
  {
922
922
  id: 'quiz-filtering',
923
923
  type: 'quiz',
924
- title: { en: 'Filtering Quiz 🧠', pl: 'Quiz o filtrowaniu 🧠', de: 'Filter-Quiz 🧠' },
924
+ title: { en: 'Filtering Quiz', pl: 'Quiz o filtrowaniu', de: 'Filter-Quiz' },
925
925
  content: {
926
926
  en: 'What is the difference between headerFilter and filterRow?',
927
927
  pl: 'Jaka jest różnica między headerFilter a filterRow?',
@@ -951,11 +951,11 @@ const TUTORIAL_DATAGRID_BASICS = {
951
951
  {
952
952
  id: 'complete',
953
953
  type: 'text',
954
- title: { en: 'Grid Master! 🏆', pl: 'Mistrz Siatki! 🏆', de: 'Grid-Meister! 🏆' },
954
+ title: { en: 'Grid Master!', pl: 'Mistrz Siatki!', de: 'Grid-Meister!' },
955
955
  content: {
956
- en: 'You now know the basics of NiceDataGrid!\n\n🏆 Skills:\n• Data binding\n• Column configuration\n• Sorting & filtering\n\nNext: Try grouping, editing, and custom cell templates!',
957
- pl: 'Znasz już podstawy NiceDataGrid!\n\n🏆 Umiejętności:\n• Wiązanie danych\n• Konfiguracja kolumn\n• Sortowanie i filtrowanie\n\nDalej: Spróbuj grupowania, edycji i własnych szablonów komórek!',
958
- de: 'Du kennst jetzt die Grundlagen von NiceDataGrid!\n\n🏆 Fähigkeiten:\n• Datenbindung\n• Spaltenkonfiguration\n• Sortieren & Filtern\n\nWeiter: Probiere Gruppieren, Bearbeiten und benutzerdefinierte Zellenvorlagen!',
956
+ en: 'You now know the basics of NiceDataGrid!\n\nSkills:\n• Data binding\n• Column configuration\n• Sorting & filtering\n\nNext: Try grouping, editing, and custom cell templates!',
957
+ pl: 'Znasz już podstawy NiceDataGrid!\n\nUmiejętności:\n• Wiązanie danych\n• Konfiguracja kolumn\n• Sortowanie i filtrowanie\n\nDalej: Spróbuj grupowania, edycji i własnych szablonów komórek!',
958
+ de: 'Du kennst jetzt die Grundlagen von NiceDataGrid!\n\nFähigkeiten:\n• Datenbindung\n• Spaltenkonfiguration\n• Sortieren & Filtern\n\nWeiter: Probiere Gruppieren, Bearbeiten und benutzerdefinierte Zellenvorlagen!',
959
959
  },
960
960
  },
961
961
  ],