// src/AcDream.Plugin.Abstractions/IPluginHost.cs
namespace AcDream.Plugin.Abstractions;
///
/// Entry point for a plugin into the acdream runtime. The surface will grow
/// across phases as more systems come online.
///
public interface IPluginHost
{
///
/// when registrations can be
/// projected by this host. No-window hosts return
/// and expose so a plugin may keep
/// one code path while deliberately omitting presentation work.
///
bool HasUi { get; }
IPluginLogger Log { get; }
IGameState State { get; }
IEvents Events { get; }
ISelectionService Selection { get; }
IUiRegistry Ui { get; }
}