بنقرة واحدة
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)