Skip to content

design: correct the ring, lead the badges with the licence, lock up the masthead - #54

Merged
zimuwang-real merged 5 commits into
mainfrom
design/baseline-ring-and-lineage
Aug 13, 2026
Merged

design: correct the ring, lead the badges with the licence, lock up the masthead#54
zimuwang-real merged 5 commits into
mainfrom
design/baseline-ring-and-lineage

Conversation

@Octane0411

@Octane0411 Octane0411 commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Three brand surfaces: the ring's geometry, the badge row, and the masthead composition.

The ring was drawn to the wrong numbers

Two independent faults, both visible at README size.

Round caps ate the gap. stroke-linecap="round" extends stroke-width/2 along the tangent past each endpoint — 12.7° at r=13.5, sw=6. The source asked for a 34° gap and the screen showed 8.5°. The mark read as a nearly-closed progress spinner rather than four separated arcs. Arcs now span 42.6° with a 47.4° geometric gap, which measures 22° on screen once the caps are counted.

The two blues sat adjacent. #3c8cff and #0095fd are near-identical. Side by side on a ring they merge into one lump split by a hairline, while cyan and green stay distinct opposite them — so the mark was visibly heavier on one half. The ramp now runs blue / cyan / blue / green so the two blues sit opposite.

Sequence order is dropped on purpose: a ring has no first stop, so ordering the ramp for balance costs nothing a reader could have used. That reasoning does not carry to figures that read left to right, where the ramp should stay in sequence.

The badge row leads with the licence

Apache-2.0 moves to the front — the one fact in that row a reader comparing frameworks cannot skip, and it was sitting third in shields' default blue, a colour close enough to the ramp to read as unchosen rather than different. Now #0095fd with the OSI mark rather than the Apache feather, which would imply an ASF affiliation this project does not have.

The documentation badge is gone: it pointed at the docs site, which the Documentation section already links, and the navigation strip sits directly beneath the badges. What is left answers three questions in descending order of how hard they block: may I use this, does it work, will it run here. Python keeps #3776AB, the language's own colour.

Nothing was added — version, downloads and release badges would all be untrue today, since rsihub is not on PyPI and the repo has no releases.

The masthead is one lockup, mark left and wordmark right

Two <img> tags side by side align on the text baseline rather than on each other, and GitHub strips the attributes that would correct it, so this composition has to be a single file to hold its proportions. docs/rsihub-lockup.svg welds them together.

Everything derives from the mark box so the lockup scales as one object: cap height at 0.50 of the box, gap at 0.36, and the wordmark's cap height centred on the mark's centre rather than sharing a baseline — a ring has no baseline to share. The wordmark's own <style> block travels with it, so the prefers-color-scheme switch that keeps RSI legible on both grounds survives the merge.

Both source assets stay on disk; mkdocs takes the mark for its logo and favicon.

The lineage figure is out of the README

It was still drawn in the retired forest-green palette. That read as an accident once the mark and wordmark above it were both on the ramp, and on a dark ground it floated as a mint card on a dark page.

The file stays on disk and under test. The composition it draws is still the right one and it can come back once it is redrawn — but that is not a recolour job: against any light ground the ramp's own stops fail the 3:1 floor this repo asserts, with #00cbd4 at 1.90:1 and #78e85c at 1.48:1 on #f2fbf7, and only #3c8cff clearing the bar. That constraint, not preference, is what put the figure in green in the first place, and whoever redraws it has to answer it.

Checks

  • Full suite green locally and on CI
  • Identity assertions updated to the new path data, stroke order, and masthead markup. The ring's geometry now carries a comment explaining why the numbers are what they are, so the cap arithmetic is not lost a second time. The lockup gets its own geometry and dark-mode assertions.
  • Mark rendered at 16/24/32/64/96px and as an avatar crop; masthead rendered on both GitHub grounds, with the dark-mode media query values inlined to check what dark-mode readers actually get. Both new badge URLs verified to return 200.

Not in this PR

