public sealed class RavenReferenceA compiled library a Compilation binds against — the shader equivalent of a .dll reference.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
A thin handle rather than a hierarchy. There is one kind of reference, because there is one artefact format: a .rvnlib, on disk or already in memory. An assembly of source files is not a reference — it is more trees in the same compilation, which is how the shader library was consumed before this existed and remains the right answer when you have the source and want it recompiled.
Reading is eager, at construction, so a bad path or a corrupt artefact throws where the caller can attribute it rather than surfacing later as an unresolved name.
Fields and properties (3)
public CompiledLibrary LibraryThe library's declarations and IR.
public string? PathWhere the library was read from, or null when it was supplied in memory.
public string NameThe library's name, which is what a duplicate reference is detected by.
Methods (3)
public static RavenReference FromFile(string path)Reads a reference from a .rvnlib on disk.
public static RavenReference FromLibrary(CompiledLibrary library)Wraps a library already in memory — what the tests and a hot-reload host use.
public override string ToString()
Used by (8)
- CompilationVixen.Raven
- CompileDriverVixen.Raven.Cli
- CompiledLibraryTestsVixen.Raven.Tests
- InOutTestsVixen.Raven.Tests
- LibraryTreeTestsVixen.Raven.Tests
- RavenEffectCompilerVixen.ShaderCompiler
- SizedArrayTestsVixen.Raven.Tests
- WritableResourceTestsVixen.Raven.Tests