@nice2dev/game-engine 1.3.13 → 1.3.14

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 (253) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +2 -2
  3. package/dist/types/accessibility/index.d.ts +0 -1
  4. package/dist/types/ai/index.d.ts +0 -1
  5. package/dist/types/animation/index.d.ts +0 -1
  6. package/dist/types/audio/HRTFAudio.d.ts +0 -180
  7. package/dist/types/audio/index.d.ts +0 -2
  8. package/dist/types/community/Community.d.ts +0 -112
  9. package/dist/types/community/index.d.ts +0 -1
  10. package/dist/types/core/TypeSafety.d.ts +0 -190
  11. package/dist/types/core/index.d.ts +0 -7
  12. package/dist/types/devtools/AssetStore.d.ts +0 -133
  13. package/dist/types/devtools/index.d.ts +0 -3
  14. package/dist/types/dialogue/index.d.ts +0 -2
  15. package/dist/types/docs/APIPlayground.d.ts +0 -26
  16. package/dist/types/docs/Cookbook.d.ts +0 -18
  17. package/dist/types/docs/Guides.d.ts +0 -18
  18. package/dist/types/docs/index.d.ts +0 -4
  19. package/dist/types/ecs/ECSOptimized.d.ts +0 -131
  20. package/dist/types/ecs/index.d.ts +0 -2
  21. package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
  22. package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
  23. package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
  24. package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
  25. package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
  26. package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
  27. package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
  28. package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
  29. package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
  30. package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
  31. package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
  32. package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
  33. package/dist/types/editor/behavior-tree/index.d.ts +0 -14
  34. package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
  35. package/dist/types/editor/behavior-tree/types.d.ts +0 -299
  36. package/dist/types/editor/index.d.ts +0 -20
  37. package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
  38. package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
  39. package/dist/types/editor/state-machine/index.d.ts +0 -11
  40. package/dist/types/editor/state-machine/serialization.d.ts +0 -23
  41. package/dist/types/editor/state-machine/types.d.ts +0 -241
  42. package/dist/types/engine/index.d.ts +0 -2
  43. package/dist/types/enterprise/index.d.ts +0 -1
  44. package/dist/types/epic/index.d.ts +0 -10
  45. package/dist/types/i18n/index.d.ts +0 -2
  46. package/dist/types/input/index.d.ts +0 -3
  47. package/dist/types/kids/index.d.ts +0 -2
  48. package/dist/types/legendary/index.d.ts +0 -57
  49. package/dist/types/monetization/index.d.ts +0 -1
  50. package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
  51. package/dist/types/multiplayer/index.d.ts +0 -5
  52. package/dist/types/network/index.d.ts +0 -2
  53. package/dist/types/pathfinding/index.d.ts +0 -1
  54. package/dist/types/performance/AssetCompression.d.ts +0 -137
  55. package/dist/types/performance/WASMModules.d.ts +0 -65
  56. package/dist/types/performance/WebGPUCompute.d.ts +0 -71
  57. package/dist/types/performance/index.d.ts +0 -1
  58. package/dist/types/physics/RapierIntegration.d.ts +0 -404
  59. package/dist/types/physics/index.d.ts +0 -2
  60. package/dist/types/plugins/index.d.ts +0 -2
  61. package/dist/types/procedural/index.d.ts +0 -2
  62. package/dist/types/release/index.d.ts +0 -1
  63. package/dist/types/rendering/WebGPUv2.d.ts +0 -173
  64. package/dist/types/rendering/index.d.ts +0 -3
  65. package/dist/types/runtime3d/index.d.ts +0 -2
  66. package/dist/types/scene/index.d.ts +0 -2
  67. package/dist/types/scripting/WasmCompiler.d.ts +0 -182
  68. package/dist/types/scripting/index.d.ts +0 -19
  69. package/dist/types/social/index.d.ts +0 -1
  70. package/dist/types/systems/NiceAI.d.ts +0 -637
  71. package/dist/types/systems/NiceAbility.d.ts +0 -225
  72. package/dist/types/systems/NiceAccessibility.d.ts +0 -230
  73. package/dist/types/systems/NiceAchievement.d.ts +0 -153
  74. package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
  75. package/dist/types/systems/NiceAchievements.d.ts +0 -230
  76. package/dist/types/systems/NiceAction.d.ts +0 -81
  77. package/dist/types/systems/NiceAlchemy.d.ts +0 -195
  78. package/dist/types/systems/NiceAnalytics.d.ts +0 -493
  79. package/dist/types/systems/NiceAnimation.d.ts +0 -350
  80. package/dist/types/systems/NiceArena.d.ts +0 -215
  81. package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
  82. package/dist/types/systems/NiceAuction.d.ts +0 -157
  83. package/dist/types/systems/NiceAudio.d.ts +0 -224
  84. package/dist/types/systems/NiceAugment.d.ts +0 -187
  85. package/dist/types/systems/NiceAura.d.ts +0 -193
  86. package/dist/types/systems/NiceBank.d.ts +0 -158
  87. package/dist/types/systems/NiceBattlePass.d.ts +0 -150
  88. package/dist/types/systems/NiceBehavior.d.ts +0 -160
  89. package/dist/types/systems/NiceBinding.d.ts +0 -96
  90. package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
  91. package/dist/types/systems/NiceBuff.d.ts +0 -177
  92. package/dist/types/systems/NiceBuilding.d.ts +0 -207
  93. package/dist/types/systems/NiceBullet.d.ts +0 -167
  94. package/dist/types/systems/NiceCamera.d.ts +0 -252
  95. package/dist/types/systems/NiceCard.d.ts +0 -171
  96. package/dist/types/systems/NiceChat.d.ts +0 -148
  97. package/dist/types/systems/NiceCheat.d.ts +0 -375
  98. package/dist/types/systems/NiceClimbing.d.ts +0 -186
  99. package/dist/types/systems/NiceCloud.d.ts +0 -422
  100. package/dist/types/systems/NiceCollision.d.ts +0 -238
  101. package/dist/types/systems/NiceCombo.d.ts +0 -131
  102. package/dist/types/systems/NiceCommand.d.ts +0 -112
  103. package/dist/types/systems/NiceCompanion.d.ts +0 -182
  104. package/dist/types/systems/NiceController.d.ts +0 -144
  105. package/dist/types/systems/NiceCooking.d.ts +0 -193
  106. package/dist/types/systems/NiceCoroutine.d.ts +0 -101
  107. package/dist/types/systems/NiceCrafting.d.ts +0 -228
  108. package/dist/types/systems/NiceCutscene.d.ts +0 -437
  109. package/dist/types/systems/NiceDaily.d.ts +0 -133
  110. package/dist/types/systems/NiceDamage.d.ts +0 -271
  111. package/dist/types/systems/NiceDayNight.d.ts +0 -126
  112. package/dist/types/systems/NiceDebug.d.ts +0 -255
  113. package/dist/types/systems/NiceDestructible.d.ts +0 -150
  114. package/dist/types/systems/NiceDialogue.d.ts +0 -629
  115. package/dist/types/systems/NiceDungeon.d.ts +0 -202
  116. package/dist/types/systems/NiceECS.d.ts +0 -151
  117. package/dist/types/systems/NiceEnchant.d.ts +0 -148
  118. package/dist/types/systems/NiceEntityPool.d.ts +0 -127
  119. package/dist/types/systems/NiceEquipment.d.ts +0 -137
  120. package/dist/types/systems/NiceEvent.d.ts +0 -202
  121. package/dist/types/systems/NiceEventBus.d.ts +0 -164
  122. package/dist/types/systems/NiceFaction.d.ts +0 -173
  123. package/dist/types/systems/NiceFarming.d.ts +0 -163
  124. package/dist/types/systems/NiceFishing.d.ts +0 -196
  125. package/dist/types/systems/NiceFlocking.d.ts +0 -156
  126. package/dist/types/systems/NiceFog.d.ts +0 -137
  127. package/dist/types/systems/NiceFormation.d.ts +0 -140
  128. package/dist/types/systems/NiceGacha.d.ts +0 -134
  129. package/dist/types/systems/NiceGambling.d.ts +0 -175
  130. package/dist/types/systems/NiceGem.d.ts +0 -165
  131. package/dist/types/systems/NiceGesture.d.ts +0 -502
  132. package/dist/types/systems/NiceGrappling.d.ts +0 -154
  133. package/dist/types/systems/NiceGrid.d.ts +0 -142
  134. package/dist/types/systems/NiceGuild.d.ts +0 -162
  135. package/dist/types/systems/NiceHaptics.d.ts +0 -112
  136. package/dist/types/systems/NiceHousing.d.ts +0 -197
  137. package/dist/types/systems/NiceInput.d.ts +0 -280
  138. package/dist/types/systems/NiceInventory.d.ts +0 -534
  139. package/dist/types/systems/NiceLOD.d.ts +0 -144
  140. package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
  141. package/dist/types/systems/NiceLevel.d.ts +0 -304
  142. package/dist/types/systems/NiceLighting.d.ts +0 -214
  143. package/dist/types/systems/NiceLocalization.d.ts +0 -148
  144. package/dist/types/systems/NiceLocomotion.d.ts +0 -398
  145. package/dist/types/systems/NiceLogger.d.ts +0 -117
  146. package/dist/types/systems/NiceLoot.d.ts +0 -176
  147. package/dist/types/systems/NiceMail.d.ts +0 -164
  148. package/dist/types/systems/NiceMap.d.ts +0 -234
  149. package/dist/types/systems/NiceMarriage.d.ts +0 -150
  150. package/dist/types/systems/NiceMastery.d.ts +0 -171
  151. package/dist/types/systems/NiceMatch.d.ts +0 -196
  152. package/dist/types/systems/NiceMatch3.d.ts +0 -118
  153. package/dist/types/systems/NiceMessageBus.d.ts +0 -115
  154. package/dist/types/systems/NiceMinimap.d.ts +0 -258
  155. package/dist/types/systems/NiceMining.d.ts +0 -175
  156. package/dist/types/systems/NiceModding.d.ts +0 -452
  157. package/dist/types/systems/NiceMount.d.ts +0 -152
  158. package/dist/types/systems/NiceNavigation.d.ts +0 -307
  159. package/dist/types/systems/NiceNetwork.d.ts +0 -568
  160. package/dist/types/systems/NiceNotification.d.ts +0 -438
  161. package/dist/types/systems/NiceObjective.d.ts +0 -395
  162. package/dist/types/systems/NiceParticle.d.ts +0 -639
  163. package/dist/types/systems/NiceParty.d.ts +0 -168
  164. package/dist/types/systems/NicePerformance.d.ts +0 -144
  165. package/dist/types/systems/NicePet.d.ts +0 -167
  166. package/dist/types/systems/NicePhotoMode.d.ts +0 -270
  167. package/dist/types/systems/NicePhysics.d.ts +0 -326
  168. package/dist/types/systems/NicePlatformer.d.ts +0 -158
  169. package/dist/types/systems/NicePool.d.ts +0 -128
  170. package/dist/types/systems/NicePortal.d.ts +0 -178
  171. package/dist/types/systems/NicePostProcess.d.ts +0 -254
  172. package/dist/types/systems/NiceProcedural.d.ts +0 -202
  173. package/dist/types/systems/NiceProfile.d.ts +0 -223
  174. package/dist/types/systems/NiceProjectile.d.ts +0 -157
  175. package/dist/types/systems/NicePvP.d.ts +0 -199
  176. package/dist/types/systems/NiceQTE.d.ts +0 -160
  177. package/dist/types/systems/NiceQuest.d.ts +0 -620
  178. package/dist/types/systems/NiceRaid.d.ts +0 -215
  179. package/dist/types/systems/NiceRanking.d.ts +0 -399
  180. package/dist/types/systems/NiceReplay.d.ts +0 -180
  181. package/dist/types/systems/NiceReputation.d.ts +0 -151
  182. package/dist/types/systems/NiceResource.d.ts +0 -200
  183. package/dist/types/systems/NiceRhythm.d.ts +0 -148
  184. package/dist/types/systems/NiceRoguelike.d.ts +0 -276
  185. package/dist/types/systems/NiceRune.d.ts +0 -202
  186. package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
  187. package/dist/types/systems/NiceSceneManager.d.ts +0 -112
  188. package/dist/types/systems/NiceScore.d.ts +0 -186
  189. package/dist/types/systems/NiceScreenFX.d.ts +0 -235
  190. package/dist/types/systems/NiceScreenshot.d.ts +0 -443
  191. package/dist/types/systems/NiceScribe.d.ts +0 -239
  192. package/dist/types/systems/NiceSeason.d.ts +0 -176
  193. package/dist/types/systems/NiceSerialization.d.ts +0 -89
  194. package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
  195. package/dist/types/systems/NiceShop.d.ts +0 -528
  196. package/dist/types/systems/NiceSignal.d.ts +0 -112
  197. package/dist/types/systems/NiceSkillTree.d.ts +0 -237
  198. package/dist/types/systems/NiceSocial.d.ts +0 -580
  199. package/dist/types/systems/NiceSpawner.d.ts +0 -237
  200. package/dist/types/systems/NiceSpell.d.ts +0 -216
  201. package/dist/types/systems/NiceState.d.ts +0 -224
  202. package/dist/types/systems/NiceStateMachine.d.ts +0 -108
  203. package/dist/types/systems/NiceStatus.d.ts +0 -116
  204. package/dist/types/systems/NiceStealth.d.ts +0 -204
  205. package/dist/types/systems/NiceSteam.d.ts +0 -255
  206. package/dist/types/systems/NiceStreaming.d.ts +0 -173
  207. package/dist/types/systems/NiceSwimming.d.ts +0 -166
  208. package/dist/types/systems/NiceTalent.d.ts +0 -154
  209. package/dist/types/systems/NiceTarget.d.ts +0 -121
  210. package/dist/types/systems/NiceTerrain.d.ts +0 -143
  211. package/dist/types/systems/NiceTilemap.d.ts +0 -218
  212. package/dist/types/systems/NiceTimer.d.ts +0 -153
  213. package/dist/types/systems/NiceTournament.d.ts +0 -190
  214. package/dist/types/systems/NiceTrading.d.ts +0 -238
  215. package/dist/types/systems/NiceTransmog.d.ts +0 -142
  216. package/dist/types/systems/NiceTutorial.d.ts +0 -248
  217. package/dist/types/systems/NiceTween.d.ts +0 -164
  218. package/dist/types/systems/NiceUI.d.ts +0 -364
  219. package/dist/types/systems/NiceVFX.d.ts +0 -333
  220. package/dist/types/systems/NiceVehicle.d.ts +0 -176
  221. package/dist/types/systems/NiceVoice.d.ts +0 -502
  222. package/dist/types/systems/NiceWater.d.ts +0 -162
  223. package/dist/types/systems/NiceWave.d.ts +0 -174
  224. package/dist/types/systems/NiceWaypoint.d.ts +0 -165
  225. package/dist/types/systems/NiceWeather.d.ts +0 -225
  226. package/dist/types/systems/NiceXR.d.ts +0 -187
  227. package/dist/types/systems/index.d.ts +0 -182
  228. package/dist/types/templates/index.d.ts +0 -2
  229. package/dist/types/tilemap/index.d.ts +0 -1
  230. package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
  231. package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
  232. package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
  233. package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
  234. package/dist/types/tutorials/content/index.d.ts +0 -5
  235. package/dist/types/tutorials/index.d.ts +0 -6
  236. package/dist/types/ui/index.d.ts +0 -2
  237. package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
  238. package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
  239. package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
  240. package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
  241. package/dist/types/visual-scripting/index.d.ts +0 -6
  242. package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
  243. package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
  244. package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
  245. package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
  246. package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
  247. package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
  248. package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
  249. package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
  250. package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
  251. package/dist/types/visual-scripting/types.d.ts +0 -402
  252. package/dist/types/xr/WebXRLayers.d.ts +0 -319
  253. package/dist/types/xr/index.d.ts +0 -2
