@nice2dev/game-engine 1.1.7 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/dist/cjs/ai/StateMachine.js +54 -0
  3. package/dist/cjs/devtools/DeveloperExperience.js +5 -5
  4. package/dist/cjs/dialogue/DialogueSystem.js +1 -1
  5. package/dist/cjs/editor/AnimationRetargeting.js +13 -0
  6. package/dist/cjs/editor/AssetBrowser.js +26 -25
  7. package/dist/cjs/editor/NiceGameEditor.js +66 -49
  8. package/dist/cjs/editor/TimelineEditor.js +12 -0
  9. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +33 -32
  10. package/dist/cjs/i18n/I18n.js +305 -0
  11. package/dist/cjs/index.js +8 -0
  12. package/dist/cjs/kids/KidMode.js +36 -36
  13. package/dist/cjs/kids/KidTools.js +31 -31
  14. package/dist/cjs/native-engine/AnimationSystem.js +840 -0
  15. package/dist/cjs/native-engine/InputSystem.js +9 -2
  16. package/dist/cjs/plugins/PluginSDK.js +1 -1
  17. package/dist/cjs/plugins/PluginTestKit.js +1 -1
  18. package/dist/cjs/quest/QuestSystem.js +5 -1
  19. package/dist/cjs/tutorials/TutorialBranching.js +12 -12
  20. package/dist/cjs/tutorials/TutorialEngine.js +35 -35
  21. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +75 -75
  22. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +24 -24
  23. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +33 -33
  24. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  25. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +28 -27
  26. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  27. package/dist/esm/ai/StateMachine.js +53 -1
  28. package/dist/esm/devtools/DeveloperExperience.js +5 -5
  29. package/dist/esm/dialogue/DialogueSystem.js +1 -1
  30. package/dist/esm/editor/AnimationRetargeting.js +13 -1
  31. package/dist/esm/editor/AssetBrowser.js +26 -25
  32. package/dist/esm/editor/NiceGameEditor.js +67 -50
  33. package/dist/esm/editor/TimelineEditor.js +12 -1
  34. package/dist/esm/godot-integration/components/GodotProjectBrowser.js +33 -32
  35. package/dist/esm/i18n/I18n.js +305 -0
  36. package/dist/esm/index.js +4 -3
  37. package/dist/esm/kids/KidMode.js +36 -36
  38. package/dist/esm/kids/KidTools.js +31 -31
  39. package/dist/esm/native-engine/AnimationSystem.js +835 -0
  40. package/dist/esm/native-engine/InputSystem.js +9 -2
  41. package/dist/esm/plugins/PluginSDK.js +1 -1
  42. package/dist/esm/plugins/PluginTestKit.js +1 -1
  43. package/dist/esm/quest/QuestSystem.js +5 -1
  44. package/dist/esm/tutorials/TutorialBranching.js +12 -12
  45. package/dist/esm/tutorials/TutorialEngine.js +35 -35
  46. package/dist/esm/tutorials/content/Tutorials_T05_T08.js +75 -75
  47. package/dist/esm/tutorials/content/Tutorials_T09_T11.js +24 -24
  48. package/dist/esm/tutorials/content/Tutorials_T12_T15.js +33 -33
  49. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  50. package/dist/esm/unity-integration/components/UnityProjectBrowser.js +28 -27
  51. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  52. package/dist/types/editor/AssetBrowser.d.ts +1 -0
  53. package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +2 -1
  54. package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +1 -0
  55. package/dist/types/index.d.ts +4 -0
  56. package/dist/types/kids/KidMode.d.ts +4 -2
  57. package/dist/types/kids/KidTools.d.ts +1 -1
  58. package/dist/types/tutorials/TutorialBranching.d.ts +1 -1
  59. package/package.json +4 -3
  60. package/dist/cjs/accessibility/Accessibility.js.map +0 -1
  61. package/dist/cjs/ai/AI.js.map +0 -1
  62. package/dist/cjs/ai/BehaviorTree.js.map +0 -1
  63. package/dist/cjs/ai/StateMachine.js.map +0 -1
  64. package/dist/cjs/animation/Animation.js.map +0 -1
  65. package/dist/cjs/audio/AudioAdvanced.js.map +0 -1
  66. package/dist/cjs/audio/AudioBridge.js.map +0 -1
  67. package/dist/cjs/audio/AudioManager.js.map +0 -1
  68. package/dist/cjs/build-cloud/BuildOrchestration.js.map +0 -1
  69. package/dist/cjs/build-cloud/GodotBuildCloud.js.map +0 -1
  70. package/dist/cjs/build-cloud/UnityBuildCloud.js.map +0 -1
  71. package/dist/cjs/build-cloud/UnrealBuildCloud.js.map +0 -1
  72. package/dist/cjs/core/EventBus.js.map +0 -1
  73. package/dist/cjs/core/GameClock.js.map +0 -1
  74. package/dist/cjs/core/GameConfig.js.map +0 -1
  75. package/dist/cjs/core/GameLoop.js.map +0 -1
  76. package/dist/cjs/core/ServiceLocator.js.map +0 -1
  77. package/dist/cjs/core/Validation.js.map +0 -1
  78. package/dist/cjs/core/math.js.map +0 -1
  79. package/dist/cjs/devtools/DevTools.js.map +0 -1
  80. package/dist/cjs/devtools/DeveloperExperience.js.map +0 -1
  81. package/dist/cjs/devtools/GameplayAnalytics.js.map +0 -1
  82. package/dist/cjs/dialogue/DialogueSystem.js.map +0 -1
  83. package/dist/cjs/docs/DocGenerator.js.map +0 -1
  84. package/dist/cjs/ecs/World.js.map +0 -1
  85. package/dist/cjs/editor/AchievementEditor.js.map +0 -1
  86. package/dist/cjs/editor/AdvancedEditor.js.map +0 -1
  87. package/dist/cjs/editor/AnimationRetargeting.js.map +0 -1
  88. package/dist/cjs/editor/AssetBrowser.js.map +0 -1
  89. package/dist/cjs/editor/AssetManager.js.map +0 -1
  90. package/dist/cjs/editor/ConsolePro.js.map +0 -1
  91. package/dist/cjs/editor/CraftingEditor.js.map +0 -1
  92. package/dist/cjs/editor/DebugTools.js.map +0 -1
  93. package/dist/cjs/editor/DialogueSystem.js.map +0 -1
  94. package/dist/cjs/editor/LeaderboardSystem.js.map +0 -1
  95. package/dist/cjs/editor/NiceGameEditor.js.map +0 -1
  96. package/dist/cjs/editor/PrefabSystem.js.map +0 -1
  97. package/dist/cjs/editor/ProfilerPanel.js.map +0 -1
  98. package/dist/cjs/editor/QuestEditor.js.map +0 -1
  99. package/dist/cjs/editor/ReplaySystem.js.map +0 -1
  100. package/dist/cjs/editor/SceneEditor.js.map +0 -1
  101. package/dist/cjs/editor/ScreenshotMode.js.map +0 -1
  102. package/dist/cjs/editor/ShaderGraph.js.map +0 -1
  103. package/dist/cjs/editor/TimelineEditor.js.map +0 -1
  104. package/dist/cjs/editor/UndoRedoPro.js.map +0 -1
  105. package/dist/cjs/editor/VRARMode.js.map +0 -1
  106. package/dist/cjs/engine/NiceGameEngine.js.map +0 -1
  107. package/dist/cjs/engine/SaveSystem.js.map +0 -1
  108. package/dist/cjs/engine/SaveSystemV2.js +0 -530
  109. package/dist/cjs/engine/SaveSystemV2.js.map +0 -1
  110. package/dist/cjs/enterprise/Enterprise.js.map +0 -1
  111. package/dist/cjs/export/BevyExporter.js.map +0 -1
  112. package/dist/cjs/export/CocosExporter.js.map +0 -1
  113. package/dist/cjs/export/Construct3Exporter.js.map +0 -1
  114. package/dist/cjs/export/DefoldExporter.js.map +0 -1
  115. package/dist/cjs/export/GDevelopExporter.js.map +0 -1
  116. package/dist/cjs/export/GameMakerExporter.js.map +0 -1
  117. package/dist/cjs/export/GodotExporter.js.map +0 -1
  118. package/dist/cjs/export/MinecraftBedrockExporter.js.map +0 -1
  119. package/dist/cjs/export/MonoGameExporter.js.map +0 -1
  120. package/dist/cjs/export/Pico8Exporter.js.map +0 -1
  121. package/dist/cjs/export/PlatformExporter.js.map +0 -1
  122. package/dist/cjs/export/RPGMakerExporter.js.map +0 -1
  123. package/dist/cjs/export/RobloxExporter.js.map +0 -1
  124. package/dist/cjs/export/Solar2DExporter.js.map +0 -1
  125. package/dist/cjs/export/ThreeJSExporter.js.map +0 -1
  126. package/dist/cjs/export/Tic80Exporter.js.map +0 -1
  127. package/dist/cjs/export/UnityExporter.js.map +0 -1
  128. package/dist/cjs/export/UnrealExporter.js.map +0 -1
  129. package/dist/cjs/export/WebExporter.js.map +0 -1
  130. package/dist/cjs/export/index.js.map +0 -1
  131. package/dist/cjs/godot-integration/GodotAssetLibrary.js.map +0 -1
  132. package/dist/cjs/godot-integration/GodotImport.js.map +0 -1
  133. package/dist/cjs/godot-integration/GodotLiveLink.js.map +0 -1
  134. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  135. package/dist/cjs/i18n/I18n.js.map +0 -1
  136. package/dist/cjs/i18n/useTranslation.js.map +0 -1
  137. package/dist/cjs/import/AsepriteImporter.js.map +0 -1
  138. package/dist/cjs/import/DragonBonesImporter.js.map +0 -1
  139. package/dist/cjs/import/GameMakerImporter.js.map +0 -1
  140. package/dist/cjs/import/GodotSceneImporter.js.map +0 -1
  141. package/dist/cjs/import/LDtkImporter.js.map +0 -1
  142. package/dist/cjs/import/Live2DImporter.js.map +0 -1
  143. package/dist/cjs/import/NdgFormat.js.map +0 -1
  144. package/dist/cjs/import/OgmoImporter.js.map +0 -1
  145. package/dist/cjs/import/RPGMakerImporter.js.map +0 -1
  146. package/dist/cjs/import/SceneImporter.js.map +0 -1
  147. package/dist/cjs/import/SpineImporter.js.map +0 -1
  148. package/dist/cjs/import/SpriterImporter.js.map +0 -1
  149. package/dist/cjs/import/TiledMapImporter.js.map +0 -1
  150. package/dist/cjs/import/UnitySceneImporter.js.map +0 -1
  151. package/dist/cjs/import/index.js.map +0 -1
  152. package/dist/cjs/index.js.map +0 -1
  153. package/dist/cjs/input/GamepadNavigation.js.map +0 -1
  154. package/dist/cjs/input/InputManager.js.map +0 -1
  155. package/dist/cjs/input/useGamepads.js.map +0 -1
  156. package/dist/cjs/integration/IconSprite.js.map +0 -1
  157. package/dist/cjs/inventory/InventorySystem.js.map +0 -1
  158. package/dist/cjs/kids/KidMode.js.map +0 -1
  159. package/dist/cjs/kids/KidTools.js.map +0 -1
  160. package/dist/cjs/monetization/Monetization.js.map +0 -1
  161. package/dist/cjs/multiplayer/LocalMultiplayer.js.map +0 -1
  162. package/dist/cjs/multiplayer/MiniGameTypes.js.map +0 -1
  163. package/dist/cjs/native-engine/AssetPipeline.js.map +0 -1
  164. package/dist/cjs/native-engine/AudioEngine.js.map +0 -1
  165. package/dist/cjs/native-engine/InputSystem.js.map +0 -1
  166. package/dist/cjs/native-engine/NetworkingSystem.js.map +0 -1
  167. package/dist/cjs/native-engine/PhysicsEngine.js.map +0 -1
  168. package/dist/cjs/native-engine/RenderingEngine.js.map +0 -1
  169. package/dist/cjs/native-engine/SceneGraph.js.map +0 -1
  170. package/dist/cjs/network/MultiplayerTransport.js.map +0 -1
  171. package/dist/cjs/network/Networking.js.map +0 -1
  172. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  173. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  174. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  175. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  176. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  177. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  178. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  179. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  180. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  181. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  182. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  183. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  184. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  185. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  186. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  187. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  188. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  189. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  190. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  191. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  192. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  193. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  194. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  195. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  196. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  197. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  198. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  199. package/dist/cjs/pathfinding/Pathfinding.js.map +0 -1
  200. package/dist/cjs/performance/AssetStreaming.js.map +0 -1
  201. package/dist/cjs/performance/BenchmarkSuite.js.map +0 -1
  202. package/dist/cjs/performance/DeltaCompression.js.map +0 -1
  203. package/dist/cjs/performance/DeterministicPhysics.js.map +0 -1
  204. package/dist/cjs/performance/ECSOptimization.js.map +0 -1
  205. package/dist/cjs/performance/GameSaveSystem.js.map +0 -1
  206. package/dist/cjs/performance/HotReload.js.map +0 -1
  207. package/dist/cjs/performance/InputRecording.js.map +0 -1
  208. package/dist/cjs/performance/InterestManagement.js.map +0 -1
  209. package/dist/cjs/performance/LocalizationRuntime.js.map +0 -1
  210. package/dist/cjs/performance/MemoryManagement.js.map +0 -1
  211. package/dist/cjs/performance/ModSupport.js.map +0 -1
  212. package/dist/cjs/performance/MultiThreadedPhysics.js.map +0 -1
  213. package/dist/cjs/performance/NetworkPrediction.js.map +0 -1
  214. package/dist/cjs/performance/ObjectPooling.js.map +0 -1
  215. package/dist/cjs/performance/Performance.js.map +0 -1
  216. package/dist/cjs/performance/PerformanceAdvanced.js.map +0 -1
  217. package/dist/cjs/performance/SaveSystem.js +0 -574
  218. package/dist/cjs/performance/SaveSystem.js.map +0 -1
  219. package/dist/cjs/performance/WebGPURenderer.js.map +0 -1
  220. package/dist/cjs/physics/PhysicsAdvanced.js.map +0 -1
  221. package/dist/cjs/physics/PhysicsEngine2D.js.map +0 -1
  222. package/dist/cjs/plugins/PluginSDK.js.map +0 -1
  223. package/dist/cjs/plugins/PluginTestKit.js.map +0 -1
  224. package/dist/cjs/procedural/Procedural.js.map +0 -1
  225. package/dist/cjs/procedural/WorldBuilding.js.map +0 -1
  226. package/dist/cjs/quest/QuestSystem.js.map +0 -1
  227. package/dist/cjs/release/MobileExport.js.map +0 -1
  228. package/dist/cjs/release/Release.js.map +0 -1
  229. package/dist/cjs/rendering/Camera2D.js.map +0 -1
  230. package/dist/cjs/rendering/Renderer2D.js.map +0 -1
  231. package/dist/cjs/rendering/WebGPURenderPipeline.js.map +0 -1
  232. package/dist/cjs/runtime3d/Runtime3D.js.map +0 -1
  233. package/dist/cjs/runtime3d/SceneEditor3D.js.map +0 -1
  234. package/dist/cjs/scene/SceneManager.js.map +0 -1
  235. package/dist/cjs/scripting/GraphToAST.js.map +0 -1
  236. package/dist/cjs/scripting/LanguageExporter.js.map +0 -1
  237. package/dist/cjs/scripting/NodeGraph.js.map +0 -1
  238. package/dist/cjs/scripting/ScriptAST.js.map +0 -1
  239. package/dist/cjs/scripting/VisualScripting2.js.map +0 -1
  240. package/dist/cjs/scripting/exporters/CSharpExporter.js.map +0 -1
  241. package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +0 -1
  242. package/dist/cjs/scripting/exporters/LuaExporter.js.map +0 -1
  243. package/dist/cjs/scripting/exporters/PythonExporter.js.map +0 -1
  244. package/dist/cjs/scripting/exporters/RustExporter.js.map +0 -1
  245. package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +0 -1
  246. package/dist/cjs/social/Social.js.map +0 -1
  247. package/dist/cjs/systems/LightingSystem.js.map +0 -1
  248. package/dist/cjs/systems/ParticleSystem2.js.map +0 -1
  249. package/dist/cjs/systems/PhysicsDebugSystem.js.map +0 -1
  250. package/dist/cjs/systems/TerrainSystem.js.map +0 -1
  251. package/dist/cjs/templates/ActionTemplates.js.map +0 -1
  252. package/dist/cjs/templates/FightingTemplate.js.map +0 -1
  253. package/dist/cjs/templates/MetroidvaniaTemplate.js.map +0 -1
  254. package/dist/cjs/templates/PartyTemplates.js.map +0 -1
  255. package/dist/cjs/templates/PuzzleTemplates.js.map +0 -1
  256. package/dist/cjs/templates/RPGTemplates.js.map +0 -1
  257. package/dist/cjs/templates/SportsTemplates.js.map +0 -1
  258. package/dist/cjs/templates/StrategyTemplates.js.map +0 -1
  259. package/dist/cjs/templates/SurvivalTemplate.js.map +0 -1
  260. package/dist/cjs/templates/WaveDefense.js.map +0 -1
  261. package/dist/cjs/tilemap/Tilemap.js.map +0 -1
  262. package/dist/cjs/tutorials/TutorialBranching.js.map +0 -1
  263. package/dist/cjs/tutorials/TutorialEngine.js.map +0 -1
  264. package/dist/cjs/tutorials/TutorialOverlay.js.map +0 -1
  265. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  266. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  267. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  268. package/dist/cjs/ui/GameUI.js.map +0 -1
  269. package/dist/cjs/unity-integration/UnityAssetStore.js.map +0 -1
  270. package/dist/cjs/unity-integration/UnityImport.js.map +0 -1
  271. package/dist/cjs/unity-integration/UnityLiveLink.js.map +0 -1
  272. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  273. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  274. package/dist/cjs/unreal-integration/UnrealImport.js.map +0 -1
  275. package/dist/cjs/unreal-integration/UnrealLiveLink.js.map +0 -1
  276. package/dist/cjs/unreal-integration/UnrealMarketplace.js.map +0 -1
  277. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  278. package/dist/cjs/xr/ARVR.js.map +0 -1
  279. package/dist/esm/accessibility/Accessibility.js.map +0 -1
  280. package/dist/esm/ai/AI.js.map +0 -1
  281. package/dist/esm/ai/BehaviorTree.js.map +0 -1
  282. package/dist/esm/ai/StateMachine.js.map +0 -1
  283. package/dist/esm/animation/Animation.js.map +0 -1
  284. package/dist/esm/audio/AudioAdvanced.js.map +0 -1
  285. package/dist/esm/audio/AudioBridge.js.map +0 -1
  286. package/dist/esm/audio/AudioManager.js.map +0 -1
  287. package/dist/esm/build-cloud/BuildOrchestration.js.map +0 -1
  288. package/dist/esm/build-cloud/GodotBuildCloud.js.map +0 -1
  289. package/dist/esm/build-cloud/UnityBuildCloud.js.map +0 -1
  290. package/dist/esm/build-cloud/UnrealBuildCloud.js.map +0 -1
  291. package/dist/esm/core/EventBus.js.map +0 -1
  292. package/dist/esm/core/GameClock.js.map +0 -1
  293. package/dist/esm/core/GameConfig.js.map +0 -1
  294. package/dist/esm/core/GameLoop.js.map +0 -1
  295. package/dist/esm/core/ServiceLocator.js.map +0 -1
  296. package/dist/esm/core/Validation.js.map +0 -1
  297. package/dist/esm/core/math.js.map +0 -1
  298. package/dist/esm/devtools/DevTools.js.map +0 -1
  299. package/dist/esm/devtools/DeveloperExperience.js.map +0 -1
  300. package/dist/esm/devtools/GameplayAnalytics.js.map +0 -1
  301. package/dist/esm/dialogue/DialogueSystem.js.map +0 -1
  302. package/dist/esm/docs/DocGenerator.js.map +0 -1
  303. package/dist/esm/ecs/World.js.map +0 -1
  304. package/dist/esm/editor/AchievementEditor.js.map +0 -1
  305. package/dist/esm/editor/AdvancedEditor.js.map +0 -1
  306. package/dist/esm/editor/AnimationRetargeting.js.map +0 -1
  307. package/dist/esm/editor/AssetBrowser.js.map +0 -1
  308. package/dist/esm/editor/AssetManager.js.map +0 -1
  309. package/dist/esm/editor/ConsolePro.js.map +0 -1
  310. package/dist/esm/editor/CraftingEditor.js.map +0 -1
  311. package/dist/esm/editor/DebugTools.js.map +0 -1
  312. package/dist/esm/editor/DialogueSystem.js.map +0 -1
  313. package/dist/esm/editor/LeaderboardSystem.js.map +0 -1
  314. package/dist/esm/editor/NiceGameEditor.js.map +0 -1
  315. package/dist/esm/editor/PrefabSystem.js.map +0 -1
  316. package/dist/esm/editor/ProfilerPanel.js.map +0 -1
  317. package/dist/esm/editor/QuestEditor.js.map +0 -1
  318. package/dist/esm/editor/ReplaySystem.js.map +0 -1
  319. package/dist/esm/editor/SceneEditor.js.map +0 -1
  320. package/dist/esm/editor/ScreenshotMode.js.map +0 -1
  321. package/dist/esm/editor/ShaderGraph.js.map +0 -1
  322. package/dist/esm/editor/TimelineEditor.js.map +0 -1
  323. package/dist/esm/editor/UndoRedoPro.js.map +0 -1
  324. package/dist/esm/editor/VRARMode.js.map +0 -1
  325. package/dist/esm/engine/NiceGameEngine.js.map +0 -1
  326. package/dist/esm/engine/SaveSystem.js.map +0 -1
  327. package/dist/esm/engine/SaveSystemV2.js +0 -523
  328. package/dist/esm/engine/SaveSystemV2.js.map +0 -1
  329. package/dist/esm/enterprise/Enterprise.js.map +0 -1
  330. package/dist/esm/export/BevyExporter.js.map +0 -1
  331. package/dist/esm/export/CocosExporter.js.map +0 -1
  332. package/dist/esm/export/Construct3Exporter.js.map +0 -1
  333. package/dist/esm/export/DefoldExporter.js.map +0 -1
  334. package/dist/esm/export/GDevelopExporter.js.map +0 -1
  335. package/dist/esm/export/GameMakerExporter.js.map +0 -1
  336. package/dist/esm/export/GodotExporter.js.map +0 -1
  337. package/dist/esm/export/MinecraftBedrockExporter.js.map +0 -1
  338. package/dist/esm/export/MonoGameExporter.js.map +0 -1
  339. package/dist/esm/export/Pico8Exporter.js.map +0 -1
  340. package/dist/esm/export/PlatformExporter.js.map +0 -1
  341. package/dist/esm/export/RPGMakerExporter.js.map +0 -1
  342. package/dist/esm/export/RobloxExporter.js.map +0 -1
  343. package/dist/esm/export/Solar2DExporter.js.map +0 -1
  344. package/dist/esm/export/ThreeJSExporter.js.map +0 -1
  345. package/dist/esm/export/Tic80Exporter.js.map +0 -1
  346. package/dist/esm/export/UnityExporter.js.map +0 -1
  347. package/dist/esm/export/UnrealExporter.js.map +0 -1
  348. package/dist/esm/export/WebExporter.js.map +0 -1
  349. package/dist/esm/export/index.js.map +0 -1
  350. package/dist/esm/godot-integration/GodotAssetLibrary.js.map +0 -1
  351. package/dist/esm/godot-integration/GodotImport.js.map +0 -1
  352. package/dist/esm/godot-integration/GodotLiveLink.js.map +0 -1
  353. package/dist/esm/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  354. package/dist/esm/i18n/I18n.js.map +0 -1
  355. package/dist/esm/i18n/useTranslation.js.map +0 -1
  356. package/dist/esm/import/AsepriteImporter.js.map +0 -1
  357. package/dist/esm/import/DragonBonesImporter.js.map +0 -1
  358. package/dist/esm/import/GameMakerImporter.js.map +0 -1
  359. package/dist/esm/import/GodotSceneImporter.js.map +0 -1
  360. package/dist/esm/import/LDtkImporter.js.map +0 -1
  361. package/dist/esm/import/Live2DImporter.js.map +0 -1
  362. package/dist/esm/import/NdgFormat.js.map +0 -1
  363. package/dist/esm/import/OgmoImporter.js.map +0 -1
  364. package/dist/esm/import/RPGMakerImporter.js.map +0 -1
  365. package/dist/esm/import/SceneImporter.js.map +0 -1
  366. package/dist/esm/import/SpineImporter.js.map +0 -1
  367. package/dist/esm/import/SpriterImporter.js.map +0 -1
  368. package/dist/esm/import/TiledMapImporter.js.map +0 -1
  369. package/dist/esm/import/UnitySceneImporter.js.map +0 -1
  370. package/dist/esm/import/index.js.map +0 -1
  371. package/dist/esm/index.js.map +0 -1
  372. package/dist/esm/input/GamepadNavigation.js.map +0 -1
  373. package/dist/esm/input/InputManager.js.map +0 -1
  374. package/dist/esm/input/useGamepads.js.map +0 -1
  375. package/dist/esm/integration/IconSprite.js.map +0 -1
  376. package/dist/esm/inventory/InventorySystem.js.map +0 -1
  377. package/dist/esm/kids/KidMode.js.map +0 -1
  378. package/dist/esm/kids/KidTools.js.map +0 -1
  379. package/dist/esm/monetization/Monetization.js.map +0 -1
  380. package/dist/esm/multiplayer/LocalMultiplayer.js.map +0 -1
  381. package/dist/esm/multiplayer/MiniGameTypes.js.map +0 -1
  382. package/dist/esm/native-engine/AssetPipeline.js.map +0 -1
  383. package/dist/esm/native-engine/AudioEngine.js.map +0 -1
  384. package/dist/esm/native-engine/InputSystem.js.map +0 -1
  385. package/dist/esm/native-engine/NetworkingSystem.js.map +0 -1
  386. package/dist/esm/native-engine/PhysicsEngine.js.map +0 -1
  387. package/dist/esm/native-engine/RenderingEngine.js.map +0 -1
  388. package/dist/esm/native-engine/SceneGraph.js.map +0 -1
  389. package/dist/esm/network/MultiplayerTransport.js.map +0 -1
  390. package/dist/esm/network/Networking.js.map +0 -1
  391. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  392. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  393. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  394. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  395. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  396. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  397. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  398. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  399. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  400. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  401. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  402. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  403. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  404. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  405. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  406. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  407. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  408. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  409. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  410. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  411. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  412. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  413. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  414. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  415. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  416. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  417. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  418. package/dist/esm/pathfinding/Pathfinding.js.map +0 -1
  419. package/dist/esm/performance/AssetStreaming.js.map +0 -1
  420. package/dist/esm/performance/BenchmarkSuite.js.map +0 -1
  421. package/dist/esm/performance/DeltaCompression.js.map +0 -1
  422. package/dist/esm/performance/DeterministicPhysics.js.map +0 -1
  423. package/dist/esm/performance/ECSOptimization.js.map +0 -1
  424. package/dist/esm/performance/GameSaveSystem.js.map +0 -1
  425. package/dist/esm/performance/HotReload.js.map +0 -1
  426. package/dist/esm/performance/InputRecording.js.map +0 -1
  427. package/dist/esm/performance/InterestManagement.js.map +0 -1
  428. package/dist/esm/performance/LocalizationRuntime.js.map +0 -1
  429. package/dist/esm/performance/MemoryManagement.js.map +0 -1
  430. package/dist/esm/performance/ModSupport.js.map +0 -1
  431. package/dist/esm/performance/MultiThreadedPhysics.js.map +0 -1
  432. package/dist/esm/performance/NetworkPrediction.js.map +0 -1
  433. package/dist/esm/performance/ObjectPooling.js.map +0 -1
  434. package/dist/esm/performance/Performance.js.map +0 -1
  435. package/dist/esm/performance/PerformanceAdvanced.js.map +0 -1
  436. package/dist/esm/performance/SaveSystem.js +0 -567
  437. package/dist/esm/performance/SaveSystem.js.map +0 -1
  438. package/dist/esm/performance/WebGPURenderer.js.map +0 -1
  439. package/dist/esm/physics/PhysicsAdvanced.js.map +0 -1
  440. package/dist/esm/physics/PhysicsEngine2D.js.map +0 -1
  441. package/dist/esm/plugins/PluginSDK.js.map +0 -1
  442. package/dist/esm/plugins/PluginTestKit.js.map +0 -1
  443. package/dist/esm/procedural/Procedural.js.map +0 -1
  444. package/dist/esm/procedural/WorldBuilding.js.map +0 -1
  445. package/dist/esm/quest/QuestSystem.js.map +0 -1
  446. package/dist/esm/release/MobileExport.js.map +0 -1
  447. package/dist/esm/release/Release.js.map +0 -1
  448. package/dist/esm/rendering/Camera2D.js.map +0 -1
  449. package/dist/esm/rendering/Renderer2D.js.map +0 -1
  450. package/dist/esm/rendering/WebGPURenderPipeline.js.map +0 -1
  451. package/dist/esm/runtime3d/Runtime3D.js.map +0 -1
  452. package/dist/esm/runtime3d/SceneEditor3D.js.map +0 -1
  453. package/dist/esm/scene/SceneManager.js.map +0 -1
  454. package/dist/esm/scripting/GraphToAST.js.map +0 -1
  455. package/dist/esm/scripting/LanguageExporter.js.map +0 -1
  456. package/dist/esm/scripting/NodeGraph.js.map +0 -1
  457. package/dist/esm/scripting/ScriptAST.js.map +0 -1
  458. package/dist/esm/scripting/VisualScripting2.js.map +0 -1
  459. package/dist/esm/scripting/exporters/CSharpExporter.js.map +0 -1
  460. package/dist/esm/scripting/exporters/GDScriptExporter.js.map +0 -1
  461. package/dist/esm/scripting/exporters/LuaExporter.js.map +0 -1
  462. package/dist/esm/scripting/exporters/PythonExporter.js.map +0 -1
  463. package/dist/esm/scripting/exporters/RustExporter.js.map +0 -1
  464. package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +0 -1
  465. package/dist/esm/social/Social.js.map +0 -1
  466. package/dist/esm/systems/LightingSystem.js.map +0 -1
  467. package/dist/esm/systems/ParticleSystem2.js.map +0 -1
  468. package/dist/esm/systems/PhysicsDebugSystem.js.map +0 -1
  469. package/dist/esm/systems/TerrainSystem.js.map +0 -1
  470. package/dist/esm/templates/ActionTemplates.js.map +0 -1
  471. package/dist/esm/templates/FightingTemplate.js.map +0 -1
  472. package/dist/esm/templates/MetroidvaniaTemplate.js.map +0 -1
  473. package/dist/esm/templates/PartyTemplates.js.map +0 -1
  474. package/dist/esm/templates/PuzzleTemplates.js.map +0 -1
  475. package/dist/esm/templates/RPGTemplates.js.map +0 -1
  476. package/dist/esm/templates/SportsTemplates.js.map +0 -1
  477. package/dist/esm/templates/StrategyTemplates.js.map +0 -1
  478. package/dist/esm/templates/SurvivalTemplate.js.map +0 -1
  479. package/dist/esm/templates/WaveDefense.js.map +0 -1
  480. package/dist/esm/tilemap/Tilemap.js.map +0 -1
  481. package/dist/esm/tutorials/TutorialBranching.js.map +0 -1
  482. package/dist/esm/tutorials/TutorialEngine.js.map +0 -1
  483. package/dist/esm/tutorials/TutorialOverlay.js.map +0 -1
  484. package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  485. package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  486. package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  487. package/dist/esm/ui/GameUI.js.map +0 -1
  488. package/dist/esm/unity-integration/UnityAssetStore.js.map +0 -1
  489. package/dist/esm/unity-integration/UnityImport.js.map +0 -1
  490. package/dist/esm/unity-integration/UnityLiveLink.js.map +0 -1
  491. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  492. package/dist/esm/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  493. package/dist/esm/unreal-integration/UnrealImport.js.map +0 -1
  494. package/dist/esm/unreal-integration/UnrealLiveLink.js.map +0 -1
  495. package/dist/esm/unreal-integration/UnrealMarketplace.js.map +0 -1
  496. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  497. package/dist/esm/xr/ARVR.js.map +0 -1
  498. package/dist/types/engine/SaveSystemV2.d.ts +0 -155
