1 Year Ago
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