@nice2dev/game-engine 1.1.6 → 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 (496) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/dist/cjs/core/GameConfig.js +21 -7
  3. package/dist/cjs/devtools/DeveloperExperience.js +5 -5
  4. package/dist/cjs/dialogue/DialogueSystem.js +1 -1
  5. package/dist/cjs/editor/AssetBrowser.js +26 -25
  6. package/dist/cjs/editor/NiceGameEditor.js +66 -49
  7. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +33 -32
  8. package/dist/cjs/i18n/I18n.js +305 -0
  9. package/dist/cjs/kids/KidMode.js +36 -36
  10. package/dist/cjs/kids/KidTools.js +31 -31
  11. package/dist/cjs/native-engine/InputSystem.js +9 -2
  12. package/dist/cjs/package.json +3 -0
  13. package/dist/cjs/plugins/PluginSDK.js +1 -1
  14. package/dist/cjs/plugins/PluginTestKit.js +1 -1
  15. package/dist/cjs/quest/QuestSystem.js +5 -1
  16. package/dist/cjs/release/MobileExport.js +45 -12
  17. package/dist/cjs/tutorials/TutorialBranching.js +12 -12
  18. package/dist/cjs/tutorials/TutorialEngine.js +35 -35
  19. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +106 -89
  20. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +103 -55
  21. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +79 -56
  22. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  23. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +28 -27
  24. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  25. package/dist/esm/core/GameConfig.js +21 -7
  26. package/dist/esm/devtools/DeveloperExperience.js +5 -5
  27. package/dist/esm/dialogue/DialogueSystem.js +1 -1
  28. package/dist/esm/editor/AssetBrowser.js +26 -25
  29. package/dist/esm/editor/NiceGameEditor.js +67 -50
  30. package/dist/esm/godot-integration/components/GodotProjectBrowser.js +33 -32
  31. package/dist/esm/i18n/I18n.js +305 -0
  32. package/dist/esm/kids/KidMode.js +36 -36
  33. package/dist/esm/kids/KidTools.js +31 -31
  34. package/dist/esm/native-engine/InputSystem.js +9 -2
  35. package/dist/esm/plugins/PluginSDK.js +1 -1
  36. package/dist/esm/plugins/PluginTestKit.js +1 -1
  37. package/dist/esm/quest/QuestSystem.js +5 -1
  38. package/dist/esm/release/MobileExport.js +45 -12
  39. package/dist/esm/tutorials/TutorialBranching.js +12 -12
  40. package/dist/esm/tutorials/TutorialEngine.js +35 -35
  41. package/dist/esm/tutorials/content/Tutorials_T05_T08.js +106 -89
  42. package/dist/esm/tutorials/content/Tutorials_T09_T11.js +103 -55
  43. package/dist/esm/tutorials/content/Tutorials_T12_T15.js +79 -56
  44. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  45. package/dist/esm/unity-integration/components/UnityProjectBrowser.js +28 -27
  46. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  47. package/dist/types/core/index.d.ts +1 -1
  48. package/dist/types/editor/AssetBrowser.d.ts +1 -0
  49. package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +2 -1
  50. package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +1 -0
  51. package/dist/types/input/index.d.ts +1 -1
  52. package/dist/types/kids/KidMode.d.ts +4 -2
  53. package/dist/types/kids/KidTools.d.ts +1 -1
  54. package/dist/types/legendary/index.d.ts +7 -7
  55. package/dist/types/procedural/index.d.ts +1 -1
  56. package/dist/types/tutorials/TutorialBranching.d.ts +1 -1
  57. package/package.json +3 -2
  58. package/dist/cjs/accessibility/Accessibility.js.map +0 -1
  59. package/dist/cjs/ai/AI.js.map +0 -1
  60. package/dist/cjs/ai/BehaviorTree.js.map +0 -1
  61. package/dist/cjs/ai/StateMachine.js.map +0 -1
  62. package/dist/cjs/animation/Animation.js.map +0 -1
  63. package/dist/cjs/audio/AudioAdvanced.js.map +0 -1
  64. package/dist/cjs/audio/AudioBridge.js.map +0 -1
  65. package/dist/cjs/audio/AudioManager.js.map +0 -1
  66. package/dist/cjs/build-cloud/BuildOrchestration.js.map +0 -1
  67. package/dist/cjs/build-cloud/GodotBuildCloud.js.map +0 -1
  68. package/dist/cjs/build-cloud/UnityBuildCloud.js.map +0 -1
  69. package/dist/cjs/build-cloud/UnrealBuildCloud.js.map +0 -1
  70. package/dist/cjs/core/EventBus.js.map +0 -1
  71. package/dist/cjs/core/GameClock.js.map +0 -1
  72. package/dist/cjs/core/GameConfig.js.map +0 -1
  73. package/dist/cjs/core/GameLoop.js.map +0 -1
  74. package/dist/cjs/core/ServiceLocator.js.map +0 -1
  75. package/dist/cjs/core/Validation.js.map +0 -1
  76. package/dist/cjs/core/math.js.map +0 -1
  77. package/dist/cjs/devtools/DevTools.js.map +0 -1
  78. package/dist/cjs/devtools/DeveloperExperience.js.map +0 -1
  79. package/dist/cjs/devtools/GameplayAnalytics.js.map +0 -1
  80. package/dist/cjs/dialogue/DialogueSystem.js.map +0 -1
  81. package/dist/cjs/docs/DocGenerator.js.map +0 -1
  82. package/dist/cjs/ecs/World.js.map +0 -1
  83. package/dist/cjs/editor/AchievementEditor.js.map +0 -1
  84. package/dist/cjs/editor/AdvancedEditor.js.map +0 -1
  85. package/dist/cjs/editor/AnimationRetargeting.js.map +0 -1
  86. package/dist/cjs/editor/AssetBrowser.js.map +0 -1
  87. package/dist/cjs/editor/AssetManager.js.map +0 -1
  88. package/dist/cjs/editor/ConsolePro.js.map +0 -1
  89. package/dist/cjs/editor/CraftingEditor.js.map +0 -1
  90. package/dist/cjs/editor/DebugTools.js.map +0 -1
  91. package/dist/cjs/editor/DialogueSystem.js.map +0 -1
  92. package/dist/cjs/editor/LeaderboardSystem.js.map +0 -1
  93. package/dist/cjs/editor/NiceGameEditor.js.map +0 -1
  94. package/dist/cjs/editor/PrefabSystem.js.map +0 -1
  95. package/dist/cjs/editor/ProfilerPanel.js.map +0 -1
  96. package/dist/cjs/editor/QuestEditor.js.map +0 -1
  97. package/dist/cjs/editor/ReplaySystem.js.map +0 -1
  98. package/dist/cjs/editor/SceneEditor.js.map +0 -1
  99. package/dist/cjs/editor/ScreenshotMode.js.map +0 -1
  100. package/dist/cjs/editor/ShaderGraph.js.map +0 -1
  101. package/dist/cjs/editor/TimelineEditor.js.map +0 -1
  102. package/dist/cjs/editor/UndoRedoPro.js.map +0 -1
  103. package/dist/cjs/editor/VRARMode.js.map +0 -1
  104. package/dist/cjs/engine/NiceGameEngine.js.map +0 -1
  105. package/dist/cjs/engine/SaveSystem.js.map +0 -1
  106. package/dist/cjs/engine/SaveSystemV2.js +0 -530
  107. package/dist/cjs/engine/SaveSystemV2.js.map +0 -1
  108. package/dist/cjs/enterprise/Enterprise.js.map +0 -1
  109. package/dist/cjs/export/BevyExporter.js.map +0 -1
  110. package/dist/cjs/export/CocosExporter.js.map +0 -1
  111. package/dist/cjs/export/Construct3Exporter.js.map +0 -1
  112. package/dist/cjs/export/DefoldExporter.js.map +0 -1
  113. package/dist/cjs/export/GDevelopExporter.js.map +0 -1
  114. package/dist/cjs/export/GameMakerExporter.js.map +0 -1
  115. package/dist/cjs/export/GodotExporter.js.map +0 -1
  116. package/dist/cjs/export/MinecraftBedrockExporter.js.map +0 -1
  117. package/dist/cjs/export/MonoGameExporter.js.map +0 -1
  118. package/dist/cjs/export/Pico8Exporter.js.map +0 -1
  119. package/dist/cjs/export/PlatformExporter.js.map +0 -1
  120. package/dist/cjs/export/RPGMakerExporter.js.map +0 -1
  121. package/dist/cjs/export/RobloxExporter.js.map +0 -1
  122. package/dist/cjs/export/Solar2DExporter.js.map +0 -1
  123. package/dist/cjs/export/ThreeJSExporter.js.map +0 -1
  124. package/dist/cjs/export/Tic80Exporter.js.map +0 -1
  125. package/dist/cjs/export/UnityExporter.js.map +0 -1
  126. package/dist/cjs/export/UnrealExporter.js.map +0 -1
  127. package/dist/cjs/export/WebExporter.js.map +0 -1
  128. package/dist/cjs/export/index.js.map +0 -1
  129. package/dist/cjs/godot-integration/GodotAssetLibrary.js.map +0 -1
  130. package/dist/cjs/godot-integration/GodotImport.js.map +0 -1
  131. package/dist/cjs/godot-integration/GodotLiveLink.js.map +0 -1
  132. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  133. package/dist/cjs/i18n/I18n.js.map +0 -1
  134. package/dist/cjs/i18n/useTranslation.js.map +0 -1
  135. package/dist/cjs/import/AsepriteImporter.js.map +0 -1
  136. package/dist/cjs/import/DragonBonesImporter.js.map +0 -1
  137. package/dist/cjs/import/GameMakerImporter.js.map +0 -1
  138. package/dist/cjs/import/GodotSceneImporter.js.map +0 -1
  139. package/dist/cjs/import/LDtkImporter.js.map +0 -1
  140. package/dist/cjs/import/Live2DImporter.js.map +0 -1
  141. package/dist/cjs/import/NdgFormat.js.map +0 -1
  142. package/dist/cjs/import/OgmoImporter.js.map +0 -1
  143. package/dist/cjs/import/RPGMakerImporter.js.map +0 -1
  144. package/dist/cjs/import/SceneImporter.js.map +0 -1
  145. package/dist/cjs/import/SpineImporter.js.map +0 -1
  146. package/dist/cjs/import/SpriterImporter.js.map +0 -1
  147. package/dist/cjs/import/TiledMapImporter.js.map +0 -1
  148. package/dist/cjs/import/UnitySceneImporter.js.map +0 -1
  149. package/dist/cjs/import/index.js.map +0 -1
  150. package/dist/cjs/index.js.map +0 -1
  151. package/dist/cjs/input/GamepadNavigation.js.map +0 -1
  152. package/dist/cjs/input/InputManager.js.map +0 -1
  153. package/dist/cjs/input/useGamepads.js.map +0 -1
  154. package/dist/cjs/integration/IconSprite.js.map +0 -1
  155. package/dist/cjs/inventory/InventorySystem.js.map +0 -1
  156. package/dist/cjs/kids/KidMode.js.map +0 -1
  157. package/dist/cjs/kids/KidTools.js.map +0 -1
  158. package/dist/cjs/monetization/Monetization.js.map +0 -1
  159. package/dist/cjs/multiplayer/LocalMultiplayer.js.map +0 -1
  160. package/dist/cjs/multiplayer/MiniGameTypes.js.map +0 -1
  161. package/dist/cjs/native-engine/AssetPipeline.js.map +0 -1
  162. package/dist/cjs/native-engine/AudioEngine.js.map +0 -1
  163. package/dist/cjs/native-engine/InputSystem.js.map +0 -1
  164. package/dist/cjs/native-engine/NetworkingSystem.js.map +0 -1
  165. package/dist/cjs/native-engine/PhysicsEngine.js.map +0 -1
  166. package/dist/cjs/native-engine/RenderingEngine.js.map +0 -1
  167. package/dist/cjs/native-engine/SceneGraph.js.map +0 -1
  168. package/dist/cjs/network/MultiplayerTransport.js.map +0 -1
  169. package/dist/cjs/network/Networking.js.map +0 -1
  170. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  171. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  172. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  173. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  174. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  175. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  176. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  177. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  178. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  179. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  180. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  181. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  182. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  183. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  184. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  185. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  186. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  187. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  188. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  189. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  190. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  191. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  192. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  193. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  194. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  195. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  196. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  197. package/dist/cjs/pathfinding/Pathfinding.js.map +0 -1
  198. package/dist/cjs/performance/AssetStreaming.js.map +0 -1
  199. package/dist/cjs/performance/BenchmarkSuite.js.map +0 -1
  200. package/dist/cjs/performance/DeltaCompression.js.map +0 -1
  201. package/dist/cjs/performance/DeterministicPhysics.js.map +0 -1
  202. package/dist/cjs/performance/ECSOptimization.js.map +0 -1
  203. package/dist/cjs/performance/GameSaveSystem.js.map +0 -1
  204. package/dist/cjs/performance/HotReload.js.map +0 -1
  205. package/dist/cjs/performance/InputRecording.js.map +0 -1
  206. package/dist/cjs/performance/InterestManagement.js.map +0 -1
  207. package/dist/cjs/performance/LocalizationRuntime.js.map +0 -1
  208. package/dist/cjs/performance/MemoryManagement.js.map +0 -1
  209. package/dist/cjs/performance/ModSupport.js.map +0 -1
  210. package/dist/cjs/performance/MultiThreadedPhysics.js.map +0 -1
  211. package/dist/cjs/performance/NetworkPrediction.js.map +0 -1
  212. package/dist/cjs/performance/ObjectPooling.js.map +0 -1
  213. package/dist/cjs/performance/Performance.js.map +0 -1
  214. package/dist/cjs/performance/PerformanceAdvanced.js.map +0 -1
  215. package/dist/cjs/performance/SaveSystem.js +0 -574
  216. package/dist/cjs/performance/SaveSystem.js.map +0 -1
  217. package/dist/cjs/performance/WebGPURenderer.js.map +0 -1
  218. package/dist/cjs/physics/PhysicsAdvanced.js.map +0 -1
  219. package/dist/cjs/physics/PhysicsEngine2D.js.map +0 -1
  220. package/dist/cjs/plugins/PluginSDK.js.map +0 -1
  221. package/dist/cjs/plugins/PluginTestKit.js.map +0 -1
  222. package/dist/cjs/procedural/Procedural.js.map +0 -1
  223. package/dist/cjs/procedural/WorldBuilding.js.map +0 -1
  224. package/dist/cjs/quest/QuestSystem.js.map +0 -1
  225. package/dist/cjs/release/MobileExport.js.map +0 -1
  226. package/dist/cjs/release/Release.js.map +0 -1
  227. package/dist/cjs/rendering/Camera2D.js.map +0 -1
  228. package/dist/cjs/rendering/Renderer2D.js.map +0 -1
  229. package/dist/cjs/rendering/WebGPURenderPipeline.js.map +0 -1
  230. package/dist/cjs/runtime3d/Runtime3D.js.map +0 -1
  231. package/dist/cjs/runtime3d/SceneEditor3D.js.map +0 -1
  232. package/dist/cjs/scene/SceneManager.js.map +0 -1
  233. package/dist/cjs/scripting/GraphToAST.js.map +0 -1
  234. package/dist/cjs/scripting/LanguageExporter.js.map +0 -1
  235. package/dist/cjs/scripting/NodeGraph.js.map +0 -1
  236. package/dist/cjs/scripting/ScriptAST.js.map +0 -1
  237. package/dist/cjs/scripting/VisualScripting2.js.map +0 -1
  238. package/dist/cjs/scripting/exporters/CSharpExporter.js.map +0 -1
  239. package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +0 -1
  240. package/dist/cjs/scripting/exporters/LuaExporter.js.map +0 -1
  241. package/dist/cjs/scripting/exporters/PythonExporter.js.map +0 -1
  242. package/dist/cjs/scripting/exporters/RustExporter.js.map +0 -1
  243. package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +0 -1
  244. package/dist/cjs/social/Social.js.map +0 -1
  245. package/dist/cjs/systems/LightingSystem.js.map +0 -1
  246. package/dist/cjs/systems/ParticleSystem2.js.map +0 -1
  247. package/dist/cjs/systems/PhysicsDebugSystem.js.map +0 -1
  248. package/dist/cjs/systems/TerrainSystem.js.map +0 -1
  249. package/dist/cjs/templates/ActionTemplates.js.map +0 -1
  250. package/dist/cjs/templates/FightingTemplate.js.map +0 -1
  251. package/dist/cjs/templates/MetroidvaniaTemplate.js.map +0 -1
  252. package/dist/cjs/templates/PartyTemplates.js.map +0 -1
  253. package/dist/cjs/templates/PuzzleTemplates.js.map +0 -1
  254. package/dist/cjs/templates/RPGTemplates.js.map +0 -1
  255. package/dist/cjs/templates/SportsTemplates.js.map +0 -1
  256. package/dist/cjs/templates/StrategyTemplates.js.map +0 -1
  257. package/dist/cjs/templates/SurvivalTemplate.js.map +0 -1
  258. package/dist/cjs/templates/WaveDefense.js.map +0 -1
  259. package/dist/cjs/tilemap/Tilemap.js.map +0 -1
  260. package/dist/cjs/tutorials/TutorialBranching.js.map +0 -1
  261. package/dist/cjs/tutorials/TutorialEngine.js.map +0 -1
  262. package/dist/cjs/tutorials/TutorialOverlay.js.map +0 -1
  263. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  264. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  265. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  266. package/dist/cjs/ui/GameUI.js.map +0 -1
  267. package/dist/cjs/unity-integration/UnityAssetStore.js.map +0 -1
  268. package/dist/cjs/unity-integration/UnityImport.js.map +0 -1
  269. package/dist/cjs/unity-integration/UnityLiveLink.js.map +0 -1
  270. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  271. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  272. package/dist/cjs/unreal-integration/UnrealImport.js.map +0 -1
  273. package/dist/cjs/unreal-integration/UnrealLiveLink.js.map +0 -1
  274. package/dist/cjs/unreal-integration/UnrealMarketplace.js.map +0 -1
  275. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  276. package/dist/cjs/xr/ARVR.js.map +0 -1
  277. package/dist/esm/accessibility/Accessibility.js.map +0 -1
  278. package/dist/esm/ai/AI.js.map +0 -1
  279. package/dist/esm/ai/BehaviorTree.js.map +0 -1
  280. package/dist/esm/ai/StateMachine.js.map +0 -1
  281. package/dist/esm/animation/Animation.js.map +0 -1
  282. package/dist/esm/audio/AudioAdvanced.js.map +0 -1
  283. package/dist/esm/audio/AudioBridge.js.map +0 -1
  284. package/dist/esm/audio/AudioManager.js.map +0 -1
  285. package/dist/esm/build-cloud/BuildOrchestration.js.map +0 -1
  286. package/dist/esm/build-cloud/GodotBuildCloud.js.map +0 -1
  287. package/dist/esm/build-cloud/UnityBuildCloud.js.map +0 -1
  288. package/dist/esm/build-cloud/UnrealBuildCloud.js.map +0 -1
  289. package/dist/esm/core/EventBus.js.map +0 -1
  290. package/dist/esm/core/GameClock.js.map +0 -1
  291. package/dist/esm/core/GameConfig.js.map +0 -1
  292. package/dist/esm/core/GameLoop.js.map +0 -1
  293. package/dist/esm/core/ServiceLocator.js.map +0 -1
  294. package/dist/esm/core/Validation.js.map +0 -1
  295. package/dist/esm/core/math.js.map +0 -1
  296. package/dist/esm/devtools/DevTools.js.map +0 -1
  297. package/dist/esm/devtools/DeveloperExperience.js.map +0 -1
  298. package/dist/esm/devtools/GameplayAnalytics.js.map +0 -1
  299. package/dist/esm/dialogue/DialogueSystem.js.map +0 -1
  300. package/dist/esm/docs/DocGenerator.js.map +0 -1
  301. package/dist/esm/ecs/World.js.map +0 -1
  302. package/dist/esm/editor/AchievementEditor.js.map +0 -1
  303. package/dist/esm/editor/AdvancedEditor.js.map +0 -1
  304. package/dist/esm/editor/AnimationRetargeting.js.map +0 -1
  305. package/dist/esm/editor/AssetBrowser.js.map +0 -1
  306. package/dist/esm/editor/AssetManager.js.map +0 -1
  307. package/dist/esm/editor/ConsolePro.js.map +0 -1
  308. package/dist/esm/editor/CraftingEditor.js.map +0 -1
  309. package/dist/esm/editor/DebugTools.js.map +0 -1
  310. package/dist/esm/editor/DialogueSystem.js.map +0 -1
  311. package/dist/esm/editor/LeaderboardSystem.js.map +0 -1
  312. package/dist/esm/editor/NiceGameEditor.js.map +0 -1
  313. package/dist/esm/editor/PrefabSystem.js.map +0 -1
  314. package/dist/esm/editor/ProfilerPanel.js.map +0 -1
  315. package/dist/esm/editor/QuestEditor.js.map +0 -1
  316. package/dist/esm/editor/ReplaySystem.js.map +0 -1
  317. package/dist/esm/editor/SceneEditor.js.map +0 -1
  318. package/dist/esm/editor/ScreenshotMode.js.map +0 -1
  319. package/dist/esm/editor/ShaderGraph.js.map +0 -1
  320. package/dist/esm/editor/TimelineEditor.js.map +0 -1
  321. package/dist/esm/editor/UndoRedoPro.js.map +0 -1
  322. package/dist/esm/editor/VRARMode.js.map +0 -1
  323. package/dist/esm/engine/NiceGameEngine.js.map +0 -1
  324. package/dist/esm/engine/SaveSystem.js.map +0 -1
  325. package/dist/esm/engine/SaveSystemV2.js +0 -523
  326. package/dist/esm/engine/SaveSystemV2.js.map +0 -1
  327. package/dist/esm/enterprise/Enterprise.js.map +0 -1
  328. package/dist/esm/export/BevyExporter.js.map +0 -1
  329. package/dist/esm/export/CocosExporter.js.map +0 -1
  330. package/dist/esm/export/Construct3Exporter.js.map +0 -1
  331. package/dist/esm/export/DefoldExporter.js.map +0 -1
  332. package/dist/esm/export/GDevelopExporter.js.map +0 -1
  333. package/dist/esm/export/GameMakerExporter.js.map +0 -1
  334. package/dist/esm/export/GodotExporter.js.map +0 -1
  335. package/dist/esm/export/MinecraftBedrockExporter.js.map +0 -1
  336. package/dist/esm/export/MonoGameExporter.js.map +0 -1
  337. package/dist/esm/export/Pico8Exporter.js.map +0 -1
  338. package/dist/esm/export/PlatformExporter.js.map +0 -1
  339. package/dist/esm/export/RPGMakerExporter.js.map +0 -1
  340. package/dist/esm/export/RobloxExporter.js.map +0 -1
  341. package/dist/esm/export/Solar2DExporter.js.map +0 -1
  342. package/dist/esm/export/ThreeJSExporter.js.map +0 -1
  343. package/dist/esm/export/Tic80Exporter.js.map +0 -1
  344. package/dist/esm/export/UnityExporter.js.map +0 -1
  345. package/dist/esm/export/UnrealExporter.js.map +0 -1
  346. package/dist/esm/export/WebExporter.js.map +0 -1
  347. package/dist/esm/export/index.js.map +0 -1
  348. package/dist/esm/godot-integration/GodotAssetLibrary.js.map +0 -1
  349. package/dist/esm/godot-integration/GodotImport.js.map +0 -1
  350. package/dist/esm/godot-integration/GodotLiveLink.js.map +0 -1
  351. package/dist/esm/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  352. package/dist/esm/i18n/I18n.js.map +0 -1
  353. package/dist/esm/i18n/useTranslation.js.map +0 -1
  354. package/dist/esm/import/AsepriteImporter.js.map +0 -1
  355. package/dist/esm/import/DragonBonesImporter.js.map +0 -1
  356. package/dist/esm/import/GameMakerImporter.js.map +0 -1
  357. package/dist/esm/import/GodotSceneImporter.js.map +0 -1
  358. package/dist/esm/import/LDtkImporter.js.map +0 -1
  359. package/dist/esm/import/Live2DImporter.js.map +0 -1
  360. package/dist/esm/import/NdgFormat.js.map +0 -1
  361. package/dist/esm/import/OgmoImporter.js.map +0 -1
  362. package/dist/esm/import/RPGMakerImporter.js.map +0 -1
  363. package/dist/esm/import/SceneImporter.js.map +0 -1
  364. package/dist/esm/import/SpineImporter.js.map +0 -1
  365. package/dist/esm/import/SpriterImporter.js.map +0 -1
  366. package/dist/esm/import/TiledMapImporter.js.map +0 -1
  367. package/dist/esm/import/UnitySceneImporter.js.map +0 -1
  368. package/dist/esm/import/index.js.map +0 -1
  369. package/dist/esm/index.js.map +0 -1
  370. package/dist/esm/input/GamepadNavigation.js.map +0 -1
  371. package/dist/esm/input/InputManager.js.map +0 -1
  372. package/dist/esm/input/useGamepads.js.map +0 -1
  373. package/dist/esm/integration/IconSprite.js.map +0 -1
  374. package/dist/esm/inventory/InventorySystem.js.map +0 -1
  375. package/dist/esm/kids/KidMode.js.map +0 -1
  376. package/dist/esm/kids/KidTools.js.map +0 -1
  377. package/dist/esm/monetization/Monetization.js.map +0 -1
  378. package/dist/esm/multiplayer/LocalMultiplayer.js.map +0 -1
  379. package/dist/esm/multiplayer/MiniGameTypes.js.map +0 -1
  380. package/dist/esm/native-engine/AssetPipeline.js.map +0 -1
  381. package/dist/esm/native-engine/AudioEngine.js.map +0 -1
  382. package/dist/esm/native-engine/InputSystem.js.map +0 -1
  383. package/dist/esm/native-engine/NetworkingSystem.js.map +0 -1
  384. package/dist/esm/native-engine/PhysicsEngine.js.map +0 -1
  385. package/dist/esm/native-engine/RenderingEngine.js.map +0 -1
  386. package/dist/esm/native-engine/SceneGraph.js.map +0 -1
  387. package/dist/esm/network/MultiplayerTransport.js.map +0 -1
  388. package/dist/esm/network/Networking.js.map +0 -1
  389. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  390. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  391. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  392. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  393. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  394. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  395. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  396. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  397. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  398. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  399. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  400. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  401. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  402. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  403. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  404. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  405. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  406. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  407. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  408. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  409. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  410. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  411. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  412. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  413. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  414. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  415. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  416. package/dist/esm/pathfinding/Pathfinding.js.map +0 -1
  417. package/dist/esm/performance/AssetStreaming.js.map +0 -1
  418. package/dist/esm/performance/BenchmarkSuite.js.map +0 -1
  419. package/dist/esm/performance/DeltaCompression.js.map +0 -1
  420. package/dist/esm/performance/DeterministicPhysics.js.map +0 -1
  421. package/dist/esm/performance/ECSOptimization.js.map +0 -1
  422. package/dist/esm/performance/GameSaveSystem.js.map +0 -1
  423. package/dist/esm/performance/HotReload.js.map +0 -1
  424. package/dist/esm/performance/InputRecording.js.map +0 -1
  425. package/dist/esm/performance/InterestManagement.js.map +0 -1
  426. package/dist/esm/performance/LocalizationRuntime.js.map +0 -1
  427. package/dist/esm/performance/MemoryManagement.js.map +0 -1
  428. package/dist/esm/performance/ModSupport.js.map +0 -1
  429. package/dist/esm/performance/MultiThreadedPhysics.js.map +0 -1
  430. package/dist/esm/performance/NetworkPrediction.js.map +0 -1
  431. package/dist/esm/performance/ObjectPooling.js.map +0 -1
  432. package/dist/esm/performance/Performance.js.map +0 -1
  433. package/dist/esm/performance/PerformanceAdvanced.js.map +0 -1
  434. package/dist/esm/performance/SaveSystem.js +0 -567
  435. package/dist/esm/performance/SaveSystem.js.map +0 -1
  436. package/dist/esm/performance/WebGPURenderer.js.map +0 -1
  437. package/dist/esm/physics/PhysicsAdvanced.js.map +0 -1
  438. package/dist/esm/physics/PhysicsEngine2D.js.map +0 -1
  439. package/dist/esm/plugins/PluginSDK.js.map +0 -1
  440. package/dist/esm/plugins/PluginTestKit.js.map +0 -1
  441. package/dist/esm/procedural/Procedural.js.map +0 -1
  442. package/dist/esm/procedural/WorldBuilding.js.map +0 -1
  443. package/dist/esm/quest/QuestSystem.js.map +0 -1
  444. package/dist/esm/release/MobileExport.js.map +0 -1
  445. package/dist/esm/release/Release.js.map +0 -1
  446. package/dist/esm/rendering/Camera2D.js.map +0 -1
  447. package/dist/esm/rendering/Renderer2D.js.map +0 -1
  448. package/dist/esm/rendering/WebGPURenderPipeline.js.map +0 -1
  449. package/dist/esm/runtime3d/Runtime3D.js.map +0 -1
  450. package/dist/esm/runtime3d/SceneEditor3D.js.map +0 -1
  451. package/dist/esm/scene/SceneManager.js.map +0 -1
  452. package/dist/esm/scripting/GraphToAST.js.map +0 -1
  453. package/dist/esm/scripting/LanguageExporter.js.map +0 -1
  454. package/dist/esm/scripting/NodeGraph.js.map +0 -1
  455. package/dist/esm/scripting/ScriptAST.js.map +0 -1
  456. package/dist/esm/scripting/VisualScripting2.js.map +0 -1
  457. package/dist/esm/scripting/exporters/CSharpExporter.js.map +0 -1
  458. package/dist/esm/scripting/exporters/GDScriptExporter.js.map +0 -1
  459. package/dist/esm/scripting/exporters/LuaExporter.js.map +0 -1
  460. package/dist/esm/scripting/exporters/PythonExporter.js.map +0 -1
  461. package/dist/esm/scripting/exporters/RustExporter.js.map +0 -1
  462. package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +0 -1
  463. package/dist/esm/social/Social.js.map +0 -1
  464. package/dist/esm/systems/LightingSystem.js.map +0 -1
  465. package/dist/esm/systems/ParticleSystem2.js.map +0 -1
  466. package/dist/esm/systems/PhysicsDebugSystem.js.map +0 -1
  467. package/dist/esm/systems/TerrainSystem.js.map +0 -1
  468. package/dist/esm/templates/ActionTemplates.js.map +0 -1
  469. package/dist/esm/templates/FightingTemplate.js.map +0 -1
  470. package/dist/esm/templates/MetroidvaniaTemplate.js.map +0 -1
  471. package/dist/esm/templates/PartyTemplates.js.map +0 -1
  472. package/dist/esm/templates/PuzzleTemplates.js.map +0 -1
  473. package/dist/esm/templates/RPGTemplates.js.map +0 -1
  474. package/dist/esm/templates/SportsTemplates.js.map +0 -1
  475. package/dist/esm/templates/StrategyTemplates.js.map +0 -1
  476. package/dist/esm/templates/SurvivalTemplate.js.map +0 -1
  477. package/dist/esm/templates/WaveDefense.js.map +0 -1
  478. package/dist/esm/tilemap/Tilemap.js.map +0 -1
  479. package/dist/esm/tutorials/TutorialBranching.js.map +0 -1
  480. package/dist/esm/tutorials/TutorialEngine.js.map +0 -1
  481. package/dist/esm/tutorials/TutorialOverlay.js.map +0 -1
  482. package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  483. package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  484. package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  485. package/dist/esm/ui/GameUI.js.map +0 -1
  486. package/dist/esm/unity-integration/UnityAssetStore.js.map +0 -1
  487. package/dist/esm/unity-integration/UnityImport.js.map +0 -1
  488. package/dist/esm/unity-integration/UnityLiveLink.js.map +0 -1
  489. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  490. package/dist/esm/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  491. package/dist/esm/unreal-integration/UnrealImport.js.map +0 -1
  492. package/dist/esm/unreal-integration/UnrealLiveLink.js.map +0 -1
  493. package/dist/esm/unreal-integration/UnrealMarketplace.js.map +0 -1
  494. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  495. package/dist/esm/xr/ARVR.js.map +0 -1
  496. package/dist/types/engine/SaveSystemV2.d.ts +0 -155