docs/assets/architecture.svg is still entirely in the retired green and is pinned to that palette by test_architecture_visual_uses_identity_palette. Same contrast constraint applies; worth its own review.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Updated README branding with a combined RSIHub lockup and Apache-2.0 license badge.
    • Removed the documentation badge and replaced the lineage illustration with the benchmark results image.
    • Updated development documentation to clarify the roles of the branding and lineage assets.
  • Tests

    • Expanded validation for branding assets, including lockup paths, color ordering, arc geometry, and dark-mode styling.

Two independent problems, both visible at README size.

Round caps ate the gap. stroke-linecap="round" extends stroke-width/2 along the
tangent past each endpoint — 12.7° at r=13.5, sw=6 — so the 34° gap in the
source rendered as 8.5° on screen. The ring read as a nearly-closed progress
spinner rather than four separated arcs.

The ramp's first two stops sat adjacent. #3c8cff and #0095fd are near-identical
blues; side by side on a ring they merge into one lump split by a hairline while
cyan and green stay distinct opposite them, so the mark was visibly heavier on
one half.

Arcs now span 42.6° with a 47.4° geometric gap, which measures 22° on screen
once the caps are counted, and the ramp runs blue / cyan / blue / green so the
two blues sit opposite. Sequence order is dropped deliberately: a ring has no
first stop, so ordering for balance costs nothing a reader could have used.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Octane0411, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 8ba65910-5f6b-4b17-aded-5d2caf10d318

📥 Commits

Reviewing files that changed from the base of the PR and between 947de6f and 4df79e2.

⛔ Files ignored due to path filters (1)
  • docs/rsihub-lockup.svg is excluded by !**/*.svg
📒 Files selected for processing (1)
  • README.md

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ed4159a6-8f73-44bc-992c-cae97f43f5fd

📥 Commits

Reviewing files that changed from the base of the PR and between e8624ba and 947de6f.

⛔ Files ignored due to path filters (1)
  • docs/rsihub-lockup.svg is excluded by !**/*.svg
📒 Files selected for processing (3)
  • README.md
  • docs/development/documentation.md
  • tests/test_public_repository.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/development/documentation.md

📝 Walkthrough

Walkthrough

The README now uses a combined RSIHub lockup and an Apache-2.0 license badge. The documentation index records the lockup and retained lineage figure. Repository tests validate the updated SVG assets, ring-mark geometry, and dark-mode styling.

Changes

RSIHub branding lockup

Layer / File(s) Summary
Update branding references
README.md, docs/development/documentation.md
The README uses docs/rsihub-lockup.svg, adds a license badge, removes the documentation badge, and removes the lineage illustration. The documentation index lists the lockup and retained lineage figure.
Validate branding assets
tests/test_public_repository.py
Tests cover lockup metadata, revised ring-mark geometry, retained mark and wordmark files, lockup path order, and dark-mode styling.

Estimated code review effort: 2 (Simple) | ~10 minutes

Mergeability Score: ⚪ Minimal · up to 947de

This PR updates branding assets, badge ordering, masthead composition, and documentation references without introducing an actionable merge-blocking risk; it is merge-ready after normal checks and review.

Possibly related PRs

Suggested reviewers: zimuwang-real, yofuria, yesiyu403

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the ring, badge, and masthead changes described in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Octane0411
Octane0411 force-pushed the design/baseline-ring-and-lineage branch from e8624ba to 3fb41f1 Compare August 12, 2026 09:26
@Octane0411 Octane0411 changed the title design: put the corrected ring and a ramp-native lineage figure in the masthead design: correct the ring mark's gap and ramp order Aug 12, 2026
@Octane0411 Octane0411 changed the title design: correct the ring mark's gap and ramp order design: correct the ring mark, lead the badge row with the licence Aug 12, 2026
Apache-2.0 moves to the front. It is the one fact in this row a reader
comparing frameworks cannot skip, and it was sitting third in shields' default
blue — a colour close enough to the ramp to read as unchosen rather than
different. Now #0095fd with the OSI mark.

