Skip to content

motion: a held thing's arms pinned, so the forearm bodies stay on the grips (#843) - #846

Merged
nicolas-maman merged 2 commits into
mainfrom
feat/motion-hold-bodies
Oct 21, 2026
Merged

nicolas-maman merged 2 commits into
mainfrom
feat/motion-hold-bodies

Conversation

@nicolas-maman

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

Copy link
Copy Markdown
Collaborator

Siltreach measured its settlers eating and found the drawn hands on the bowl's grips while the forearm bodies were 13 to 50 cm off them (#843). The box man shows the same fault, smaller. The anchors that pull the bodies toward the drawn pose run at 5 Hz, too soft to hold a forearm on a prop.

The fix

While the figure holds something, both arms' anchors are pinned at 30 Hz with physics.ragdoll_plant, as a planted foot's are. This is PuppetMaster's pin weight, raised by the behaviour's state on a hand gripping a prop. hold pins them, and put_down, which every release goes through, lets them back.

Measured

tests/test_eat.ae now eats as Siltreach's settlers do: a 0.38 m log, an 11 cm bowl gripped at its sides near the rim, three bites. It holds the bodies as well as the drawn palms.

forearm body off its grip main this branch
between bites (held to 3 cm) 3.5 cm, fails 0.6 cm
mid-bite (printed, not held) 10.5 cm 4.9 cm

The drawn palms stay at 0.05 cm. test_eat and test_sit pass.

Not done here

CI: room for a macOS full rebuild (#836, in part)

macos-2 was cut off at its 25-minute limit before its suites ran, and so was main's run after #844. Nearly every program imports the motion module, so after it changes a macOS shard rebuilds almost everything. macos-2 built 67 programs in 1404 s on its three cores, with only 8 from aetherc's cache, and a cancelled job saves no cache for its rerun. The macOS legs now have 40 minutes; the rest keep 25. #836 stays open for balancing the shards by time and printing each suite's time.

…e on the grips the drawn hands are on (#843)

PuppetMaster's pin weight raised on a hand gripping a prop, as a
planted foot's is (physics.ragdoll_plant): hold pins both arms' anchors,
put_down lets them back. At the anchors' 5 Hz the forearms' bodies hung
3.5 cm off the grips and fell 10.5 cm behind in a bite; now 0.6 cm
between bites and 4.9 mid-bite, the rest of that the bodies chasing the
previous step's rig (#845).

tests/test_eat.ae eats as Siltreach's settlers do (a 0.38 m log, an 11 cm
bowl gripped near the rim) and holds the bodies too: between bites each
forearm's body is under 3 cm from its grip, which fails on main (3.5).
A macOS shard rebuilds nearly all it builds once the motion module moves:
macos-2 built 67 programs in 1404 s on its three cores and was cut off at
25 minutes before its suites ran, as main's run after #844 was.
@nicolas-maman
nicolas-maman merged commit 103e477 into main Oct 21, 2026
10 checks passed
@nicolas-maman
nicolas-maman deleted the feat/motion-hold-bodies branch October 21, 2026 21:42
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.

1 participant