@@ -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)',
@@ -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 = {
@@ -110,29 +111,29 @@ function useBrowser() {
110
111
  function getAssetIcon(type) {
111
112
  switch (type) {
112
113
  case 'blueprint':
113
- return '🔵';
114
+ return 'code';
114
115
  case 'level':
115
- return '🗺️';
116
+ return 'map-pin';
116
117
  case 'material':
117
- return '🎨';
118
+ return 'palette';
118
119
  case 'texture':
119
- return '🖼️';
120
+ return 'image';
120
121
  case 'mesh':
121
- return '🔷';
122
+ return 'hexagon';
122
123
  case 'skeletal_mesh':
123
- return '🦴';
124
+ return 'user';
124
125
  case 'animation':
125
- return '🏃';
126
+ return 'play';
126
127
  case 'sound':
127
- return '🔊';
128
+ return 'volume';
128
129
  case 'particle':
129
- return '✨';
130
+ return 'star';
130
131
  case 'widget':
131
- return '📱';
132
+ return 'monitor';
132
133
  case 'data_asset':
133
- return '📊';
134
+ return 'table';
134
135
  default:
135
- return '📄';
136
+ return 'file';
136
137
  }
137
138
  }
138
139
  function formatFileSize(bytes) {
@@ -183,7 +184,7 @@ const BrowserHeader = () => {
183
184
  justifyContent: 'center',
184
185
  fontSize: 18,
185
186
  border: '1px solid rgba(255,255,255,0.1)',
186
- }, 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: ["UE ", state.projectInfo.engineVersion, " \u2022 ", state.projectInfo.targetPlatforms.join(', ')] })) : ('Select a .uproject file') })] }), state.liveLinkStatus.connected && state.liveLinkStatus.hotReloadAvailable && (jsx("button", { onClick: triggerHotReload, disabled: state.liveLinkStatus.compiling, style: {
187
+ }, 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: ["UE ", state.projectInfo.engineVersion, " \u2022 ", state.projectInfo.targetPlatforms.join(', ')] })) : ('Select a .uproject file') })] }), state.liveLinkStatus.connected && state.liveLinkStatus.hotReloadAvailable && (jsxs("button", { onClick: triggerHotReload, disabled: state.liveLinkStatus.compiling, style: {
187
188
  padding: '6px 12px',
188
189
  fontSize: 11,
189
190
  backgroundColor: state.liveLinkStatus.compiling ? theme.warning : theme.cppOrange,
@@ -191,7 +192,7 @@ const BrowserHeader = () => {
191
192
  borderRadius: 4,
192
193
  color: '#fff',
193
194
  cursor: state.liveLinkStatus.compiling ? 'not-allowed' : 'pointer',
194
- }, children: state.liveLinkStatus.compiling ? '⏳ Compiling...' : '🔥 Hot Reload' })), jsxs("div", { style: {
195
+ }, children: [jsx(NiceIcon, { name: state.liveLinkStatus.compiling ? 'clock' : 'zap', size: 14 }), ' ', state.liveLinkStatus.compiling ? 'Compiling...' : 'Hot Reload'] })), jsxs("div", { style: {
195
196
  display: 'flex',
196
197
  alignItems: 'center',
197
198
  gap: 8,
@@ -270,35 +271,35 @@ const BrowserToolbar = () => {
270
271
  backgroundColor: 'rgba(0,0,0,0.2)',
271
272
  borderRadius: 4,
272
273
  overflow: 'hidden',
273
- }, children: [jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'tiles' }), style: {
274
+ }, children: [jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'tiles' }), "aria-label": "Tile view", style: {
274
275
  padding: '6px 10px',
275
276
  fontSize: 12,
276
277
  backgroundColor: state.viewMode === 'tiles' ? theme.accent : 'transparent',
277
278
  border: 'none',
278
279
  color: '#fff',
279
280
  cursor: 'pointer',
280
- }, children: "\uD83D\uDD32" }), jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'list' }), style: {
281
+ }, children: jsx(NiceIcon, { name: "grid", size: 14 }) }), jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'list' }), "aria-label": "List view", style: {
281
282
  padding: '6px 10px',
282
283
  fontSize: 12,
283
284
  backgroundColor: state.viewMode === 'list' ? theme.accent : 'transparent',
284
285
  border: 'none',
285
286
  color: '#fff',
286
287
  cursor: 'pointer',
287
- }, children: "\uD83D\uDCCB" }), jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'columns' }), style: {
288
+ }, children: jsx(NiceIcon, { name: "list", size: 14 }) }), jsx("button", { onClick: () => dispatch({ type: 'SET_VIEW_MODE', mode: 'columns' }), "aria-label": "Column view", style: {
288
289
  padding: '6px 10px',
289
290
  fontSize: 12,
290
291
  backgroundColor: state.viewMode === 'columns' ? theme.accent : 'transparent',
291
292
  border: 'none',
292
293
  color: '#fff',
293
294
  cursor: 'pointer',
294
- }, children: "\uD83D\uDCD1" })] }), state.viewMode === 'tiles' && (jsxs("select", { value: state.tileSize, onChange: (e) => dispatch({ type: 'SET_TILE_SIZE', size: e.target.value }), style: {
295
+ }, children: jsx(NiceIcon, { name: "columns", size: 14 }) })] }), state.viewMode === 'tiles' && (jsxs("select", { value: state.tileSize, onChange: (e) => dispatch({ type: 'SET_TILE_SIZE', size: e.target.value }), style: {
295
296
  padding: '6px 10px',
296
297
  fontSize: 12,
297
298
  backgroundColor: 'rgba(0,0,0,0.3)',
298
299
  border: `1px solid ${theme.border}`,
299
300
  borderRadius: 4,
300
301
  color: theme.textPrimary,
301
- }, children: [jsx("option", { value: "small", children: "Small" }), jsx("option", { value: "medium", children: "Medium" }), jsx("option", { value: "large", children: "Large" })] })), 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.importing, style: {
302
+ }, children: [jsx("option", { value: "small", children: "Small" }), jsx("option", { value: "medium", children: "Medium" }), jsx("option", { value: "large", children: "Large" })] })), 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.importing, style: {
302
303
  padding: '8px 16px',
303
304
  fontSize: 12,
304
305
  fontWeight: 500,
@@ -308,17 +309,17 @@ const BrowserToolbar = () => {
308
309
  color: '#fff',
309
310
  cursor: state.selectedAssets.size > 0 && !state.importing ? 'pointer' : 'not-allowed',
310
311
  opacity: state.selectedAssets.size > 0 && !state.importing ? 1 : 0.5,
311
- }, children: state.importing ? `⏳ ${state.importProgress}%` : '📥 Import Selected' })] }));
312
+ }, children: [jsx(NiceIcon, { name: state.importing ? 'clock' : 'download', size: 14 }), ' ', state.importing ? `${state.importProgress}%` : 'Import Selected'] })] }));
312
313
  };
