Vixen
feb85697
csharp
public interface IEffectSourceProvider

Raven a module compiles out of a project's assets, for the editor's own effect compilation.

Read the guide page for this →

Remarks

#1300's seam. The editor compiles the shader library together with every Raven source a project contributes, so a material naming a shader graph resolves. It used to fetch the graphs by calling ShaderGraphSources.All, which put the shader graph's compiler in the application's reference closure through the import pipeline. A module that turns an asset format into Raven publishes one of these with Publish``1, and the editor asks it on every effect rebuild — so an unloaded module stops contributing.

⚠ One per editor, because PluginServices holds one service per type. The shader graph is the only format that compiles to Raven today; a second would need this to become a registry contribution.

Methods (1)

  • void Collect(string assets, ICollection<(string Path, string Text)> sources, ICollection<string> refusals)

    Adds the sources a project's assets compile to, and what those that would not had to say.

Used by (4)

  • AssetEditorsModuleVixen.Editor.AssetEditors
  • EditorApplicationVixen.Editor.App
  • EditorEffectsVixen.Editor.App
  • ShaderGraphEffectSourcesVixen.Editor.AssetEditors