namespace Theriapolis.GodotHost.Scenes.Steps; /// /// Common contract for character-creation step scenes. Mirrors /// app.jsx's per-step validate pattern: each step inspects /// the shared draft and returns null when its requirements are met, or /// a short error string otherwise. /// /// Step classes also extend so they can be /// parented into the wizard's StepHost. Bind() is called once after /// instantiation; Godot drives the lifecycle as usual. /// public interface IStep { void Bind(UI.CharacterDraft draft); string? Validate(); }