Vixen
02b45cc4
csharp
public static class GoalKindSchema

Which fields each kind of goal has, and what to call them.

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

Remarks

⚠ The inspector is generated from this, and that is the difference between a markup tool people use and one they avoid. A position goal has no aim axis; a panel that showed one is a panel where every field is suspect, and an author who cannot tell which fields matter stops trusting all of them. Hand-writing a panel per kind gets the first version right and drifts on the second, because a field added to the record has no reason to appear in four separate panels.

⚠ Every property of ConstraintTagRecord appears here or is deliberately hidden, and a test asserts it. That is the mechanism that stops the drift: adding a field to the record and forgetting the schema fails the build's tests rather than shipping a field nobody can edit.

Fields and properties (2)

  • public static ReadOnlySpan<GoalField> Common

    The fields every kind has: when it runs and how much it matters.

  • public static IReadOnlyDictionary<string, string> Hidden

    The properties of a tag no panel shows, and why.

Methods (2)

  • public static ReadOnlySpan<GoalField> For(GoalKind kind)

    The fields one kind of goal has, on top of Common.

  • public static bool Shows(GoalKind kind, string property)

    Whether a field belongs on the panel for a kind.

Used by (3)

  • AuthoringTestsVixen.Animation.Tests
  • AnimationClipViewVixen.Editor.AssetEditors
  • AuthoringTestsVixen.Editor.AssetEditors.Tests