Vixen
dd8b0a81
csharp
public static class TextureGraphParameters

A graph's exposed parameters: what makes a published .vxtexgraph a node with knobs.

Read the guide page for this →

Remarks

Doc 48 § D9 in one sentence: a published graph is a node, and its parameters are its settings. Definition already turns a graph's Interface into the node's ports; Definition is the other half, and it is here rather than in the framework because a parameter's type, range and group are a texture graph's vocabulary and no other graph in this repository has asked for one.

⚠ Where the declarations live, and what that used to cost. A parameter list belongs to the graph and NodeGraphModel had nowhere to put one, so it was a property of the compiler — exactly as BaseWidth and Seed were — and a .vxtexgraph reopened with whatever knobs its host invented (#719). Parameters is the home, Declared reads it and Settings writes it. The overrides always had one: a sub-graph node's Texts, under the parameter's own name, which is what Read reads.

Fields and properties (1)

  • public const string ReferencePrefix

    What a setting written as one of the graph's own name knobs is spelled with.

Methods (9)

  • public static ImmutableArray<string> Check(IReadOnlyList<TextureGraphParameter> parameters)

    Checks a parameter list, and says what is wrong with it.

  • public static NodeTypeDefinition Definition(NodeGraphModel graph, IReadOnlyList<TextureGraphParameter> parameters, string path)

    The node type a published graph stands for: its interface, and its parameters.

  • public static ImmutableArray<SettingDefinition> Settings(IReadOnlyList<TextureGraphParameter> parameters)

    The parameters as the framework's settings.

  • public static List<TextureGraphParameter> Declared(IReadOnlyList<SettingDefinition> settings)

    The parameters a graph declared, read back off its own settings.

  • public static SettingKind Kind(TextureGraphParameterKind kind)

    One parameter's type, as the framework spells it.

  • public static bool IsReference(string text, out string name)

    Whether a setting's text names one of the containing graph's name parameters.

  • public static bool TryChoose(IReadOnlyList<TextureGraphParameter> parameters, IReadOnlyDictionary<string, string>? overrides, string name, out string value, out string problem)

    What one name parameter is worth, given a set of overrides.

  • public static Dictionary<string, float> Read(IReadOnlyList<TextureGraphParameter> parameters, IReadOnlyDictionary<string, string>? overrides, out ImmutableArray<string> problems)

    What each parameter is worth, given a set of overrides.

  • public static bool IsIdentifier(string name)

    Whether a name is one Raven would accept.

Used by (7)

  • TextureCompoundLibraryVixen.Editor.TextureGraph
  • TextureCompoundNameKnobRollCallTestsVixen.Editor.TextureGraph.Tests
  • TextureGraphCompilerVixen.Editor.TextureGraph
  • TextureGraphDeclarationTestsVixen.Editor.TextureGraph.Tests
  • TextureGraphLibraryVixen.Editor.TextureGraph
  • TextureGraphNameKnobTestsVixen.Editor.TextureGraph.Tests
  • TextureGraphParameterTestsVixen.Editor.TextureGraph.Tests