File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ This page is the entry point for the character-implementation tutorials.
88dual_arm_overview
99dual_arm_inputs
1010dual_arm_assets
11+ haptic
1112```
1213
1314The current runtime contract is still centered around dual-arm simulator
Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ Example for a VR client:
5353 "version" : 1 ,
5454 "type" : " hello" ,
5555 "payload" : {
56- "client" : " bsr -webxr" ,
56+ "client" : " sparc -webxr" ,
5757 "role" : " vr_client" ,
5858 "requested_arm_count" : 2 ,
5959 "character_mode" : " spirobs"
@@ -259,7 +259,8 @@ Top-level payload shape:
259259 "user_arms" : {},
260260 "meshes" : {},
261261 "overlay_points" : {},
262- "spheres" : {}
262+ "spheres" : {},
263+ "haptics" : []
263264}
264265```
265266
@@ -334,6 +335,19 @@ Each sphere contains:
334335- ` color_rgb `
335336- ` visible `
336337
338+ ### ` haptics `
339+
340+ ` haptics ` is a list of haptic events for VR controllers.
341+
342+ Each event contains:
343+
344+ - ` arm_id `
345+ - ` active `
346+ - ` intensity `
347+
348+ The backend gathers these events from each simulation by calling
349+ ` simulation.haptic_events() ` before publishing ` scene_state ` .
350+
337351## Publisher messages
338352
339353The ` publisher ` role is used by Python-side or external tools that inject scene
Original file line number Diff line number Diff line change @@ -26,7 +26,6 @@ It currently helps with:
2626
2727- storing the ordered ` arm_ids `
2828- assigning each arm id to one entry in ` base_positions `
29- - exposing convenience helpers such as ` rod_for_index() ` and ` target_for_index() `
3029- keeping the mode aligned with the rest of the runtime publishing pipeline
3130
3231The key requirement is that a derived simulation must provide eight base
You can’t perform that action at this time.
0 commit comments