# visual **Repository Path**: rippleos/visual ## Basic Information - **Project Name**: visual - **Description**: MOSS 可视化桥接模块 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-11 - **Last Updated**: 2026-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MOSS Visualization (mvisual) FoxGlove Studio compatible visualization bridge for MOSS, supporting Image, PointCloud, and DiagnosticArray messages. ## Features - **FoxGlove Compatibility**: WebSocket bridge to FoxGlove Studio - **Image Streaming**: Compressed and raw image support - **Point Cloud**: PointCloud2 and LaserScan visualization - **Diagnostics**: DiagnosticArray status display - **Low Latency**: Shared memory for local, WebSocket for remote ## Architecture ``` visual/ ├── include/visual/ │ ├── mvisual.h # Main include │ └── studio_bridge.h # FoxGlove Studio bridge ├── src/ │ ├── studio_bridge.cpp # WebSocket bridge │ └── main.cpp # Entry point ├── test/ # Unit tests └── examples/ # Example configurations ``` ## Dependencies - mcom (Communication) - mlog (Logging) - mruntime (Runtime foundation) ## Building ```bash cd mvisual mkdir -p build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DMVISUAL_BUILD_TESTS=ON make -j4 ``` ## Running Tests ```bash ctest ``` ## Usage ### Start Visualization Bridge ```bash # Default configuration mvisual # With custom port mvisual --port 8765 # With configuration file mvisual --config viz_config.json ``` ### Configuration File (JSON) ```json { "visual": { "port": 8765, "topics": [ { "name": "/camera/image", "type": "image" }, { "name": "/lidar/points", "type": "point_cloud" }, { "name": "/diagnostics", "type": "diagnostic" } ] } } ``` ## Supported Message Types | Topic Type | FoxGlove Message Type | |------------|----------------------| | `proto::topic::Image` | `foxglove.Image` | | `proto::topic::CompressedImage` | `foxglove.CompressedImage` | | `proto::topic::PointCloud2` | `foxglove.PointCloud` | | `proto::topic::LaserScan` | `foxglove.LaserScan` | | `proto::topic::DiagnosticArray` | `foxglove.DiagnosticArray` | ## FoxGlove Studio Setup 1. Open FoxGlove Studio 2. Add a new connection 3. Select "FoxGlove Data Platform" or "WebSocket" 4. Enter URL: `ws://localhost:8765` 5. Open the layout with desired panels ## Key Components - **StudioBridge**: WebSocket server bridging to FoxGlove Studio protocol - **MessageConverter**: Converts MOSS proto messages to FoxGlove format ## License MIT License