Vixen
dd8b0a81
csharp
public record class NodeGraphAsset

A whole graph, as a file holds it.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

A separate shape from NodeGraphModel, on purpose. The model is a thing with invariants — an input takes one edge, a cycle cannot be made — and enforcing those while loading half a file is not possible. The document has no invariants at all: it is what was written down, including whatever a hand edit or a bad merge left. Turning one into the other is where the checking happens, and where a file that has gone wrong produces a diagnostic rather than a half-built model.

This assembly does not choose a file format. These are [DataContract] records described by the reflection generator, so a caller writes them as YAML with Vixen.Core.Yaml or bakes them with the binary serializer, and neither parser is linked by anything that only wants to compile a graph. The same arrangement the compositor asset uses, for the same reason.

Fields and properties (9)

  • public int Version

    The file shape's version.

  • public string Name

    What the graph is called.

  • public GraphNodeAsset[] Nodes

    Its nodes.

  • public GraphEdgeAsset[] Edges

    Its edges.

  • public GraphGroupAsset[] Groups

    Its group boxes.

  • public GraphCommentAsset[] Comments

    Its sticky notes.

  • public GraphPortAsset[] Interface

    The ports it has when another graph contains it as a node.

  • public Dictionary<string, string> Settings

    What the graph itself is set to — a texture graph's base resolution and seed.

  • public GraphParameterAsset[] Parameters

    The knobs it exposes when another graph, or a bake, contains it.

Used by (21)

  • BakedMaterialImageTestsVixen.Graphics.Golden.Tests
  • CommandTestsVixen.Editor.NodeGraph.Tests
  • CompositorDocumentVixen.Editor.AssetEditors
  • GraphDeclarationTestsVixen.Editor.NodeGraph.Tests
  • LayerStackExplodeVixen.Editor.Texturing
  • NodeGraphClipboardVixen.Editor.NodeGraph
  • NodeGraphDocumentVixen.Editor.NodeGraph
  • NodeGraphModelTestsVixen.Editor.NodeGraph.Tests
  • NodeGraphViewVixen.Editor.NodeGraph
  • PasteCommandVixen.Editor.NodeGraph
  • ShaderGraphDocumentVixen.Editor.AssetEditors
  • ShaderGraphSourcesVixen.Editor.Assets
  • SubGraphTestsVixen.Editor.NodeGraph.Tests
  • TextureCompoundLibraryVixen.Editor.TextureGraph
  • TextureCompoundLibraryTestsVixen.Editor.TextureGraph.Tests
  • TextureCompoundNameKnobRollCallTestsVixen.Editor.TextureGraph.Tests
  • TextureGraphDocumentVixen.Editor.Texturing
  • TextureGraphRunnerVixen.Cli
  • TypeRegistrationVixen.Editor.NodeGraph
  • VfxDocumentVixen.Editor.AssetEditors
  • VfxImporterVixen.Editor.Assets