@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,255 @@
1
+ export type GPUTextureFormatType = 'bgra8unorm' | 'rgba8unorm' | 'rgba16float' | 'rgba32float' | 'depth24plus' | 'depth32float' | 'depth24plus-stencil8';
2
+ export type GPUBlendModeType = 'opaque' | 'alpha-blend' | 'additive' | 'multiply' | 'premultiplied';
3
+ export type ToneMappingMode = 'none' | 'reinhard' | 'aces' | 'filmic' | 'uncharted2';
4
+ export type MaterialType = 'pbr' | 'unlit' | 'sprite' | 'particle' | 'custom';
5
+ export type RenderPassType = 'depth-prepass' | 'shadow' | 'color' | 'transparent' | 'post-process' | 'ui-overlay';
6
+ export type LightCategory = 'directional' | 'point' | 'spot' | 'area';
7
+ export type PostEffectType = 'bloom' | 'fxaa' | 'taa' | 'ssao' | 'motion-blur' | 'chromatic-aberration' | 'vignette' | 'color-grading' | 'dof' | 'film-grain';
8
+ export interface VertexAttribute {
9
+ name: string;
10
+ format: string;
11
+ offset: number;
12
+ shaderLocation: number;
13
+ }
14
+ export interface VertexBufferLayout {
15
+ arrayStride: number;
16
+ stepMode: 'vertex' | 'instance';
17
+ attributes: VertexAttribute[];
18
+ }
19
+ /** Standard vertex layout: position(3) + normal(3) + uv(2) + tangent(4) */
20
+ export declare const STANDARD_VERTEX_LAYOUT: VertexBufferLayout;
21
+ /** Instance data layout: model matrix (4x4) + color (4) */
22
+ export declare const INSTANCE_LAYOUT: VertexBufferLayout;
23
+ export interface GPUTextureRef {
24
+ id: string;
25
+ uri?: string;
26
+ width: number;
27
+ height: number;
28
+ format: GPUTextureFormatType;
29
+ mipLevels: number;
30
+ }
31
+ export interface PBRMaterial {
32
+ type: 'pbr';
33
+ albedo: [number, number, number, number];
34
+ albedoTexture?: GPUTextureRef;
35
+ metallic: number;
36
+ roughness: number;
37
+ metallicRoughnessTexture?: GPUTextureRef;
38
+ normalTexture?: GPUTextureRef;
39
+ normalScale: number;
40
+ occlusionTexture?: GPUTextureRef;
41
+ occlusionStrength: number;
42
+ emissive: [number, number, number];
43
+ emissiveTexture?: GPUTextureRef;
44
+ emissiveIntensity: number;
45
+ alphaMode: 'opaque' | 'mask' | 'blend';
46
+ alphaCutoff: number;
47
+ doubleSided: boolean;
48
+ }
49
+ export interface UnlitMaterial {
50
+ type: 'unlit';
51
+ color: [number, number, number, number];
52
+ texture?: GPUTextureRef;
53
+ alphaMode: 'opaque' | 'mask' | 'blend';
54
+ alphaCutoff: number;
55
+ }
56
+ export interface SpriteMaterial {
57
+ type: 'sprite';
58
+ texture: GPUTextureRef;
59
+ tint: [number, number, number, number];
60
+ uvRect: [number, number, number, number];
61
+ pixelPerfect: boolean;
62
+ }
63
+ export interface CustomMaterial {
64
+ type: 'custom';
65
+ shaderCode: string;
66
+ uniforms: Record<string, number | number[] | GPUTextureRef>;
67
+ blendMode: GPUBlendModeType;
68
+ }
69
+ export type RenderMaterial = PBRMaterial | UnlitMaterial | SpriteMaterial | CustomMaterial;
70
+ export declare const DEFAULT_PBR: PBRMaterial;
71
+ export interface GPULight {
72
+ category: LightCategory;
73
+ color: [number, number, number];
74
+ intensity: number;
75
+ /** World-space position (point/spot/area) */
76
+ position?: [number, number, number];
77
+ /** Direction (directional/spot) */
78
+ direction?: [number, number, number];
79
+ /** Range for point/spot (0 = infinite) */
80
+ range?: number;
81
+ /** Inner/outer cone angle in radians (spot only) */
82
+ innerConeAngle?: number;
83
+ outerConeAngle?: number;
84
+ /** Cast shadows */
85
+ castShadow: boolean;
86
+ shadowMapSize?: number;
87
+ shadowBias?: number;
88
+ }
89
+ export interface RenderBatch {
90
+ id: string;
91
+ vertexData: Float32Array;
92
+ indexData: Uint32Array;
93
+ instanceCount: number;
94
+ instanceData?: Float32Array;
95
+ material: RenderMaterial;
96
+ layer: number;
97
+ castShadow: boolean;
98
+ receiveShadow: boolean;
99
+ }
100
+ export interface ClusteredLightConfig {
101
+ tileCountX: number;
102
+ tileCountY: number;
103
+ sliceCount: number;
104
+ maxLightsPerCluster: number;
105
+ }
106
+ export interface ShadowConfig {
107
+ enabled: boolean;
108
+ mapSize: number;
109
+ cascadeCount: number;
110
+ cascadeSplitLambda: number;
111
+ bias: number;
112
+ normalBias: number;
113
+ pcfRadius: number;
114
+ }
115
+ export interface PostProcessConfig {
116
+ enabled: boolean;
117
+ effects: PostEffectSettings[];
118
+ hdrEnabled: boolean;
119
+ toneMapping: ToneMappingMode;
120
+ exposure: number;
121
+ gamma: number;
122
+ }
123
+ export interface PostEffectSettings {
124
+ type: PostEffectType;
125
+ enabled: boolean;
126
+ intensity: number;
127
+ params: Record<string, number>;
128
+ }
129
+ export interface WebGPURenderConfig {
130
+ canvasFormat: GPUTextureFormatType;
131
+ sampleCount: number;
132
+ maxLights: number;
133
+ clusteredLighting: ClusteredLightConfig;
134
+ shadows: ShadowConfig;
135
+ postProcess: PostProcessConfig;
136
+ maxInstances: number;
137
+ depthPrepassEnabled: boolean;
138
+ frustumCulling: boolean;
139
+ occlusionCulling: boolean;
140
+ sortTransparents: boolean;
141
+ }
142
+ export declare const DEFAULT_RENDER_CONFIG: WebGPURenderConfig;
143
+ export interface GPUResourceHandle {
144
+ id: string;
145
+ type: 'buffer' | 'texture' | 'sampler' | 'pipeline' | 'bind-group';
146
+ }
147
+ export interface GPUStats {
148
+ drawCalls: number;
149
+ triangles: number;
150
+ instances: number;
151
+ textureMegabytes: number;
152
+ bufferMegabytes: number;
153
+ pipelineSwitches: number;
154
+ frameTimeMs: number;
155
+ gpuTimeMs: number;
156
+ }
157
+ /** Track GPU resource allocations */
158
+ export declare class GPUResourceTracker {
159
+ private resources;
160
+ private totalBytes;
161
+ register(id: string, type: string, sizeBytes: number, label?: string): void;
162
+ release(id: string): void;
163
+ getStats(): {
164
+ count: number;
165
+ totalMB: number;
166
+ byType: Record<string, number>;
167
+ };
168
+ clear(): void;
169
+ }
170
+ export interface RenderPassDescriptor {
171
+ type: RenderPassType;
172
+ label: string;
173
+ enabled: boolean;
174
+ order: number;
175
+ }
176
+ /** Collects batches, sorts, and generates draw calls per pass */
177
+ export declare class RenderPipelineManager {
178
+ private config;
179
+ private passes;
180
+ private batches;
181
+ private lights;
182
+ private stats;
183
+ private resourceTracker;
184
+ constructor(config?: Partial<WebGPURenderConfig>);
185
+ private initDefaultPasses;
186
+ getConfig(): Readonly<WebGPURenderConfig>;
187
+ updateConfig(patch: Partial<WebGPURenderConfig>): void;
188
+ submitBatch(batch: RenderBatch): void;
189
+ submitLight(light: GPULight): void;
190
+ clearFrame(): void;
191
+ /** Sort and organize batches for rendering */
192
+ preparePasses(): Map<RenderPassType, RenderBatch[]>;
193
+ private isOpaque;
194
+ /** Generate draw statistics */
195
+ computeStats(): GPUStats;
196
+ getLights(): readonly GPULight[];
197
+ getPasses(): readonly RenderPassDescriptor[];
198
+ getResourceTracker(): GPUResourceTracker;
199
+ }
200
+ export interface WebGPURendererState {
201
+ initialized: boolean;
202
+ supported: boolean;
203
+ adapterInfo: string;
204
+ deviceLimits: Record<string, number>;
205
+ }
206
+ /** High-level WebGPU renderer that manages device, pipelines, and frame submission */
207
+ export declare class WebGPURenderer {
208
+ private pipeline;
209
+ private state;
210
+ private frameCallback;
211
+ constructor(config?: Partial<WebGPURenderConfig>);
212
+ /** Check WebGPU support */
213
+ isSupported(): boolean;
214
+ /** Initialize the WebGPU device */
215
+ initialize(): Promise<boolean>;
216
+ /** Submit a renderable batch */
217
+ submit(batch: RenderBatch): void;
218
+ /** Submit a light */
219
+ addLight(light: GPULight): void;
220
+ /** Execute full render frame */
221
+ renderFrame(): GPUStats;
222
+ /** Register frame callback */
223
+ onFrame(cb: (stats: GPUStats) => void): void;
224
+ getState(): Readonly<WebGPURendererState>;
225
+ getPipeline(): RenderPipelineManager;
226
+ /** Get available shader sources for debug/customization */
227
+ getShaderSources(): Record<string, string>;
228
+ destroy(): void;
229
+ }
230
+ export interface PostProcessPass {
231
+ type: PostEffectType;
232
+ enabled: boolean;
233
+ intensity: number;
234
+ params: Record<string, number>;
235
+ }
236
+ export declare const BLOOM_DEFAULTS: PostProcessPass;
237
+ export declare const FXAA_DEFAULTS: PostProcessPass;
238
+ export declare const SSAO_DEFAULTS: PostProcessPass;
239
+ export declare const DOF_DEFAULTS: PostProcessPass;
240
+ export declare const COLOR_GRADING_DEFAULTS: PostProcessPass;
241
+ /** Manage ordered post-process stack */
242
+ export declare class PostProcessStack {
243
+ private passes;
244
+ add(pass: PostProcessPass): void;
245
+ remove(type: PostEffectType): void;
246
+ setEnabled(type: PostEffectType, enabled: boolean): void;
247
+ setIntensity(type: PostEffectType, intensity: number): void;
248
+ getActive(): PostProcessPass[];
249
+ getAll(): readonly PostProcessPass[];
250
+ reorder(order: PostEffectType[]): void;
251
+ clear(): void;
252
+ }
253
+ export type QualityPreset = 'low' | 'medium' | 'high' | 'ultra';
254
+ export declare const QUALITY_PRESET_CONFIGS: Record<QualityPreset, Partial<WebGPURenderConfig>>;
255
+ export declare function applyQualityPreset(preset: QualityPreset): WebGPURenderConfig;
@@ -0,0 +1,55 @@
1
+ import type { ScriptGraph } from './NodeGraph';
2
+ import { NodeLibrary } from './NodeGraph';
3
+ import type { ASTScript } from './ScriptAST';
4
+ export interface ConvertOptions {
5
+ /** Name for the generated class */
6
+ className?: string;
7
+ /** Base class to extend */
8
+ baseClass?: string;
9
+ /** Whether to generate async methods for delay/wait nodes */
10
+ useAsync?: boolean;
11
+ /** Whether to generate comments showing node IDs */
12
+ includeNodeIds?: boolean;
13
+ /** Prefix for generated variable names */
14
+ varPrefix?: string;
15
+ }
16
+ export declare class GraphToAST {
17
+ private library;
18
+ constructor(library?: NodeLibrary);
19
+ /**
20
+ * Convert a visual script graph to AST representation.
21
+ */
22
+ convert(graph: ScriptGraph, options?: ConvertOptions): ASTScript;
23
+ /**
24
+ * Convert multiple graphs into a single script module.
25
+ */
26
+ convertMultiple(graphs: ScriptGraph[], moduleName: string, options?: ConvertOptions): ASTScript;
27
+ private findEntryNodes;
28
+ private entryTypeToMethodName;
29
+ private convertVariables;
30
+ private valueToASTType;
31
+ private convertEntryPointsToMethod;
32
+ private getEntryParams;
33
+ private createEmptyMethod;
34
+ private processNode;
35
+ private generateNodeCode;
36
+ private generateFlowNode;
37
+ private generateIfElse;
38
+ private generateDelay;
39
+ private generateForLoop;
40
+ private generateWhileLoop;
41
+ private generateMathNode;
42
+ private generateLogicNode;
43
+ private generateVariableNode;
44
+ private generateEntityNode;
45
+ private generateInputNode;
46
+ private generateAudioNode;
47
+ private generateGenericNode;
48
+ private resolveInputExpression;
49
+ private valueToExpression;
50
+ private getOrCreateNodeVar;
51
+ private getFlowTargetNodes;
52
+ private followFlowConnections;
53
+ }
54
+ export declare function convertGraphToAST(graph: ScriptGraph, library: NodeLibrary, options?: ConvertOptions): ASTScript;
55
+ export default GraphToAST;
@@ -0,0 +1,136 @@
1
+ import type { ASTScript, ASTClass, ASTFunction, ASTField, ASTProperty, ASTStatement, ASTExpression, ASTTypeInfo, ASTVarDecl, ASTAssignment, ASTIf, ASTWhile, ASTFor, ASTForEach, ASTReturn, ASTSwitch, ASTTry, ASTLiteral, ASTBinaryOp, ASTUnaryOp, ASTCall, ASTMethodCall, ASTPropertyAccess, ASTIndexAccess, ASTConditional, ASTArrayLiteral, ASTDictionaryLiteral, ASTCast, ASTLambda, ASTNew, ASTImport, ASTEnum, ASTSignalDef } from './ScriptAST';
2
+ export interface ExportConfig {
3
+ /** Target game engine/platform */
4
+ targetEngine?: 'unity' | 'godot' | 'bevy' | 'pygame' | 'love2d' | 'defold' | 'generic';
5
+ /** Engine version (e.g., '4.2' for Godot) */
6
+ engineVersion?: string;
7
+ /** Indentation string */
8
+ indent: string;
9
+ /** Line ending */
10
+ lineEnding: '\n' | '\r\n';
11
+ /** Whether to include debug comments */
12
+ includeDebugComments: boolean;
13
+ /** Include source node IDs in comments */
14
+ includeSourceMappings: boolean;
15
+ /** Base class name for generated scripts */
16
+ baseClassName?: string;
17
+ /** Namespace/package for generated code */
18
+ namespace?: string;
19
+ /** Additional custom options */
20
+ custom?: Record<string, unknown>;
21
+ }
22
+ export declare const defaultConfig: ExportConfig;
23
+ export interface ExportedFile {
24
+ filename: string;
25
+ content: string;
26
+ /** Language/file type */
27
+ language: string;
28
+ /** Optional file path for export consumption */
29
+ path?: string;
30
+ }
31
+ export interface ExportResult {
32
+ files: ExportedFile[];
33
+ errors: ExportError[];
34
+ warnings: ExportWarning[];
35
+ stats: {
36
+ classCount: number;
37
+ methodCount: number;
38
+ lineCount: number;
39
+ exportDuration: number;
40
+ };
41
+ }
42
+ export interface ExportError {
43
+ message: string;
44
+ nodeId?: string;
45
+ line?: number;
46
+ column?: number;
47
+ }
48
+ export interface ExportWarning {
49
+ message: string;
50
+ nodeId?: string;
51
+ suggestion?: string;
52
+ }
53
+ export interface TypeMapping {
54
+ [key: string]: string;
55
+ }
56
+ export declare class CodeBuilder {
57
+ private lines;
58
+ private currentIndent;
59
+ private indentStr;
60
+ private lineEnding;
61
+ constructor(config: ExportConfig);
62
+ indent(): this;
63
+ dedent(): this;
64
+ line(text?: string): this;
65
+ rawLine(text: string): this;
66
+ emptyLine(): this;
67
+ comment(text: string, style?: 'line' | 'block'): this;
68
+ docComment(text: string, style?: 'csharp' | 'jsdoc' | 'python' | 'lua'): this;
69
+ block(open: string, close: string, body: () => void): this;
70
+ toString(): string;
71
+ get lineCount(): number;
72
+ }
73
+ export declare abstract class LanguageExporter {
74
+ protected config: ExportConfig;
75
+ protected errors: ExportError[];
76
+ protected warnings: ExportWarning[];
77
+ /** Language name for identification */
78
+ abstract readonly languageName: string;
79
+ /** File extension without dot */
80
+ abstract readonly fileExtension: string;
81
+ /** Type mapping from AST types to target language */
82
+ abstract readonly typeMapping: TypeMapping;
83
+ constructor(config?: Partial<ExportConfig>);
84
+ export(script: ASTScript, config?: Partial<ExportConfig>): ExportResult;
85
+ protected addError(message: string, nodeId?: string): void;
86
+ protected addWarning(message: string, nodeId?: string, suggestion?: string): void;
87
+ protected mapType(typeInfo: ASTTypeInfo): string;
88
+ protected createBuilder(): CodeBuilder;
89
+ protected abstract generateScript(script: ASTScript): string;
90
+ protected abstract generateClass(cls: ASTClass, builder: CodeBuilder): void;
91
+ protected abstract generateMethod(method: ASTFunction, builder: CodeBuilder): void;
92
+ protected abstract generateField(field: ASTField, builder: CodeBuilder): void;
93
+ protected abstract generateStatement(stmt: ASTStatement, builder: CodeBuilder): void;
94
+ protected abstract generateExpression(expr: ASTExpression): string;
95
+ protected formatArrayType(elementType: string): string;
96
+ protected formatDictType(keyType: string, valueType: string): string;
97
+ protected formatNullableType(baseType: string): string;
98
+ protected generateImport(_imp: ASTImport, _builder: CodeBuilder): void;
99
+ protected generateEnum(_en: ASTEnum, _builder: CodeBuilder): void;
100
+ protected generateProperty(_prop: ASTProperty, _builder: CodeBuilder): void;
101
+ protected generateSignal(_signal: ASTSignalDef, _builder: CodeBuilder): void;
102
+ }
103
+ export declare abstract class ImperativeLanguageExporter extends LanguageExporter {
104
+ protected generateStatement(stmt: ASTStatement, builder: CodeBuilder): void;
105
+ protected generateExpression(expr: ASTExpression): string;
106
+ protected abstract readonly statementTerminator: string;
107
+ protected abstract readonly breakKeyword: string;
108
+ protected abstract readonly continueKeyword: string;
109
+ protected abstract generateVarDecl(decl: ASTVarDecl, builder: CodeBuilder): void;
110
+ protected abstract generateAssignment(assign: ASTAssignment, builder: CodeBuilder): void;
111
+ protected abstract generateIf(stmt: ASTIf, builder: CodeBuilder): void;
112
+ protected abstract generateWhile(stmt: ASTWhile, builder: CodeBuilder): void;
113
+ protected abstract generateFor(stmt: ASTFor, builder: CodeBuilder): void;
114
+ protected abstract generateForEach(stmt: ASTForEach, builder: CodeBuilder): void;
115
+ protected abstract generateReturn(stmt: ASTReturn, builder: CodeBuilder): void;
116
+ protected abstract generateSwitch(stmt: ASTSwitch, builder: CodeBuilder): void;
117
+ protected abstract generateTry(stmt: ASTTry, builder: CodeBuilder): void;
118
+ protected abstract generateLiteral(lit: ASTLiteral): string;
119
+ protected abstract generateBinaryOp(op: ASTBinaryOp): string;
120
+ protected abstract generateUnaryOp(op: ASTUnaryOp): string;
121
+ protected abstract generateCall(call: ASTCall): string;
122
+ protected abstract generateMethodCall(call: ASTMethodCall): string;
123
+ protected abstract generatePropertyAccess(access: ASTPropertyAccess): string;
124
+ protected abstract generateIndexAccess(access: ASTIndexAccess): string;
125
+ protected abstract generateConditional(cond: ASTConditional): string;
126
+ protected abstract generateArrayLiteral(arr: ASTArrayLiteral): string;
127
+ protected abstract generateDictionaryLiteral(dict: ASTDictionaryLiteral): string;
128
+ protected abstract generateCast(cast: ASTCast): string;
129
+ protected abstract generateLambda(lambda: ASTLambda): string;
130
+ protected abstract generateNew(n: ASTNew): string;
131
+ }
132
+ export declare function escapeString(str: string, quote?: '"' | "'"): string;
133
+ export declare function toUpperCamelCase(str: string): string;
134
+ export declare function toLowerCamelCase(str: string): string;
135
+ export declare function toSnakeCase(str: string): string;
136
+ export declare function toScreamingSnakeCase(str: string): string;