React frontend for visualizing dynamical system data from a Python WebSocket backend.
-
Install dependencies:
npm install # or yarn install -
Start the development server:
npm run dev # or yarn dev
The frontend communicates with the Python backend using WebSocket messages in JSON format.
- Configuration:
{
"type": "config",
"payload": {
"sampleRate": 50,
"bufferSize": 400,
"poincarePoints": 200
}
}- Commands:
{
"type": "command",
"payload": {
"action": "reset"
}
}- Disconnect:
{
"type": "disconnect",
"payload": {
"reason": "user_initiated"
}
}- State Update:
{
"type": "state",
"payload": {
"tau": number,
"phi": number,
"energy": number,
"field": [number, number, number],
"velocities": [number, number, number]
}
}- Phase Data:
{
"type": "phase",
"payload": {
"tau": number,
"x0": number,
"v0": number,
"x1": number,
"v1": number,
"x2": number,
"v2": number
}
}- Poincaré Data:
{
"type": "poincare",
"payload": {
"x": number,
"v": number
}
}- Spectrum Data:
{
"type": "spectrum",
"payload": [{
"freq": number,
"magnitude": number,
"db": number
}]
}- Error:
{
"type": "error",
"payload": {
"message": string
}
}Import and use the RotanBridge component in your React application:
import RotanBridge from './components/RotanBridge';
function App() {
return (
<div>
<RotanBridge />
</div>
);
}The component handles WebSocket connection management, data visualization, and system state automatically. Make sure your Python backend is running on ws://localhost:8765 before connecting.
- Real-time visualization of dynamical system data
- Phase space trajectories
- Poincaré sections
- Frequency spectrum analysis
- Protocol logging
- Automatic reconnection
- Graceful error handling