Skip to content

sit: the hands rest where the arms reach with the elbows bent, on any seat - #837

Merged
nicolas-maman merged 1 commit into
mainfrom
feat/motion-seat-reach
Oct 20, 2026
Merged

nicolas-maman merged 1 commit into
mainfrom
feat/motion-seat-reach

Conversation

@nicolas-maman

@nicolas-maman nicolas-maman commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

On a seat over about 0.45 m high, a sitter's arms snapped 7.6 to 10.1 degrees in one step as it started to stand up (#834). The cause was where the hands rested.

Cause. hands_on_thighs put each hand SIT_HANDS (0.6) of the way from the hip to the knee, whatever the arm could reach.

  • On a high seat the thighs slope down to the knees, so the hands landed far from the shoulders and the arms locked all but straight.
  • Standing up then re-solved each arm from that pose, and both arms snapped in a step.
seat top elbow bend, sat (main) worst turn in a step, main this PR
0.4 m, squared log 50 degrees 3.0 degrees 3.0 degrees
0.5 m, round log 7.1 degrees 10.1 degrees
0.6 m, round log 5.7 degrees 7.6 degrees 2.7 degrees

Fix. A hand rests at SIT_HANDS where the shoulder reaches it with the elbow bent SIT_ELBOW (30 degrees) at least. Otherwise it rests nearer the hip, as far as that holds, down to SIT_HANDS_NEAREST (0.15). The share is solved exactly along the thigh from the arm's two lengths (hand_share). A person sitting high rests the hands further up the thighs, elbows bent. It is clip-agnostic: it reads only the figure's own arm lengths.

Test. test_sit's round log, its top 0.6 m up, is held to the 6-degree pop limit again, which #832 had held at 8 degrees for this issue. It turns 2.7 degrees at the worst now, and fails at 7.6 without the fix.

Tested locally: on Aether 0.834.0 and aephysics f0bd6d6, the motion gate (34 suites) plus test_go_to, test_sit, test_lie, test_locomotion, test_characters_meet, test_physics, test_ik and test_gmath all pass, 42 of 42. The plaza scorecard is not run: no one sits in the plaza.

Dependencies: unchanged, held as on main (Aether 0.834.0, aephysics f0bd6d6) for aether#3023 and aether-ui#220.

Closes #834. Part of #825 and #790.

… seat (closes #834)

hands_on_thighs put each hand SIT_HANDS (0.6) of the way from the hip to the
knee, whatever the arm could reach. On a high seat the thighs slope down to
the knees, so the hands landed far from the shoulders and the arms locked
all but straight: 7.1 degrees from straight on a 0.5 m seat, 5.7 on a 0.6 m
one, against 50 on the 0.4 m log. Standing up then re-solved each arm from
that pose, and both snapped 7.6 to 10.1 degrees in a step.

Now a hand rests at SIT_HANDS where the shoulder reaches it with the elbow
bent SIT_ELBOW (30 degrees) at least, and else nearer the hip, as far as
that holds (hand_share, exact along the thigh), down to SIT_HANDS_NEAREST.
A person sitting high rests the hands further up the thighs, elbows bent.

test_sit's round log, its top 0.6 m up, is held to the 6-degree pop limit
again: its worst turn in a step is 2.7 degrees, and 7.6 without the fix,
which fails. The 0.4 m squared log is unchanged at 3.0.
@nicolas-maman
nicolas-maman merged commit cc7e968 into main Oct 20, 2026
10 checks passed
@nicolas-maman
nicolas-maman deleted the feat/motion-seat-reach branch October 20, 2026 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

sit: on a seat over 0.45 m high a body turns 7.6 to 10 degrees in a step (pop)

1 participant