Repository navigation
robotd: idle look-around moves during a look, leans the neck, opens the beak, yawns - #408
Merged
Merged
Conversation
A held look read as frozen: the only motion was a ~2° drift at under 0.1 Hz. The gaze now shifts a few degrees around the look every 0.4–1.2 s, the way eyes re-fixate, and looks are shorter (1–3 s rather than 1.5–4.5 s), moves a little quicker, the drift faster and dozing shallower — so it moves more often. Every number is now `[idle]` in robotd.toml, editable from `robotctl configure`, with an `enabled` switch. Read once at startup; values it would divide by or ranges put backwards are refused by name. Assisted-by: Claude:claude-opus-5-5
Coverage73.77% lines on this branch, against a floor of 70%. Per-file |
Nothing reported whether the robot was idle, so tuning it meant guessing from the head. One line when a spell starts, one with its length when it has faded out. Assisted-by: Claude:claude-opus-5-5
After yawn_after_s idle it yawns about every yawn_every_s: the beak opens to yawn_open and the head tips by yawn_pitch, silently. The mouth takes the wider of the yawn and what a client asked. A new glance lands at least glance_min from the last look. Assisted-by: Claude:claude-opus-5-5
Each new look draws a neck lean of up to glance_neck forward or back and a beak opening of up to glance_mouth, eased with the glance and held through the look's nudges. The yawn adds on top of the beak. Assisted-by: Claude:claude-opus-5-5
The mouth's 0..1 runs from -5 degrees, held past shut, to +30. At glance_mouth 0.15, scaled by reach and a uniform draw, a look opened it to about -3 degrees on average: still shut, seen on the robot. Now 0.4 by default, each look opening it between half and all of that, not shrunk by dozing. Assisted-by: Claude:claude-opus-5-5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A held look read as frozen — the only motion during it was a ~2° drift at under 0.1 Hz — and the head was the only thing that moved.
glance_min(0.2 rad) from the last one, so it never lands where the head already is.glance_neck(0.15 rad) forward or back, and opens the beak to between half and all ofglance_mouth(0.4 — about +2° to +9°; the mouth's 0..1 starts at −5°, held past shut, so much less does not show). The idle beak takes the wider of itself and what a client asked.yawn_after_s(45 s) idle, about everyyawn_every_s(90 s), foryawn_s(3 s): the beak opens byyawn_open(0.6) on top of the look's, and the head tips byyawn_pitch(−0.15 rad). Silent; glances hold while it yawns.idle look-around startedwhen a spell starts,idle look-around stopped spell_s=…once it has faded out.[idle]inrobotd.toml— inrobotctl configure, withidle.enabledon the front page. Read once at startup, so a change asks to restartrobotd. Divisors at zero, probabilities and openings over 1, and backwards ranges are refused by key name.Tested with
cargo test -p robotd -p robotd-params -p robotctlon macOS. On olducky, 97a3b9b runs and the journal shows spells starting; the beak opening as it now stands (3a293d4) is not yet seen on a board.🤖 Generated with Claude Code