Add input/output data flow system for node-based visual scripting#7
Draft
Add input/output data flow system for node-based visual scripting#7
Conversation
…ystem Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
…prove hash code calculation Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update node linking functionality in the Tomb Editor
Add input/output variable system and event mode validation to node graph
Feb 2, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
… modes Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Add input/output variable system and event mode validation to node graph
Add node input/output variable system with event mode restrictions
Feb 2, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Add node input/output variable system with event mode restrictions
Add examples for multi-input/output node linking
Feb 2, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Add examples for multi-input/output node linking
Document input/argument resolution priority in node system
Feb 2, 2026
Copilot stopped work on behalf of
TrainWrack due to an error
February 2, 2026 20:41
Copilot stopped work on behalf of
TrainWrack due to an error
February 2, 2026 20:50
Copilot stopped work on behalf of
TrainWrack due to an error
February 2, 2026 20:54
Copilot stopped work on behalf of
TrainWrack due to an error
February 2, 2026 21:09
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Document input/argument resolution priority in node system
Fix Id setter accessibility and document input-to-parameter mapping
Feb 3, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Fix Id setter accessibility and document input-to-parameter mapping
Implement UI rendering and validation for node input/output system
Feb 3, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Implement UI rendering and validation for node input/output system
Implement input/output data flow system for visual scripting nodes
Feb 3, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Implement input/output data flow system for visual scripting nodes
Fix NullReferenceException in node initialization
Feb 3, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Fix NullReferenceException in node initialization
Fix grip overlap preventing multi-slot input/output connections
Feb 3, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Fix grip overlap preventing multi-slot input/output connections
Add input/output variable linking system for node-based visual scripting
Feb 3, 2026
Co-authored-by: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Copilot
AI
changed the title
Add input/output variable linking system for node-based visual scripting
Add input/output data flow system for node-based visual scripting
Feb 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extends the sequential execution model with parallel data flow. Nodes can now define typed input/output slots that pass values between nodes, independent of execution order (Previous/Next).
Data Structures
TriggerNode extended with:
Guid Id- unique identifier for link referencesList<InputVariable> Inputs- typed input slots with optional source linkList<OutputVariable> Outputs- typed output slotsDynamicArguments- fallback values when inputs unlinkedList<string> AllowedEventModes- validation metadataInputVariable structure:
Metadata Format
Added
!Inputs,!Outputs,!EventModestags to Lua catalog:ScriptingUtils parses metadata into InputVariableLayout/OutputVariableLayout, populates NodeFunction. VisibleNodeBase.ResetArguments transfers to TriggerNode instances.
Connection Management
NodeEditor API:
LinkInputToOutput(sourceNode, outputName, targetNode, inputName)- creates data linkUnlinkInput(node, inputName)- removes link, falls back to argumentValidateNodeEventMode(node, eventMode)- shows warning dialog if incompatiblePriority rule: Linked input value overrides manual argument value. Input name matches function parameter name for binding.
Interactive UI
Grip layout follows then/else pattern - horizontal spreading at same Y:
SpawnGrips() distributes inputs/outputs across left/right thirds, Previous/Next at center. Grip array: [inputs..., Previous, outputs..., Next, Else].
Mouse handlers extended:
Visual feedback:
Bug Fixes
Documentation
Added guides: Sample Input-Output Nodes.lua, HOW_TO_USE_INPUTS_OUTPUTS.md, MULTIPLE_INPUTS_OUTPUTS_EXAMPLE.md, FAQ_INPUT_LINKING.md, PARAMETER_MAPPING.md
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.