Make node editor graph an interface
Add shader graph game resource
Keep node position up to date with node ui
Hook up shader graph saving
Don't open save dialog if we have an asset to save to
Hook up shader graph open
put graph nodes in dictionary, can't save nodes to game resources yet anyway so fuck it
Add compiler ref System.Memory for tool addons
Add simple asset type for shader graph
Don't use game resource for shader graph, serialize json from graph asset instead
Deserialize graph
Add preview dock
Add skybox and cubemap to preview
Add background to graph view
Delete selected nodes on delete key
Remove connections of deleted nodes
Delete selected connections too
Fix ui hotload
Undo redo system
Add undo redo shortcuts
Move node undo op
Grid snap newly created nodes
Undo ops for create/drop/change connection
Don't perform undo redo if there's a pending redo
Status text for undo redo options
Title graph view to asset name
Write graph file before registering it
Don't open graph that is already open
Clear undo stack on new or open graph
Mark session as dirty when an undo op is pushed so title can be changed to show as edited
Menu bar shortcuts
Dirty session when performing undo or redo
Allow input and output attributes to decide handle config type, property type is rarely going to be handle type
Don't allow output connections to input of self
Remove existing input connections, inputs can only have 1 connection
Set node connection property when creating connection
Rebuild graph connections from serialized node connections
Reset input connection on remove
Only set input property if it's node connection type
Use node connection type for all node inputs
Clear preview and drop target when rebuilding graph
Clear connections on graph rebuild
Don't serialize node properties that don't have setters
First attempt at codegen from graph
Time, cosine, multiply nodes
Add toolbar to preview
Add more toolbar options for main window
Add properties dock to edit properties of nodes
Hide node properties we dont want to see
Add color node
Dirty session when property values change
Hook up preview primitive types
Open asset picker for preview model
Don't reconstruct new graph object on undo, just clear nodes and deserialize
Save and load does full serialization, not just nodes, we may have settings we want to save
Save preview model
Rename NodeConnection to NodeInput and make it IValid
Target graph properties when no node is selected
Base class unary node because it's gonna be the same shit for each
Abs node
Add node types automatically
Show compile errors in output
Copy error to clipboard
Add menu option to focus node with error
Selecting error selects node
Center on selected error node
Use orbit cam for preview, makes more sense
Open context menu after dragging an unconnected wire
Some cleanup
Use default a and b values for binary nodes when input isn't valid
Cut down on file reading in CreateFromVfxFile so eventually it can be created from memory
Rename vfx create functions to make more sense
Write generated shader to temp dir
Don't generate code if graph compiler has errors
Run shader compiler process for generated shader
Write generated shader to bullshit placeholder resource for now
Make color node use color property
Add lerp node
Don't serialize NodeInput.IsValid