51 [[nodiscard]] virtual std::
size_t historySize() const noexcept = 0;
62 using TickFn = std::function<Result<void>(std::size_t step)>;
98 [[nodiscard]] std::
size_t historySize() const noexcept override;
Read-only adapter contract for capturing UI-facing kernel snapshots.
TUI controller interface for command/state orchestration.
virtual Result< void > advanceAutoplay(std::uint32_t elapsedMs)=0
Advances autoplay timer and executes due tick steps.
virtual Result< void > dispatch(const TuiCommand &command)=0
Dispatches one controller command.
virtual std::size_t historySize() const noexcept=0
Returns retained history entry count.
virtual ~ITuiController()=default
Virtual destructor for interface-safe polymorphic cleanup.
virtual const TuiSnapshot & current() const noexcept=0
Returns current UI snapshot at history cursor.
virtual TuiControllerState state() const noexcept=0
Returns current playback state.
virtual std::size_t historyCursor() const noexcept=0
Returns current history cursor index.
A result type that holds either a success value of type T or an ErrorCode.
TuiControllerState state() const noexcept override
Returns current playback state.
TuiController(const TuiController &)=delete
Copy construction is disabled.
TuiController(TuiController &&) noexcept
Move-constructs controller state.
std::unique_ptr< Impl > impl_
TuiController & operator=(const TuiController &)=delete
Copy assignment is disabled.
TuiController(const IKernelReadModel &readModel, TickFn tickFn, std::size_t historyCapacity=256)
Constructs controller.
std::size_t historySize() const noexcept override
Returns retained history entry count.
std::size_t historyCursor() const noexcept override
Returns current history cursor index.
Result< void > dispatch(const TuiCommand &command) override
Dispatches one controller command.
std::function< Result< void >(std::size_t step)> TickFn
Signature used by controller to advance kernel time.
~TuiController() override
Destroys controller.
Result< void > advanceAutoplay(std::uint32_t elapsedMs) override
Advances autoplay timer and executes due tick steps.
const TuiSnapshot & current() const noexcept override
Returns current UI snapshot at history cursor.
Error codes and Result<T> type for fallible operations.
Read-model adapter interface that maps kernel state to TUI snapshots.
@ Idle
Lowest — runs only when nothing else is ready.
TuiControllerState
Controller state for playback lifecycle.
Generic command payload accepted by TUI controller.
Top-level immutable model snapshot consumed by TUI controller/views.
Command contracts and validation helpers for TUI controller behavior.
Immutable DTO contracts for the external TUI MVC model layer.