23 std::shared_ptr<const SequenceProgram>
program;
92 std::array<float, 3>
forwards{0.0F, 0.0F, 1.0F};
93 std::array<float, 3>
up{0.0F, 1.0F, 0.0F};
118 std::size_t matched{};
156 std::uint8_t renderSlot)
const noexcept;
158 std::uint8_t renderSlot)
const noexcept;
170 {
return outcomes_; }
172 {
return cycleEvents_; }
174 {
return cycleError_; }
181 std::deque<SequenceCommand> pending_;
182 std::vector<SequenceCommandOutcome> outcomes_;
183 std::vector<SequenceEvent> cycleEvents_;
184 std::optional<RuntimeError> cycleError_;
188 std::int32_t parentClock_{};
static constexpr std::size_t Capacity
std::span< const SequenceCommandOutcome > outcomes() const noexcept
int percentageFull() const noexcept
int nestingLevel() const noexcept
const SetCameraCommand * cameraState(std::uint8_t renderSlot) const noexcept
std::expected< int, CommandQueueError > execute()
std::expected< void, RuntimeError > updateCycle(std::int32_t parentClock)
std::expected< void, RuntimeError > processUserCommands()
std::size_t pendingCount() const noexcept
const SetViewportCommand * viewportState(std::uint8_t renderSlot) const noexcept
std::span< const SequenceEvent > cycleEvents() const noexcept
const std::optional< RuntimeError > & lastCycleError() const noexcept
std::expected< void, CommandQueueError > enqueue(StartSequenceCommand command)
std::expected< int, CommandQueueError > collect()
constexpr std::uint8_t MonopolyRenderSlotCount
MoveSequenceCommand makeMoveTheWorks(data::DataId dataId, std::uint16_t priority, SequenceTransform transform, bool wholeTree) noexcept
std::variant< std::monostate, Matrix2D, Matrix3D > SequenceTransform
std::variant< StartSequenceCommand, StopSequenceCommand, MoveSequenceCommand, SetSequenceEndingActionCommand, SetSequenceVolumeCommand, SetSequencePitchCommand, SetSequencePanningCommand, ForceRedrawSequenceCommand, SetViewportCommand, SetCameraCommand > SequenceCommand
MoveSequenceCommand makeMoveXY(data::DataId dataId, std::uint16_t priority, std::int32_t x, std::int32_t y) noexcept
MoveSequenceCommand makeMoveRySTxz(data::DataId dataId, std::uint16_t priority, float yaw, float scale, float x, float z) noexcept
SequenceTransform transform
std::optional< SequenceNodeId > startedNode
std::vector< SequenceEvent > events
std::optional< RuntimeError > error
auto operator<=>(const SequenceViewportRect &) const =default
std::array< float, 3 > up
std::array< float, 3 > forwards
std::array< float, 3 > position
std::uint8_t cameraNumber
SequenceViewportRect viewport
std::shared_ptr< const SequenceProgram > program
std::optional< SequenceTransform > initialTransform
std::uint8_t labelOverride
ClockStartOptions options