Vuer 3D component reference - primitives, meshes, URDF, cameras, lighting, images (plugin:vuer@vuer)
View on GitHubskills/components/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/vuer-ai/vuer-skill/blob/main/skills/components/SKILL.md -a claude-code --skill componentsInstallation paths:
.claude/skills/components/# Vuer Components
Import: `from vuer.schemas import Box, Sphere, TriMesh, Urdf, PointCloud, ...`
## Common Properties
All components: `key`, `position=[x,y,z]`, `rotation=[x,y,z]`, `scale`, `matrix` (4x4), `children`
## Primitives
```python
Box(key="box", args=[w, h, d], color="red")
Sphere(key="s", args=[radius, wSegs, hSegs])
Cylinder(key="c", args=[rTop, rBot, height, segs])
Capsule(key="cap", args=[radius, height, capSegs, radSegs])
Cone, Plane, Ring, Torus, TorusKnot
```
## Custom Geometry
```python
TriMesh(key="mesh", vertices=np.array, faces=np.array, colors=np.array)
PointCloud(key="pcd", vertices=np.array, colors=np.array, size=0.01)
```
## Models
```python
Urdf(key="robot", src="/static/robot.urdf", jointValues={"joint1": 0.5})
Glb(key="model", src="/static/model.glb", scale=0.1)
Obj, Ply, Stl, Fbx, Dae # Same pattern
Splat(key="splat", src="/static/scene.splat") # Gaussian splatting
```
## Cameras & Lighting
```python
PerspectiveCamera(key="cam", fov=75, position=[5,5,5], makeDefault=True)
Frustum(key="f", fov=60, aspect=1.6, near=0.1, far=10, showFrustum=True)
AmbientLight, DirectionalLight, PointLight, SpotLight
```
## Images
```python
Img(src="url", key="img") # DOM image
Img(np_array, key="np") # From numpy
Image(img_array, position=[0,1,-2], key="p") # 3D plane
ImageBackground(src="bg.jpg", distance=10) # Camera-facing
```
## Interaction
```python
Movable(key="m", children=[Box(key="box")]) # Drag & drop
Gripper(key="g", pinchWidth=0.04) # Gripper viz
```
## Organization
```python
group(key="grp", children=[...])
Scene(children=[...], bgChildren=[Grid()], rawChildren=[AmbientLight()])
DefaultScene(...) # Includes default lighting/controls
```