public static class CompiledEffectFormatThe .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> MagicMagic number: RVNFX followed by 0x1A.
public const int VersionFormat 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