@nice2dev/game-engine 0.1.0 → 1.0.3

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 (294) hide show
  1. package/CHANGELOG.md +193 -1
  2. package/dist/cjs/ai/BehaviorTree.js +1215 -0
  3. package/dist/cjs/ai/BehaviorTree.js.map +1 -0
  4. package/dist/cjs/ai/StateMachine.js +783 -0
  5. package/dist/cjs/ai/StateMachine.js.map +1 -0
  6. package/dist/cjs/audio/AudioBridge.js +454 -0
  7. package/dist/cjs/audio/AudioBridge.js.map +1 -0
  8. package/dist/cjs/devtools/GameplayAnalytics.js +651 -0
  9. package/dist/cjs/devtools/GameplayAnalytics.js.map +1 -0
  10. package/dist/cjs/dialogue/DialogueSystem.js +1023 -0
  11. package/dist/cjs/dialogue/DialogueSystem.js.map +1 -0
  12. package/dist/cjs/editor/NiceGameEditor.js +569 -71
  13. package/dist/cjs/editor/NiceGameEditor.js.map +1 -1
  14. package/dist/cjs/editor/ShaderGraph.js +1616 -0
  15. package/dist/cjs/editor/ShaderGraph.js.map +1 -0
  16. package/dist/cjs/editor/TimelineEditor.js +819 -0
  17. package/dist/cjs/editor/TimelineEditor.js.map +1 -0
  18. package/dist/cjs/engine/SaveSystemV2.js +494 -0
  19. package/dist/cjs/engine/SaveSystemV2.js.map +1 -0
  20. package/dist/cjs/export/GodotExporter.js +1102 -0
  21. package/dist/cjs/export/GodotExporter.js.map +1 -0
  22. package/dist/cjs/export/PlatformExporter.js +236 -0
  23. package/dist/cjs/export/PlatformExporter.js.map +1 -0
  24. package/dist/cjs/export/ThreeJSExporter.js +1116 -0
  25. package/dist/cjs/export/ThreeJSExporter.js.map +1 -0
  26. package/dist/cjs/export/UnityExporter.js +1193 -0
  27. package/dist/cjs/export/UnityExporter.js.map +1 -0
  28. package/dist/cjs/export/WebExporter.js +1036 -0
  29. package/dist/cjs/export/WebExporter.js.map +1 -0
  30. package/dist/cjs/export/index.js +58 -0
  31. package/dist/cjs/export/index.js.map +1 -0
  32. package/dist/cjs/i18n/useTranslation.js +11 -11
  33. package/dist/cjs/import/AsepriteImporter.js +761 -0
  34. package/dist/cjs/import/AsepriteImporter.js.map +1 -0
  35. package/dist/cjs/import/DragonBonesImporter.js +499 -0
  36. package/dist/cjs/import/DragonBonesImporter.js.map +1 -0
  37. package/dist/cjs/import/GameMakerImporter.js +559 -0
  38. package/dist/cjs/import/GameMakerImporter.js.map +1 -0
  39. package/dist/cjs/import/GodotSceneImporter.js +824 -0
  40. package/dist/cjs/import/GodotSceneImporter.js.map +1 -0
  41. package/dist/cjs/import/LDtkImporter.js +481 -0
  42. package/dist/cjs/import/LDtkImporter.js.map +1 -0
  43. package/dist/cjs/import/Live2DImporter.js +553 -0
  44. package/dist/cjs/import/Live2DImporter.js.map +1 -0
  45. package/dist/cjs/import/NdgFormat.js +499 -0
  46. package/dist/cjs/import/NdgFormat.js.map +1 -0
  47. package/dist/cjs/import/OgmoImporter.js +529 -0
  48. package/dist/cjs/import/OgmoImporter.js.map +1 -0
  49. package/dist/cjs/import/RPGMakerImporter.js +520 -0
  50. package/dist/cjs/import/RPGMakerImporter.js.map +1 -0
  51. package/dist/cjs/import/SceneImporter.js +449 -0
  52. package/dist/cjs/import/SceneImporter.js.map +1 -0
  53. package/dist/cjs/import/SpineImporter.js +583 -0
  54. package/dist/cjs/import/SpineImporter.js.map +1 -0
  55. package/dist/cjs/import/SpriterImporter.js +652 -0
  56. package/dist/cjs/import/SpriterImporter.js.map +1 -0
  57. package/dist/cjs/import/TiledMapImporter.js +859 -0
  58. package/dist/cjs/import/TiledMapImporter.js.map +1 -0
  59. package/dist/cjs/import/UnitySceneImporter.js +732 -0
  60. package/dist/cjs/import/UnitySceneImporter.js.map +1 -0
  61. package/dist/cjs/import/index.js +305 -0
  62. package/dist/cjs/import/index.js.map +1 -0
  63. package/dist/cjs/index.js +291 -1
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/input/GamepadNavigation.js +21 -21
  66. package/dist/cjs/input/useGamepads.js +6 -6
  67. package/dist/cjs/integration/IconSprite.js +281 -0
  68. package/dist/cjs/integration/IconSprite.js.map +1 -0
  69. package/dist/cjs/inventory/InventorySystem.js +930 -0
  70. package/dist/cjs/inventory/InventorySystem.js.map +1 -0
  71. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -1
  72. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -1
  73. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -1
  74. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -1
  75. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -1
  76. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -1
  77. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -1
  78. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -1
  79. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -1
  80. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -1
  81. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -1
  82. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -1
  83. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -1
  84. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -1
  85. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -1
  86. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -1
  87. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -1
  88. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -1
  89. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -1
  90. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -1
  91. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -1
  92. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -1
  93. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -1
  94. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -1
  95. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -1
  96. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -1
  97. package/dist/cjs/quest/QuestSystem.js +924 -0
  98. package/dist/cjs/quest/QuestSystem.js.map +1 -0
  99. package/dist/cjs/rendering/WebGPURenderPipeline.js +658 -0
  100. package/dist/cjs/rendering/WebGPURenderPipeline.js.map +1 -0
  101. package/dist/cjs/scripting/GraphToAST.js +567 -0
  102. package/dist/cjs/scripting/GraphToAST.js.map +1 -0
  103. package/dist/cjs/scripting/LanguageExporter.js +321 -0
  104. package/dist/cjs/scripting/LanguageExporter.js.map +1 -0
  105. package/dist/cjs/scripting/ScriptAST.js +67 -0
  106. package/dist/cjs/scripting/ScriptAST.js.map +1 -0
  107. package/dist/cjs/scripting/VisualScripting2.js +1140 -0
  108. package/dist/cjs/scripting/VisualScripting2.js.map +1 -0
  109. package/dist/cjs/scripting/exporters/CSharpExporter.js +503 -0
  110. package/dist/cjs/scripting/exporters/CSharpExporter.js.map +1 -0
  111. package/dist/cjs/scripting/exporters/GDScriptExporter.js +452 -0
  112. package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +1 -0
  113. package/dist/cjs/scripting/exporters/LuaExporter.js +457 -0
  114. package/dist/cjs/scripting/exporters/LuaExporter.js.map +1 -0
  115. package/dist/cjs/scripting/exporters/PythonExporter.js +565 -0
  116. package/dist/cjs/scripting/exporters/PythonExporter.js.map +1 -0
  117. package/dist/cjs/scripting/exporters/RustExporter.js +525 -0
  118. package/dist/cjs/scripting/exporters/RustExporter.js.map +1 -0
  119. package/dist/cjs/scripting/exporters/TypeScriptExporter.js +570 -0
  120. package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +1 -0
  121. package/dist/cjs/systems/ParticleSystem2.js +1478 -0
  122. package/dist/cjs/systems/ParticleSystem2.js.map +1 -0
  123. package/dist/cjs/xr/ARVR.js.map +1 -1
  124. package/dist/esm/ai/BehaviorTree.js +1186 -0
  125. package/dist/esm/ai/BehaviorTree.js.map +1 -0
  126. package/dist/esm/ai/StateMachine.js +767 -0
  127. package/dist/esm/ai/StateMachine.js.map +1 -0
  128. package/dist/esm/audio/AudioBridge.js +446 -0
  129. package/dist/esm/audio/AudioBridge.js.map +1 -0
  130. package/dist/esm/devtools/GameplayAnalytics.js +639 -0
  131. package/dist/esm/devtools/GameplayAnalytics.js.map +1 -0
  132. package/dist/esm/dialogue/DialogueSystem.js +1008 -0
  133. package/dist/esm/dialogue/DialogueSystem.js.map +1 -0
  134. package/dist/esm/editor/NiceGameEditor.js +556 -58
  135. package/dist/esm/editor/NiceGameEditor.js.map +1 -1
  136. package/dist/esm/editor/ShaderGraph.js +1606 -0
  137. package/dist/esm/editor/ShaderGraph.js.map +1 -0
  138. package/dist/esm/editor/TimelineEditor.js +800 -0
  139. package/dist/esm/editor/TimelineEditor.js.map +1 -0
  140. package/dist/esm/engine/SaveSystemV2.js +487 -0
  141. package/dist/esm/engine/SaveSystemV2.js.map +1 -0
  142. package/dist/esm/export/GodotExporter.js +1100 -0
  143. package/dist/esm/export/GodotExporter.js.map +1 -0
  144. package/dist/esm/export/PlatformExporter.js +230 -0
  145. package/dist/esm/export/PlatformExporter.js.map +1 -0
  146. package/dist/esm/export/ThreeJSExporter.js +1114 -0
  147. package/dist/esm/export/ThreeJSExporter.js.map +1 -0
  148. package/dist/esm/export/UnityExporter.js +1191 -0
  149. package/dist/esm/export/UnityExporter.js.map +1 -0
  150. package/dist/esm/export/WebExporter.js +1033 -0
  151. package/dist/esm/export/WebExporter.js.map +1 -0
  152. package/dist/esm/export/index.js +44 -0
  153. package/dist/esm/export/index.js.map +1 -0
  154. package/dist/esm/import/AsepriteImporter.js +759 -0
  155. package/dist/esm/import/AsepriteImporter.js.map +1 -0
  156. package/dist/esm/import/DragonBonesImporter.js +496 -0
  157. package/dist/esm/import/DragonBonesImporter.js.map +1 -0
  158. package/dist/esm/import/GameMakerImporter.js +556 -0
  159. package/dist/esm/import/GameMakerImporter.js.map +1 -0
  160. package/dist/esm/import/GodotSceneImporter.js +822 -0
  161. package/dist/esm/import/GodotSceneImporter.js.map +1 -0
  162. package/dist/esm/import/LDtkImporter.js +479 -0
  163. package/dist/esm/import/LDtkImporter.js.map +1 -0
  164. package/dist/esm/import/Live2DImporter.js +550 -0
  165. package/dist/esm/import/Live2DImporter.js.map +1 -0
  166. package/dist/esm/import/NdgFormat.js +490 -0
  167. package/dist/esm/import/NdgFormat.js.map +1 -0
  168. package/dist/esm/import/OgmoImporter.js +526 -0
  169. package/dist/esm/import/OgmoImporter.js.map +1 -0
  170. package/dist/esm/import/RPGMakerImporter.js +517 -0
  171. package/dist/esm/import/RPGMakerImporter.js.map +1 -0
  172. package/dist/esm/import/SceneImporter.js +441 -0
  173. package/dist/esm/import/SceneImporter.js.map +1 -0
  174. package/dist/esm/import/SpineImporter.js +580 -0
  175. package/dist/esm/import/SpineImporter.js.map +1 -0
  176. package/dist/esm/import/SpriterImporter.js +649 -0
  177. package/dist/esm/import/SpriterImporter.js.map +1 -0
  178. package/dist/esm/import/TiledMapImporter.js +857 -0
  179. package/dist/esm/import/TiledMapImporter.js.map +1 -0
  180. package/dist/esm/import/UnitySceneImporter.js +730 -0
  181. package/dist/esm/import/UnitySceneImporter.js.map +1 -0
  182. package/dist/esm/import/index.js +279 -0
  183. package/dist/esm/import/index.js.map +1 -0
  184. package/dist/esm/index.js +47 -3
  185. package/dist/esm/index.js.map +1 -1
  186. package/dist/esm/integration/IconSprite.js +266 -0
  187. package/dist/esm/integration/IconSprite.js.map +1 -0
  188. package/dist/esm/inventory/InventorySystem.js +924 -0
  189. package/dist/esm/inventory/InventorySystem.js.map +1 -0
  190. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -1
  191. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -1
  192. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -1
  193. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -1
  194. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -1
  195. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -1
  196. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -1
  197. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -1
  198. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -1
  199. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -1
  200. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -1
  201. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -1
  202. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -1
  203. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -1
  204. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -1
  205. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -1
  206. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -1
  207. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -1
  208. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -1
  209. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -1
  210. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -1
  211. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -1
  212. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -1
  213. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -1
  214. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -1
  215. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -1
  216. package/dist/esm/quest/QuestSystem.js +916 -0
  217. package/dist/esm/quest/QuestSystem.js.map +1 -0
  218. package/dist/esm/rendering/WebGPURenderPipeline.js +642 -0
  219. package/dist/esm/rendering/WebGPURenderPipeline.js.map +1 -0
  220. package/dist/esm/scripting/GraphToAST.js +564 -0
  221. package/dist/esm/scripting/GraphToAST.js.map +1 -0
  222. package/dist/esm/scripting/LanguageExporter.js +311 -0
  223. package/dist/esm/scripting/LanguageExporter.js.map +1 -0
  224. package/dist/esm/scripting/ScriptAST.js +52 -0
  225. package/dist/esm/scripting/ScriptAST.js.map +1 -0
  226. package/dist/esm/scripting/VisualScripting2.js +1130 -0
  227. package/dist/esm/scripting/VisualScripting2.js.map +1 -0
  228. package/dist/esm/scripting/exporters/CSharpExporter.js +501 -0
  229. package/dist/esm/scripting/exporters/CSharpExporter.js.map +1 -0
  230. package/dist/esm/scripting/exporters/GDScriptExporter.js +450 -0
  231. package/dist/esm/scripting/exporters/GDScriptExporter.js.map +1 -0
  232. package/dist/esm/scripting/exporters/LuaExporter.js +455 -0
  233. package/dist/esm/scripting/exporters/LuaExporter.js.map +1 -0
  234. package/dist/esm/scripting/exporters/PythonExporter.js +563 -0
  235. package/dist/esm/scripting/exporters/PythonExporter.js.map +1 -0
  236. package/dist/esm/scripting/exporters/RustExporter.js +523 -0
  237. package/dist/esm/scripting/exporters/RustExporter.js.map +1 -0
  238. package/dist/esm/scripting/exporters/TypeScriptExporter.js +568 -0
  239. package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +1 -0
  240. package/dist/esm/systems/ParticleSystem2.js +1471 -0
  241. package/dist/esm/systems/ParticleSystem2.js.map +1 -0
  242. package/dist/esm/xr/ARVR.js.map +1 -1
  243. package/dist/types/__tests__/setup.d.ts +1 -1
  244. package/dist/types/ai/BehaviorTree.d.ts +375 -0
  245. package/dist/types/ai/StateMachine.d.ts +296 -0
  246. package/dist/types/audio/AudioBridge.d.ts +199 -0
  247. package/dist/types/devtools/GameplayAnalytics.d.ts +279 -0
  248. package/dist/types/dialogue/DialogueSystem.d.ts +326 -0
  249. package/dist/types/dialogue/index.d.ts +2 -0
  250. package/dist/types/editor/NiceGameEditor.d.ts +12 -1
  251. package/dist/types/editor/ShaderGraph.d.ts +207 -0
  252. package/dist/types/editor/TimelineEditor.d.ts +393 -0
  253. package/dist/types/engine/SaveSystemV2.d.ts +155 -0
  254. package/dist/types/export/GodotExporter.d.ts +56 -0
  255. package/dist/types/export/PlatformExporter.d.ts +201 -0
  256. package/dist/types/export/ThreeJSExporter.d.ts +40 -0
  257. package/dist/types/export/UnityExporter.d.ts +69 -0
  258. package/dist/types/export/WebExporter.d.ts +58 -0
  259. package/dist/types/export/index.d.ts +19 -0
  260. package/dist/types/import/AsepriteImporter.d.ts +46 -0
  261. package/dist/types/import/DragonBonesImporter.d.ts +331 -0
  262. package/dist/types/import/GameMakerImporter.d.ts +375 -0
  263. package/dist/types/import/GodotSceneImporter.d.ts +34 -0
  264. package/dist/types/import/LDtkImporter.d.ts +177 -0
  265. package/dist/types/import/Live2DImporter.d.ts +237 -0
  266. package/dist/types/import/NdgFormat.d.ts +387 -0
  267. package/dist/types/import/OgmoImporter.d.ts +237 -0
  268. package/dist/types/import/RPGMakerImporter.d.ts +186 -0
  269. package/dist/types/import/SceneImporter.d.ts +276 -0
  270. package/dist/types/import/SpineImporter.d.ts +372 -0
  271. package/dist/types/import/SpriterImporter.d.ts +230 -0
  272. package/dist/types/import/TiledMapImporter.d.ts +57 -0
  273. package/dist/types/import/UnitySceneImporter.d.ts +87 -0
  274. package/dist/types/import/index.d.ts +59 -0
  275. package/dist/types/index.d.ts +46 -18
  276. package/dist/types/integration/IconSprite.d.ts +196 -0
  277. package/dist/types/inventory/InventorySystem.d.ts +336 -0
  278. package/dist/types/performance/WebGPUCompute.d.ts +0 -10
  279. package/dist/types/quest/QuestSystem.d.ts +287 -0
  280. package/dist/types/rendering/WebGPURenderPipeline.d.ts +255 -0
  281. package/dist/types/scripting/GraphToAST.d.ts +55 -0
  282. package/dist/types/scripting/LanguageExporter.d.ts +136 -0
  283. package/dist/types/scripting/ScriptAST.d.ts +312 -0
  284. package/dist/types/scripting/VisualScripting2.d.ts +353 -0
  285. package/dist/types/scripting/exporters/CSharpExporter.d.ts +44 -0
  286. package/dist/types/scripting/exporters/GDScriptExporter.d.ts +46 -0
  287. package/dist/types/scripting/exporters/LuaExporter.d.ts +46 -0
  288. package/dist/types/scripting/exporters/PythonExporter.d.ts +49 -0
  289. package/dist/types/scripting/exporters/RustExporter.d.ts +46 -0
  290. package/dist/types/scripting/exporters/TypeScriptExporter.d.ts +48 -0
  291. package/dist/types/scripting/exporters/index.d.ts +8 -0
  292. package/dist/types/scripting/index.d.ts +11 -0
  293. package/dist/types/systems/ParticleSystem2.d.ts +646 -0
  294. package/package.json +7 -1
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @file UnitySceneImporter.ts
3
+ * @description Import Unity scenes (.unity) and prefabs (.prefab)
4
+ * PRO-1.3: Scene Format Interoperability
5
+ *
6
+ * Parses Unity's YAML serialization format and converts to Nice2Dev entities.
7
+ * Supports:
8
+ * - Scene files (.unity)
9
+ * - Prefab files (.prefab)
10
+ * - Asset files (.asset)
11
+ * - Animation clips (.anim)
12
+ * - Materials (.mat)
13
+ */
14
+ import { SceneImporter, ImportOptions, ImportResult, ParsedScene, ParsedComponent, ParsedAsset, ImportError } from './SceneImporter';
15
+ interface UnityTransform {
16
+ m_LocalRotation: {
17
+ x: number;
18
+ y: number;
19
+ z: number;
20
+ w: number;
21
+ };
22
+ m_LocalPosition: {
23
+ x: number;
24
+ y: number;
25
+ z: number;
26
+ };
27
+ m_LocalScale: {
28
+ x: number;
29
+ y: number;
30
+ z: number;
31
+ };
32
+ m_Children?: {
33
+ fileID: number;
34
+ }[];
35
+ m_Father?: {
36
+ fileID: number;
37
+ };
38
+ m_RootOrder?: number;
39
+ }
40
+ export declare class UnitySceneImporter extends SceneImporter {
41
+ private documents;
42
+ private gameObjects;
43
+ private transforms;
44
+ private components;
45
+ private prefabs;
46
+ constructor();
47
+ import(options: ImportOptions): Promise<ImportResult>;
48
+ parseFile(content: string | ArrayBuffer, filePath: string): Promise<ParsedScene | ParsedAsset | null>;
49
+ validate(sourcePath: string): Promise<ImportError[]>;
50
+ private parseUnityFile;
51
+ private parseUnityYAML;
52
+ private buildSceneFromDocuments;
53
+ private buildEntityFromTransform;
54
+ private getComponentsForGameObject;
55
+ private convertUnityComponent;
56
+ private extractSceneSettings;
57
+ private extractAssets;
58
+ private extractSpriteReferences;
59
+ private extractAudioReferences;
60
+ private extractAnimationReferences;
61
+ private quaternionToEulerY;
62
+ private readFile;
63
+ /** Convert Unity RectTransform to Nice2Dev format */
64
+ protected convertRectTransform(transform: UnityTransform & {
65
+ m_AnchorMin?: {
66
+ x: number;
67
+ y: number;
68
+ };
69
+ m_AnchorMax?: {
70
+ x: number;
71
+ y: number;
72
+ };
73
+ m_AnchoredPosition?: {
74
+ x: number;
75
+ y: number;
76
+ };
77
+ m_SizeDelta?: {
78
+ x: number;
79
+ y: number;
80
+ };
81
+ m_Pivot?: {
82
+ x: number;
83
+ y: number;
84
+ };
85
+ }): ParsedComponent;
86
+ }
87
+ export {};
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @file index.ts
3
+ * @description Scene Format Import Module Exports
4
+ * PRO-1.3: Scene Format Interoperability
5
+ */
6
+ export { SceneImporter, IMPORT_SOURCES, parseYAML, parseXML, detectSourceType, getAvailableImporters, hasImporter, } from './SceneImporter';
7
+ export type { ImportSourceType, ImportSourceInfo, ImportOptions, ImportResult, ImportError, ImportWarning, ImportStatistics, ParsedScene, ParsedLayer, ParsedEntity, ParsedComponent, ParsedTileData, ParsedTileset, ParsedTileInfo, ParsedAnimation, ParsedAnimationFrame, ParsedAsset, ParsedSpriteSheet, XMLNode, } from './SceneImporter';
8
+ export { UnitySceneImporter } from './UnitySceneImporter';
9
+ export { GodotSceneImporter } from './GodotSceneImporter';
10
+ export { TiledMapImporter } from './TiledMapImporter';
11
+ export { LDtkImporter } from './LDtkImporter';
12
+ export { AsepriteImporter } from './AsepriteImporter';
13
+ export { OgmoImporter, createOgmoImporter } from './OgmoImporter';
14
+ export type { OgmoProject, OgmoLevel, OgmoLayerDef, OgmoEntityDef, OgmoTilesetDef, OgmoLayerInstance, OgmoEntityInstance, OgmoDecalInstance, } from './OgmoImporter';
15
+ export { RPGMakerImporter, createRPGMakerImporter } from './RPGMakerImporter';
16
+ export type { RPGMakerMap, RPGMakerEvent, RPGMakerEventPage, RPGMakerCommand, RPGMakerMoveRoute, RPGMakerMoveCommand, RPGMakerTileset, } from './RPGMakerImporter';
17
+ export { GameMakerImporter, createGameMakerImporter } from './GameMakerImporter';
18
+ export type { GMRoom, GMLayerInstance, GMRoomInstance, GMTileLayer, GMBackgroundLayer, GMAssetLayer, } from './GameMakerImporter';
19
+ export { SpineImporter, createSpineImporter } from './SpineImporter';
20
+ export type { SpineSkeletonData, SpineBone, SpineSlot, SpineSkin, SpineAttachment, SpineRegionAttachment, SpineMeshAttachment, SpinePointAttachment, SpinePathAttachment, SpineClippingAttachment, SpineEvent, SpineAnimation, } from './SpineImporter';
21
+ export { DragonBonesImporter, createDragonBonesImporter } from './DragonBonesImporter';
22
+ export type { DBSkeletonData, DBArmature, DBBone, DBSlot, DBSkin, DBDisplay, DBImageDisplay, DBMeshDisplay, DBArmatureDisplay, DBBoundingBoxDisplay, DBPathDisplay, DBAnimation, DBTextureAtlas, } from './DragonBonesImporter';
23
+ export { Live2DImporter, createLive2DImporter } from './Live2DImporter';
24
+ export type { L2DModelSettings, L2DFileReferences, L2DExpressionRef, L2DMotionRef, L2DGroup, L2DHitArea, L2DPhysics, L2DPhysicsSetting, L2DPose, L2DExpression, L2DMotion, L2DMotionCurve, L2DDisplayInfo, } from './Live2DImporter';
25
+ export { SpriterImporter, createSpriterImporter } from './SpriterImporter';
26
+ export type { SpriterProject, SpriterData, SpriterFolder, SpriterFile, SpriterEntity, SpriterAnimation, SpriterMainline, SpriterTimeline, SpriterTimelineKey, SpriterBone, SpriterObject, SpriterCharacterMap, } from './SpriterImporter';
27
+ export { NdgImporter, NdgExporter, NdgBidirectionalSync, createNdgImporter, createNdgExporter, createBidirectionalSync, sceneToNdg, ndgToScene, } from './NdgFormat';
28
+ export type { NdgFile, NdgGenerator, NdgSource, NdgProject, NdgProjectSettings, NdgPhysicsSettings, NdgAudioSettings, NdgRenderingSettings, NdgInputSettings, NdgInputAction, NdgScene, NdgSceneSettings, NdgCameraSettings, NdgLightingSettings, NdgLayerDef, NdgEntity, NdgTransform, NdgComponent, NdgPrefabRef, NdgPrefabOverride, NdgScript, NdgScriptRef, NdgTilemap, NdgTilemapLayer, NdgAsset, NdgAssetImportSettings, NdgAssetBundle, } from './NdgFormat';
29
+ import { SceneImporter, ImportSourceType } from './SceneImporter';
30
+ import { NdgImporter } from './NdgFormat';
31
+ /**
32
+ * Create an importer for the specified source type
33
+ */
34
+ export declare function createImporter(sourceType: ImportSourceType | string): SceneImporter;
35
+ /**
36
+ * Create importer for NDG native format
37
+ */
38
+ export declare function createNativeImporter(): NdgImporter;
39
+ /**
40
+ * Get importer for file based on extension
41
+ */
42
+ export declare function getImporterForFile(filePath: string): SceneImporter | null;
43
+ /**
44
+ * Check if a file can be imported
45
+ */
46
+ export declare function canImport(filePath: string): boolean;
47
+ /**
48
+ * Get all supported file extensions
49
+ */
50
+ export declare function getSupportedExtensions(): string[];
51
+ /**
52
+ * Get supported formats info
53
+ */
54
+ export declare function getSupportedFormats(): Array<{
55
+ name: string;
56
+ type: ImportSourceType | string;
57
+ extensions: string[];
58
+ description: string;
59
+ }>;
@@ -5,10 +5,10 @@ export { GameConfig } from './core/GameConfig';
5
5
  export { EventBus } from './core/EventBus';
