Skip to content

docs(animation): every pose comes off the idle, and the record follows it - #84

Merged
protonspy merged 2 commits into
mainfrom
docs/every-pose-comes-off-the-idle
Sep 21, 2026
Merged

protonspy merged 2 commits into
mainfrom
docs/every-pose-comes-off-the-idle

Conversation

@protonspy

Copy link
Copy Markdown
Owner

No description provided.

…s it

A new pose is made with `character state` from the idle state's id rather than
from the base character's. A state is a character with its own id, so it is a
valid source, and the palette carries from whatever it was made from — which is
the point: one ancestor for every pose is what makes two of them match when they
play in sequence. A pose off the base and the next off a state is two ancestors
and two slightly different characters, invisible on one sheet and obvious in
motion, each one a Pro call that cannot be undone.

The plan said nothing in the tool had to change. That was wrong, and the review
found it: a state whose source is another state resolved to no character and
fell into `loose`, so `poses_of`, `check_pose_belongs`, `inspect` and `character
check` stopped seeing every pose after the idle. The guardrails went quiet on
exactly the workflow this documents. Reproduced first — `owner_of` answering
`None` for the chained pose — then fixed: the source chain is walked to the
character at its root and the state is filed there, computed before anything is
attached so it does not depend on the order runs are read in, and a cycle stops
rather than being followed.

`of` still names what the state was actually made from. Where it is filed is the
character all of it descends from.

plans/every-pose-comes-off-the-idle.md; specs/asset-workspace R7.6.
Verified with scc validate --checks --pr: 1825 passed, 58 skipped, coverage
95.34%, ruff check and format clean, artifacts clean.
@protonspy
protonspy merged commit 38751aa into main Sep 21, 2026
2 checks passed
@protonspy
protonspy deleted the docs/every-pose-comes-off-the-idle branch September 21, 2026 02:38
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