17 const auto value =
static_cast<std::uint8_t
>(screen);
24 const std::array<NavigationVisual, 4>& visual)
noexcept
26 return std::any_of(visual.begin(), visual.end(),
39 : std::optional<MenuButton>{};
68 std::array<std::shared_ptr<const sequence::SequenceProgram>, 4>
programs{};
77 return std::unexpected(
loaded.error().detail);
81 std::vector<sequence::SequenceCommand> commands;
114 return std::unexpected(
115 "sequence command queue cannot fit Options navigation transition");
118 for (
auto& command : commands)
120 const auto queued = std::visit(
127 return std::unexpected(
128 "validated Options navigation command rejected");
std::expected< void, std::string > sync(const State &state, display::Screen2D desiredView, engine::SequencePlayback &playback)
static constexpr std::size_t Capacity
static std::expected< std::shared_ptr< const SequenceProgram >, RuntimeError > load(const data::DataSource &source, data::DataId id, std::size_t offset=0, DescriptionLimits limits={})
constexpr std::uint8_t NavigationStayAtEnd
constexpr std::uint16_t navigationPriority(MenuButton button, NavigationVisual visual) noexcept
constexpr data::DataId navigationSequence(MenuButton button, NavigationVisual visual) noexcept