namespace Mr.BrickAdventures.Progression; /// /// Something that happened to player progression, raised by an aggregate as part of the operation /// that caused it. Plain records with no engine dependency — an adapter republishes them as Godot /// signals (ADR-0004), which is what makes "state changed ⇒ signal fired" un-bypassable. /// public abstract record ProgressionEvent; /// Raised when a Playthrough loses its last life. public sealed record RunEnded : ProgressionEvent;