Repository navigation
feat(examples): animate the skull (idle, laugh, glowing eyes, speech timing) - #21
Merged
Merged
Conversation
…timing) New skull_anim.pxl on a 44x44 canvas with three looping 8x GIFs: - skull_idle: slow 1px float with a blink (the sockets go dark) every other bob - skull_laugh: fast jaw chatter with a new wide jaw pose, the head tipping up a pixel on each open - skull_eyes: the idle float with an ember glow flickering in the sockets (new `ember` palette; glow_1..3 overlays sit on top of any frame) skull_talking in skull.pxl now uses speech-like timing: 1-3 frame syllables and holds between phrases. The still is unchanged pixel-for-pixel. Compositions can't offset layers and derived shift sprites don't reach GIF frames, so the two head heights are written out as sprites. GAPS.md gains per-frame duration (#6) and palette @include in GIF frames (#7). A contact sheet built from pxl spritesheets shows frames from each animation. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
… now Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
scbrown
force-pushed
the
art/skull-animations
branch
from
September 26, 2026 05:34
6f89863 to
e233a89
Compare
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.
Depends on #13: this branch is stacked on
art/skull-reference. Until #13 merges, the diff here includes #13's commits. Only the last commit is new.pxl renders all the loops below from
.pxlsources at 8x, and they keep the still's palette, outline and proportions.skull.pngis unchanged pixel-for-pixel.What's new
skull_anim.pxluses a 44x44 canvas, so the head has room to float and the jaw has room to drop.skull_idle: 24 frames at 120ms. A 1px float, with one blink every other bob: the inner socket walls go dark, half and then full.skull_laugh: 12 frames at 70ms. Jaw chatter with a newwidepose (chin down 3px), and the head tips up a pixel on each open.skull_eyes: the idle float plus an ember glow flickering in the sockets. It uses a newemberpalette with four warm shades, and theglow_1..3overlays can sit on top of any frame.skull_talkinginskull.pxlnow has speech-like timing: 1-3 frame syllables, short closes between them and a longer hold between phrases.contact_sheet.pybuildsskull_contact_sheet.pngfrompxl render --spritesheetstrips.Craft notes
shiftsprites render empty as GIF frames. So the cranium, the jaw poses and the overlays are written out at both head heights (*_restand*_up).GAPS.md additions
@includefails with "circular include" on the second use as a GIF frame.skull_anim.pxlrepeats thebonepalette to avoid it.Testing
Every animation renders with
pxl render --strictand no warnings, andpxl validateis clean. This PR only touchesexamples/skull/.🤖 Generated with Claude Code
https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