Deliverable #31 · 2026-09-27
Rah's drawn faces — the parts, cut exactly, and a viewer
godot --path workshop/deliverables/031-rahs-drawn-faces/viewer on the laptop — drag to swivel, E / M / H to step through the parts, 1 / 2 / 3 for the three hair treatments. The parts themselves are workshop/deliverables/031-rahs-drawn-faces/parts/.
Deliverable 30 ended with “the faces will be drawn by hand, by Rah, and by us.” She drew them on the 27th of September: three pictures — four pairs of eyes and two noses, four mouths, five hairs. This page is those drawings, the parts cut out of them, and what they look like on a head. Nothing here touches the game: the picker, the wire and the head shader from the 22nd stay rolled back.
What Rah drew



Cut out exactly
Kris’s brief: use them exactly; anti-aliased, smooth; don’t make them chunky. So the cutting is not what it was on the 22nd. There is no threshold: a pixel’s darkness becomes its opacity, so her anti-aliased edges and the lighter shadow strokes her drawing app lays under a line come through as she made them. Each part is the set of strokes inside its own rectangle of the drawing, cropped tight; the lettering is left behind. The one liberty taken is clamping the JPEG’s faint noise on the white paper to transparent, so there is no grey haze beside the lines.
The mouths are the exception, and Kris asked for it. That drawing is 256 pixels square, each mouth 40 to 100 pixels — too small for a head at any real size. They were made higher-res without changing their shape: the coverage is scaled up eight times, and the outline re-formed at the new scale from the original sub-pixel coverage, so it is crisp and anti-aliased rather than soft. The same four designs, at 2048-scale.
Each row below: her drawing on the left, the cut part on white, the part on a skin-coloured disc.

On the head
A small standalone Godot project (viewer/ in the folder) shows the game’s own player body
wearing the parts — the same primitives, the head sphere only rounder up close — facing the
camera, turned by dragging. The eyes, nose and mouth are projected onto the front of the head
sphere the way the 22nd’s shader did it. The hair is tried three ways, because the sphere
projection was where the last attempt lost the spikes and the long hair:
- Card — a flat paper cut-out through the head’s centre. The ball hides whatever part of the card is inside it, so only what reaches past the silhouette shows: the spikes, the bun, long hair down the shoulders. Edge-on it vanishes, from behind it shows mirrored.
- Projected — painted onto the sphere like the eyes and mouth, straight through the ball so the back shows the drawing as seen from behind. Anything drawn outside the head’s circle cannot land.
- Both — the two together: the projection on the ball’s surface, the card for what sticks out past it.
Every eyes, bare-headed:

Every mouth:

The hair as a card, front-on, three-quarter and from behind:

Projected onto the sphere:

Both together:

What the first look says
A review of the renders before this page went up, against Rah’s drawings and against what went wrong on the 22nd: the parts are her drawings, stroke for stroke, and the face reads on the head. On the hair, the card is right for the four outline hairs and the projection is wrong for them — spread over the whole front of the sphere, the bun and the long hair become stripes across the face, which is the 22nd’s helmet in a new coat. The one hair the projection suits is the solid slicked one, which wraps the skull as a real bob; for it, both also fills the back of the head at the three-quarter view.
Kris, on the first look: “very good”, and both is the one for the hair — with one change, made the same hour. The card had been drawn over the head, so hair inside the ball showed through it; now the ball hides what is inside, and the projection is what paints its surface. The viewer opens on both. His second note, from behind: a skin-coloured band from ear to ear where the hair had been faded out at the ball’s edge to hide a texture artefact; the fade is gone and the artefact handled another way, so the hair now runs unbroken over the crown.
In the game — the same day
Kris: “that is GREAT … I would like it implemented in the game.” So it is, the same afternoon,
live on spellgrove.com/play and in spellgrove-v38.apk:
- Every player body wears an appearance — eyes, nose, mouth, hair, and a shirt colour and a
pants colour from sixteen each. An account that has never chosen wears a set dealt from its
character seed, so every body has a face and neighbours differ. The table is
game/shell/faces.js; a new part is one row and one picture, cut the same way. - The hair is both: painted through the ball and standing as the card, hidden inside the ball.
- The account screen’s box is a third bigger and turned by hand — drag to turn, pinch or wheel to zoom — with six buttons inside it, down its left and right edges, each showing the current choice itself: tap one and the next choice is on the figure and saved at once.
- The gold name above the figure is the player’s to change: tap it, type, done. The name a phone’s Play Games or Game Center gave is kept beside the new one.




What the first look at the game said, honestly: at the game’s own camera a head is about eleven pixels and seen from above, so there the hair reads as a dark cap and the shirt and pants colours do most of the telling-apart; the face is for the account screen and for the talking box, where it reads well. Seen from exactly the side, a bun or the spikes vanish (the card is edge-on) and the hair painted through the ball shows the drawing’s gaps as skin.
What is open
- Where each part sits and how big it is: the viewer’s arrow keys give the numbers and
faces.jsholds them. - The mouths’ source is small. A 2048 export of that drawing, cut the same way, would replace the scaled ones with no other change.
- More parts are coming. A part is a row in
faces.jsand a picture; a new group would be a column on the account and a seventh button.
Sources & artifacts
← related epic: character-composition-poc
Also available as raw markdown.