@@ -1,145 +0,0 @@
1
- import { type DebuggerState, type Breakpoint, type DebuggerMode } from './types';
2
- export type DebuggerEventType = 'breakpoint_hit' | 'step_complete' | 'paused' | 'resumed' | 'error' | 'variable_changed' | 'call_stack_changed' | 'watch_value_changed';
3
- export interface DebuggerEvent {
4
- type: DebuggerEventType;
5
- graphId?: string;
6
- nodeId?: string;
7
- data?: unknown;
8
- }
9
- export type DebuggerEventHandler = (event: DebuggerEvent) => void;
10
- export interface WatchExpression {
11
- id: string;
12
- expression: string;
13
- name?: string;
14
- currentValue?: unknown;
15
- lastError?: string;
16
- }
17
- export interface CallStackFrame {
18
- graphId: string;
19
- nodeId: string;
20
- nodeName: string;
21
- nodeType: string;
22
- timestamp: number;
23
- }
24
- export declare class VisualScriptDebugger {
25
- /** Debugger state */
26
- private state;
27
- /** Breakpoints by graph ID */
28
- private breakpoints;
29
- /** Conditional breakpoints */
30
- private conditionalBreakpoints;
31
- /** Watch expressions */
32
- private watches;
33
- /** Call stack */
34
- private callStack;
35
- /** Variable history (for undo/logging) */
36
- private variableHistory;
37
- /** Event handlers */
38
- private eventHandlers;
39
- /** Hit counts for breakpoints */
40
- private hitCounts;
41
- /** Skip counts for breakpoints */
42
- private skipCounts;
43
- /** Current node being debugged */
44
- private currentNode;
45
- /** Current graph being debugged */
46
- private currentGraph;
47
- constructor();
48
- /** Get current debugger state */
49
- getState(): DebuggerState;
50
- /** Set debugger mode */
51
- setMode(mode: DebuggerMode): void;
52
- /** Enable debugger */
53
- enable(): void;
54
- /** Disable debugger */
55
- disable(): void;
56
- /** Check if debugger is active */
57
- isActive(): boolean;
58
- /** Check if paused */
59
- isPaused(): boolean;
60
- /** Pause execution */
61
- pause(): void;
62
- /** Resume execution */
63
- resume(): void;
64
- /** Step into next node */
65
- stepInto(): void;
66
- /** Step over (complete current node) */
67
- stepOver(): void;
68
- /** Step out (complete current execution path) */
69
- stepOut(): void;
70
- /** Check if should break at node */
71
- shouldBreak(graphId: string, nodeId: string): boolean;
72
- /** Add breakpoint */
73
- addBreakpoint(graphId: string, nodeId: string, condition?: string): Breakpoint;
74
- /** Remove breakpoint */
75
- removeBreakpoint(graphId: string, nodeId: string): void;
76
- /** Toggle breakpoint */
77
- toggleBreakpoint(graphId: string, nodeId: string): boolean;
78
- /** Check if breakpoint exists */
79
- hasBreakpoint(graphId: string, nodeId: string): boolean;
80
- /** Get all breakpoints */
81
- getBreakpoints(): Breakpoint[];
82
- /** Set skip count for breakpoint */
83
- setBreakpointSkipCount(graphId: string, nodeId: string, count: number): void;
84
- /** Clear all breakpoints */
85
- clearAllBreakpoints(): void;
86
- /** Add watch expression */
87
- addWatch(expression: string, name?: string): WatchExpression;
88
- /** Remove watch */
89
- removeWatch(id: string): void;
90
- /** Update watch value */
91
- updateWatch(id: string, value: unknown): void;
92
- /** Evaluate watch expressions with context */
93
- evaluateWatches(context: Map<string, unknown>): void;
94
- /** Get all watches */
95
- getWatches(): WatchExpression[];
96
- /** Push frame to call stack */
97
- pushCallStack(frame: CallStackFrame): void;
98
- /** Pop frame from call stack */
99
- popCallStack(): CallStackFrame | undefined;
100
- /** Get call stack */
101
- getCallStack(): CallStackFrame[];
102
- /** Clear call stack */
103
- clearCallStack(): void;
104
- /** Called when node execution starts */
105
- onNodeEnter(graphId: string, nodeId: string): void;
106
- /** Called when node execution ends */
107
- onNodeExit(graphId: string, nodeId: string): void;
108
- /** Called when an error occurs */
109
- onError(graphId: string, nodeId: string, error: Error): void;
110
- /** Called when a variable changes */
111
- onVariableChange(graphId: string, name: string, oldValue: unknown, newValue: unknown): void;
112
- /** Get variable history */
113
- getVariableHistory(name: string): Array<{
114
- value: unknown;
115
- timestamp: number;
116
- }>;
117
- /** Add event handler */
118
- addEventListener(handler: DebuggerEventHandler): void;
119
- /** Remove event handler */
120
- removeEventListener(handler: DebuggerEventHandler): void;
121
- /** Emit event */
122
- private emit;
123
- /** Reset debugger state */
124
- reset(): void;
125
- /** Get debug info for a node */
126
- getNodeDebugInfo(graphId: string, nodeId: string): NodeDebugInfo;
127
- /** Serialize debugger state */
128
- serialize(): SerializedDebuggerState;
129
- /** Deserialize debugger state */
130
- deserialize(data: SerializedDebuggerState): void;
131
- }
132
- export interface NodeDebugInfo {
133
- isBreakpoint: boolean;
134
- isCurrent: boolean;
135
- hitCount: number;
136
- }
137
- export interface SerializedDebuggerState {
138
- mode: DebuggerMode;
139
- breakpoints: Breakpoint[];
140
- watches: Array<{
141
- expression: string;
142
- name?: string;
143
- }>;
144
- }
145
- export declare function createDebugger(): VisualScriptDebugger;
@@ -1,100 +0,0 @@
1
- import { type ExecutionContext, type VisualScriptEvent } from './types';
2
- import { VisualScriptDebugger } from './VisualScriptDebugger';
3
- import { VisualScriptGraph } from './VisualScriptGraph';
4
- import { LatentNode } from './VisualScriptNode';
5
- export interface ExecutorConfig {
6
- /** Maximum nodes to execute per update (prevents infinite loops) */
7
- maxNodesPerUpdate: number;
8
- /** Enable profiling */
9
- profiling: boolean;
10
- /** Debugger instance */
11
- debugger?: VisualScriptDebugger;
12
- }
13
- export interface ExecutionStats {
14
- /** Total nodes executed */
15
- nodesExecuted: number;
16
- /** Execution time in ms */
17
- totalTime: number;
18
- /** Per-node timing */
19
- nodeTiming: Map<string, number>;
20
- /** Errors encountered */
21
- errors: Error[];
22
- }
23
- export declare class VisualScriptExecutor {
24
- /** Configuration */
25
- private config;
26
- /** Active graph being executed */
27
- private graph;
28
- /** Execution context */
29
- private context;
30
- /** Currently executing latent nodes */
31
- private latentNodes;
32
- /** Pending execution queue */
33
- private executionQueue;
34
- /** Is currently executing? */
35
- private isExecuting;
36
- /** Execution stats */
37
- private stats;
38
- /** Debugger reference */
39
- private debugger?;
40
- constructor(config?: Partial<ExecutorConfig>);
41
- private createDefaultContext;
42
- /** Set the execution context */
43
- setContext(context: Partial<ExecutionContext>): void;
44
- /** Get current context */
45
- getContext(): ExecutionContext;
46
- /** Update context for new frame */
47
- updateContext(deltaTime: number): void;
48
- /** Set a global variable */
49
- setGlobal(name: string, value: unknown): void;
50
- /** Get a global variable */
51
- getGlobal(name: string): unknown;
52
- /** Bind a graph for execution */
53
- bindGraph(graph: VisualScriptGraph): void;
54
- /** Get bound graph */
55
- getGraph(): VisualScriptGraph | null;
56
- /** Trigger a visual script event */
57
- triggerEvent(event: VisualScriptEvent): void;
58
- /** Check if event node matches the event */
59
- private matchesEvent;
60
- /** Process event data into node outputs */
61
- private processEventNode;
62
- /** Queue a node for execution */
63
- private queueExecution;
64
- /** Process execution queue */
65
- private processExecutionQueue;
66
- /** Execute a single node */
67
- private executeNode;
68
- /** Resolve input values from connected nodes */
69
- private resolveInputs;
70
- /** Recursively resolve pure nodes */
71
- private resolvePureNode;
72
- /** Handle execution result and queue next nodes */
73
- private handleExecutionResult;
74
- /** Update latent nodes */
75
- updateLatentNodes(): void;
76
- /** Register a latent node */
77
- registerLatentNode(nodeId: string, node: LatentNode): void;
78
- /** Cancel all latent nodes */
79
- cancelAllLatent(): void;
80
- /** Get a local variable value */
81
- getVariable(name: string): unknown;
82
- /** Set a local variable value */
83
- setVariable(name: string, value: unknown): void;
84
- /** Get execution stats */
85
- getStats(): ExecutionStats;
86
- private createEmptyStats;
87
- /** Set debugger */
88
- setDebugger(debugger_: VisualScriptDebugger): void;
89
- /** Step execution (debug mode) */
90
- stepExecution(): void;
91
- /** Continue execution (debug mode) */
92
- continueExecution(): void;
93
- /** Is there pending execution? */
94
- hasPendingExecution(): boolean;
95
- /** Stop all execution */
96
- stop(): void;
97
- /** Reset executor state */
98
- reset(): void;
99
- }
100
- export declare function createExecutor(config?: Partial<ExecutorConfig>): VisualScriptExecutor;
@@ -1,173 +0,0 @@
1
- import { type VisualScriptGraphData, type PinConnection, type VariableDefinition, type GraphComment } from './types';
2
- import { VisualScriptNode } from './VisualScriptNode';
3
- export declare class VisualScriptGraph {
4
- /** Graph ID */
5
- readonly id: string;
6
- /** Graph name */
7
- name: string;
8
- /** Description */
9
- description: string;
10
- /** Graph type */
11
- type: 'event' | 'function' | 'macro';
12
- /** All nodes in graph */
13
- private nodes;
14
- /** All connections */
15
- private connections;
16
- /** Local variables */
17
- private variables;
18
- /** Comments/annotations */
19
- private comments;
20
- /** Node ID counter */
21
- private nodeIdCounter;
22
- /** Connection ID counter */
23
- private connectionIdCounter;
24
- /** Change listeners */
25
- private changeListeners;
26
- constructor(id: string, name?: string, type?: 'event' | 'function' | 'macro');
27
- /** Add a new node to the graph */
28
- addNode(typeId: string, position: {
29
- x: number;
30
- y: number;
31
- }): VisualScriptNode | null;
32
- /** Remove a node and all its connections */
33
- removeNode(nodeId: string): boolean;
34
- /** Get a node by ID */
35
- getNode(nodeId: string): VisualScriptNode | undefined;
36
- /** Get all nodes */
37
- getAllNodes(): VisualScriptNode[];
38
- /** Get nodes by type */
39
- getNodesByType(typeId: string): VisualScriptNode[];
40
- /** Get event nodes (entry points) */
41
- getEventNodes(): VisualScriptNode[];
42
- /** Move a node to a new position */
43
- moveNode(nodeId: string, position: {
44
- x: number;
45
- y: number;
46
- }): void;
47
- /** Duplicate a node */
48
- duplicateNode(nodeId: string, offset?: {
49
- x: number;
50
- y: number;
51
- }): VisualScriptNode | null;
52
- /** Create a connection between two pins */
53
- connect(sourceNodeId: string, sourcePinId: string, targetNodeId: string, targetPinId: string): PinConnection | null;
54
- /** Remove a connection */
55
- removeConnection(connectionId: string): boolean;
56
- /** Get a connection by ID */
57
- getConnection(connectionId: string): PinConnection | undefined;
58
- /** Get all connections */
59
- getAllConnections(): PinConnection[];
60
- /** Get connections for a specific node */
61
- getNodeConnections(nodeId: string): PinConnection[];
62
- /** Get connections coming into a pin */
63
- getInputConnections(nodeId: string, pinId: string): PinConnection[];
64
- /** Get connections going out of a pin */
65
- getOutputConnections(nodeId: string, pinId: string): PinConnection[];
66
- /** Check if connecting would create a cycle */
67
- wouldCreateCycle(sourceNodeId: string, targetNodeId: string): boolean;
68
- /** Add a variable */
69
- addVariable(variable: Omit<VariableDefinition, 'id'>): VariableDefinition;
70
- /** Remove a variable */
71
- removeVariable(variableId: string): boolean;
72
- /** Get a variable */
73
- getVariable(variableId: string): VariableDefinition | undefined;
74
- /** Get variable by name */
75
- getVariableByName(name: string): VariableDefinition | undefined;
76
- /** Get all variables */
77
- getAllVariables(): VariableDefinition[];
78
- /** Update a variable */
79
- updateVariable(variableId: string, updates: Partial<VariableDefinition>): boolean;
80
- /** Add a comment */
81
- addComment(comment: Omit<GraphComment, 'id'>): GraphComment;
82
- /** Remove a comment */
83
- removeComment(commentId: string): boolean;
84
- /** Get all comments */
85
- getAllComments(): GraphComment[];
86
- /** Update a comment */
87
- updateComment(commentId: string, updates: Partial<GraphComment>): boolean;
88
- /** Validate the entire graph */
89
- validate(): GraphValidationResult;
90
- /** Check for cycles in execution flow */
91
- private hasCycles;
92
- /** Serialize graph to data */
93
- toData(): VisualScriptGraphData;
94
- /** Load graph from data */
95
- static fromData(data: VisualScriptGraphData): VisualScriptGraph;
96
- /** Subscribe to graph changes */
97
- onChange(listener: (event: GraphChangeEvent) => void): () => void;
98
- /** Emit a change event */
99
- private emitChange;
100
- /** Clear the graph */
101
- clear(): void;
102
- /** Get graph statistics */
103
- getStats(): GraphStats;
104
- }
105
- export type GraphChangeEvent = {
106
- type: 'node_added';
107
- nodeId: string;
108
- node: VisualScriptNode;
109
- } | {
110
- type: 'node_removed';
111
- nodeId: string;
112
- } | {
113
- type: 'node_moved';
114
- nodeId: string;
115
- position: {
116
- x: number;
117
- y: number;
118
- };
119
- } | {
120
- type: 'connection_added';
121
- connectionId: string;
122
- connection: PinConnection;
123
- } | {
124
- type: 'connection_removed';
125
- connectionId: string;
126
- } | {
127
- type: 'variable_added';
128
- variableId: string;
129
- variable: VariableDefinition;
130
- } | {
131
- type: 'variable_removed';
132
- variableId: string;
133
- } | {
134
- type: 'variable_updated';
135
- variableId: string;
136
- variable: VariableDefinition;
137
- } | {
138
- type: 'comment_added';
139
- commentId: string;
140
- comment: GraphComment;
141
- } | {
142
- type: 'comment_removed';
143
- commentId: string;
144
- } | {
145
- type: 'comment_updated';
146
- commentId: string;
147
- comment: GraphComment;
148
- } | {
149
- type: 'graph_cleared';
150
- };
151
- export interface GraphValidationResult {
152
- valid: boolean;
153
- errors: ValidationError[];
154
- warnings: ValidationWarning[];
155
- }
156
- export interface ValidationError {
157
- type: string;
158
- nodeId?: string;
159
- pinId?: string;
160
- message: string;
161
- }
162
- export interface ValidationWarning {
163
- type: string;
164
- nodeId?: string;
165
- pinId?: string;
166
- message: string;
167
- }
168
- export interface GraphStats {
169
- nodeCount: number;
170
- connectionCount: number;
171
- variableCount: number;
172
- eventNodeCount: number;
173
- }
@@ -1,157 +0,0 @@
1
- import { type NodeMetadata, type NodeState as _NodeState, type Pin, type PinDefinition, type ExecutionContext, type ExecutionResult } from './types';
2
- export type { NodeMetadata, PinDefinition } from './types';
3
- export declare abstract class VisualScriptNode {
4
- /** Node instance ID */
5
- readonly id: string;
6
- /** Node type metadata. Subclasses may set via constructor(metadata) or assign as a property. */
7
- metadata: NodeMetadata;
8
- /** Input pin definitions (mutable so subclasses can call addInputPin). */
9
- inputPins: PinDefinition[];
10
- /** Output pin definitions (mutable so subclasses can call addOutputPin). */
11
- outputPins: PinDefinition[];
12
- /** Position in graph */
13
- position: {
14
- x: number;
15
- y: number;
16
- };
17
- /** Is node visually collapsed? */
18
- collapsed: boolean;
19
- /** User comment */
20
- comment?: string;
21
- /** Has breakpoint */
22
- hasBreakpoint: boolean;
23
- /** Custom property values */
24
- properties: Record<string, unknown>;
25
- /** Input pin values (overrides/defaults) */
26
- inputValues: Map<string, unknown>;
27
- /** Runtime input pins */
28
- private _inputPinInstances;
29
- /** Runtime output pins */
30
- private _outputPinInstances;
31
- constructor(idOrMetadata?: string | NodeMetadata, id?: string);
32
- /** Add a single input pin definition. Used by node subclasses in setupPins(). */
33
- addInputPin(def: PinDefinition): void;
34
- /** Add a single output pin definition. Used by node subclasses in setupPins(). */
35
- addOutputPin(def: PinDefinition): void;
36
- /** Initialize pin instances from definitions */
37
- initializePins(): void;
38
- private createPinInstance;
39
- /** Get input pin by ID */
40
- getInputPin(pinId: string): Pin | undefined;
41
- /** Get output pin by ID */
42
- getOutputPin(pinId: string): Pin | undefined;
43
- /** Get all input pins */
44
- getInputPins(): Pin[];
45
- /** Get all output pins */
46
- getOutputPins(): Pin[];
47
- /** Set input pin value */
48
- setInputValue(pinId: string, value: unknown): void;
49
- /** Get input pin value */
50
- getInputValue(pinId: string): unknown;
51
- /** Set output pin value */
52
- setOutputValue(pinId: string, value: unknown): void;
53
- /** Get output pin value */
54
- getOutputValue(pinId: string): unknown;
55
- /** Has execution input pin? */
56
- hasExecutionInput(): boolean;
57
- /** Has execution output pin? */
58
- hasExecutionOutput(): boolean;
59
- /** Get execution input pin */
60
- getExecutionInput(): Pin | undefined;
61
- /** Get execution output pins */
62
- getExecutionOutputs(): Pin[];
63
- /**
64
- * Execute this node.
65
- * Override in subclasses to implement node-specific logic.
66
- */
67
- execute(_context: ExecutionContext): ExecutionResult | Promise<ExecutionResult>;
68
- /**
69
- * Get the ID of the next execution pin to follow.
70
- * Override for nodes with multiple execution outputs (like Branch).
71
- */
72
- getNextExecutionPin(result: ExecutionResult): string | null;
73
- /** Serialize node to state */
74
- toState(): _NodeState;
75
- /** Restore node from state */
76
- fromState(state: _NodeState): void;
77
- /** Validate node configuration */
78
- validate(): string[];
79
- /** Get display title */
80
- getTitle(): string;
81
- /** Get tooltip text */
82
- getTooltip(): string;
83
- /** Get node color */
84
- getColor(): string;
85
- /** Get icon */
86
- getIcon(): string | undefined;
87
- }
88
- /**
89
- * Base class for pure function nodes.
90
- * Pure nodes have no execution pins and produce outputs from inputs.
91
- */
92
- export declare abstract class PureFunctionNode extends VisualScriptNode {
93
- constructor(idOrMetadata?: string | NodeMetadata, id?: string);
94
- /** Override to define data input pins */
95
- getDataInputPins(): PinDefinition[];
96
- /** Override to define data output pins */
97
- getDataOutputPins(): PinDefinition[];
98
- /** Calculate outputs from inputs */
99
- compute(_inputs: Record<string, unknown>): Record<string, unknown>;
100
- execute(context: ExecutionContext): ExecutionResult;
101
- }
102
- /**
103
- * Base class for event nodes.
104
- * Event nodes are entry points with only output execution pins.
105
- */
106
- export declare abstract class EventNode extends VisualScriptNode {
107
- constructor(idOrMetadata?: string | NodeMetadata, id?: string);
108
- /** Data inputs for the event (usually none or few) */
109
- getEventInputPins(): PinDefinition[];
110
- /** Additional data outputs (event-specific data) */
111
- getEventOutputPins(): PinDefinition[];
112
- /** Process event and set output values */
113
- processEvent(_event: unknown, _context: ExecutionContext): void;
114
- execute(context: ExecutionContext): ExecutionResult;
115
- getNextExecutionPin(_result?: ExecutionResult): string | null;
116
- }
117
- /**
118
- * Base class for flow control nodes.
119
- * These nodes control execution flow (Branch, Sequence, ForLoop, etc.)
120
- */
121
- export declare abstract class FlowControlNode extends VisualScriptNode {
122
- /** Determine which execution pin to follow based on state */
123
- determineNextPin(_context: ExecutionContext): string | null;
124
- getNextExecutionPin(result: ExecutionResult): string | null;
125
- }
126
- /**
127
- * Base class for latent/async nodes.
128
- * These nodes can pause execution and resume later (Delay, Wait, etc.)
129
- */
130
- export declare abstract class LatentNode extends VisualScriptNode {
131
- /** Is this node currently executing? */
132
- isExecuting: boolean;
133
- /** Start async execution */
134
- startAsync(_context?: ExecutionContext): void | Promise<void>;
135
- /** Called each frame while executing */
136
- updateAsync(_context: ExecutionContext): boolean;
137
- /** Cancel async execution */
138
- cancelAsync(): void;
139
- execute(context: ExecutionContext): ExecutionResult | Promise<ExecutionResult>;
140
- }
141
- export type NodeConstructor = new (id: string) => VisualScriptNode;
142
- /** Register a node type */
143
- export declare function registerNodeType(typeId: string, constructor: NodeConstructor): void;
144
- /** Get the underlying node registry map */
145
- export declare function getNodeRegistry(): Map<string, NodeConstructor>;
146
- /** Convenience alias for registerNodeType that also accepts no-arg classes (used by node subclasses).
147
- * When the class has a no-arg constructor, it's wrapped to satisfy the (id) => Node signature.
148
- */
149
- export declare function registerNode(typeId: string, ctor: NodeConstructor | (new () => VisualScriptNode)): void;
150
- /** Create a node instance by type ID */
151
- export declare function createNode(typeId: string, id: string): VisualScriptNode | null;
152
- /** Get all registered node types */
153
- export declare function getRegisteredNodeTypes(): string[];
154
- /** Get node metadata by type ID */
155
- export declare function getNodeMetadata(typeId: string): NodeMetadata | null;
156
- /** Search nodes by keyword */
157
- export declare function searchNodes(query: string): NodeMetadata[];
@@ -1,6 +0,0 @@
1
- export * from './types';
2
- export * from './VisualScriptNode';
3
- export * from './VisualScriptGraph';
4
- export * from './VisualScriptExecutor';
5
- export * from './VisualScriptDebugger';
6
- export * from './nodes/index';