6
6
  export { ServiceLocator, SERVICE_KEYS } from './core/ServiceLocator';
7
7
  export { v2 } from './core/math';
8
- export { World, System, createDefaultComponent, } from './ecs/World';
8
+ export { World, System, createDefaultComponent } from './ecs/World';
9
9
  export type { Entity, ComponentMap, BuiltInComponent, TransformComponent, SpriteComponent, ShapeComponent, Collider2DComponent, RigidBody2DComponent, TextComponent, AnimatorComponent, ScriptComponent, AudioSourceComponent, ParticleEmitterComponent, CameraTargetComponent, SpriteAnimation, AnimationFrame, } from './ecs/World';
10
- export { InputManager, PRESET_PLATFORMER, PRESET_TOPDOWN, PRESET_TWIN_STICK } from './input/InputManager';
11
- export { GamepadNavigationProvider, useGamepadNavigation } from './input/GamepadNavigation';
10
+ export { InputManager, PRESET_PLATFORMER, PRESET_TOPDOWN, PRESET_TWIN_STICK, } from './input/InputManager';
11
+ export { GamepadNavigationProvider as NiceGamepadNavigationProvider, GamepadNavigationProvider, useGamepadNavigation, } from './input/GamepadNavigation';
12
12
  export type { FocusableMeta, GamepadNavigationContextType } from './input/GamepadNavigation';
