EffectMap.cs

A small typed dictionary that maps string tags to ShaderEffect instances, used as a host-level manifest for determining effects by container tag. It also exposes a shared static Empty instance for hosts with no mappings.

using System.Collections.Generic;

namespace Goo;

/// <summary>A host-level <c>{ tag -> ShaderEffect }</c> manifest. A Blob with a matching
/// <see cref="Container.Tag"/> resolves its effect from here unless it sets <c>Effect</c> inline.</summary>
public sealed class EffectMap : Dictionary<string, ShaderEffect>
{
    /// <summary>The shared empty manifest. Hosts that target no tags return this.</summary>
    public static readonly EffectMap Empty = new();
}