Repository navigation
feat(examples): skull sprite matching the reference - #13
Merged
Merged
Conversation
This was referenced Sep 26, 2026
New examples/skull/: a 40x40 3/4-view skull drawn in pixelsrc after reference-skull.jpg (moved here from avatar-prototype). It has the domed cranium swelling back-left, warm bone ramp, angular orbits with lighter inner walls, notched nasal cavity, cheekbone plane, shadowed temple, and a separate mandible with individual teeth. The jaw is its own sprite, so skull_talking.gif animates closed/ajar/open poses hinged at the ear. Includes 1x/8x renders, the GIF, a reference-vs-render comparison (compare.py), a README with render commands, and GAPS.md with minimal repros for five compiler gaps: random region order without z, ignored auto-outline/repeat/transform, fill seeding outside concave shapes, compositions unable to offset a layer, and derived sprites needing palette. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
The old skull.pxl / skull-outline.pxl and their renders read as a flat grey helmet and are replaced by examples/skull/. Nothing else in the repo referenced them. 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-reference
branch
from
September 26, 2026 04:56
dbdeb72 to
bc02a39
Compare
This was referenced Sep 26, 2026
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.
Replaces the avatar-prototype skull attempts, which read as a flat grey helmet, with a skull drawn in pixelsrc that follows
reference-skull.jpg.What's in
examples/skull/skull.pxl: thebonepalette, theskull_cranium+skull_jawsprites, open-jaw poses, compositions and theskull_talkinganimation. It's 40x40 on a transparent background.skull.png(1x),skull_8x.png,skull_talking.gif(8x; closed, ajar and open, with the jaw hinged at the ear), andskull_comparison.png(built bycompare.py).README.mdhas the render commands.reference-skull.jpgmoved here fromexamples/avatar-prototype/.skull*.pxlsources and their PNG/GIF renders are removed. Nothing else in the repo referenced them.GAPS.md
Five compiler gaps came up while drawing this. Each has a minimal repro in
examples/skull/GAPS.md:z.regionsis a HashMap, and 6 renders of the repro gave 3 different PNGs.auto-outline,repeat,transform,jitter,roundand thex/yranges are parsed and then silently ignored.fill: \"inside(X)\"picks its seed at the bounding-box centre, so it can flood the outside of a concave shape. The documentedseed: [x, y]isn't wired up.shift, and the documented{sprite, x, y}layer renders nothing. Because of this, the jaw poses are written out in full.source:) sprites still requirepalette.Testing
pxl validateis clean, andpxl render --strict -c skullrenders with no warnings.cargo test, everything passes exceptinstall::tests::test_install_skips_cached. That test also fails without this branch's changes: this PR only touchesexamples/, and the failure is in theinstallmodule.🤖 Generated with Claude Code
https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