Replace the README banner with a vector logo for light and dark - #24
Conversation
The new logo (the gust-glyph concept): three wind strokes in teal, ink and orange, with "VAYU" and "وایو". The text is shaped with HarfBuzz and stored as outlines, so it renders the same everywhere without web fonts. There are two versions, assets/logo-light.svg and assets/logo-dark.svg, and the README picks one with <picture> and prefers-color-scheme. The images use absolute raw.githubusercontent URLs so they also show on PyPI, where relative paths don't resolve. scripts/make_logo.py regenerates both files (fonttools + uharfbuzz; Manrope and Vazirmatn are fetched from Google Fonts, both OFL). assets/banner.png, the raster banner it replaces, is removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TMXYMqgLAykqRApmbRfpTA
cbe28d2 to
4b11aae
Compare
|
The The Generated by Claude Code |
CodeWithBehnam
left a comment
There was a problem hiding this comment.
Automated code review, 10 findings. None of them is a blocking correctness bug in the shipped SVGs. I reran scripts/make_logo.py and it reproduces both committed files byte for byte. The findings cover how long the README links keep working, how the generator script fails and whether it can be reproduced, and some layout and alignment details.
Generated by Claude Code
Generated by Claude Code
- Space and centre the text against the mark's ink, not its nominal 88 px box, and size the frame from the union of all ink plus a margin - Right-align the Persian line to VAYU's visible letters - Cache fonts per user and per font version, with timeouts, an atomic write and a clear error if Google Fonts returns other than one TTF - Fail if a font lacks a glyph instead of drawing .notdef boxes - Drop the redundant rtl override and default HarfBuzz features - Pin README image links to the release tag when building for PyPI Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TMXYMqgLAykqRApmbRfpTA
What does this PR do?
Replaces the raster README banner with the chosen logo, concept 5 (gust glyph): three wind strokes in teal, ink and orange, next to VAYU and وایو.
assets/logo-light.svgandassets/logo-dark.svgare about 3 KB each, versus the 5.8 MB PNG. The README picks the right one with<picture>andprefers-color-scheme.raw.githubusercontent.com/.../main/...URLs, so the logo also shows on PyPI, where relative paths don't resolve. Those URLs only work once this is onmain, so the logo won't show in this PR's file preview.scripts/make_logo.pyregenerates both SVGs. It needsfonttoolsanduharfbuzz, and fetches both fonts (OFL) from Google Fonts.assets/banner.pngis removed. It also carried an AI-image watermark in the bottom-right corner.How was this tested?
Tested with audio file(s)
Ran existing tests (
pytest): no Python package changes; CI runs them anywayTested CLI (
vayu audio.mp3)Rendered both SVGs in Chromium on GitHub's light (
#ffffff) and dark (#0d1117) backgrounds. Every element is inside the frame, including the descender of و.scripts/make_logo.pyreproduces the committed files: the path data is the same apart from whitespace.Checked that raw.githubusercontent.com serves SVGs as
image/svg+xml, so browsers display them.claude-reviewwill fail as on #12 (the repository'sCLAUDE_CODE_OAUTH_TOKENsecret, see this comment).🤖 Generated with Claude Code
https://claude.ai/code/session_01TMXYMqgLAykqRApmbRfpTA
Generated by Claude Code