13
13
  export { useGamepads, useGamepadEdges } from './input/useGamepads';
14
14
  export type { GamepadSnapshot } from './input/useGamepads';
@@ -18,26 +18,26 @@ export { Renderer2D, RenderSystem } from './rendering/Renderer2D';
18
18
  export { PhysicsEngine2D, PhysicsSystem } from './physics/PhysicsEngine2D';
19
19
  export { SceneManager } from './scene/SceneManager';
20
20
  export type { SceneConfig, SceneTransition, TransitionType, PrefabDef } from './scene/SceneManager';
21
- export { GameUI } from './ui/GameUI';
21
+ export { GameUI as NiceGameUI, GameUI } from './ui/GameUI';
22
22
  export type { UIElement, UIStyle, UITheme, UIAnchor, UIElementType } from './ui/GameUI';
23
23
  export { PlayerManager, SplitScreenManager, PLAYER_COLORS } from './multiplayer/LocalMultiplayer';
24
24
  export type { Player, Viewport } from './multiplayer/LocalMultiplayer';
25
25
  export { GameRegistry, gameRegistry, MINI_PLAYER_COLORS, MINI_PLAYER_NAMES, KEYBOARD_GROUPS, DIR_UP, DIR_DOWN, DIR_LEFT, DIR_RIGHT, } from './multiplayer/MiniGameTypes';