@@ -33,9 +33,9 @@ const TUTORIAL_MULTIPLAYER_ONLINE = {
33
33
  id: 'mp-online-intro',
34
34
  type: 'text',
35
35
  title: {
36
- en: 'Online Multiplayer Architecture 🌐',
37
- pl: 'Architektura multiplayera online 🌐',
38
- de: 'Online-Mehrspieler-Architektur 🌐',
36
+ en: 'Online Multiplayer Architecture',
37
+ pl: 'Architektura multiplayera online',
38
+ de: 'Online-Mehrspieler-Architektur',
39
39
  },
40
40
  content: {
41
41
  en: 'In this tutorial you will learn:\n• WebRTC peer-to-peer connections\n• Signaling via WebSocket\n• Creating and joining lobby rooms\n• State synchronization (snapshots)\n• Client-side prediction and reconciliation\n\nYour game will run in real-time across the internet!',
@@ -200,9 +200,9 @@ const TUTORIAL_MULTIPLAYER_ONLINE = {
200
200
  id: 'mp-online-quiz',
201
201
  type: 'quiz',
202
202
  title: {
203
- en: 'Multiplayer Quiz 🧠',
204
- pl: 'Quiz Multiplayer 🧠',
205
- de: 'Multiplayer-Quiz 🧠',
203
+ en: 'Multiplayer Quiz',
204
+ pl: 'Quiz Multiplayer',
205
+ de: 'Multiplayer-Quiz',
206
206
  },
207
207
  content: {
208
208
  en: 'Why is client-side prediction important in online games?',
@@ -275,9 +275,9 @@ const TUTORIAL_MULTIPLAYER_ONLINE = {
275
275
  id: 'mp-online-complete',
276
276
  type: 'checkpoint',
277
277
  title: {
278
- en: 'Multiplayer Online Complete! 🎉',
279
- pl: 'Multiplayer online gotowy! 🎉',
280
- de: 'Online-Mehrspieler fertig! 🎉',
278
+ en: 'Multiplayer Online Complete!',
279
+ pl: 'Multiplayer online gotowy!',
280
+ de: 'Online-Mehrspieler fertig!',
281
281
  },
282
282
  content: {
283
283
  en: "You've learned how to build networked multiplayer games! You can now:\n• Connect peers via WebRTC\n• Create and manage lobby rooms\n• Synchronize game state with snapshots\n• Implement client-side prediction\n• Spawn/destroy entities across the network",
@@ -315,9 +315,9 @@ const TUTORIAL_PROCEDURAL_WORLD = {
315
315
  id: 'proc-intro',
316
316
  type: 'text',
317
317
  title: {
318
- en: 'Procedural Generation 🌍',
319
- pl: 'Generowanie proceduralne 🌍',
320
- de: 'Prozedurale Generierung 🌍',
318
+ en: 'Procedural Generation',
319
+ pl: 'Generowanie proceduralne',
320
+ de: 'Prozedurale Generierung',
321
321
  },
322
322
  content: {
323
323
  en: 'Procedural generation creates content using algorithms instead of manual design.\n\nYou will learn:\n• Seeded random numbers (reproducible worlds)\n• Perlin noise (natural-looking terrain)\n• Enemy wave scaling\n• Loot tables with weighted drops\n• Procedural pixel art sprites',
@@ -457,9 +457,9 @@ const TUTORIAL_PROCEDURAL_WORLD = {
457
457
  id: 'proc-quiz',
458
458
  type: 'quiz',
459
459
  title: {
460
- en: 'Procedural Generation Quiz 🎲',
461
- pl: 'Quiz z generowania proceduralnego 🎲',
462
- de: 'Prozedurale Generierung Quiz 🎲',
460
+ en: 'Procedural Generation Quiz',
461
+ pl: 'Quiz z generowania proceduralnego',
462
+ de: 'Prozedurale Generierung Quiz',
463
463
  },
464
464
  content: {
465
465
  en: 'What makes Perlin noise better than purely random values for terrain?',
@@ -503,9 +503,9 @@ const TUTORIAL_PROCEDURAL_WORLD = {
503
503
  id: 'proc-complete',
504
504
  type: 'checkpoint',
505
505
  title: {
506
- en: 'Procedural Generation Complete! 🌟',
507
- pl: 'Generowanie proceduralne opanowane! 🌟',
508
- de: 'Prozedurale Generierung fertig! 🌟',
506
+ en: 'Procedural Generation Complete!',
507
+ pl: 'Generowanie proceduralne opanowane!',
508
+ de: 'Prozedurale Generierung fertig!',
509
509
  },
510
510
  content: {
511
511
  en: 'You can now generate infinite, unique games! Skills learned:\n• Seeded random for reproducible worlds\n• Perlin noise for natural terrain\n• Wave scaling for enemy difficulty\n• Loot tables for balanced drops\n• Procedural pixel art sprites',
@@ -543,9 +543,9 @@ const TUTORIAL_PLATFORMER = {
543
543
  id: 'plat-intro',
544
544
  type: 'text',
545
545
  title: {
546
- en: 'Build a Platformer! 🏃',
547
- pl: 'Zbuduj platformera! 🏃',
548
- de: 'Baue einen Platformer! 🏃',
546
+ en: 'Build a Platformer!',
547
+ pl: 'Zbuduj platformera!',
548
+ de: 'Baue einen Platformer!',
549
549
  },
550
550
  content: {
551
551
  en: "In this tutorial you'll build a complete platformer game!\n\n• Player movement & acceleration\n• Jumping with coyote time\n• Double-jump & wall-slide\n• Dash mechanic\n• Enemy AI (patrol + chase)\n• Coins & collectibles\n• Level with tilemap\n\nLet's make Mario-like magic!",
@@ -761,9 +761,9 @@ const TUTORIAL_PLATFORMER = {
761
761
  id: 'plat-complete',
762
762
  type: 'checkpoint',
763
763
  title: {
764
- en: 'Platformer Complete! 🎮',
765
- pl: 'Platformer gotowy! 🎮',
766
- de: 'Platformer fertig! 🎮',
764
+ en: 'Platformer Complete!',
765
+ pl: 'Platformer gotowy!',
766
+ de: 'Platformer fertig!',
767
767
  },
768
768
  content: {
769
769
  en: "Congratulations! You've built a complete platformer with:\n• Smooth acceleration-based movement\n• Jumping with coyote time\n• Double jump & wall slide\n• Dash mechanic\n• Enemy AI (patrol & chase)\n• Coins with trigger colliders\n• Tilemap level design\n\nChallenge: Add moving platforms and a boss fight!",
@@ -34,9 +34,9 @@ const TUTORIAL_RPG = {
34
34
  id: 'rpg-intro',
35
35
  type: 'text',
36
36
  title: {
37
- en: 'Build Your Own RPG! ⚔️',
38
- pl: 'Zbuduj swoje RPG! ⚔️',
39
- de: 'Baue dein eigenes RPG! ⚔️',
37
+ en: 'Build Your Own RPG!',
38
+ pl: 'Zbuduj swoje RPG!',
39
+ de: 'Baue dein eigenes RPG!',
40
40
  },
41
41
  content: {
42
42
  en: "In this tutorial you'll build a classic top-down RPG!\n\n• Character stats (HP, MP, ATK, DEF, SPD)\n• XP and leveling system\n• Inventory and items\n• NPCs with dialogue\n• Turn-based battle system\n• Tilemap world with warps\n\nReady for an adventure?",
@@ -172,9 +172,9 @@ const TUTORIAL_RPG = {
172
172
  id: 'rpg-quiz',
173
173
  type: 'quiz',
174
174
  title: {
175
- en: 'RPG Quiz 🧙',
176
- pl: 'Quiz RPG 🧙',
177
- de: 'RPG-Quiz 🧙',
175
+ en: 'RPG Quiz',
176
+ pl: 'Quiz RPG',
177
+ de: 'RPG-Quiz',
178
178
  },
179
179
  content: {
180
180
  en: 'In a turn-based RPG, what stat typically determines the order of actions?',
@@ -194,9 +194,9 @@ const TUTORIAL_RPG = {
194
194
  id: 'rpg-complete',
195
195
  type: 'checkpoint',
196
196
  title: {
197
- en: 'RPG Complete! 🏰',
198
- pl: 'RPG gotowe! 🏰',
199
- de: 'RPG fertig! 🏰',
197
+ en: 'RPG Complete!',
198
+ pl: 'RPG gotowe!',
199
+ de: 'RPG fertig!',
200
200
  },
201
201
  content: {
202
202
  en: "Amazing! You've built a full RPG with:\n• Character stats & leveling\n• Inventory with rarity system\n• NPCs with branching dialogue\n• Turn-based combat\n• Multi-area world map with warps\n\nChallenge: Add a party system with 4 heroes!",
@@ -234,9 +234,9 @@ const TUTORIAL_TOWER_DEFENSE = {
234
234
  id: 'td-intro',
235
235
  type: 'text',
236
236
  title: {
237
- en: 'Build Tower Defense! 🗼',
238
- pl: 'Zbuduj Tower Defense! 🗼',
239
- de: 'Baue Tower Defense! 🗼',
237
+ en: 'Build Tower Defense!',
238
+ pl: 'Zbuduj Tower Defense!',
239
+ de: 'Baue Tower Defense!',
240
240
  },
241
241
  content: {
242
242
  en: "In this tutorial you'll build a tower defense game!\n\n• Map with path for enemies\n• Tower types (arrow, cannon, ice, laser)\n• Enemy waves with scaling difficulty\n• Tower targeting modes\n• Upgrade system\n• Gold & economy\n\nDefend your base!",
@@ -376,9 +376,9 @@ const TUTORIAL_TOWER_DEFENSE = {
376
376
  id: 'td-complete',
377
377
  type: 'checkpoint',
378
378
  title: {
379
- en: 'Tower Defense Complete! 🏆',
380
- pl: 'Tower Defense gotowy! 🏆',
381
- de: 'Tower Defense fertig! 🏆',
379
+ en: 'Tower Defense Complete!',
380
+ pl: 'Tower Defense gotowy!',
381
+ de: 'Tower Defense fertig!',
382
382
  },
383
383
  content: {
384
384
  en: "You've built a full tower defense game!\n• 4 tower types with different targeting\n• Enemy pathfinding along waypoints\n• Escalating wave system\n• Upgrade & sell mechanics\n• Gold economy\n\nChallenge: Add flying enemies that ignore the path!",
@@ -416,9 +416,9 @@ const TUTORIAL_3D_GAME = {
416
416
  id: '3d-intro',
417
417
  type: 'text',
418
418
  title: {
419
- en: 'Welcome to 3D! 🎮',
420
- pl: 'Witaj w 3D! 🎮',
421
- de: 'Willkommen in 3D! 🎮',
419
+ en: 'Welcome to 3D!',
420
+ pl: 'Witaj w 3D!',
421
+ de: 'Willkommen in 3D!',
422
422
  },
423
423
  content: {
424
424
  en: "In this tutorial you'll enter the third dimension!\n\n• Set up a 3D world (World3D)\n• Add meshes (cube, sphere, plane)\n• Lighting (directional, point, spot)\n• Camera controllers (FPS, orbit)\n• 3D physics (rigid bodies, colliders)\n• Character controller (walking, jumping)\n\nLet's go 3D!",
@@ -583,9 +583,9 @@ const TUTORIAL_3D_GAME = {
583
583
  id: '3d-complete',
584
584
  type: 'checkpoint',
585
585
  title: {
586
- en: '3D Game Complete! 🌟',
587
- pl: 'Gra 3D gotowa! 🌟',
588
- de: '3D-Spiel fertig! 🌟',
586
+ en: '3D Game Complete!',
587
+ pl: 'Gra 3D gotowa!',
588
+ de: '3D-Spiel fertig!',
589
589
  },
590
590
  content: {
591
591
  en: "You've built your first 3D game!\n• World3D scene with multiple objects\n• Primitive meshes (cube, sphere, plane)\n• Directional and point lighting\n• Orbit camera controller\n• 3D physics with rigid bodies\n• Character controller with jumping\n\nChallenge: Add a skybox and third-person camera!",
@@ -623,9 +623,9 @@ const TUTORIAL_PUBLISHING = {
623
623
  id: 'pub-intro',
624
624
  type: 'text',
625
625
  title: {
626
- en: 'Publish Your Game! 🚀',
627
- pl: 'Opublikuj swoją grę! 🚀',
628
- de: 'Veröffentliche dein Spiel! 🚀',
626
+ en: 'Publish Your Game!',
627
+ pl: 'Opublikuj swoją grę!',
628
+ de: 'Veröffentliche dein Spiel!',
629
629
  },
630
630
  content: {
631
631
  en: "Your game is ready — now let's share it with the world!\n\n• Feature detection (check browser support)\n• Build optimization (minify, tree-shake)\n• PWA export (installable web app)\n• Electron export (Windows/Mac/Linux)\n• Capacitor export (iOS/Android)\n• Performance benchmarking\n\nLet's deploy!",
@@ -730,9 +730,9 @@ const TUTORIAL_PUBLISHING = {
730
730
  id: 'pub-quiz',
731
731
  type: 'quiz',
732
732
  title: {
733
- en: 'Publishing Quiz 📦',
734
- pl: 'Quiz o publikacji 📦',
735
- de: 'Veröffentlichungs-Quiz 📦',
733
+ en: 'Publishing Quiz',
734
+ pl: 'Quiz o publikacji',
735
+ de: 'Veröffentlichungs-Quiz',
736
736
  },
737
737
  content: {
738
738
  en: 'What is a PWA (Progressive Web App)?',
@@ -780,14 +780,14 @@ const TUTORIAL_PUBLISHING = {
780
780
  id: 'pub-complete',
781
781
  type: 'checkpoint',
782
782
  title: {
783
- en: 'Publication Complete! 🎊',
784
- pl: 'Publikacja gotowa! 🎊',
785
- de: 'Veröffentlichung fertig! 🎊',
783
+ en: 'Publication Complete!',
784
+ pl: 'Publikacja gotowa!',
785
+ de: 'Veröffentlichung fertig!',
786
786
  },
787
787
  content: {
788
- en: 'Congratulations! You now know how to:\n• Check browser feature support\n• Configure optimized builds\n• Export as PWA, Electron, or Capacitor\n• Run performance benchmarks\n• Deploy to web, desktop, and mobile\n\nYour game is ready for the world! 🌍',
789
- pl: 'Gratulacje! Teraz wiesz jak:\n• Sprawdzić wsparcie funkcji przeglądarki\n• Konfigurować zoptymalizowane buildy\n• Eksportować jako PWA, Electron lub Capacitor\n• Uruchamiać benchmarki wydajności\n• Wdrażać na web, desktop i mobile\n\nTwoja gra jest gotowa na świat! 🌍',
790
- de: 'Herzlichen Glückwunsch! Du weißt jetzt wie man:\n• Browser-Feature-Support prüft\n• Optimierte Builds konfiguriert\n• Als PWA, Electron oder Capacitor exportiert\n• Performance-Benchmarks durchführt\n• Auf Web, Desktop und Mobile deployt\n\nDein Spiel ist bereit für die Welt! 🌍',
788
+ en: 'Congratulations! You now know how to:\n• Check browser feature support\n• Configure optimized builds\n• Export as PWA, Electron, or Capacitor\n• Run performance benchmarks\n• Deploy to web, desktop, and mobile\n\nYour game is ready for the world!',
789
+ pl: 'Gratulacje! Teraz wiesz jak:\n• Sprawdzić wsparcie funkcji przeglądarki\n• Konfigurować zoptymalizowane buildy\n• Eksportować jako PWA, Electron lub Capacitor\n• Uruchamiać benchmarki wydajności\n• Wdrażać na web, desktop i mobile\n\nTwoja gra jest gotowa na świat!',
790
+ de: 'Herzlichen Glückwunsch! Du weißt jetzt wie man:\n• Browser-Feature-Support prüft\n• Optimierte Builds konfiguriert\n• Als PWA, Electron oder Capacitor exportiert\n• Performance-Benchmarks durchführt\n• Auf Web, Desktop und Mobile deployt\n\nDein Spiel ist bereit für die Welt!',
791
791
  },
792
792
  },
793
793
  ],
@@ -1,4 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { NiceIcon } from '@nice2dev/ui';
2
3
  import { createContext, forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, useState, useContext } from 'react';
3
4
 
4
5
  const DEFAULT_THEME = {
@@ -104,21 +105,21 @@ function formatFileSize(bytes) {
104
105
  function getCategoryIcon(category) {
105
106
  switch (category) {
106
107
  case '3d':
107
- return '🎲';
108
+ return 'box';
108
109
  case '2d':
109
- return '🖼️';
110
+ return 'image';
110
111
  case 'tools':
111
- return '🔧';
112
+ return 'settings';
112
113
  case 'vfx':
113
- return '✨';
114
+ return 'star';
114
115
  case 'audio':
115
- return '🔊';
116
+ return 'volume';
116
117
  case 'templates':
117
- return '📋';
118
+ return 'clipboard';
118
119
  case 'add-ons':
119
- return '🧩';
120
+ return 'puzzle';
120
121
  default:
121
- return '📦';
122
+ return 'box';
122
123
  }
123
124
  }
124
125
  /* ── Search Header ────────────────────────────────────────────── */
@@ -143,7 +144,7 @@ const SearchHeader = () => {
143
144
  padding: '16px 24px',
144
145
  backgroundColor: theme.headerBackground,
145
146
  borderBottom: `1px solid ${theme.border}`,
146
- }, children: [jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 12, marginBottom: 12 }, children: [jsx("div", { style: { fontSize: 24 }, children: "\uD83C\uDFEA" }), jsx("h1", { style: { margin: 0, fontSize: 18, fontWeight: 600, color: theme.textPrimary }, children: "Unity Asset Store" }), jsx("div", { style: { flex: 1 } }), jsxs("button", { style: {
147
+ }, children: [jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 12, marginBottom: 12 }, children: [jsx(NiceIcon, { name: "building", size: 24 }), jsx("h1", { style: { margin: 0, fontSize: 18, fontWeight: 600, color: theme.textPrimary }, children: "Unity Asset Store" }), jsx("div", { style: { flex: 1 } }), jsxs("button", { style: {
147
148
  display: 'flex',
148
149
  alignItems: 'center',
149
150
  gap: 6,
@@ -153,14 +154,14 @@ const SearchHeader = () => {
153
154
  borderRadius: 6,
154
155
  color: '#fff',
155
156
  cursor: 'pointer',
156
- }, children: ["\uD83D\uDED2 Cart (", state.cart.size, ")"] }), jsx("button", { onClick: () => dispatch({ type: 'TOGGLE_MY_ASSETS' }), style: {
157
+ }, children: [jsx(NiceIcon, { name: "box", size: 14 }), " Cart (", state.cart.size, ")"] }), jsxs("button", { onClick: () => dispatch({ type: 'TOGGLE_MY_ASSETS' }), style: {
157
158
  padding: '8px 12px',
158
159
  backgroundColor: state.myAssets ? theme.accent : 'rgba(0,0,0,0.2)',
159
160
  border: 'none',
160
161
  borderRadius: 6,
161
162
  color: '#fff',
162
163
  cursor: 'pointer',
163
- }, children: "\uD83D\uDCDA My Assets" })] }), jsxs("div", { style: { display: 'flex', gap: 8 }, children: [jsxs("div", { style: { flex: 1, position: 'relative' }, children: [jsx("input", { type: "text", placeholder: "Search assets...", value: localQuery, onChange: (e) => setLocalQuery(e.target.value), onKeyDown: (e) => e.key === 'Enter' && handleSearch(), style: {
164
+ }, children: [jsx(NiceIcon, { name: "book", size: 14 }), " My Assets"] })] }), jsxs("div", { style: { display: 'flex', gap: 8 }, children: [jsxs("div", { style: { flex: 1, position: 'relative' }, children: [jsx("input", { type: "text", placeholder: "Search assets...", value: localQuery, onChange: (e) => setLocalQuery(e.target.value), onKeyDown: (e) => e.key === 'Enter' && handleSearch(), style: {
164
165
  width: '100%',
165
166
  padding: '10px 16px',
166
167
  paddingRight: 50,
@@ -181,7 +182,7 @@ const SearchHeader = () => {
181
182
  borderRadius: 6,
182
183
  color: '#fff',
183
184
  cursor: 'pointer',
184
- }, children: "\uD83D\uDD0D" })] }), jsx("select", { value: state.query.category, onChange: (e) => {
185
+ }, children: jsx(NiceIcon, { name: "search", size: 14 }) })] }), jsx("select", { value: state.query.category, onChange: (e) => {
185
186
  dispatch({
186
187
  type: 'SET_QUERY',
187
188
  query: { category: e.target.value, page: 1 },
@@ -228,7 +229,7 @@ const RatingStars = ({ rating, count }) => {
228
229
  return (jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 4 }, children: [[1, 2, 3, 4, 5].map((star) => (jsx("span", { style: {
229
230
  fontSize: 12,
230
231
  color: star <= Math.round(rating) ? theme.star : theme.textSecondary,
231
- }, children: "\u2605" }, star))), count !== undefined && (jsxs("span", { style: { fontSize: 11, color: theme.textSecondary, marginLeft: 4 }, children: ["(", count, ")"] }))] }));
232
+ }, children: jsx(NiceIcon, { name: "star", size: 12 }) }, star))), count !== undefined && (jsxs("span", { style: { fontSize: 11, color: theme.textSecondary, marginLeft: 4 }, children: ["(", count, ")"] }))] }));
232
233
  };
233
234
  /* ── Asset Card ───────────────────────────────────────────────── */
234
235
  const AssetCard = ({ asset }) => {
@@ -290,7 +291,7 @@ const AssetCard = ({ asset }) => {
290
291
  alignItems: 'center',
291
292
  justifyContent: 'center',
292
293
  fontSize: 14,
293
- }, children: getCategoryIcon(asset.category) })] }), jsxs("div", { style: { padding: 12 }, children: [jsx("h3", { style: {
294
+ }, children: jsx(NiceIcon, { name: getCategoryIcon(asset.category), size: 32 }) })] }), jsxs("div", { style: { padding: 12 }, children: [jsx("h3", { style: {
294
295
  margin: 0,
295
296
  fontSize: 13,
296
297
  fontWeight: 600,
@@ -331,7 +332,7 @@ const AssetCard = ({ asset }) => {
331
332
  borderRadius: 6,
332
333
  color: '#fff',
333
334
  cursor: isDownloading ? 'not-allowed' : 'pointer',
334
- }, children: isDownloading ? `${downloadProgress}%` : '📥 Download' })) : (jsx("button", { onClick: (e) => {
335
+ }, children: isDownloading ? `${downloadProgress}%` : 'Download' })) : (jsx("button", { onClick: (e) => {
335
336
  e.stopPropagation();
336
337
  if (isInCart) {
337
338
  dispatch({ type: 'REMOVE_FROM_CART', id: asset.id });
@@ -349,7 +350,7 @@ const AssetCard = ({ asset }) => {
349
350
  borderRadius: 6,
350
351
  color: '#fff',
351
352
  cursor: 'pointer',
352
- }, children: isInCart ? '✓ In Cart' : '🛒 Add to Cart' })), jsx("button", { onClick: (e) => {
353
+ }, children: isInCart ? 'In Cart' : 'Add to Cart' })), jsx("button", { onClick: (e) => {
353
354
  e.stopPropagation();
354
355
  openInBrowser(asset);
355
356
  }, style: {
@@ -360,7 +361,7 @@ const AssetCard = ({ asset }) => {
360
361
  borderRadius: 6,
361
362
  color: theme.textSecondary,
362
363
  cursor: 'pointer',
363
- }, children: "\uD83D\uDD17" })] })] })] }));
364
+ }, children: jsx(NiceIcon, { name: "link", size: 14 }) })] })] })] }));
364
365
  };
365
366
  /* ── Asset Grid ───────────────────────────────────────────────── */
366
367
  const AssetGrid = () => {
@@ -372,7 +373,7 @@ const AssetGrid = () => {
372
373
  alignItems: 'center',
373
374
  justifyContent: 'center',
374
375
  color: theme.textSecondary,
375
- }, children: "\u23F3 Loading assets..." }));
376
+ }, children: "Loading assets..." }));
376
377
  }
377
378
  if (state.error) {
378
379
  return (jsxs("div", { style: {
@@ -381,7 +382,7 @@ const AssetGrid = () => {
381
382
  alignItems: 'center',
382
383
  justifyContent: 'center',
383
384
  color: theme.danger,
384
- }, children: ["\u274C ", state.error] }));
385
+ }, children: [jsx(NiceIcon, { name: "error", size: 14 }), " ", state.error] }));
385
386
  }
386
387
  if (state.results.length === 0) {
387
388
  return (jsxs("div", { style: {
@@ -391,7 +392,7 @@ const AssetGrid = () => {
391
392
  alignItems: 'center',
392
393
  justifyContent: 'center',
393
394
  color: theme.textSecondary,
394
- }, children: [jsx("div", { style: { fontSize: 48, marginBottom: 16 }, children: "\uD83D\uDCED" }), jsx("div", { children: "No assets found" })] }));
395
+ }, children: [jsx("div", { style: { marginBottom: 16 }, children: jsx(NiceIcon, { name: "archive", size: 48 }) }), jsx("div", { children: "No assets found" })] }));
395
396
  }
396
397
  return (jsx("div", { style: {
397
398
  display: 'grid',
@@ -474,7 +475,7 @@ const AssetDetailModal = () => {
474
475
  borderRadius: 8,
475
476
  color: '#fff',
476
477
  cursor: isDownloading ? 'not-allowed' : 'pointer',
477
- }, children: isDownloading ? `Downloading ${downloadProgress}%` : '📥 Download & Import' })) : (jsx("button", { onClick: () => isInCart
478
+ }, children: isDownloading ? `Downloading ${downloadProgress}%` : 'Download & Import' })) : (jsx("button", { onClick: () => isInCart
478
479
  ? dispatch({ type: 'REMOVE_FROM_CART', id: asset.id })
479
480
  : dispatch({ type: 'ADD_TO_CART', id: asset.id }), style: {
480
481
  width: '100%',
@@ -486,7 +487,7 @@ const AssetDetailModal = () => {
486
487
  borderRadius: 8,
487
488
  color: '#fff',
488
489
  cursor: 'pointer',
489
- }, children: isInCart ? '✓ Remove from Cart' : '🛒 Add to Cart' })), jsx("button", { onClick: () => openInBrowser(asset), style: {
490
+ }, children: isInCart ? 'Remove from Cart' : 'Add to Cart' })), jsxs("button", { onClick: () => openInBrowser(asset), style: {
490
491
  width: '100%',
491
492
  marginTop: 8,
492
493
  padding: '10px 24px',
@@ -496,7 +497,7 @@ const AssetDetailModal = () => {
496
497
  borderRadius: 8,
497
498
  color: theme.textSecondary,
498
499
  cursor: 'pointer',
499
- }, children: "\uD83D\uDD17 View on Asset Store" })] })] }), jsx("button", { onClick: () => dispatch({ type: 'SELECT_ASSET', asset: null }), style: {
500
+ }, children: [jsx(NiceIcon, { name: "external-link", size: 14 }), " View on Asset Store"] })] })] }), jsx("button", { onClick: () => dispatch({ type: 'SELECT_ASSET', asset: null }), style: {
500
501
  position: 'absolute',
501
502
  top: 16,
502
503
  right: 16,
@@ -506,7 +507,7 @@ const AssetDetailModal = () => {
506
507
  border: 'none',
507
508
  color: theme.textSecondary,
508
509
  cursor: 'pointer',
509
- }, children: "\u2715" })] }), jsx("div", { style: { display: 'flex', borderBottom: `1px solid ${theme.border}` }, children: ['overview', 'images', 'reviews'].map((tab) => (jsx("button", { onClick: () => setActiveTab(tab), style: {
510
+ }, children: jsx(NiceIcon, { name: "close", size: 14 }) })] }), jsx("div", { style: { display: 'flex', borderBottom: `1px solid ${theme.border}` }, children: ['overview', 'images', 'reviews'].map((tab) => (jsx("button", { onClick: () => setActiveTab(tab), style: {
510
511
  flex: 1,
511
512
  padding: '12px 16px',
512
513
  fontSize: 13,
@@ -1,4 +1,5 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { NiceIcon } from '@nice2dev/ui';
2
3
  import { createContext, forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, useContext } from 'react';
3
4
 
4
5
  const DEFAULT_THEME = {
@@ -102,23 +103,23 @@ function useBrowser() {
102
103
  function getAssetIcon(type) {
103
104
  switch (type) {
104
105
  case 'scene':
105
- return '🎬';
106
+ return 'video';
106
107
  case 'prefab':
107
- return '📦';
108
+ return 'box';
108
109
  case 'material':
109
- return '🎨';
110
+ return 'palette';
110
111
  case 'texture':
111
- return '🖼️';
112
+ return 'image';
112
113
  case 'mesh':
113
- return '🔷';
114
+ return 'hexagon';
114
115
  case 'animation':
115
- return '🏃';
116
+ return 'play';
116
117
  case 'script':
117
- return '📜';
118
+ return 'code';
118
119
  case 'audio':
119
- return '🔊';
120
+ return 'volume';
120
121
  default:
121
- return '📄';
122
+ return 'file';
122
123
  }
123
124
  }
124
125
  function formatFileSize(bytes) {
@@ -149,7 +150,7 @@ const BrowserHeader = ({ projectPath }) => {
149
150
  alignItems: 'center',
150
151
  justifyContent: 'center',
151
152
  fontSize: 20,
152
- }, children: "\uD83C\uDFAE" }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 14, fontWeight: 600, color: theme.textPrimary }, children: state.projectInfo?.name ?? 'No Project Loaded' }), jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: state.projectInfo ? (jsxs(Fragment, { children: ["Unity ", state.projectInfo.unityVersion, " \u2022", ' ', state.projectInfo.renderPipeline.toUpperCase()] })) : ((projectPath ?? 'Select a Unity project folder')) })] }), jsxs("div", { style: {
153
+ }, children: jsx(NiceIcon, { name: "gamepad", size: 18 }) }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 14, fontWeight: 600, color: theme.textPrimary }, children: state.projectInfo?.name ?? 'No Project Loaded' }), jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: state.projectInfo ? (jsxs(Fragment, { children: ["Unity ", state.projectInfo.unityVersion, " \u2022", ' ', state.projectInfo.renderPipeline.toUpperCase()] })) : ((projectPath ?? 'Select a Unity project folder')) })] }), jsxs("div", { style: {
153
154
  display: 'flex',
154
155
  alignItems: 'center',
155
156
  gap: 8,
@@ -216,21 +217,21 @@ const BrowserToolbar = () => {
216
217
  backgroundColor: 'rgba(0,0,0,0.2)',
217
218
  borderRadius: 6,
218
219
  overflow: 'hidden',
219
- }, children: [jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'tree' }), style: {
220
+ }, children: [jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'tree' }), "aria-label": "Tree view", style: {
220
221
  padding: '6px 10px',
221
222
  fontSize: 12,
222
223
  backgroundColor: state.viewMode === 'tree' ? theme.accent : 'transparent',
223
224
  border: 'none',
224
225
  color: '#fff',
225
226
  cursor: 'pointer',
226
- }, children: "\uD83D\uDCD1" }), jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'grid' }), style: {
227
+ }, children: jsx(NiceIcon, { name: "list", size: 14 }) }), jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'grid' }), "aria-label": "Grid view", style: {
227
228
  padding: '6px 10px',
228
229
  fontSize: 12,
229
230
  backgroundColor: state.viewMode === 'grid' ? theme.accent : 'transparent',
230
231
  border: 'none',
231
232
  color: '#fff',
232
233
  cursor: 'pointer',
233
- }, children: "\uD83D\uDD32" })] }), jsx("div", { style: { flex: 1 } }), jsxs("span", { style: { fontSize: 11, color: theme.textSecondary }, children: [state.selectedAssets.size, " selected"] }), jsx("button", { onClick: importSelectedAssets, disabled: state.selectedAssets.size === 0 || state.importProgress !== null, style: {
234
+ }, children: jsx(NiceIcon, { name: "grid", size: 14 }) })] }), jsx("div", { style: { flex: 1 } }), jsxs("span", { style: { fontSize: 11, color: theme.textSecondary }, children: [state.selectedAssets.size, " selected"] }), jsxs("button", { onClick: importSelectedAssets, disabled: state.selectedAssets.size === 0 || state.importProgress !== null, style: {
234
235
  padding: '8px 16px',
235
236
  fontSize: 12,
236
237
  fontWeight: 500,
@@ -242,16 +243,16 @@ const BrowserToolbar = () => {
242
243
  color: '#fff',
243
244
  cursor: state.selectedAssets.size > 0 && !state.importProgress ? 'pointer' : 'not-allowed',
244
245
  opacity: state.selectedAssets.size > 0 && !state.importProgress ? 1 : 0.5,
245
- }, children: state.importProgress ? '⏳ Importing...' : '📥 Import Selected' })] }));
246
+ }, children: [jsx(NiceIcon, { name: state.importProgress ? 'clock' : 'download', size: 14 }), ' ', state.importProgress ? 'Importing...' : 'Import Selected'] })] }));
246
247
  };