313
314
  /* ── Tab Bar ─────────────────────────────────────────────────── */
314
315
  const TabBar = () => {
315
316
  const { state, dispatch, theme } = useBrowser();
316
317
  const tabs = [
317
- { id: 'content', label: 'Content', icon: '📁' },
318
- { id: 'levels', label: 'Levels', icon: '🗺️' },
319
- { id: 'plugins', label: 'Plugins', icon: '🔌' },
320
- { id: 'modules', label: 'Modules', icon: '📦' },
321
- { id: 'settings', label: 'Settings', icon: '⚙️' },
318
+ { id: 'content', label: 'Content', icon: 'folder' },
319
+ { id: 'levels', label: 'Levels', icon: 'map-pin' },
320
+ { id: 'plugins', label: 'Plugins', icon: 'plug' },
321
+ { id: 'modules', label: 'Modules', icon: 'box' },
322
+ { id: 'settings', label: 'Settings', icon: 'settings' },
322
323
  ];
323
324
  return (jsx("div", { style: {
324
325
  display: 'flex',
@@ -333,7 +334,7 @@ const TabBar = () => {
333
334
  borderBottom: state.tab === tab.id ? `2px solid ${theme.accent}` : '2px solid transparent',
334
335
  color: state.tab === tab.id ? theme.textPrimary : theme.textSecondary,
335
336
  cursor: 'pointer',
336
- }, children: [tab.icon, " ", tab.label] }, tab.id))) }));
337
+ }, children: [jsx(NiceIcon, { name: tab.icon, size: 14 }), " ", tab.label] }, tab.id))) }));
337
338
  };