26
26
  export type { PlayerSlot, InputSource, Dir, KeyboardGroup, MiniGameMeta, MiniGameConfig, } from './multiplayer/MiniGameTypes';
27
- export { SeededRandom, PerlinNoise, WaveGenerator, LootTable, ProceduralSprite } from './procedural/Procedural';
27
+ export { SeededRandom, PerlinNoise, WaveGenerator, LootTable as ProceduralLootTable, ProceduralSprite, } from './procedural/Procedural';
28
28
  export type { WaveEntry, WaveConfig, LootDrop } from './procedural/Procedural';
29
29
  export { NiceGameEngine } from './engine/NiceGameEngine';
30
30
  export type { EngineOptions } from './engine/NiceGameEngine';
31
31
  export { WaveDefenseTemplate, DEFAULT_WAVE_DEFENSE_CONFIG } from './templates/WaveDefense';
32
- export type { WaveDefenseConfig, WaveDefenseState, UpgradeDef, UpgradeEffect } from './templates/WaveDefense';
33
- export { NiceGameEditor, UndoStack, useEditor, serializeProject, deserializeProject } from './editor/NiceGameEditor';
34
- export type { NiceGameEditorProps, EditorContextValue, EditorState, EditorTool, EditorMode, EditorPanel, UndoEntry } from './editor/NiceGameEditor';
32
+ export type { WaveDefenseConfig, WaveDefenseState, UpgradeDef, UpgradeEffect, } from './templates/WaveDefense';
33
+ export { NiceGameEditor, UndoStack, useEditor, serializeProject, deserializeProject, } from './editor/NiceGameEditor';
34
+ export type { NiceGameEditorProps, EditorContextValue, EditorState, EditorTool, EditorMode, EditorPanel, UndoEntry, } from './editor/NiceGameEditor';
35
35
  export { createGizmoState, getSelectionRect, entitiesInRect, snapToGrid, snapVec2ToGrid, renderGrid, renderTranslateGizmo, renderRotateGizmo, renderScaleGizmo, hitTestGizmoAxis, pickEntityAt, copyEntities, pasteEntities, } from './editor/SceneEditor';
