app/sim_backend.h¶
IBoardBackend with no hardware (off-Pi development / tests).
Engine moves run through a GameController in dry-run so the real path-planning
G-code pipeline is still exercised (it just isn’t sent to a device). Human moves arrive via submitHumanMove() instead of hall-effect sensors.
-
namespace kirin
-
class SimBackend : public kirin::IBoardBackend¶
- #include <sim_backend.h>
Public Functions
-
bool prepareNewGameFromSnapshot(bool engineWhite, const BoardIdentity &snapshot) override¶
-
virtual bool resetToStart() override¶
-
virtual bool executeEngineMove(int engineMove) override¶
-
virtual bool undoMove(int engineMove, int capturedSlot) override¶
-
bool executeSetup(const SetupPlan &plan, const BoardIdentity &target) override¶
-
virtual HumanMoveResult waitForHumanMove(std::atomic<bool> &cancel) override¶
-
inline virtual bool verifyBoardState() override¶
-
virtual void syncWithEngine() override¶
-
virtual void updateTracker(int engineMove) override¶
-
virtual void submitHumanMove(const std::string &uci) override¶
-
inline virtual bool isSimulation() const override¶
-
inline virtual void setPlanObserver(const PlanObserver &observer) override¶
-
inline virtual void setGcodeObserver(const Gantry::GcodeObserver &observer) override¶
-
bool prepareNewGameFromSnapshot(bool engineWhite, const BoardIdentity &snapshot) override¶
-
class SimBackend : public kirin::IBoardBackend¶