Vixen
02b45cc4
csharp
public record class EffectManifest

The set of variants a build must produce, as a file.

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

Remarks

The input to build-time pre-generation and the output of a development run: Requests is exactly this list, so the loop is play the game against a compiler, write the manifest, build the bundle, and the next run compiles nothing. A project can also check one in and edit it, which is what you do for the variant that only appears in the ending nobody on the team has reached yet.

JSON rather than the engine's binary serializer, which is what EffectBundle uses. The bundle is a shipped artefact read only by the runtime; this is a build input read by people, reviewed in a diff, and merged when two branches each add a material. Those want opposite things from a format.

Fields and properties (1)

Methods (4)

  • public static EffectManifest Of(IEnumerable<EffectKey> keys)

    The manifest for a set of keys, deduplicated and ordered so two runs match.

  • public IEnumerable<EffectKey> ToKeys()

    The keys it names.

  • public static EffectManifest Parse(string json)

    Reads a manifest.

  • public string ToJson()

    Writes it.

Used by (6)

  • EffectCacheTestsVixen.Shaders.Tests
  • EffectManifestJsonVixen.Shaders
  • EffectBundleBuilderVixen.ShaderCompiler
  • EffectCompilerTestsVixen.ShaderCompiler.Tests
  • ShaderBuildRunnerVixen.Cli
  • ZeroRuntimeCompilationTestsVixen.ShaderCompiler.Tests