状态管理


Zustand Store

使用 Zustand 进行轻量级状态管理。

simCarStore

文件: stores/simCarStore.ts

管理模拟器小车状态。

interface CarState {
  x: number;        // 小车 X 坐标
  y: number;        // 小车 Y 坐标
  angle: number;   // 小车角度 (弧度)
  vel_left: number;  // 左轮速度
  vel_right: number; // 右轮速度
}

const initialState: CarState = {
  x: 400,
  y: 300,
  angle: -Math.PI / 2,
  vel_left: 0,
  vel_right: 0,
};

Actions

Action说明
setCarState(state)更新小车状态
resetCarState()重置为初始状态

页面级 State

除全局 Store 外,各页面使用 useState 管理本地状态。

SimPage

State类型说明
isRecordingboolean是否正在录制
episodeCountnumberEpisode 数量
trainingStatusstring训练状态
inferenceResultobject推理结果

RealPage

State类型说明
carIPstring小车 IP 地址
isConnectedboolean连接状态
cameraDevicesMediaDeviceInfo[]摄像头设备列表
motorStatusobject电机状态