36
- export type { GizmoMode, GizmoAxis, GizmoState, SelectionBox, ClipboardEntry } from './editor/SceneEditor';
36
+ export type { GizmoMode, GizmoAxis, GizmoState, SelectionBox, ClipboardEntry, } from './editor/SceneEditor';
37
37
  export { AssetManager } from './editor/AssetManager';
38
38
  export type { AssetMetadata, AssetFolder } from './editor/AssetManager';
39
- export { Profiler, FPSCounter, ConsoleLogger, snapshotEntity, snapshotWorld, renderCollisionDebug, getMemoryStats } from './editor/DebugTools';
40
- export type { ProfilerSample, ProfilerFrame, LogLevel, LogEntry, EntitySnapshot, MemoryStats } from './editor/DebugTools';
39
+ export { Profiler, FPSCounter, ConsoleLogger, snapshotEntity, snapshotWorld, renderCollisionDebug, getMemoryStats, } from './editor/DebugTools';
40
+ export type { ProfilerSample, ProfilerFrame, LogLevel, LogEntry, EntitySnapshot, MemoryStats, } from './editor/DebugTools';
41
41
  export { NodeLibrary, GraphExecutor, registerBuiltInNodes, createDefaultNodeLibrary, } from './scripting/NodeGraph';
42
42
  export type { PortDataType, PortDef, NodeDef, NodeInstance, Connection, ScriptGraph, GraphVariable, } from './scripting/NodeGraph';
43
43
  export { Tilemap, computeAutoTileMask } from './tilemap/Tilemap';
@@ -49,7 +49,7 @@ export type { PathGrid, PathfinderOptions, NavPolygon, NavMesh } from './pathfin
49
49
  export { PeerManager, createWebSocketSignaling, NetworkManager, SnapshotBuffer, ClientPrediction, interpolateState, LobbyManager, } from './network/Networking';
50
50
  export type { ConnectionState, PeerInfo, SignalingMessage, SignalingTransport, RTCConfig, NetworkMode, NetworkIdentity, RPCDef, SyncVarDef, NetworkMessage, Snapshot, EntityState, PredictionInput, LobbyRoom, LobbyPlayer, } from './network/Networking';
51
51
  export { LocalTransport, SignalRTransport } from './network/MultiplayerTransport';
52
- export type { IMultiplayerTransport, TransportState, TransportMessage } from './network/MultiplayerTransport';
52
+ export type { IMultiplayerTransport, TransportState, TransportMessage, } from './network/MultiplayerTransport';
53
53
  export { v3, quat, World3D, PhysicsWorld3D, Renderer3D, createDefaultCamera3DSettings, updateOrbitCamera, updateCharacterController, DEFAULT_CHARACTER_CONFIG, } from './runtime3d/Runtime3D';
54
54
  export type { Vec3 as Vec3_3D, Quaternion, Transform3D, MeshPrimitive, MeshComponent, LightType, LightComponent, CameraMode3D, Camera3DComponent, Material3D, CameraController, Camera3DSettings, ColliderShape3D, RigidBodyType3D, Collider3DDef, RigidBody3DDef, PhysicsWorld3DConfig, PhysicsBackend3D, RaycastHit3D, RendererBackend3D, CharacterControllerConfig, CharacterState, } from './runtime3d/Runtime3D';
55
55
  export { createGizmo3DState, snapToGrid3D, placeObject, Terrain3D, MaterialLibrary, createBlendTree, addBlendTreeChild, evaluateBlendTree, DEFAULT_PLACEMENT_CONFIG, DEFAULT_TERRAIN_CONFIG, DEFAULT_SKYBOX, DEFAULT_FPS_CONFIG, DEFAULT_THIRD_PERSON_CONFIG, DEFAULT_RACING_3D_CONFIG, DEFAULT_FLIGHT_SIM_CONFIG, DEFAULT_HORROR_CONFIG, } from './runtime3d/SceneEditor3D';
