Editor/Projection/IControlProjector.cs

Interface for projector implementations in the RazorDesigner projection system. Declares a Kind property and a Project method that converts a node, appearance and payload into a ProjectionResult using a ProjectionContext.

namespace Grains.RazorDesigner.Projection;

public interface IControlProjector
{
    string Kind { get; }   // matches ControlType.ToString()
    ProjectionResult Project( IReadOnlyNode node, IAppearance appearance, IPayload payload, ProjectionContext ctx );
}