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 getting-started- SKILL.md1.0 KB
Overview
This skill provides a quick start and basic usage patterns for Vuer, a Python-based real-time 3D visualization tool used in robotics and AI projects. It explains the minimal async backend setup, how to create a scene with basic primitives, and the core session API for driving live updates. The goal is practical: get a working browser-based 3D view quickly and show common update patterns.
How this skill works
Vuer runs an async Python backend (aiohttp) that communicates with a browser client over WebSocket, rendering via Three.js. A VuerSession exposes simple commands to set the root scene and to add, update, or remove named elements. The typical flow is: spawn a session, send an initial scene, then push incremental updates while the session runs.
When to use it
- Rapidly prototype 3D scenes for robotics simulations or visualization pipelines
- Stream sensor data or state updates to a web-based viewer in real time
- Inspect spatial relationships and debugging visuals during algorithm development
- Share interactive views of robot state across a team without heavy tooling
- Integrate lightweight WebXR/Three.js visuals into Python apps
Best practices
- Use descriptive keys for elements so updates and removals are unambiguous
- Initialize the scene once with session.set and use upsert/update for frequent changes
- Keep element payloads small; send transforms and state deltas instead of full meshes when possible
- Run the session loop in an async task and await session.forever() to maintain the websocket
- Use add/remove for topology changes and update/upsert for per-frame changes to avoid flicker
Example use cases
- Visualize robot poses and sensor frames as boxes, spheres, and lines streamed from a controller node
- Show live object detections by upserting bounding primitives keyed by object id
- Prototype VR inspection tools by exposing the same scene to WebXR-enabled browsers
- Debug kinematics by animating joint transforms and highlighting collisions
- Create dashboards that display 3D maps and tracked targets with minimal front-end code
FAQ
Spawn a Vuer app, create a session coroutine that calls session.set with a DefaultScene of primitives, then await session.forever() to keep the websocket alive.
When should I use upsert vs update?
Use upsert when an element may or may not exist; it inserts or replaces. Use update when you know the element already exists and you only want to modify it.