Skip to content

With ankles, the shin stops at the ankle (#174); Aether 0.810.0 - #176

Merged
nicolas-maman merged 1 commit into
mainfrom
fix-174
Oct 13, 2026
Merged

nicolas-maman merged 1 commit into
mainfrom
fix-174

Conversation

@nicolas-maman

Copy link
Copy Markdown
Collaborator

Closes #174. Also moves CI to Aether 0.810.0, the latest release.

The fix

With ankles set, each calf's capsule was built as specified. Its cap reached a radius (8 cm) past the ankle, through the space the foot occupies, and rested on the ground beside the foot.

The shin is now built with its ankle end drawn in by its radius, so its cap ends at the ankle. Unchanged:

  • its knee end and radius;
  • its spec, so the foot's joint is still made at the ankle;
  • a figure without ankles, which keeps the reference's calf.

Standing, with every joint stiff but the ankles soft (the case the issue measured in ae3d), as shares of the figure's weight:

shins feet
ankles, capsule as specified 42% 57%
ankles, this PR 0% 100%
no ankles (the reference's) 0% 100%

human_bone_far_end

A built bone's far end in its body's frame:

  • a calf with ankles: its ankle, the foot's joint;
  • any other bone: the end of its capsule farther from its joint (a forearm's past the wrist, a foot's at the toe).

For ae3d: its bone_far_end takes a calf's ankle from the far end of the shin's capsule. With ankles that end is now a radius short of the ankle, so it should call human.human_bone_far_end.

Tests

test_human has 134 checks, the new ones in test_ankle_shins:

  • the shin's shape:
    • its cap ends at the ankle;
    • its knee end and radius are the reference's;
    • without ankles it is the reference's capsule whole;
  • the far ends: a calf's, a foot's, a forearm's, and a figure that isn't spawned or an index past its bones;
  • the issue's measure, on the table above.

With the shortening disabled, the shape checks fail by 0.08 m and the load checks by 42%.

Pins

  • Aether 0.810.0 and aeb v0.326, both the latest releases.
  • The gate passes on 0.810.0 before this change too.
  • The README's install line had been left at 0.806.0 and now matches CI.

With `ankles` set, each calf's capsule was built as specified: its cap
reached a radius past the ankle, through the foot's place, and rested on
the ground beside the foot. A standing figure with soft ankles put 42% of
its weight on its shins' end caps. The shin is now built with its ankle
end drawn in by its radius, so its cap ends at the ankle. Its knee end,
radius and spec are unchanged, and the foot's joint is still made at the
ankle. That figure now stands entirely on its feet. Without ankles the
calf is the reference's, unchanged.

human_bone_far_end gives a built bone's far end in its body's frame: the
ankle for a calf with ankles (the foot's joint), else its capsule's end
farther from its joint. Consumers that took a calf's ankle from its
shin's capsule should read it here.

test_human checks the shin's shape against the ankle and the reference,
the far ends, and the issue's measure (shins against feet, as shares of
the figure's weight). The old capsule fails it.

AE_PIN moves to 0.810.0, the latest release (the gate passes on it
unchanged), and the README's install line, left at 0.806.0, follows.
@nicolas-maman
nicolas-maman merged commit 765c99d into main Oct 13, 2026
2 checks passed
@nicolas-maman
nicolas-maman deleted the fix-174 branch October 13, 2026 17:12
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.

With ankles, the shin's capsule reaches past the ankle onto the ground: standing, the shins carry 29% of the body

1 participant