Vixen
02b45cc4
csharp
public static class CompiledEffectFormat

The .rvnfx container: a magic number, a version, a JSON header and the modules' bytes appended raw.

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

Remarks

Split deliberately. The header is JSON because it is read by tools, diffed by people and will grow fields — and a shipped artefact should be inspectable without a bespoke viewer. The module bytes sit after it verbatim because SPIR-V is already a compact binary and base64-ing it into the JSON would cost a third of its size for nothing.

Every integer is little-endian, matching SPIR-V's own convention and every platform Vixen targets.

Fields and properties (2)

  • public static ReadOnlySpan<byte> Magic

    Magic number: RVNFX followed by 0x1A.

  • public const int Version

    Format version. Bump on any change a previous reader would misread; the reader rejects anything it does not know rather than guessing.

Used by (4)

  • CompiledEffectReaderVixen.Raven
  • CompiledEffectTestsVixen.Raven.Tests
  • CompiledEffectWriterVixen.Raven
  • CompiledLibraryTestsVixen.Raven.Tests