The documentation badge is gone. It pointed at the docs site, which the
Documentation section already links in its first row, and the navigation strip
sits directly beneath the badges — three routes to one destination inside two
screen inches.

What is left answers three questions in descending order of how hard they
block: may I use this, does it work, will it run here. Python keeps #3776AB,
the language's own brand colour, where changing it would cost recognition for
nothing.

Nothing was added. Version, downloads and release badges would all be untrue
today: rsihub is not on PyPI and the repo has no releases. No coverage tooling
is configured, and there is no paper to cite. A headline benchmark number would
be worse than untrue — the sealed split is where this framework's gains stop,
and that is the finding, not a thing to paper over with a chip.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Octane0411
Octane0411 force-pushed the design/baseline-ring-and-lineage branch from 45d589a to 032a105 Compare August 12, 2026 09:39
Two <img> tags side by side in a README align on the text baseline rather than
on each other, and GitHub strips the attributes that would correct it — so a
mark-left, wordmark-right composition has to be one file to hold its
proportions. docs/rsihub-lockup.svg welds them together.

Everything is derived from the mark box so the lockup scales as one object:
cap height at 0.50 of the box, gap at 0.36, and the wordmark's cap height
centred on the mark's centre rather than sharing a baseline — a ring has no
baseline to share. The wordmark's own style block travels with it, so the
prefers-color-scheme switch that keeps RSI legible on both grounds survives
the merge.

The lineage figure is out of the README. It was still drawn in the retired
forest-green palette, which read as an accident once the mark and wordmark
above it were both on the ramp, and on a dark ground it floated as a mint card
on a dark page. The file stays on disk and under test: the composition it draws
is still the right one, and it can come back once it is redrawn on the ramp —
which is not a recolour, because the ramp's own stops fail this repo's 3:1
floor against any light ground.

Both parts also stay on disk because mkdocs takes the mark for its logo and
favicon.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Octane0411 Octane0411 changed the title design: correct the ring mark, lead the badge row with the licence design: correct the ring, lead the badges with the licence, lock up the masthead Aug 12, 2026
Octane0411 and others added 2 commits August 13, 2026 11:31
The masthead read as crowded next to comparable projects, and the cause was
three separate things rather than one.

The lockup was too small. At 520px it now occupies roughly the share of the
column that reads as a masthead rather than a header image.

There was no whitespace anywhere. Six centred blocks sat at markdown's default
16px apart, and a README cannot carry CSS margins, so the air has to come from
somewhere explicit. Two places, and both are used here: the lockup's viewBox
carries 0.45 of the mark box as padding on every side, so the file brings its
own room wherever it is placed, and <br> separates the masthead blocks.
Verified against GitHub's own markdown renderer that the breaks survive
sanitising rather than assuming they would.

The benchmark figure stays where it is. It is the densest graphic in the repo
and it lands immediately under the navigation strip, which is most of what made
the fold feel tight — but it is also the strongest evidence this project has,
and burying it below the fold to win whitespace is the wrong trade.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The previous pass stacked two independent sources of whitespace — padding baked
into the lockup's viewBox and <br> between every block — and they compounded.
The gap between the lockup and the tagline came to roughly 106px, and because
every gap was the same size the result read as loose rather than structured.

Whitespace is hierarchical now. The air sits around the lockup, where it does
the work of making the mark read as a masthead, and the text blocks below it
close back up to markdown's own spacing. Only one break survives, between the
navigation strip and the benchmark figure, which is the one place two different
kinds of content meet.

Sized against a real constraint rather than taste: the benchmark figure is
1600x790, so it renders about 425px tall at GitHub's content width, and the
masthead has to come in under roughly 375px for both to land above the fold on
a normal window. Lockup padding at 0.30 of the mark box and 460px wide gets
there with the whole figure visible, legend included.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@zimuwang-real
zimuwang-real merged commit 439b300 into main Aug 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants