ArmCompleted runsRetained through holdMean J* mmMean V* m/sMean overlap mmMean substep ms
One-sided (closing only; previous default)7/75/725.440.4950.78023.74
Bidirectional (new default)7/75/726.640.4971.09318.78

Means use the 7 cases completed in both arms.

CaseRobotRowsArmHoldReleaseJ* mmV* m/sWindowsOverlap mmSubstep msFinite
m2_franka_pouchFranka512One-sided (closing only; previous default)separated at 4.5 shand clear at end (from 4.5 s)16.960.6951200.99857.66yes
m2_franka_pouchFranka512Bidirectional (new default)separated at 42.0 shand clear at end (from 42.0 s)28.340.5321200.99823.29yes
m3_franka_tote_emptyFranka128One-sided (closing only; previous default)separated at 7.3 shand clear at end (from 7.3 s)50.081.0721201.83810.47yes
m3_franka_tote_emptyFranka128Bidirectional (new default)separated at 17.9 shand clear at end (from 17.9 s)53.651.2331201.0069.97yes
r5_allegro_towelAllegro512One-sided (closing only; previous default)retained through holdhand clear at end (from 68.6 s)22.880.3711200.90111.11yes
r5_allegro_towelAllegro512Bidirectional (new default)retained through holdhand clear at end (from 68.7 s)21.610.3721202.93811.20yes
r5_franka_dressFranka512One-sided (closing only; previous default)retained through holdhand clear at end (from 68.6 s)24.550.3441200.20927.20yes
r5_franka_dressFranka512Bidirectional (new default)retained through holdhand clear at end (from 69.4 s)23.340.3481200.00030.73yes
r5_franka_patch_contact_v2Franka512One-sided (closing only; previous default)retained through holdhand clear at end (from 68.4 s)20.670.3241200.71215.44yes
r5_franka_patch_contact_v2Franka512Bidirectional (new default)retained through holdhand clear at end (from 68.4 s)21.160.3341202.71020.44yes
r5_franka_towel_contact_v2Franka512One-sided (closing only; previous default)retained through holdhand clear at end (from 68.3 s)24.450.3591200.79916.31yes
r5_franka_towel_contact_v2Franka512Bidirectional (new default)retained through holdhand clear at end (from 69.0 s)20.500.3551200.00012.46yes
r5_franka_trousersFranka64One-sided (closing only; previous default)retained through holdhand clear at end (from 68.7 s)18.520.3011200.00027.98yes
r5_franka_trousersFranka64Bidirectional (new default)retained through holdhand clear at end (from 69.4 s)17.850.3011200.00023.38yes

All attempts

CaseArmStorageStatusStopped at sHoldJ* mmV* m/sWindows
m2_franka_pouchOne-sided (closing only; previous default)as selected by the synced-main campaigncompletedcompletedseparated at 4.5 s16.960.695120
m2_franka_pouchBidirectional (new default)as selected by the synced-main campaigncompletedcompletedseparated at 42.0 s28.340.532120
m3_franka_tote_emptyOne-sided (closing only; previous default)as selected by the synced-main campaigncompletedcompletedseparated at 7.3 s50.081.072120
m3_franka_tote_emptyBidirectional (new default)as selected by the synced-main campaigncompletedcompletedseparated at 17.9 s53.651.233120
r5_allegro_towelOne-sided (closing only; previous default)as selected by the synced-main campaigncompletedcompletedretained through hold22.910.374120
r5_allegro_towelOne-sided (closing only; previous default)512-row repeatcompletedcompletedretained through hold22.880.371120
r5_allegro_towelBidirectional (new default)as selected by the synced-main campaignerror67.90run error23.600.375120
r5_allegro_towelBidirectional (new default)512-row repeatcompletedcompletedretained through hold21.610.372120
r5_franka_dressOne-sided (closing only; previous default)as selected by the synced-main campaigncompletedcompletedretained through hold24.550.344120
r5_franka_dressBidirectional (new default)as selected by the synced-main campaigncompletedcompletedretained through hold23.340.348120
r5_franka_patch_contact_v2One-sided (closing only; previous default)as selected by the synced-main campaigncompletedcompletedretained through hold20.670.324120
r5_franka_patch_contact_v2Bidirectional (new default)as selected by the synced-main campaigncompletedcompletedretained through hold21.160.334120
r5_franka_towel_contact_v2One-sided (closing only; previous default)as selected by the synced-main campaignerror68.67run error24.110.358120
r5_franka_towel_contact_v2One-sided (closing only; previous default)512-row repeatcompletedcompletedretained through hold24.450.359120
r5_franka_towel_contact_v2Bidirectional (new default)as selected by the synced-main campaigncompletedcompletedretained through hold22.770.351120
r5_franka_towel_contact_v2Bidirectional (new default)512-row repeatcompletedcompletedretained through hold20.500.355120
r5_franka_trousersOne-sided (closing only; previous default)as selected by the synced-main campaigncompletedcompletedretained through hold18.520.301120
r5_franka_trousersBidirectional (new default)as selected by the synced-main campaigncompletedcompletedretained through hold17.850.301120

Context: synced main 351b9d9f, one-sided damping (2026-11-02 campaign)

CaseHold (synced main)J* mmV* m/sOverlap mmSubstep ms
m2_franka_pouchseparated at 49.5 s27.720.4580.99814.18
m3_franka_tote_emptyseparated at 13.0 s53.471.3302.68311.68
r5_allegro_towelretained through hold23.050.3690.89211.00
r5_franka_dressretained through hold25.840.3830.09822.34
r5_franka_patch_contact_v2retained through hold20.470.3280.82212.30
r5_franka_towel_contact_v2retained through hold24.670.3560.59211.64
r5_franka_trousersretained through hold18.210.3010.27719.17

Poker cards (added 2026-11-04 afternoon)

Demo example_cloth_poker_cards, ball disabled, issue-3494 harness (settle score = mean over frames 40 to 79 of the largest card-vertex speed):

ModeRunSettle score m/sMean kinetic energy JVerdict
One-sided (closing only; previous default)10.6152.33e-3bouncy
One-sided (closing only; previous default)20.6302.38e-3bouncy
Bidirectional (new default)10.07055.12e-5settled
Bidirectional (new default)20.07044.84e-5settled

Benchmark passive scene s4_poker_cards_no_ball (65 s, no hold or release criteria):

ArmJ* mmV* m/sWindowsOverlap mmSubstep msFinite
One-sided (closing only; previous default)16.360.4211200.7824.53yes
Bidirectional (new default)15.610.4221200.8646.19yes
Synced-main campaign 2026-11-04 (one-sided, other source revision)19.330.402n/a0.800n/an/a

Arm labels: the one-sided runs used contact_damping_bidirectional=False, the bidirectional runs True; the constructor default became True on the branch on 2026-11-04 afternoon, after the runs.