@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,34 @@
1
+ /**
2
+ * @file GodotSceneImporter.ts
3
+ * @description Import Godot scenes (.tscn) and resources (.tres)
4
+ * PRO-1.3: Scene Format Interoperability
5
+ *
6
+ * Parses Godot 4.x scene format and converts to Nice2Dev entities.
7
+ * Supports:
8
+ * - Scene files (.tscn)
9
+ * - Resource files (.tres)
10
+ * - Project files (.godot)
11
+ */
12
+ import { SceneImporter, ImportOptions, ImportResult, ParsedScene, ParsedAsset, ImportError } from './SceneImporter';
13
+ export declare class GodotSceneImporter extends SceneImporter {
14
+ private extResources;
15
+ private subResources;
16
+ private nodes;
17
+ private connections;
18
+ private header;
19
+ constructor();
20
+ import(options: ImportOptions): Promise<ImportResult>;
21
+ parseFile(content: string | ArrayBuffer, filePath: string): Promise<ParsedScene | ParsedAsset | null>;
22
+ validate(sourcePath: string): Promise<ImportError[]>;
23
+ private parseGodotScene;
24
+ private saveCurrentItem;
25
+ private parseInlineParams;
26
+ private parseGodotValue;
27
+ private parseGodotArray;
28
+ private parseGodotDictionary;
29
+ private convertNodeToEntity;
30
+ private convertGodotNodeToComponent;
31
+ private extractVector2;
32
+ private extractAssets;
33
+ private readFile;
34
+ }
@@ -0,0 +1,177 @@
1
+ /**
2
+ * @file LDtkImporter.ts
3
+ * @description Import LDtk (Level Designer Toolkit) files
4
+ * PRO-1.3: Scene Format Interoperability
5
+ *
6
+ * Supports:
7
+ * - LDtk project files (.ldtk)
8
+ * - LDtk level files (.ldtkl)
9
+ *
10
+ * Features:
11
+ * - World/Level hierarchy
12
+ * - IntGrid layers
13
+ * - Tile layers
14
+ * - Entity layers
15
+ * - Auto-layer rules
16
+ * - Enums
17
+ * - Level backgrounds
18
+ */
19
+ import { SceneImporter, ImportOptions, ImportResult, ParsedScene, ParsedAsset, ImportError } from './SceneImporter';
20
+ interface LDtkTileRect {
21
+ tilesetUid: number;
22
+ x: number;
23
+ y: number;
24
+ w: number;
25
+ h: number;
26
+ }
27
+ interface LDtkIntGridValue {
28
+ value: number;
29
+ identifier: string;
30
+ color: string;
31
+ tile?: LDtkTileRect;
32
+ groupUid: number;
33
+ }
34
+ interface LDtkEntityDef {
35
+ identifier: string;
36
+ uid: number;
37
+ tags: string[];
38
+ exportToToc: boolean;
39
+ allowOutOfBounds: boolean;
40
+ doc?: string;
41
+ width: number;
42
+ height: number;
43
+ resizableX: boolean;
44
+ resizableY: boolean;
45
+ minWidth?: number;
46
+ maxWidth?: number;
47
+ minHeight?: number;
48
+ maxHeight?: number;
49
+ keepAspectRatio: boolean;
50
+ tileOpacity: number;
51
+ fillOpacity: number;
52
+ lineOpacity: number;
53
+ hollow: boolean;
54
+ color: string;
55
+ renderMode: 'Rectangle' | 'Ellipse' | 'Tile' | 'Cross';
56
+ showName: boolean;
57
+ tilesetId?: number;
58
+ tileRenderMode: 'Cover' | 'FitInside' | 'Repeat' | 'Stretch' | 'FullSizeCropped' | 'FullSizeUncropped' | 'NineSlice';
59
+ tileRect?: LDtkTileRect;
60
+ uiTileRect?: LDtkTileRect;
61
+ nineSliceBorders: number[];
62
+ maxCount: number;
63
+ limitScope: 'PerLayer' | 'PerLevel' | 'PerWorld';
64
+ limitBehavior: 'MoveLastOne' | 'PreventAdding' | 'DiscardOldOnes';
65
+ pivotX: number;
66
+ pivotY: number;
67
+ fieldDefs: LDtkFieldDef[];
68
+ }
69
+ interface LDtkFieldDef {
70
+ identifier: string;
71
+ doc?: string;
72
+ uid: number;
73
+ type: string;
74
+ isArray: boolean;
75
+ canBeNull: boolean;
76
+ arrayMinLength?: number;
77
+ arrayMaxLength?: number;
78
+ editorDisplayMode: string;
79
+ editorDisplayScale: number;
80
+ editorDisplayPos: string;
81
+ editorLinkStyle: string;
82
+ editorDisplayColor?: string;
83
+ editorAlwaysShow: boolean;
84
+ editorShowInWorld: boolean;
85
+ editorCutLongValues: boolean;
86
+ editorTextSuffix?: string;
87
+ editorTextPrefix?: string;
88
+ useForSmartColor: boolean;
89
+ exportToToc: boolean;
90
+ searchable: boolean;
91
+ min?: number;
92
+ max?: number;
93
+ regex?: string;
94
+ acceptFileTypes?: string[];
95
+ defaultOverride?: unknown;
96
+ textLanguageMode?: string;
97
+ symmetricalRef: boolean;
98
+ autoChainRef: boolean;
99
+ allowOutOfLevelRef: boolean;
100
+ allowedRefs: string;
101
+ allowedRefsEntityUid?: number;
102
+ allowedRefTags: string[];
103
+ tilesetUid?: number;
104
+ }
105
+ interface LDtkTilesetDef {
106
+ identifier: string;
107
+ uid: number;
108
+ relPath?: string;
109
+ embedAtlas?: 'LdtkIcons';
110
+ pxWid: number;
111
+ pxHei: number;
112
+ tileGridSize: number;
113
+ spacing: number;
114
+ padding: number;
115
+ tags: string[];
116
+ tagsSourceEnumUid?: number;
117
+ enumTags: {
118
+ enumValueId: string;
119
+ tileIds: number[];
120
+ }[];
121
+ customData: {
122
+ tileId: number;
123
+ data: string;
124
+ }[];
125
+ savedSelections: {
126
+ ids: number[];
127
+ mode: string;
128
+ }[];
129
+ cachedPixelData?: Record<string, unknown>;
130
+ }
131
+ interface LDtkEnumDef {
132
+ identifier: string;
133
+ uid: number;
134
+ values: LDtkEnumValue[];
135
+ iconTilesetUid?: number;
136
+ externalRelPath?: string;
137
+ externalFileChecksum?: string;
138
+ tags: string[];
139
+ }
140
+ interface LDtkEnumValue {
141
+ id: string;
142
+ tileRect?: LDtkTileRect;
143
+ color: number;
144
+ }
145
+ export declare class LDtkImporter extends SceneImporter {
146
+ private project;
147
+ private tilesets;
148
+ private entityDefs;
149
+ private layerDefs;
150
+ private enums;
151
+ constructor();
152
+ import(options: ImportOptions): Promise<ImportResult>;
153
+ parseFile(content: string | ArrayBuffer, filePath: string): Promise<ParsedScene | ParsedAsset | null>;
154
+ validate(sourcePath: string): Promise<ImportError[]>;
155
+ private indexDefinitions;
156
+ private getAllLevels;
157
+ private loadExternalLevels;
158
+ private convertLevelToScene;
159
+ private convertLayer;
160
+ private mapLayerType;
161
+ private convertTile;
162
+ private gridTilesToArray;
163
+ private convertEntity;
164
+ private convertFieldToComponent;
165
+ private convertFieldInstances;
166
+ private extractAssets;
167
+ private readFile;
168
+ /** Get IntGrid value definition by value */
169
+ getIntGridValue(layerUid: number, value: number): LDtkIntGridValue | undefined;
170
+ /** Get enum definition and values */
171
+ getEnum(identifier: string): LDtkEnumDef | undefined;
172
+ /** Get entity definition */
173
+ getEntityDef(uid: number): LDtkEntityDef | undefined;
174
+ /** Get tileset definition */
175
+ getTileset(uid: number): LDtkTilesetDef | undefined;
176
+ }
177
+ export {};
@@ -0,0 +1,237 @@
1
+ /**
2
+ * @file Live2DImporter.ts
3
+ * @description Live2D Cubism Model Importer
4
+ * PRO-1.3: Scene Format Interoperability
5
+ *
6
+ * Live2D is a technology for animating 2D characters.
7
+ * Supports Cubism 3.0+ model format.
8
+ *
9
+ * File Types:
10
+ * - *.model3.json - Model settings
11
+ * - *.moc3 - Model data (binary)
12
+ * - *.physics3.json - Physics settings
13
+ * - *.pose3.json - Pose settings
14
+ * - *.exp3.json - Expression settings
15
+ * - *.motion3.json - Motion data
16
+ * - *.cdi3.json - Display info
17
+ */
18
+ import { SceneImporter, ImportOptions, ImportResult, ParsedScene, ImportError } from './SceneImporter';
19
+ /** Live2D Model Settings (model3.json) */
20
+ export interface L2DModelSettings {
21
+ Version: number;
22
+ FileReferences: L2DFileReferences;
23
+ Groups?: L2DGroup[];
24
+ HitAreas?: L2DHitArea[];
25
+ }
26
+ export interface L2DFileReferences {
27
+ Moc: string;
28
+ Textures: string[];
29
+ Physics?: string;
30
+ Pose?: string;
31
+ DisplayInfo?: string;
32
+ Expressions?: L2DExpressionRef[];
33
+ Motions?: Record<string, L2DMotionRef[]>;
34
+ UserData?: string;
35
+ }
36
+ export interface L2DExpressionRef {
37
+ Name: string;
38
+ File: string;
39
+ }
40
+ export interface L2DMotionRef {
41
+ File: string;
42
+ FadeInTime?: number;
43
+ FadeOutTime?: number;
44
+ Sound?: string;
45
+ MotionSync?: string;
46
+ }
47
+ export interface L2DGroup {
48
+ Target: 'Parameter' | 'Part';
49
+ Name: string;
50
+ Ids: string[];
51
+ }
52
+ export interface L2DHitArea {
53
+ Id: string;
54
+ Name: string;
55
+ }
56
+ /** Live2D Physics Settings (physics3.json) */
57
+ export interface L2DPhysics {
58
+ Version: number;
59
+ Meta: L2DPhysicsMeta;
60
+ PhysicsSettings: L2DPhysicsSetting[];
61
+ }
62
+ export interface L2DPhysicsMeta {
63
+ PhysicsSettingCount: number;
64
+ TotalInputCount: number;
65
+ TotalOutputCount: number;
66
+ VertexCount: number;
67
+ EffectiveForces?: {
68
+ Gravity: {
69
+ X: number;
70
+ Y: number;
71
+ };
72
+ Wind: {
73
+ X: number;
74
+ Y: number;
75
+ };
76
+ };
77
+ PhysicsDictionary?: L2DPhysicsDictEntry[];
78
+ }
79
+ export interface L2DPhysicsDictEntry {
80
+ Id: string;
81
+ Name: string;
82
+ }
83
+ export interface L2DPhysicsSetting {
84
+ Id: string;
85
+ Input: L2DPhysicsInput[];
86
+ Output: L2DPhysicsOutput[];
87
+ Vertices: L2DPhysicsVertex[];
88
+ Normalization: L2DPhysicsNormalization;
89
+ }
90
+ export interface L2DPhysicsInput {
91
+ Source: L2DPhysicsParameter;
92
+ Weight: number;
93
+ Type: 'X' | 'Y' | 'Angle';
94
+ Reflect: boolean;
95
+ }
96
+ export interface L2DPhysicsOutput {
97
+ Destination: L2DPhysicsParameter;
98
+ VertexIndex: number;
99
+ Scale: number;
100
+ Weight: number;
101
+ Type: 'X' | 'Y' | 'Angle';
102
+ Reflect: boolean;
103
+ }
104
+ export interface L2DPhysicsParameter {
105
+ Target: 'Parameter' | 'Part';
106
+ Id: string;
107
+ }
108
+ export interface L2DPhysicsVertex {
109
+ Position: {
110
+ X: number;
111
+ Y: number;
112
+ };
113
+ Mobility: number;
114
+ Delay: number;
115
+ Acceleration: number;
116
+ Radius: number;
117
+ }
118
+ export interface L2DPhysicsNormalization {
119
+ Position: L2DPhysicsNormValue;
120
+ Angle: L2DPhysicsNormValue;
121
+ }
122
+ export interface L2DPhysicsNormValue {
123
+ Minimum: number;
124
+ Default: number;
125
+ Maximum: number;
126
+ }
127
+ /** Live2D Pose Settings (pose3.json) */
128
+ export interface L2DPose {
129
+ Version: number;
130
+ Type: 'Live2D Pose';
131
+ FadeInTime?: number;
132
+ Groups: L2DPoseGroup[][];
133
+ }
134
+ export interface L2DPoseGroup {
135
+ Id: string;
136
+ Link?: string[];
137
+ }
138
+ /** Live2D Expression (exp3.json) */
139
+ export interface L2DExpression {
140
+ Version: number;
141
+ Type: 'Live2D Expression';
142
+ FadeInTime?: number;
143
+ FadeOutTime?: number;
144
+ Parameters?: L2DExpressionParameter[];
145
+ }
146
+ export interface L2DExpressionParameter {
147
+ Id: string;
148
+ Value: number;
149
+ Blend?: 'Add' | 'Multiply' | 'Overwrite';
150
+ }
151
+ /** Live2D Motion (motion3.json) */
152
+ export interface L2DMotion {
153
+ Version: number;
154
+ Meta: L2DMotionMeta;
155
+ Curves: L2DMotionCurve[];
156
+ UserData?: L2DUserDataEvent[];
157
+ }
158
+ export interface L2DMotionMeta {
159
+ Duration: number;
160
+ Fps: number;
161
+ Loop?: boolean;
162
+ AreBeziersRestricted?: boolean;
163
+ CurveCount: number;
164
+ TotalSegmentCount: number;
165
+ TotalPointCount: number;
166
+ UserDataCount?: number;
167
+ TotalUserDataSize?: number;
168
+ }
169
+ export interface L2DMotionCurve {
170
+ Target: 'Model' | 'Parameter' | 'PartOpacity';
171
+ Id: string;
172
+ FadeInTime?: number;
173
+ FadeOutTime?: number;
174
+ Segments: number[];
175
+ }
176
+ export interface L2DUserDataEvent {
177
+ Time: number;
178
+ Value: string;
179
+ }
180
+ /** Live2D Display Info (cdi3.json) */
181
+ export interface L2DDisplayInfo {
182
+ Version: number;
183
+ Parameters?: L2DParameterInfo[];
184
+ ParameterGroups?: L2DParameterGroupInfo[];
185
+ Parts?: L2DPartInfo[];
186
+ }
187
+ export interface L2DParameterInfo {
188
+ Id: string;
189
+ GroupId?: string;
190
+ Name?: string;
191
+ }
192
+ export interface L2DParameterGroupInfo {
193
+ Id: string;
194
+ GroupId?: string;
195
+ Name?: string;
196
+ }
197
+ export interface L2DPartInfo {
198
+ Id: string;
199
+ Name?: string;
200
+ }
201
+ /** Live2D User Data */
202
+ export interface L2DUserData {
203
+ Version: number;
204
+ Meta: {
205
+ UserDataCount: number;
206
+ TotalUserDataSize: number;
207
+ };
208
+ UserData: L2DUserDataEntry[];
209
+ }
210
+ export interface L2DUserDataEntry {
211
+ Target: 'ArtMesh' | 'DrawOrder';
212
+ Id: string;
213
+ Value: string;
214
+ }
215
+ export declare class Live2DImporter extends SceneImporter {
216
+ private model;
217
+ private physics;
218
+ private pose;
219
+ private displayInfo;
220
+ private expressions;
221
+ private motions;
222
+ constructor();
223
+ canHandle(filePath: string): boolean;
224
+ import(options: ImportOptions): Promise<ImportResult>;
225
+ parseFile(content: string | ArrayBuffer, filePath: string): Promise<ParsedScene | null>;
226
+ validate(sourcePath: string): Promise<ImportError[]>;
227
+ private loadDependencies;
228
+ private convertModelToScene;
229
+ private convertModelToParsed;
230
+ private convertMotionCurves;
231
+ private getSegmentTypes;
232
+ private countKeyframes;
233
+ private readFile;
234
+ private getBaseDirectory;
235
+ private extractFileName;
236
+ }
237
+ export declare function createLive2DImporter(): Live2DImporter;