247
248
  /* ── Tab Bar Component ────────────────────────────────────────── */
248
249
  const TabBar = () => {
249
250
  const { state, dispatch, theme } = useBrowser();
250
251
  const tabs = [
251
- { id: 'assets', label: 'Assets', icon: '📁' },
252
- { id: 'scenes', label: 'Scenes', icon: '🎬' },
253
- { id: 'packages', label: 'Packages', icon: '📦' },
254
- { id: 'settings', label: 'Settings', icon: '⚙️' },
252
+ { id: 'assets', label: 'Assets', icon: 'folder' },
253
+ { id: 'scenes', label: 'Scenes', icon: 'video' },
254
+ { id: 'packages', label: 'Packages', icon: 'box' },
255
+ { id: 'settings', label: 'Settings', icon: 'settings' },
255
256
  ];
256
257
  return (jsx("div", { style: {
257
258
  display: 'flex',
@@ -267,7 +268,7 @@ const TabBar = () => {
267
268
  borderBottom: state.tab === tab.id ? `2px solid ${theme.accent}` : '2px solid transparent',
268
269
  color: state.tab === tab.id ? theme.textPrimary : theme.textSecondary,
269
270
  cursor: 'pointer',
270
- }, children: [tab.icon, " ", tab.label] }, tab.id))) }));
271
+ }, children: [jsx(NiceIcon, { name: tab.icon, size: 14 }), " ", tab.label] }, tab.id))) }));
271
272
  };
