Runtime/Common/UX¶
UI-facing helpers for teachables, samples, and debug tooling.
This assembly is intentionally:
- optional (runtime systems do not depend on it)
- system-decoupled (no required cross-system references)
- presentation-only (no gameplay or business logic)
It exists to keep teachables and demos consistent without forcing runtime systems to depend on human-readable strings.
ReasonText¶
ReasonText maps machine-readable codes (usually enum names via ToString()) to human-friendly messages.
Mappings are defined per-system using partial classes to avoid hard coupling between modules.
Unknown values fall back to the original code string.
Important rules¶
- ✅ Teachables/samples may use
ReasonTextfor display - ❌ Runtime systems must not depend on
ReasonText - ❌ Do not use
ReasonTextfor branching or gameplay logic
If a system needs to provide a message, it should do so via its own result type (e.g. Result.Message) rather than pulling UI copy into runtime layers.