338
339
  /* ── Asset Tile ───────────────────────────────────────────────── */
339
340
  const AssetTile = ({ asset, size, }) => {
@@ -369,7 +370,7 @@ const AssetTile = ({ asset, size, }) => {
369
370
  backgroundSize: 'cover',
370
371
  backgroundPosition: 'center',
371
372
  borderRadius: 4,
372
- } })) : (getAssetIcon(asset.type)), jsx("div", { style: {
373
+ } })) : (jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 32 })), jsx("div", { style: {
373
374
  position: 'absolute',
374
375
  bottom: 4,
375
376
  right: 4,
@@ -432,7 +433,7 @@ const AssetListItem = ({ asset, isSelected, }) => {
432
433
  height: 6,
433
434
  borderRadius: 2,
434
435
  backgroundColor: getAssetColor(asset.type, theme),
435
- } }), jsx("span", { style: { fontSize: 14 }, children: getAssetIcon(asset.type) }), jsx("span", { style: { flex: 1, fontSize: 12, color: theme.textPrimary }, children: asset.name }), jsx("span", { style: { fontSize: 11, color: theme.textSecondary }, children: asset.className }), jsx("span", { style: { fontSize: 10, color: theme.textSecondary }, children: formatFileSize(asset.size) })] }));
436
+ } }), jsx(NiceIcon, { name: getAssetIcon(asset.type), size: 14 }), jsx("span", { style: { flex: 1, fontSize: 12, color: theme.textPrimary }, children: asset.name }), jsx("span", { style: { fontSize: 11, color: theme.textSecondary }, children: asset.className }), jsx("span", { style: { fontSize: 10, color: theme.textSecondary }, children: formatFileSize(asset.size) })] }));
436
437
  };
