329
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill vuer-ai/vuer --skill server- SKILL.md1.2 KB
Overview
This skill provides a Vuer server configuration and runtime helpers for 3D visualization in robotics and WebXR/VR contexts. It exposes a Python API to run a WebSocket-backed server, register handlers and generators, and enable SSL for secure wss:// VR sessions. The skill is focused on practical setup, event wiring, and streaming scene updates to clients.
How this skill works
Instantiate the Vuer server with options for WebSocket port, static file root, CORS, and SSL certificates. Use decorator-based handlers: @app.spawn for main session tasks, @app.bind for streaming generators that yield Frame objects, and @app.add_handler to respond to client events. Environment variables allow runtime overrides for port, domain, CORS and static root.
When to use it
- Serving a real-time 3D visualization dashboard for robots or simulators over WebSocket.
- Streaming continuous scene updates (frames) to WebXR or browser clients.
- Capturing and reacting to client events like camera movement, clicks, uploads, or object manipulation.
- Hosting secure VR sessions that require wss:// via SSL or tunneling services like ngrok.
- Rapidly prototyping interactive VR scenes with generator-based frame streams.
Best practices
- Use @app.spawn for lifecycle tasks such as scene initialization and long-running session logic.
- Use @app.bind to implement high-frequency frame streaming; yield Frame(Update(...), frame_rate=...) to control timing.
- Register specific event handlers with @app.add_handler for CAMERA_MOVE, HAND_MOVE, CLICK, UPLOAD, and OBJECT_MOVE.
- Prefer SSL certificates in production to serve wss:// endpoints; use ngrok for quick secure testing.
- Control CORS and static_root explicitly to avoid exposing unintended files or origins.
Example use cases
- Start a Vuer server on port 8012 serving static assets at /static and allowing any origin with cors='*'.
- Implement a generator that streams 60 fps scene updates to a connected VR client using @app.bind.
- Handle camera telemetry from the client with an @app.add_handler('CAMERA_MOVE') to update server-side state or logs.
- Run local development with ngrok to expose a wss:// URL for remote VR headset testing without configuring SSL.
- Configure cert and key paths on the app instance to run a secure production VR endpoint with wss:// support.
FAQ
Provide cert and key to Vuer via app = Vuer(cert='/path/cert.pem', key='/path/key.pem') or use a tunneling service like ngrok to get a temporary wss:// endpoint.
Which events can I handle from clients?
Built-in events include CAMERA_MOVE, HAND_MOVE, CLICK, UPLOAD, and OBJECT_MOVE. Register handlers with @app.add_handler('EVENT_NAME').