291 Commits over 397 Days - 0.03cph!
Fixed expected type when serializing constant value links
Attributes, display info refactor
NodeLibrary refactor, split up TypeLoader
Better exception handling during validation
Make sure parents and children are serialized too
Removed some remnants of output expansion
Set ParentId in ReplaceExpandedOutputsWithChildNodes upgrader
Fix deserializing child nodes
Retire expanded outputs, use node nesting instead
Merge field.get / field.set into property.get / property.set
Allow expanded parameters on input nodes
Some helper conversions to LinkSource
Test reproducing "Can only use InsertLink with array inputs" exception
Fixed deserializing array element links before node binding
Some more link deserialization safety
Fixed dangling Links
Some safety when deserializing possible duplicate elements
IParameter inherits IMessageContext
Fix serializing null constant inputs
Fix cases where UserData wouldn't deserialize correctly
Fixed possible exception when adding a var.set node
Some safety in DeserializeExpected
Added Input.SetLink( source, index )
Retire link shorthand format
Squashed commit of the following:
commit 8ea836943c704abec109199ac718ef388fc615c9
Author: James King <james.king@facepunchstudios.com>
Date: Tue Jan 16 10:05:20 2024 +0100
Implemented UpgradePropertyVariableReferences
commit f787e89df0b9a17f48cfa6831869d51c604532a6
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 22:10:29 2024 +0100
Action graph JSON upgrading
commit 31da86f7d310a26d031f78e5b10072044858230e
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 20:22:35 2024 +0100
Don't include version in test JSON, let it get upgraded
commit e0aa5cf47db1b97c617cf457fbefda4066f69a7d
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 20:20:06 2024 +0100
Revert "Fixed expected JSON for missing type tests"
This reverts commit 3f1d256a629fa84b8b102d85e6d3e310ccbad376.
commit d7143a5d0bcb5e6879bfc9bd6fdd883366a424e0
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 20:04:42 2024 +0100
Include format version in serialized ActionGraph
commit 3f1d256a629fa84b8b102d85e6d3e310ccbad376
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 19:56:54 2024 +0100
Fixed expected JSON for missing type tests
commit f938d0d4b9d95911f79733faf41c4a9a4567a157
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 19:52:34 2024 +0100
Fixed VariableParameterNotAssigned test
commit fa75dec5e621516e249db6bd9d147b5a58ae7a21
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 19:39:51 2024 +0100
Fixed non-output-sourced links not getting serialized
commit e97cc8aab7998114ef74fd6183f191dd8ce3d20e
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 17:44:25 2024 +0100
Fix stack overflow
commit 4b0d5d07a74c4cb045a05f2be9566468fe3c6d7b
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 17:42:09 2024 +0100
WIP big refactor, store constant values / variable references in Links
Updated CallInstanceAsyncMethodReturnValue test
Fixed Task<T> returning method output types
Test for async returning methods
Fixed binding to methods returning Task<T>
SourceType / GetBindingSurface fixes
Fixed NodeDefinitionAttribute
Expose some members for custom node definitions
Add NodeDefinitionAttribute
Refactor adding expanded output bindings
Expand var.get output
Only expand directly declared members by default
Allow [Expanded] attributes in any assembly
Allow custom logic for if members are expanded
Expand property / field getter return value
Rename SingleNodes to NodeTests
API for adding expanded outputs
Expanded output test
Expanded output implementation
Allow adding expanded outputs at any time
ExpandedAttribute
Fixed reachability test for expression nodes
Added failing test of variable accessibility
Fixed finding and validating referenced variables
Resolve generic target type
Tests for resolving generic type members
Mark node dirty when setting input variable
Inputs can directly reference variables
Variables can be initialized from graph inputs
Custom method-implemented nodes can read named variables directly
With [Variable] attribute on a parameter
Variables can have default values
Test for accessing variable default values
Default value variable validation fix
Default value variable expression building
Simplify serialized graph a bit more
Add IActionGraph.RemoveInputParameter
Update input node when adding parameters
Fixed UpdateInputOutputs regression
IActionGraph.TryGetInputParameter, AddInputParameter extension methods
Support for adding optional input parameters to graphs implementing delegates
Stability when deserializing variables
Survive missing variable types
Keep unknown inputs / outputs if linked
MethodBinder bug fix
Graph serialization determinism
Add MissingNodeDefinition, WIP guarentee round-trip serialization
Added conversion from null tests
Fixed conversion from null (Facepunc/sbox#1360)
More stability when deserializing invalid graphs