437
438
  /* ── Levels Panel ─────────────────────────────────────────────── */
438
439
  const LevelsPanel = () => {
@@ -448,7 +449,7 @@ const LevelsPanel = () => {
448
449
  marginBottom: 4,
449
450
  backgroundColor: theme.itemBackground,
450
451
  borderRadius: 4,
451
- }, children: [jsx("span", { style: { fontSize: 20 }, children: "\uD83D\uDDFA\uFE0F" }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 13, color: theme.textPrimary, fontWeight: 500 }, children: map.name }), jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: map.path })] }), map.persistent && (jsx("span", { style: {
452
+ }, children: [jsx(NiceIcon, { name: "map-pin", size: 20 }), jsxs("div", { style: { flex: 1 }, children: [jsx("div", { style: { fontSize: 13, color: theme.textPrimary, fontWeight: 500 }, children: map.name }), jsx("div", { style: { fontSize: 11, color: theme.textSecondary }, children: map.path })] }), map.persistent && (jsx("span", { style: {
452
453
  padding: '2px 8px',
453
454
  fontSize: 10,
454
455
  backgroundColor: theme.accent,
@@ -527,7 +528,7 @@ const ModulesPanel = () => {
527
528
  marginBottom: 4,
528
529
  backgroundColor: theme.itemBackground,
529
530
  borderRadius: 4,
530
- }, children: [jsx("span", { style: { fontSize: 14 }, children: "\uD83D\uDCE6" }), jsx("span", { style: { flex: 1, fontSize: 13, color: theme.textPrimary, fontWeight: 500 }, children: module.name }), jsx("span", { style: {
531
+ }, children: [jsx(NiceIcon, { name: "box", size: 14 }), jsx("span", { style: { flex: 1, fontSize: 13, color: theme.textPrimary, fontWeight: 500 }, children: module.name }), jsx("span", { style: {
531
532
  padding: '2px 8px',
532
533
  fontSize: 10,
533
534
  backgroundColor: getModuleTypeColor(module.type),
@@ -1,7 +1,7 @@
1
1
  export * from './types';
2
2
  export { GameLoop, type GameLoopCallbacks } from './GameLoop';
3
3
  export { GameClock } from './GameClock';
4
- export { GameConfig, DEFAULT_SETTINGS, DEFAULT_PHYSICS, DEFAULT_AUDIO, DEFAULT_RENDERING } from './GameConfig';
4
+ export { GameConfig, DEFAULT_SETTINGS, DEFAULT_PHYSICS, DEFAULT_AUDIO, DEFAULT_RENDERING, } from './GameConfig';
5
5
  export { EventBus, type EventHandler } from './EventBus';
6
6
  export { ServiceLocator, SERVICE_KEYS } from './ServiceLocator';
7
7
  export { v2 } from './math';
@@ -208,6 +208,7 @@ export declare class AssetBrowser {
208
208
  setOnAssetOpen(callback: (asset: BrowserAsset) => void): void;
209
209
  openAsset(assetId: string): void;
210
210
  formatFileSize(bytes: number): string;
211
+ /** NiceIcon name for an asset type. */
211
212
  getAssetTypeIcon(type: BrowserAssetType): string;
212
213
  }
213
214
  export declare function createAssetBrowser(config?: Partial<AssetBrowserConfig>): AssetBrowser;
@@ -33,7 +33,8 @@ export declare class DefaultBTNodeRenderer implements BTEditorNodeRenderer {
33
33
  private drawBadge;
34
34
  private roundRect;
35
35
  private truncateText;
36
- private getCategoryIcon;
36
+ /** Small category marker drawn as a shape (no glyph fonts on the canvas). */
37
+ private drawCategoryMarker;
37
38
  }
38
39
  export interface BTConnectionRenderer {
39
40
  /** Render connection */
@@ -71,4 +71,5 @@ export declare class BTEditorToolbar {
71
71
  private notifyListeners;
72
72
  }
73
73
  export declare function createBTEditorToolbar(editor: BehaviorTreeEditor): BTEditorToolbar;
74
+ /** Toolbar icon id -> NiceIcon builtin name (render with `<NiceIcon name={…} />`). */
74
75
  export declare const TOOLBAR_ICONS: Record<string, string>;
@@ -1,3 +1,3 @@
1
1
  export { InputManager, PRESET_PLATFORMER, PRESET_TOPDOWN, PRESET_TWIN_STICK, type GamepadButton, type GamepadAxis, type ActionState, type ActionBinding, type InputPreset, } from './InputManager';
2
2
  export { GamepadNavigationProvider, useGamepadNavigation, type FocusableMeta, type GamepadNavigationContextType, } from './GamepadNavigation';
3
- export { useGamepads, useGamepadEdges, type GamepadSnapshot, } from './useGamepads';
3
+ export { useGamepads, useGamepadEdges, type GamepadSnapshot } from './useGamepads';
@@ -9,7 +9,7 @@ export type BlockCategory = 'motion' | 'looks' | 'events' | 'control' | 'sensing
9
9
  export interface VisualBlock {
10
10
  id: string;
11
11
  category: BlockCategory;
12
- /** Emoji icon for the block */
12
+ /** NiceIcon name for the block (field keeps its historical name). */
13
13
  emoji: string;
14
14
  /** Block label per locale */
15
15
  label: Partial<Record<Locale, string>>;
@@ -44,7 +44,7 @@ export interface KidSprite {
44
44
  name: Partial<Record<Locale, string>>;
45
45
  /** Category for browsing */
46
46
  category: 'animals' | 'people' | 'vehicles' | 'nature' | 'food' | 'fantasy' | 'space' | 'sports' | 'buildings' | 'effects';
47
- /** Emoji preview */
47
+ /** Emoji preview of the sprite art (content, not a UI icon). */
48
48
  emoji: string;
49
49
  /** Asset URL pattern */
50
50
  assetPath: string;
@@ -58,6 +58,7 @@ export interface KidSprite {
58
58
  /** Gamification badge */
59
59
  export interface KidBadge {
60
60
  id: string;
61
+ /** NiceIcon name for the badge (field keeps its historical name). */
61
62
  emoji: string;
62
63
  name: Partial<Record<Locale, string>>;
63
64
  description: Partial<Record<Locale, string>>;
@@ -187,6 +188,7 @@ export declare class KidModeManager {
187
188
  }
188
189
  export interface KidDifficultySettings {
189
190
  label: Partial<Record<Locale, string>>;
191
+ /** NiceIcon name for the level (field keeps its historical name). */
190
192
  emoji: string;
191
193
  /** Which block categories are available */
192
194
  enabledCategories: BlockCategory[];
@@ -2,7 +2,7 @@ import { EventBus } from '../core/EventBus';
2
2
  import type { Locale } from '../i18n/I18n';
3
3
  export interface WizardChoice {
4
4
  id: string;
5
- /** Emoji icon shown to the child. */
5
+ /** NiceIcon name shown to the child. */
6
6
  icon: string;
7
7
  /** Localized label. */
8
8
  label: Record<string, string>;
@@ -2,7 +2,7 @@ export { I18nManager, getI18n, initI18n, t, registerEngineTranslations, ENGINE_T
2
2
  export type { Locale, TranslationDict, TranslationNamespace, InterpolationValues, PluralCategory, PluralRule, I18nConfig, } from '../i18n/I18n';
3
3
  export { TutorialEngine, getBuiltInTutorials, TUTORIAL_FIRST_GAME, TUTORIAL_SPACE_SHOOTER, TUTORIAL_DATAGRID_BASICS, } from '../tutorials/TutorialEngine';
4
4
  export type { TutorialStepType, TutorialDifficulty, TutorialCategory, QuizOption, CodeValidation, TutorialStep, TutorialDefinition, TutorialProgress, TutorialEvents, CodeValidatorFn, } from '../tutorials/TutorialEngine';
5
- export { useTranslation, I18nProvider, TranslatedText, LocaleSelect, } from '../i18n/useTranslation';
5
+ export { useTranslation, I18nProvider, TranslatedText, LocaleSelect } from '../i18n/useTranslation';
6
6
  export type { UseTranslationResult } from '../i18n/useTranslation';
7
7
  export { KidModeManager, DEFAULT_KID_MODE_CONFIG, KID_DIFFICULTY_PRESETS, VISUAL_BLOCKS, KID_BADGES, KID_SPRITES, } from '../kids/KidMode';
8
8
  export type { AgeGroup, KidDifficulty, BlockCategory, VisualBlock, BlockParam, KidSprite, KidBadge, BadgeCondition, KidProfile, ParentConfig, ClassroomConfig, KidModeConfig, KidDifficultySettings, } from '../kids/KidMode';
@@ -11,7 +11,7 @@ export type { EngineError, APIHint, PerfSnapshot, PerfDashboard, HealthCheckResu
11
11
  export { TUTORIAL_ANIMATIONS, TUTORIAL_TILEMAPS, TUTORIAL_VISUAL_SCRIPTING, TUTORIAL_LOCAL_MULTIPLAYER, getTutorials_T05_T08, } from '../tutorials/content/Tutorials_T05_T08';
12
12
  export { clamp, clampPositive, assertFinite, assertPositive, assertNonNegative, assertInRange, assertNonEmpty, assertCanvasElement, validateGameSettings, validatePhysicsSettings, } from '../core/Validation';
13
13
  export type { ValidationResult } from '../core/Validation';
14
- export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES, } from '../plugins/PluginSDK';
14
+ export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES } from '../plugins/PluginSDK';
15
15
  export type { PluginState, PluginType, PluginManifest, PluginContext, PluginDefinition, ExtensionPoint, PluginStorage, PluginInstance, PluginTemplate, MarketplaceEntry, MarketplaceSearchResult, } from '../plugins/PluginSDK';
16
16
  export { TestPluginStorage, TestPluginContext, PluginAssertionError, pluginAssert, PluginTestRunner, createTestManifest, testPluginLifecycle, formatTestResults, } from '../plugins/PluginTestKit';
17
17
  export type { TestStatus, TestResult, TestSuiteResult, PluginTestCase, } from '../plugins/PluginTestKit';
@@ -20,16 +20,16 @@ export { TUTORIAL_RPG, TUTORIAL_TOWER_DEFENSE, TUTORIAL_3D_GAME, TUTORIAL_PUBLIS
20
20
  export { FrameBudgetManager, MemoryLeakDetector, AutoLODManager, WorkerPool, PerfTimer, ObjectPool, QUALITY_PRESETS, } from '../performance/PerformanceAdvanced';
21
21
  export type { FrameBudgetConfig, BudgetReport, FrameBudgetSnapshot, MemoryTracker, MemorySnapshot, LeakSuspect, QualityLevel, AutoLODConfig, QualitySettings, WorkerTaskStatus, WorkerTask, WorkerPoolConfig, } from '../performance/PerformanceAdvanced';
22
22
  export { TutorialOverlay } from '../tutorials/TutorialOverlay';
23
- export type { OverlayConfig, TooltipPosition, OverlayAction, } from '../tutorials/TutorialOverlay';
24
- export { DocRegistry, DOCS_ECS, DOCS_RENDERING, } from '../docs/DocGenerator';
23
+ export type { OverlayConfig, TooltipPosition, OverlayAction } from '../tutorials/TutorialOverlay';
24
+ export { DocRegistry, DOCS_ECS, DOCS_RENDERING } from '../docs/DocGenerator';
25
25
  export type { DocCategory, DocMemberKind, DocParam, DocMember, DocModule, DocSearchResult, } from '../docs/DocGenerator';
26
26
  export { BranchingEngine, AchievementEngine, BUILT_IN_ACHIEVEMENTS, } from '../tutorials/TutorialBranching';
27
27
  export type { BranchConditionType, BranchCondition, BranchRule, BranchingStep, BranchingConfig, BranchContext, AchievementTier, AchievementCondition, AchievementDefinition, AchievementProgress, } from '../tutorials/TutorialBranching';
28
28
  export { HotModuleReplacer, AssetPipeline, DeployManager, CollaborationManager, } from '../devtools/DevTools';
29
29
  export type { HMRModule, HMRUpdate, AssetType, AssetMeta, AssetProcessorOptions, DeployTarget, DeployConfig, DeployResult, CollaboratorCursor, } from '../devtools/DevTools';
30
- export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES, } from '../kids/KidTools';
30
+ export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES } from '../kids/KidTools';
31
31
  export type { WizardChoice, WizardStep, WizardResult, BlockShape, DragBlock, BlockPalette, DragDropState, } from '../kids/KidTools';
32
- export { BenchmarkRunner, BUILTIN_BENCHMARKS, } from '../performance/BenchmarkSuite';
32
+ export { BenchmarkRunner, BUILTIN_BENCHMARKS } from '../performance/BenchmarkSuite';
33
33
  export type { BenchmarkScenario, BenchmarkTimings, BenchmarkMemory, BenchmarkResult, BenchmarkReport, RegressionResult, } from '../performance/BenchmarkSuite';
34
34
  export type { BuiltInComponentType, ComponentTypeMap, AnyBuiltInComponent, EngineEventName, EngineEventMap, TimeDelta, StrictRecord, JsonValue, EventCallback, StrictPartial, AtLeastOne, } from '../core/TypeSafety';
35
35
  export { isVec2, isVec3, isRect, isColor, isComponent, isEntityId, isComponentOfType, getTypedComponent, requireComponent, assertNever, } from '../core/TypeSafety';
@@ -49,7 +49,7 @@ export { GUIDE_ARCHITECTURE, GUIDE_MIGRATION, GUIDE_PERFORMANCE, GUIDE_TROUBLESH
49
49
  export type { Guide, GuideSection } from '../docs/Guides';
50
50
  export { WebGPUContext, GPUPhysicsBroadphase, GPUParticleSystem, GPUPathfinder, isWebGPUAvailable, getWebGPUShaders, } from '../performance/WebGPUCompute';
51
51
  export type { WebGPUConfig, ComputeBuffer, ComputePipeline, PhysicsBroadphaseResult, } from '../performance/WebGPUCompute';
52
- export { WASMAccelerator, benchmarkWASMvsJS, } from '../performance/WASMModules';
52
+ export { WASMAccelerator, benchmarkWASMvsJS } from '../performance/WASMModules';
53
53
  export type { WASMModuleConfig, WASMExports, CollisionResult, PathResult, } from '../performance/WASMModules';
54
54
  export { TextureCompressor, AudioCompressor, MeshCompressor, AssetStreamer, AssetPipeline as CompressionPipeline, } from '../performance/AssetCompression';
55
55
  export type { TextureCompressionConfig, AudioCompressionConfig, MeshCompressionConfig, StreamingConfig, AssetManifest, AssetEntry, CompressionStats, } from '../performance/AssetCompression';
@@ -1,2 +1,2 @@
1
- export { SeededRandom, PerlinNoise, WaveGenerator, LootTable, ProceduralSprite } from './Procedural';
1
+ export { SeededRandom, PerlinNoise, WaveGenerator, LootTable, ProceduralSprite, } from './Procedural';
2
2
  export type { WaveEntry, WaveConfig, LootDrop } from './Procedural';
@@ -70,7 +70,7 @@ export interface AchievementDefinition {
70
70
  title: Record<string, string>;
71
71
  /** Localized description. */
72
72
  description: Record<string, string>;
73
- /** Emoji icon. */
73
+ /** NiceIcon name. */
74
74
  icon: string;
75
75
  /** Tier (visual style). */
76
76
  tier: AchievementTier;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/game-engine",
3
- "version": "1.1.6",
3
+ "version": "1.1.9",
4
4
  "description": "Nice2Dev Game Engine — No-code game engine and editor for React",
5
5
  "author": "NiceToDev <contact@nicetodev.com>",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -34,6 +34,7 @@
34
34
  "*.css"
35
35
  ],
36
36
  "scripts": {
37
+ "typecheck": "tsc --noEmit",
37
38
  "build": "npm run build:types && rollup -c",
38
39
  "build:types": "tsc -p tsconfig.types.json",
39
40
  "build:full": "npm run build:types && rollup -c",
@@ -72,7 +73,7 @@
72
73
  },
73
74
  "devDependencies": {
74
75
  "@microsoft/signalr": "^10.0.11",
75
- "@nice2dev/ui": "^1.1.6",
76
+ "@nice2dev/ui": "^1.1.9",
76
77
  "@rollup/plugin-commonjs": "^29.0.3",
77
78
  "@rollup/plugin-node-resolve": "^16.0.3",
78
79
  "@rollup/plugin-typescript": "^12.3.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accessibility.js","sources":["../../../src/accessibility/Accessibility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AI.js","sources":["../../../src/ai/AI.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}