272
273
  /* ── Asset Tree View ──────────────────────────────────────────── */
273
274
  const AssetTreeItem = ({ asset, indent }) => {
@@ -281,7 +282,7 @@ const AssetTreeItem = ({ asset, indent }) => {
281
282
  paddingLeft: indent * 16 + 8,
282
283
  backgroundColor: isSelected ? theme.itemSelected : 'transparent',
283
284
  cursor: 'pointer',
284
- }, children: [jsx("input", { type: "checkbox", checked: isSelected, onChange: () => dispatch({ type: 'SELECT_ASSET', id: asset.id, additive: true }), onClick: (e) => e.stopPropagation() }), jsx("span", { style: { fontSize: 14 }, children: getAssetIcon(asset.type) }), jsx("span", { style: {
285
+ }, children: [jsx("input", { type: "checkbox", checked: isSelected, onChange: () => dispatch({ type: 'SELECT_ASSET', id: asset.id, additive: true }), onClick: (e) => e.stopPropagation() }), jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 14 }), jsx("span", { style: {
285
286
  flex: 1,
286
287
  fontSize: 12,
287
288
  color: isSelected ? theme.textPrimary : theme.textSecondary,
@@ -318,7 +319,7 @@ const FolderTreeItem = ({ folder, indent }) => {
318
319
  padding: '4px 8px',
319
320
  paddingLeft: indent * 16 + 8,
320
321
  cursor: 'pointer',
321
- }, children: [jsx("span", { style: { fontSize: 10, color: theme.textSecondary }, children: isExpanded ? '▼' : '▶' }), jsx("span", { style: { fontSize: 14, color: theme.folderColor }, children: "\uD83D\uDCC1" }), jsx("span", { style: { fontSize: 12, color: theme.textPrimary, fontWeight: 500 }, children: folder.name }), jsxs("span", { style: { fontSize: 10, color: theme.textSecondary }, children: ["(", filteredChildren.length, ")"] })] }), isExpanded &&
322
+ }, children: [jsx(NiceIcon, { name: isExpanded ? 'chevron-down' : 'chevron-right', size: 10, color: theme.textSecondary }), jsx(NiceIcon, { name: "folder", size: 14, color: theme.folderColor }), jsx("span", { style: { fontSize: 12, color: theme.textPrimary, fontWeight: 500 }, children: folder.name }), jsxs("span", { style: { fontSize: 10, color: theme.textSecondary }, children: ["(", filteredChildren.length, ")"] })] }), isExpanded &&
322
323
  filteredChildren.map((child, _i) => 'children' in child ? (jsx(FolderTreeItem, { folder: child, indent: indent + 1 }, child.path)) : (jsx(AssetTreeItem, { asset: child, indent: indent + 1 }, child.id)))] }));