@@ -60,6 +60,8 @@ export { DEFAULT_MATCH3_CONFIG, createMatch3Board, findMatches, removeMatches, a
60
60
  export type { Match3Config, GemType, Match3Board, BlockPuzzleConfig, BlockPuzzleState, PhysicsPuzzleConfig, PuzzleLevelDef, HiddenObjectConfig, HiddenObjectDef, HiddenObjectLevel, CardDef, DeckConfig, } from './templates/PuzzleTemplates';
61
61
  export { DEFAULT_RPG_CONFIG, xpForLevel, createInventory, addItem, DEFAULT_VISUAL_NOVEL_CONFIG, parseVNLabels, createVNState, DEFAULT_POINT_AND_CLICK_CONFIG, DEFAULT_ROGUELIKE_CONFIG, generateDungeon, computeFOV, DEFAULT_DUNGEON_CRAWLER_CONFIG, } from './templates/RPGTemplates';
62
62
  export type { RPGConfig, RPGStats, RPGCharacter, StatusEffect, ItemDef, Inventory, VisualNovelConfig, VNCommandType, VNCommand, VNChoice, VNScript, VNState, PointAndClickConfig, Hotspot, RoomDef, RoguelikeConfig, TileType, DungeonRoom, DungeonCrawlerConfig, DungeonFloorDef, } from './templates/RPGTemplates';
63
+ export { InventoryManager, InventoryProvider, useInventoryManager, useContainer, useEquipment, } from './inventory/InventorySystem';
64
+ export type { ItemRarity, ItemCategory, EquipmentSlot, StatType, ContainerType, StatModifier, ItemDefinition, ItemInstance, InventorySlot, Container, EquipmentState, CraftingIngredient, CraftingRecipe, LootEntry, LootTable, ShopListing, Shop, InventoryEventType, InventoryEvent, InventoryManagerConfig, InventorySnapshot, } from './inventory/InventorySystem';
63
65
  export { DEFAULT_TOP_DOWN_RACING_CONFIG, createRacerState, updateRacer, DEFAULT_SIDE_SCROLLER_RACING_CONFIG, DEFAULT_SOCCER_CONFIG, DEFAULT_BASKETBALL_CONFIG, createSportsState, DEFAULT_GOLF_CONFIG, DEFAULT_BILLIARDS_CONFIG, updateBilliardsBalls, DEFAULT_RHYTHM_CONFIG, createRhythmState, judgeHit, applyHitResult, } from './templates/SportsTemplates';
64
66
  export type { TopDownRacingConfig, RacerState, TrackCheckpoint, SideScrollerRacingConfig, SportType, SportsConfig, SportsState, GolfConfig, BilliardsConfig, BilliardsBall, RhythmConfig, NoteType, RhythmNote, RhythmChart, RhythmState, } from './templates/SportsTemplates';
65
67
  export { DEFAULT_TOWER_DEFENSE_CONFIG, createTDState, DEFAULT_RTS_CONFIG, createRTSState, DEFAULT_TACTICS_CONFIG, createTurnOrder, nextUnit, DEFAULT_CITY_BUILDER_CONFIG, createCityState, updateCity, DEFAULT_IDLE_CONFIG, createIdleState, getGeneratorCost, getIdleIncome, formatNumber, } from './templates/StrategyTemplates';
@@ -94,7 +96,7 @@ export { DEFAULT_BRANDING, generateCSSVariables, DEFAULT_PASSWORD_POLICY, valida
94
96
  export type { BrandingConfig, AuthProvider, AuthConfig, AuthProviderConfig, MFAConfig, PasswordPolicy, Permission, RoleDef, AuditAction, AuditEntry, AuditQuery, Organization, OrgMember, OrgPlan, OrgSettings, APIKey, RateLimitConfig, DeploymentConfig, DatabaseConfig, StorageConfig, CacheConfig, ScalingConfig, } from './enterprise/Enterprise';
95
97
  export { I18nManager, getI18n, initI18n, t, registerEngineTranslations, ENGINE_TRANSLATIONS_EN, ENGINE_TRANSLATIONS_PL, ENGINE_TRANSLATIONS_DE, SUPPORTED_LOCALES, LOCALE_NAMES, RTL_LOCALES, } from './i18n/I18n';
96
98
  export type { Locale, TranslationDict, TranslationNamespace, InterpolationValues, PluralCategory, PluralRule, I18nConfig, } from './i18n/I18n';
97
- export { useTranslation, I18nProvider, TranslatedText, LocaleSelect, } from './i18n/useTranslation';
99
+ export { useTranslation, I18nProvider, TranslatedText, LocaleSelect } from './i18n/useTranslation';
98
100
  export type { UseTranslationResult } from './i18n/useTranslation';
99
101
  export { TutorialEngine, getBuiltInTutorials, TUTORIAL_FIRST_GAME, TUTORIAL_SPACE_SHOOTER, TUTORIAL_DATAGRID_BASICS, } from './tutorials/TutorialEngine';
100
102
  export type { TutorialStepType, TutorialDifficulty, TutorialCategory, QuizOption, CodeValidation, TutorialStep, TutorialDefinition, TutorialProgress, TutorialEvents, CodeValidatorFn, } from './tutorials/TutorialEngine';
@@ -105,7 +107,7 @@ export type { EngineError, APIHint, PerfSnapshot, PerfDashboard, HealthCheckResu
105
107
  export { TUTORIAL_ANIMATIONS, TUTORIAL_TILEMAPS, TUTORIAL_VISUAL_SCRIPTING, TUTORIAL_LOCAL_MULTIPLAYER, getTutorials_T05_T08, } from './tutorials/content/Tutorials_T05_T08';
106
108
  export { clamp, clampPositive, assertFinite, assertPositive, assertNonNegative, assertInRange, assertNonEmpty, assertCanvasElement, validateGameSettings, validatePhysicsSettings, } from './core/Validation';
107
109
  export type { ValidationResult } from './core/Validation';
108
- export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES, } from './plugins/PluginSDK';
110
+ export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES } from './plugins/PluginSDK';
109
111
  export type { PluginState as SDKPluginState, PluginType, PluginManifest as SDKPluginManifest, PluginContext, PluginDefinition, ExtensionPoint, PluginStorage, PluginInstance as SDKPluginInstance, PluginTemplate, MarketplaceEntry, MarketplaceSearchResult, } from './plugins/PluginSDK';
110
112
  export { TestPluginStorage, TestPluginContext, PluginAssertionError, pluginAssert, PluginTestRunner, createTestManifest, testPluginLifecycle, formatTestResults, } from './plugins/PluginTestKit';
111
113
  export type { TestStatus, TestResult, TestSuiteResult, PluginTestCase, } from './plugins/PluginTestKit';
@@ -114,14 +116,40 @@ export { TUTORIAL_RPG, TUTORIAL_TOWER_DEFENSE, TUTORIAL_3D_GAME, TUTORIAL_PUBLIS
114
116
  export { FrameBudgetManager, MemoryLeakDetector, AutoLODManager, WorkerPool, PerfTimer, ObjectPool as LegendaryObjectPool, QUALITY_PRESETS, } from './performance/PerformanceAdvanced';
115
117
  export type { FrameBudgetConfig, BudgetReport, FrameBudgetSnapshot, MemoryTracker, MemorySnapshot, LeakSuspect, QualityLevel, AutoLODConfig, QualitySettings, WorkerTaskStatus, WorkerTask, WorkerPoolConfig, } from './performance/PerformanceAdvanced';
116
118
  export { TutorialOverlay } from './tutorials/TutorialOverlay';
117
- export type { OverlayConfig, TooltipPosition, OverlayAction, } from './tutorials/TutorialOverlay';
118
- export { DocRegistry, DOCS_ECS, DOCS_RENDERING, } from './docs/DocGenerator';
119
+ export type { OverlayConfig, TooltipPosition, OverlayAction } from './tutorials/TutorialOverlay';
120
+ export { DocRegistry, DOCS_ECS, DOCS_RENDERING } from './docs/DocGenerator';
119
121
  export type { DocCategory, DocMemberKind, DocParam, DocMember, DocModule, DocSearchResult, } from './docs/DocGenerator';
120
122
  export { BranchingEngine, AchievementEngine, BUILT_IN_ACHIEVEMENTS, } from './tutorials/TutorialBranching';
121
123
  export type { BranchConditionType, BranchCondition, BranchRule, BranchingStep, BranchingConfig, BranchContext, AchievementTier, AchievementCondition, AchievementDefinition, AchievementProgress as LegendaryAchievementProgress, } from './tutorials/TutorialBranching';
122
124
  export { HotModuleReplacer, AssetPipeline, DeployManager, CollaborationManager, } from './devtools/DevTools';
123
125
  export type { HMRModule, HMRUpdate, AssetType as PipelineAssetType, AssetMeta, AssetProcessorOptions, DeployTarget, DeployConfig, DeployResult, CollaboratorCursor, } from './devtools/DevTools';
124
- export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES, } from './kids/KidTools';
126
+ export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES } from './kids/KidTools';
125
127
  export type { WizardChoice, WizardStep, WizardResult, BlockShape, DragBlock, BlockPalette, DragDropState, } from './kids/KidTools';
126
- export { BenchmarkRunner, BUILTIN_BENCHMARKS, } from './performance/BenchmarkSuite';
128
+ export { BenchmarkRunner, BUILTIN_BENCHMARKS } from './performance/BenchmarkSuite';
127
129
  export type { BenchmarkScenario, BenchmarkTimings, BenchmarkMemory, BenchmarkResult as BenchmarkScenarioResult, BenchmarkReport, RegressionResult, } from './performance/BenchmarkSuite';
