Skip to content

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 ReasonText for display
  • ❌ Runtime systems must not depend on ReasonText
  • ❌ Do not use ReasonText for 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.