37 return index < categoryVisual_.size() ? categoryVisual_[
index]
43 return index < sortVisual_.size() ? sortVisual_[
index]
49 published_.fill(std::nullopt);
64 ?
state.activeSort : 0);
93 std::array<std::optional<Published>, SlotCount>
desired{};
102 5, 229,
true,
false};
141 std::array<std::shared_ptr<const sequence::SequenceProgram>, SlotCount>
programs{};
152 return std::unexpected(
153 "UDStats sequence " + std::to_string(
desired[
slot]->
id) +
154 ": " +
loaded.error().detail);
165 return std::unexpected(
166 "sequence command queue cannot fit UDStats playback transition");
169 std::vector<sequence::SequenceCommand> commands;
174 if (published_[
slot])
177 published_[
slot]->id, published_[
slot]->priority,
false});
187 spec.id, spec.priority, spec.x, spec.y));
196 for (
auto& command : commands)
198 const auto queued = std::visit(
202 }, std::move(command));
204 return std::unexpected(
"validated UDStats playback command rejected");
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={})
ButtonVisual sortVisual(std::size_t index) const noexcept
ButtonVisual categoryVisual(std::size_t index) const noexcept
std::expected< void, std::string > sync(const State &state, display::Screen2D desiredView, engine::SequencePlayback &playback)
MoveSequenceCommand makeMoveXY(data::DataId dataId, std::uint16_t priority, std::int32_t x, std::int32_t y) noexcept
constexpr std::uint8_t StatusStayAtEnd
constexpr std::array< std::uint16_t, 3 > CategoryPressPriorities
constexpr std::array< std::array< std::array< data::DataTag, 3 >, 4 >, 3 > SortButtonTags
constexpr data::DataTag StatusBackgroundTag
constexpr std::array< data::DataTag, 4 > BankBackgroundTags
constexpr std::uint16_t DeedBackgroundPriority
constexpr std::uint16_t StatusBarPriority
constexpr std::uint16_t StatusBarOverlayPriority
constexpr std::array< std::uint16_t, 3 > CategoryIdlePriorities
constexpr data::DataId mainSequence(data::DataTag tag) noexcept
constexpr std::uint16_t StatusBackgroundPriority
constexpr std::array< std::array< data::DataTag, 2 >, 3 > SortBarTags
constexpr std::array< std::array< data::DataTag, 3 >, 3 > CategoryButtonTags
constexpr data::DataTag DeedBackgroundTag
constexpr std::array< std::uint16_t, 4 > SortPressPriorities
constexpr std::array< std::uint16_t, 4 > SortIdlePriorities
constexpr std::uint16_t BankBackgroundPriority
constexpr std::array< data::DataTag, 2 > CategoryBarTags
constexpr data::DataId languageSequence(data::DataTag tag) noexcept