130
+ export { iconToSvgString, svgToDataUrl, loadSvgImage, rasterizeSvg, getIconTextureId, registerIconTexture, registerIconCanvasTexture, createIconEntity, createIconAnimationClip, CHARACTER_ANIMATION_STATES, OBJECT_ANIMATION_STATES, registerIconAnimationSet, createIconAnimator, registerIconCatalog, } from './integration/IconSprite';
131
+ export type { IconComponent, IconComponentProps, IconSpriteOptions, IconEntityOptions, IconAnimationFrame, IconAnimationSheetOptions, IconCatalogEntry, } from './integration/IconSprite';
132
+ export { STANDARD_VERTEX_LAYOUT, INSTANCE_LAYOUT, DEFAULT_PBR, DEFAULT_RENDER_CONFIG, GPUResourceTracker, RenderPipelineManager, WebGPURenderer, PostProcessStack, BLOOM_DEFAULTS, FXAA_DEFAULTS, SSAO_DEFAULTS, DOF_DEFAULTS, COLOR_GRADING_DEFAULTS, QUALITY_PRESET_CONFIGS, applyQualityPreset, } from './rendering/WebGPURenderPipeline';
133
+ export type { GPUTextureFormatType, GPUBlendModeType, ToneMappingMode, MaterialType, RenderPassType, LightCategory, PostEffectType, VertexAttribute, VertexBufferLayout, GPUTextureRef, PBRMaterial, UnlitMaterial, SpriteMaterial, CustomMaterial, RenderMaterial, GPULight, RenderBatch, ClusteredLightConfig, ShadowConfig, PostProcessConfig, PostEffectSettings, WebGPURenderConfig, GPUResourceHandle, GPUStats, RenderPassDescriptor, WebGPURendererState, PostProcessPass, QualityPreset, } from './rendering/WebGPURenderPipeline';
134
+ export { AudioBusMixer, SFXPool, MusicManager, GameAudioBridge, useGameAudio, GameAudioSettings, DEFAULT_SPATIAL, } from './audio/AudioBridge';
135
+ export type { AudioBusType, SpatialModel, AudioPoolStrategy, AudioBusConfig, AudioEffectNode, SpatialAudioConfig, AudioPoolConfig, GameAudioEvent, MusicTrack, MusicCrossfadeConfig, AdaptiveAudioRule, AudioSnapshot, GameAudioSettingsProps, } from './audio/AudioBridge';
136
+ export { DialogueEngine, DialogueTreeBuilder, useTypewriter, DialogueBox, ChoiceList, serializeDialogueTree, deserializeDialogueTree, validateDialogueTree, findUnreachableNodes, extractTranslatableStrings, applyLocalization, DEFAULT_TEXT_SPEED, EMOTION_COLORS, createEmptyDialogueTree, } from './dialogue/DialogueSystem';
137
+ export type { DialogueNodeType, DialogueVarType, ComparisonOp, EmotionType, TextEffectType, DialogueVariable, VariableCondition, DialogueCharacter, DialogueNodeBase, StartNode, TextNode, ChoiceOption, ChoiceNode, BranchNode, SetVariableNode, CheckVariableNode, EventNode, RandomNode, EndNode, DialogueNode, DialogueTree, } from './dialogue/DialogueSystem';
138
+ export { QuestManager, QuestBuilder, QuestList, QuestTracker, createEmptyQuest, DIFFICULTY_COLORS, DIFFICULTY_XP_MULTIPLIERS, } from './quest/QuestSystem';
139
+ export type { QuestType, QuestStatus, QuestDifficulty, QuestPrerequisite, Quest, QuestState as QuestSystemState, QuestJournal as QuestSystemJournal, QuestEventType, QuestEvent, QuestListProps, QuestTrackerProps, RewardType as QuestRewardType, } from './quest/QuestSystem';
140
+ export { compressSaveData, decompressSaveData, crc32, MigrationEngine, SaveSystemV2, DEFAULT_SAVE_CONFIG, } from './engine/SaveSystemV2';
141
+ export type { SaveSlotType, SaveConflictStrategy, SaveStorageBackend, MigrationDirection, SaveSlotMeta, SaveData, SaveMigration, CloudSyncConfig, AutoSaveConfig, SaveSystemConfig, SaveConflict, SaveResult, } from './engine/SaveSystemV2';
142
+ export { TelemetryPipeline, HeatmapGenerator, SessionRecorder, SessionPlayer, FunnelTracker, GameplayAnalytics, useGameplayAnalytics, AnalyticsDashboard, DEFAULT_TELEMETRY_CONFIG, DEFAULT_HEATMAP_CONFIG, DEFAULT_RECORDING_CONFIG, } from './devtools/GameplayAnalytics';
143
+ export type { TelemetryEventCategory, HeatmapType, SessionEventType, TelemetryEvent, TelemetryConfig, HeatmapConfig, HeatmapCell, SessionFrame, SessionRecordedEvent, SessionRecording, SessionRecordingConfig, FunnelStep, FunnelDefinition, AnalyticsDashboardProps, } from './devtools/GameplayAnalytics';
144
+ export * from './scripting/ScriptAST';
145
+ export { type ExportConfig as ScriptExportConfig, defaultConfig, type ExportedFile as ScriptExportedFile, type ExportResult as ScriptExportResult, type ExportError as ScriptExportError, type ExportWarning as ScriptExportWarning, type TypeMapping, CodeBuilder, LanguageExporter, ImperativeLanguageExporter, escapeString, toUpperCamelCase, toLowerCamelCase, toSnakeCase, toScreamingSnakeCase, } from './scripting/LanguageExporter';
146
+ export * from './scripting/GraphToAST';
147
+ export { CSharpExporter, GDScriptExporter, LuaExporter, PythonExporter, RustExporter, TypeScriptExporter, } from './scripting/exporters';
148
+ export * from './export';
149
+ export * from './import';
150
+ export * from './editor/TimelineEditor';
151
+ export * from './editor/ShaderGraph';
152
+ export * from './systems/ParticleSystem2';
153
+ export * from './ai/BehaviorTree';
154
+ export * from './ai/StateMachine';
155
+ export * from './scripting/VisualScripting2';
@@ -0,0 +1,196 @@
1
+ import type { EntityId, Color } from '../core/types';
2
+ import type { World, AnimatorComponent, SpriteAnimation } from '../ecs/World';
3
+ import type { Renderer2D } from '../rendering/Renderer2D';
4
+ /** Minimal icon component contract (matches @nice2dev/icons-gaming) */
5
+ export interface IconComponent {
6
+ (props: IconComponentProps): unknown;
7
+ displayName?: string;
8
+ }
9
+ export interface IconComponentProps {
10
+ size?: number;
11
+ animation?: string;
12
+ color?: string;
13
+ secondaryColor?: string;
14
+ }
15
+ /** Options for registering an icon as a sprite texture */
16
+ export interface IconSpriteOptions {
17
+ /** Render size in px (icons will be rasterized at this resolution) */
18
+ size?: number;
19
+ /** Primary SVG fill color */
20
+ color?: string;
21
+ /** Secondary SVG fill color */
22
+ secondaryColor?: string;
23
+ /** Animation state to bake into the texture (default: 'none') */
24
+ animation?: string;
25
+ }
26
+ /** Configuration for creating an icon-based entity */
27
+ export interface IconEntityOptions extends IconSpriteOptions {
28
+ /** Entity name override (defaults to icon displayName) */
29
+ name?: string;
30
+ /** World position X */
31
+ x?: number;
32
+ /** World position Y */
33
+ y?: number;
34
+ /** Display width in the game world (default: same as size) */
35
+ displayWidth?: number;
36
+ /** Display height in the game world (default: same as size) */
37
+ displayHeight?: number;
38
+ /** Sprite layer for depth sorting */
39
+ layer?: number;
40
+ /** Tint color multiply */
41
+ tint?: Color;
42
+ /** Opacity 0-1 */
43
+ opacity?: number;
44
+ }
45
+ /** Frame definition for icon animation sheets */
46
+ export interface IconAnimationFrame {
47
+ animation: string;
48
+ color?: string;
49
+ secondaryColor?: string;
50
+ }
51
+ /** Options for creating a multi-frame animation from icon states */
52
+ export interface IconAnimationSheetOptions {
53
+ /** Icon size per frame */
54
+ size?: number;
55
+ /** Base color (can be overridden per frame) */
56
+ color?: string;
57
+ /** Frames per second for playback */
58
+ fps?: number;
59
+ /** Whether the animation loops */
60
+ loop?: boolean;
61
+ }
62
+ /**
63
+ * Render an icon component to an SVG string using React's static markup API.
64
+ * This function must be called with the result of ReactDOMServer.renderToStaticMarkup().
65
+ */
66
+ export declare function iconToSvgString(svgMarkup: string, size: number): string;
67
+ /**
68
+ * Convert an SVG string to a data URL suitable for Image loading.
69
+ */
70
+ export declare function svgToDataUrl(svgString: string): string;
71
+ /**
72
+ * Load an SVG data URL into an HTMLImageElement (async).
73
+ */
74
+ export declare function loadSvgImage(dataUrl: string): Promise<HTMLImageElement>;
75
+ /**
76
+ * Rasterize an SVG string to an OffscreenCanvas / HTMLCanvasElement.
77
+ */
78
+ export declare function rasterizeSvg(svgString: string, size: number): Promise<HTMLCanvasElement>;
79
+ /**
80
+ * Generate a deterministic texture ID for an icon + options combination.
81
+ */
82
+ export declare function getIconTextureId(displayName: string, options?: IconSpriteOptions): string;
83
+ /**
84
+ * Register an SVG icon as a texture in the game-engine renderer.
85
+ *
86
+ * @param renderer The Renderer2D instance
87
+ * @param textureId Unique texture identifier
88
+ * @param svgMarkup Static SVG markup from ReactDOMServer.renderToStaticMarkup(<Icon ... />)
89
+ * @param size Rasterization size in px
90
+ * @returns Promise that resolves when the texture is ready
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * import { renderToStaticMarkup } from 'react-dom/server';
95
+ * import { GiWarrior } from '@nice2dev/icons-gaming';
96
+ * import { registerIconTexture, getIconTextureId } from '@nice2dev/game-engine';
97
+ *
98
+ * const id = getIconTextureId('GiWarrior', { size: 64 });
99
+ * const svg = renderToStaticMarkup(<GiWarrior size={64} color="#e74c3c" />);
100
+ * await registerIconTexture(renderer, id, svg, 64);
101
+ * ```
102
+ */
103
+ export declare function registerIconTexture(renderer: Renderer2D, textureId: string, svgMarkup: string, size: number): Promise<void>;
104
+ /**
105
+ * Register an SVG icon as a rasterized canvas texture (sync-safe after await).
106
+ * Useful when you need pixel-perfect rendering without scaling artifacts.
107
+ */
108
+ export declare function registerIconCanvasTexture(renderer: Renderer2D, textureId: string, svgMarkup: string, size: number): Promise<void>;
109
+ /**
110
+ * Create a game entity with Sprite component sourced from an icon texture.
111
+ *
112
+ * The texture must already be registered via `registerIconTexture()`.
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * const entityId = createIconEntity(world, 'GiWarrior', textureId, {
117
+ * x: 200, y: 150, displayWidth: 64, displayHeight: 64, layer: 1,
118
+ * });
119
+ * ```
120
+ */
121
+ export declare function createIconEntity(world: World, name: string, textureId: string, options?: Omit<IconEntityOptions, 'size' | 'color' | 'secondaryColor' | 'animation'>): EntityId;
122
+ /**
123
+ * Create a SpriteAnimation clip from multiple icon animation frames.
124
+ *
125
+ * Each frame is a separate registered texture. The AnimatorComponent
126
+ * switches `assetId` each frame to show different icon states.
127
+ *
128
+ * @param frames Array of { assetId, duration } for each frame
129
+ * @param loop Whether animation loops
130
+ */
131
+ export declare function createIconAnimationClip(frames: Array<{
132
+ assetId: string;
133
+ duration?: number;
134
+ }>, fps?: number, loop?: boolean): SpriteAnimation;
135
+ /**
136
+ * Predefined character animation state sequences.
137
+ * Maps game animation concepts to sets of icon animation states
138
+ * that can be baked into textures.
139
+ */
140
+ export declare const CHARACTER_ANIMATION_STATES: readonly ["idle", "move", "jump", "attack-melee", "attack-ranged", "attack-magic", "damage", "death"];
141
+ export declare const OBJECT_ANIMATION_STATES: readonly ["idle", "spin", "float", "shake", "glow", "bounce", "flicker"];
142
+ /**
143
+ * Batch-register all animation states of an icon as separate textures.
144
+ *
145
+ * @returns Map of animation state → texture ID
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * const textures = await registerIconAnimationSet(
150
+ * renderer,
151
+ * 'GiWarrior',
152
+ * (anim) => renderToStaticMarkup(<GiWarrior size={64} animation={anim} color="#e74c3c" />),
153
+ * CHARACTER_ANIMATION_STATES,
154
+ * 64,
155
+ * );
156
+ * // textures = { idle: 'icon:GiWarrior:s64:aidle', move: 'icon:GiWarrior:s64:amove', ... }
157
+ * ```
158
+ */
159
+ export declare function registerIconAnimationSet(renderer: Renderer2D, displayName: string, renderFn: (animation: string) => string, states: readonly string[], size: number): Promise<Record<string, string>>;
160
+ /**
161
+ * Create an Animator component configuration from a registered animation set.
162
+ *
163
+ * @param textureMap Result from `registerIconAnimationSet()`
164
+ * @param defaultState Initial animation state (default: 'idle')
165
+ * @param fps Frames per second for each clip
166
+ */
167
+ export declare function createIconAnimator(textureMap: Record<string, string>, defaultState?: string, fps?: number): Partial<AnimatorComponent>;
168
+ /** Entry in a resolved icon catalog */
169
+ export interface IconCatalogEntry {
170
+ name: string;
171
+ textureId: string;
172
+ category: string;
173
+ }
174
+ /**
175
+ * Register an entire icon map (e.g. `characterIcons`, `weaponIcons`)
176
+ * and return a catalog array for the asset manager / picker.
177
+ *
178
+ * @param renderer Renderer2D
179
+ * @param iconMap Map of name→icon render functions (SVG markup generators)
180
+ * @param category Category label for the asset catalog
181
+ * @param size Texture size
182
+ *
183
+ * @example
184
+ * ```ts
185
+ * const catalog = await registerIconCatalog(
186
+ * renderer,
187
+ * {
188
+ * GiWarrior: () => renderToStaticMarkup(<GiWarrior size={64} color="#e74c3c" />),
189
+ * GiMage: () => renderToStaticMarkup(<GiMage size={64} color="#3498db" />),
190
+ * },
191
+ * 'characters',
192
+ * 64,
193
+ * );
194
+ * ```
195
+ */
196
+ export declare function registerIconCatalog(renderer: Renderer2D, iconMap: Record<string, () => string>, category: string, size: number): Promise<IconCatalogEntry[]>;