feat(logo): improve printing-mallet.svg β depth, materials, illumination#96
Merged
Conversation
The prior asset rendered as a coopered keg-on-a-stick with iron bands β
the silhouette of a Thor-style sledge, not a printer's tool. Historical
references (per A. A. Stewart's "Typesetting" and Letterpress Commons)
describe a compositor's mallet as:
- Roughly *square* head (5 in top Γ 4 in bottom Γ 3 in thick),
NOT a cylinder. No iron bands. No brass ferrules.
- Thin handle of beech or ash (~1 in diameter, 7-8 in long), entering
the head through a beveled hole locked with a wedge.
- Used in conjunction with a wooden planer block to tap movable type
flat on the imposing stone ("type-high"), or to drive quoins.
This redraw replaces the entire geometry from scratch.
WHAT YOU SEE NOW
- Squat boxy head in 3/4 perspective: top face (end-grain rings),
front face (vertical side-grain streaks, slight bottom taper per
the 5-top-to-4-bottom anatomy), right-side face (foreshortened,
in shadow).
- Locking wedge visible on the top face (light beech, contrasts
against the darker head).
- Wear band + chipped corners along the bottom-front edge β where
repeated strikes against the planer block leave their mark.
- One small knot on the front face; subtle surface dents from use.
- Thin tapered handle with palm-swell at the grip; round-shaft
shading (left highlight, center specular, right shadow); subtle
grip darkening from hand oils.
- Ground shadow beneath the (un-rotated) composition; soft 2-stop
elliptical drop.
ANATOMY THIS REJECTS (versus prior asset and prior v1 attempt)
- No cylindrical head with rounded top/bottom ellipses.
- No iron reinforcement bands. No rivets. No rust patina.
- No 4-strap mortise. No leather wrap rings on the grip.
- Handle is thin, not stubby. Grip is at the bottom, not the middle.
UNCHANGED
- 400x400 viewBox preserved for existing consumers (favicons,
blog illustrations, etc.).
- 42Β° rotation pose preserved for continuity with the prior asset.
- public/scripthammer-logo.svg, public/favicon.svg,
public/apple-touch-icon.svg unchanged (their embedded mallets
are sub-pixel-detail at favicon render sizes; separate follow-up
if desired).
REFERENCES
- Stewart, A. A. β "Typesetting" (Project Gutenberg #46113)
- Stewart, A. A. β "Type Cases And Composing-Room Furniture" (PG #31704)
- https://letterpresscommons.com/compositors-tools/
- https://www.c82.net/typography/term/mallet
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3ce5a24 to
c95faee
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.
Summary
Refines
public/printing-mallet.svgβ the standalone printing-mallet asset used by the brand identity, blog illustrations, and (forthcoming) the #48 Three.js game wireframes.Eight specific improvements:
Plus leather wrap rings at the grip and relocated surface scratches.
Why
The previous version was generated by an older Claude Code session. Rendered side-by-side, the old asset had several "AI-drew-this" tells: backwards handle taper, flat sheen overlay reading as smudge, hammer marks placed where strikes wouldn't land, no rivets despite explicit ironwork, no shadow. This PR fixes those specifically.
This PR also enables a downstream improvement: the #48 Three.js game wireframes (PR #95, currently in draft) embed the canonical mallet asset. Once this merges, those wireframes can
<image href=\"/printing-mallet.svg\">the improved version instead of using my hand-drawn approximation.What is NOT changed (deliberate, for scope)
public/scripthammer-logo.svgβ silver cog ring; doesn't contain a mallet (just the engraved "ScriptHammer.com" wordmark).public/favicon.svgandpublic/apple-touch-icon.svgβ they embed their own miniaturized copy of the mallet geometry inline. At their render sizes (favicon β€32px effective; apple-touch 180β512px with mallet ~150px of that), the rivet/knot/leather details are sub-pixel anyway. Separate follow-up if we want them updated.viewBoxis preserved so any consumer expecting that canvas size keeps working.Visual diff
Before vs after screenshots captured locally via headless chromium. Not committed to the repo (per .gitignore on .screenshots/) β see the commit message for the specific item-by-item improvements.
Test plan
git push./ScriptHammer/printing-mallet.svgonce dev server is up.<image href=\"/printing-mallet.svg\">.π€ Generated with Claude Code