323
324
  };
324
325
  /* ── Asset Grid View ──────────────────────────────────────────── */
@@ -364,7 +365,7 @@ const AssetGridView = () => {
364
365
  justifyContent: 'center',
365
366
  fontSize: 24,
366
367
  marginBottom: 8,
367
- }, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { width: '100%', height: '100%', objectFit: 'cover', borderRadius: 8 } })) : (getAssetIcon(asset.type)) }), jsx("span", { style: {
368
+ }, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { width: '100%', height: '100%', objectFit: 'cover', borderRadius: 8 } })) : (jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 32 })) }), jsx("span", { style: {
368
369
  fontSize: 11,
369
370
  color: theme.textPrimary,
370
371
  textAlign: 'center',
@@ -414,7 +415,7 @@ const PackagesPanel = () => {
414
415
  marginBottom: 4,
415
416
  backgroundColor: theme.itemBackground,
416
417
  borderRadius: 6,
417
- }, children: [jsx("span", { style: { fontSize: 14 }, children: "\uD83D\uDCE6" }), jsx("span", { style: { fontSize: 12, color: theme.textPrimary, flex: 1 }, children: pkg.name }), jsx("span", { style: {
418
+ }, children: [jsx(NiceIcon, { name: "box", size: 14 }), jsx("span", { style: { fontSize: 12, color: theme.textPrimary, flex: 1 }, children: pkg.name }), jsx("span", { style: {
418
419
  padding: '2px 8px',
419
420
  fontSize: 10,
420
421
  backgroundColor: getSourceBadge(pkg.source),
@@ -467,14 +468,14 @@ const PreviewPanel = () => {
467
468
  gap: 12,
468
469
  padding: 16,
469
470
  borderBottom: `1px solid ${theme.border}`,
470
- }, children: [jsx("span", { style: { fontSize: 24 }, children: getAssetIcon(asset.type) }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 16, fontWeight: 600, color: theme.textPrimary }, children: asset.name }), jsx("div", { style: { fontSize: 12, color: theme.textSecondary }, children: asset.path })] }), jsx("button", { onClick: () => dispatch({ type: 'SET_PREVIEW', asset: null }), style: {
471
+ }, children: [jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 24 }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 16, fontWeight: 600, color: theme.textPrimary }, children: asset.name }), jsx("div", { style: { fontSize: 12, color: theme.textSecondary }, children: asset.path })] }), jsx("button", { onClick: () => dispatch({ type: 'SET_PREVIEW', asset: null }), style: {
471
472
  padding: '4px 8px',
472
473
  fontSize: 14,
473
474
  backgroundColor: 'transparent',
474
475
  border: 'none',
475
476
  color: theme.textSecondary,
476
477
  cursor: 'pointer',
477
- }, children: "\u2715" })] }), jsxs("div", { style: { padding: 16 }, children: [jsx("div", { style: {
478
+ }, children: jsx(NiceIcon, { name: "close", size: 14 }) })] }), jsxs("div", { style: { padding: 16 }, children: [jsx("div", { style: {
478
479
  width: '100%',
479
480
  height: 300,
480
481
  backgroundColor: 'rgba(0,0,0,0.3)',
@@ -484,7 +485,7 @@ const PreviewPanel = () => {
484
485
  justifyContent: 'center',
485
486
  fontSize: 48,
486
487
  marginBottom: 16,
487
- }, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' } })) : (getAssetIcon(asset.type)) }), jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 12 }, children: [jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Type" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.type })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Size" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: formatFileSize(asset.size) })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "GUID" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary, fontFamily: 'monospace' }, children: asset.guid })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Last Modified" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.lastModified })] })] }), asset.dependencies && asset.dependencies.length > 0 && (jsxs("div", { style: { marginTop: 16 }, children: [jsxs("div", { style: { fontSize: 12, fontWeight: 500, color: theme.textPrimary, marginBottom: 8 }, children: ["Dependencies (", asset.dependencies.length, ")"] }), jsx("div", { style: { maxHeight: 100, overflow: 'auto' }, children: asset.dependencies.map((dep, i) => (jsx("div", { style: {
488
+ }, children: asset.thumbnail ? (jsx("img", { src: asset.thumbnail, alt: asset.name, style: { maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' } })) : (jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 32 })) }), jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 12 }, children: [jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Type" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.type })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Size" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: formatFileSize(asset.size) })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "GUID" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary, fontFamily: 'monospace' }, children: asset.guid })] }), jsxs("div", { children: [jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: "Last Modified" }), jsx("div", { style: { fontSize: 13, color: theme.textPrimary }, children: asset.lastModified })] })] }), asset.dependencies && asset.dependencies.length > 0 && (jsxs("div", { style: { marginTop: 16 }, children: [jsxs("div", { style: { fontSize: 12, fontWeight: 500, color: theme.textPrimary, marginBottom: 8 }, children: ["Dependencies (", asset.dependencies.length, ")"] }), jsx("div", { style: { maxHeight: 100, overflow: 'auto' }, children: asset.dependencies.map((dep, i) => (jsx("div", { style: {
488
489
  padding: '4px 8px',
489
490
  fontSize: 11,
490
491
  color: theme.textSecondary,
@@ -534,7 +535,7 @@ const ImportProgressOverlay = () => {
534
535
  backgroundColor: theme.panelBackground,
535
536
  borderRadius: 12,
536
537
  padding: 24,
537
- }, children: [jsx("h3", { style: { margin: '0 0 16px', fontSize: 16, fontWeight: 600, color: theme.textPrimary }, children: progress.phase === 'complete' ? '✅ Import Complete' : '📥 Importing Assets' }), jsx("div", { style: { fontSize: 12, color: theme.textSecondary, marginBottom: 8 }, children: progress.message }), progress.currentAsset && (jsx("div", { style: {
538
+ }, children: [jsxs("h3", { style: { margin: '0 0 16px', fontSize: 16, fontWeight: 600, color: theme.textPrimary }, children: [jsx(NiceIcon, { name: progress.phase === 'complete' ? 'success' : 'download', size: 16 }), ' ', progress.phase === 'complete' ? 'Import Complete' : 'Importing Assets'] }), jsx("div", { style: { fontSize: 12, color: theme.textSecondary, marginBottom: 8 }, children: progress.message }), progress.currentAsset && (jsx("div", { style: {
538
539
  fontSize: 11,
539
540
  color: theme.textPrimary,
540
541
  backgroundColor: 'rgba(0,0,0,0.2)',