Skip to content

feat: ship the real Orbit and Astra marks (#79) - #738

Merged
thomasluizon merged 1 commit into
redesign/mainfrom
feature/ticket-79-orbit-astra-marks
Aug 16, 2026
Merged

thomasluizon merged 1 commit into
redesign/mainfrom
feature/ticket-79-orbit-astra-marks

Conversation

@thomasluizon

Copy link
Copy Markdown
Owner

Ticket: #79. Closes the mark, which #735 shipped only as a draft.

design/brand/orbit-mark.svg and design/brand/astra-mark.svg replace every draft asset from #735. Those drafts existed to make the accent decidable, and they are all deleted here along with their PNG set.

The pair

Orbit is a planet drawn as a ring with an open centre, an orbital band crossing in front across the lower left and passing behind at the upper right, and a small solid moon above right.

Astra is a letter A carrying the same orbital band and the same solid dot.

They are told apart by silhouette, not by a detail. Orbit is a hollow ring; Astra is a solid letterform, and that reads at 16px.

This supersedes DESIGN.md's "anything with a core is Astra, anything empty in the middle is Orbit". That rule was written for the old thin-ellipse draft. Against a Saturn mark it can only produce a second Saturn, which it did, and cost a paid generation to discover. The DESIGN.md edit is deliberately not in this PR: the spec rewrite belongs with the rest of the identity section once the 24 grid variant and the lockup exist.

File shape

Both are one fill-rule="evenodd" path, plus the moon on Orbit. Transparent, no background rectangle, no C2PA provenance metadata, viewBox="0 0 1024 1024". Both carry fill="var(--fg-1, #F4F4F6)", so a standalone viewer resolves the dark value, which is the primary mode, and an inlined copy resolves the live token. One file serves both modes.

Opened in a browser on a white page they look washed out. That is the near white fallback doing its job, not a defect.

Provenance and licence

Generated on Recraft Basic, so both carry full commercial rights and were generated privately. Recraft's free tier output is Recraft owned, publicly visible and not licensed for commercial use, so it could not have shipped. This is D66 decision 10's pipeline, with one correction.

D66 names the wrong package. Its pipeline calls for "the free logo-generator Claude skill". The package with that name requires a GEMINI_API_KEY and is not free. The zero cost native SVG skill is rknall/claude-skills@svg-logo-designer. In the end neither was used, because a diffusion model cannot hold exact geometry and Recraft's native vector model can. Worth amending in the ADR.

The one repair

The Orbit source art carried a thin white crescent inside the planet. The fix merges that sliver into the planet's interior and emits a single hole boundary.

Recorded because it cost several attempts: cutting it as a second even-odd subpath does not work. Overlapping holes XOR back to filled, so the sliver returns as a hairline that looks like a rendering bug. Reshaping the existing contours, scaling the interior, blur-threshold and morphological opening all either failed or damaged the band.

Assumptions

  • The draft assets are deleted rather than kept alongside. Two competing mark sets in one directory is exactly the confusion this replaces.
  • The DESIGN.md identity section is left stale for now, and README records the conflict. Editing it before the lockup and 24 grid variant exist would mean editing it twice.
  • The fonts are untouched. They were never draft.

Not built yet, and README says so

The 24 grid viewBox variant, the accent treatment carrying --primary on the moon only, the native 16px redraw, the horizontal lockup, the platform icon at 512, and the PNG set at 16 / 48 / 128 / 512.

Verification

  • node tools/check-dashes.mjs clean, lefthook pre-commit and pre-push both passed.
  • Both files rendered and inspected at 300px, 32px and 16px, on #09090B and on #FAFAFA, from the same file.
  • Path structure read directly out of each file rather than assumed.

redesign/main still has no CI and no Pullfrog review: nine workflows key on branches: [main] and Pullfrog's required check is configured on main. A green PR here is not a reviewed PR.

🤖 Generated with Claude Code

Replaces the draft assets PR #735 shipped. Those existed only to make the
accent decidable and are all deleted.

design/brand/orbit-mark.svg  a planet drawn as a ring with an open centre,
an orbital band crossing in front low and passing behind at the upper right,
and a small solid moon above right.

design/brand/astra-mark.svg  a letter A carrying the same orbital band and
the same solid dot, so the pair reads as one family.

They are told apart by SILHOUETTE, not by a detail: Orbit is a hollow ring,
Astra is a solid letterform. That survives at 16px. It supersedes DESIGN.md's
"anything with a core is Astra, anything empty in the middle is Orbit", which
was written for the draft geometry and could only ever produce a second
Saturn.

Both are one evenodd path, transparent, no C2PA metadata, and carry
var(--fg-1, #F4F4F6) so one file serves both modes.

Generated on Recraft Basic, so both carry full commercial rights and were
generated privately. Free tier output is Recraft owned, public and unlicensed
and could not have shipped.

The Orbit mark needed one repair: its source art carried a thin white crescent
inside the planet. The fix merges that sliver into the planet's interior and
emits a single hole boundary. Cutting it as a second evenodd subpath does not
work, because overlapping holes XOR back to filled and the sliver returns as a
hairline.

Not yet built, and README says so: the 24 grid variant, the accent treatment,
the native 16px redraw, the lockup, the platform icon and the PNG set.

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

vercel Bot commented Aug 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
orbit-ui-mobile-web Ignored Ignored Aug 16, 2026 2:33am

Request Review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

The final marks are not propagated to the repository's authoritative design reference or setup payload, so the documented import flow still uses assets this PR deletes.

Reviewed changes in e9b5ee7 cover the complete 25-file replacement of the draft brand asset set.

  • Source marks — adds accessible 1024-viewBox Orbit and Astra SVGs with monochrome token-aware fills.
  • Draft cleanup — removes the old 16/24-grid marks, lockups, platform icons, and every derived PNG.
  • Asset documentation — declares the source marks final, records their provenance and repair, and lists the deployable variants still to build.

⚠️ Final identity conflicts with its own authority

design/reference.html remains the rendered authority but still labels and renders the draft Orbit and Astra geometry, while SETUP.md asks users to upload ten files deleted here and still warns that the mark is a draft. Following the repository's documented setup after this merge therefore either fails on missing paths or teaches the design tool the identity this PR is replacing.

Technical details
# Propagate the final identity to its consumers

## Affected sites
- `design/reference.html:477-579` — labels the mark as a draft and renders the superseded Orbit and Astra geometry in every brand example
- `design/brand/SETUP.md:83-85` — identifies `reference.html` as the rendered authority and says `brand/` carries the mark, glyph, and lockup
- `design/brand/SETUP.md:104-147` — instructs users to upload deleted SVG/PNG files and tells the tool that ticket `#79` still owns a future real mark
- `DESIGN.md:16,30-36` — makes the reference authoritative and specifies the superseded silhouettes, sizing, and lockup
- `design/brand/README.md:3-10,46-55` — directs readers to `SETUP.md`, declares the replacement final, and records that all import-ready derivatives are unfinished

## Required outcome
- Leave one consistent, executable source of truth for the final Orbit and Astra identity across the rendered reference, authoritative specification, and setup payload.
- Do not publish upload instructions for files that no longer exist. Either provide the required derivatives or explicitly block that workflow until they are built.

## Suggested approach
- Replace the draft geometry and prose in `reference.html`, reconcile the identity section in `DESIGN.md`, and rewrite the setup asset list and draft warning around files that actually exist.

ℹ️ Nitpicks

  • The unqualified ticket #79 in the title and body resolves to this repository's unrelated, already-closed MCP executor issue. Qualify the intended ticket repository so the provenance link points at the mark work.

Pullfrog  | Fix it ➔View workflow run | Using GPT Sol𝕏

@thomasluizon
thomasluizon merged commit caa58f5 into redesign/main Aug 16, 2026
4 of 5 checks passed
@thomasluizon
thomasluizon deleted the feature/ticket-79-orbit-astra-marks branch August 16, 2026 02:38
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.

1 participant