원클릭으로
events
Vuer event system - session APIs, custom events, handlers, RPC, streaming (plugin:vuer@vuer)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Vuer event system - session APIs, custom events, handlers, RPC, streaming (plugin:vuer@vuer)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
VuerClient for connecting to Vuer servers and sending custom events (plugin:vuer@vuer)
Vuer 3D component reference - primitives, meshes, URDF, cameras, lighting, images (plugin:vuer@vuer)
Common Vuer patterns - animation, URDF, point clouds, interactivity, batch updates (plugin:vuer@vuer)
Vuer quick start and basic usage patterns for real-time 3D visualization in robotics and AI applications (plugin:vuer@vuer)
Vuer server configuration, decorators, event handlers, SSL/TLS for VR (plugin:vuer@vuer)
Vuer VR/AR/WebXR - hand tracking, controllers, AR mesh, haptics (plugin:vuer@vuer)
| name | events |
| description | Vuer event system - session APIs, custom events, handlers, RPC, streaming (plugin:vuer@vuer) |
session.set @ DefaultScene(Box(key="box")) # Init once
session.upsert @ Box(key="box", position=[1,0,0]) # Update or insert
session.upsert @ [Box(key="b1"), Sphere(key="s1")] # Multiple
session.upsert(Box(key="child"), to="parent-key") # To parent
session.update @ Box(key="box", color="blue") # Update only
session.add @ Box(key="new") # Add new
session.remove @ "key" # Remove
session.remove @ ["k1", "k2"] # Multiple
from vuer.events import ClientEvent
class SetPositionEvent(ClientEvent):
etype = "SET_POSITION"
# From VuerClient
client.send @ SetPositionEvent(value=[1, 2, 3])
@app.add_handler("CAMERA_MOVE")
async def on_camera(event, session):
print(event.value) # position, rotation, matrix
cleanup = app.add_handler("EVENT", fn)
cleanup() # Remove later
Events: CAMERA_MOVE, HAND_MOVE, OBJECT_MOVE, CLICK, UPLOAD
render = await session.grab_render(quality=0.9)
image = render.value # PIL.Image
mesh_data = await session.get_webxr_mesh(key="webxr-mesh")
@app.bind(start=True)
async def streaming(session: VuerSession):
session.set @ DefaultScene()
t = 0
while True:
t += 0.016
yield Frame(Update(Box(key="box", position=[np.sin(t), 0, 0])), frame_rate=60)