Skip to content

Ship logo + typography to landing (release 0.6.0 → bump → icons) #26

Closed

Description

@rep0x

🎯 Goal

Apply the new interlocking-weave logo and the typography role redefinition (serif headlines, sans body, mono technical labels) consistently to the landing site (mindpods.org) — every logo, the favicon, and a homescreen/app icon — sourced from the design system, not vendored copies.

🔍 Background / why this is blocked today

  • Landing depends on @mind-studio/ui@^0.4.0; the installed dist has none of the improvements.
  • The weave mark (src/themes/mind-mark.ts) + typography commits are not on main (now 0.5.0) — they're stranded on a stale [gone] branch as two unmerged commits, and MIND_MARK_SVG is not publicly exported.
  • Decision (locked): release ui first, then bump landing; recolor the landing hero animation cyan→green.
Asset Source Status today
Nav/footer logo (<Symbol>) the npm package old "M" rounded-square — needs release + bump
Favicon (src/app/icon.svg) landing-local static file old cyan placeholder
Apple touch / homescreen icon landing-local static file does not exist
Web manifest (Android homescreen) landing-local does not exist
OG image (opengraph-image.tsx) landing-local generic dot, no mark
Typography landing globals.css ~95% conformant already

📦 Phase 1 — Release @mind-studio/ui with the improvements (this repo)

  • New branch off main; cherry-pick the two stranded commits:
    • 9ff81db — real Mind logo (mind-mark.ts, brand.tsx serif wordmark, Foundations/Logo docs)
    • 3391e8b — typography roles (h1–h3 → serif base rule in gen-styles.ts, mono kbd, docs)
  • Resolve expected conflicts in aliases.ts / mind.ts (0.5.0 semantic-state-tokens touched them) — keep both the state tokens and the logo/typography
  • Export the mark publicly so apps reach the canonical artwork without vendoring: re-export MIND_MARK_SVG, monoMarkSvg, MIND_GREEN, MIND_MARK_VIEWBOX (new ./brand subpath or via the main barrel)
  • pnpm gen:css && pnpm build && pnpm typecheck && pnpm test (contrast AA + axe gate green)
  • PR → merge → release-please cuts 0.6.0 → merge release PR → CI publishes to npm
    • 🔸 Human-in-the-loop: the two PR merges; npm publish is CI-driven

🔗 Phase 2 — Landing adopts the released package

  • Bump landing @mind-studio/ui → ^0.6.0, reinstall → nav/footer <Symbol> renders the weave automatically; h1–h3 → serif base rule + mono kbd arrive

🎨 Phase 3 — Landing static brand assets (authored locally from the canonical SVG)

Generated by a small scripts/gen-icons.mjs that imports the mark from the package (no drift):

  • Favicon — replace cyan src/app/icon.svg with the gradient weave (legible to 16px)
  • App / homescreen icon — src/app/apple-icon.png (180×180): white mono mark on brand-green backplate, 22% radius
  • Web manifest — src/app/manifest.ts (name, theme-color: #16B88A, 192/512 maskable green icons)
  • OG image — opengraph-image.tsx uses the real weave mark

✍️ Phase 4 — Typography conformance pass (landing)

  • Fix 2 stray <h3>s in how-it-works/page.tsx (lines ~230, ~258) that lack serif
  • Recolor animated hero MindMark in globals.css (.mind-mark): cyan #67e8f9 → brand green #29CE9F/#16B88A
  • (Optional) note where manual .font-display is now redundant given the base rule

✅ Phase 5 — Verify

  • pnpm build + typecheck in landing; visually confirm favicon / app-icon / nav mark / headings
  • Conventional Commits in both repos (no JIRA id)

Acceptance criteria

  • ui 0.6.0 published with the weave mark, public mark export, h1–h3 → serif rule, mono kbd
  • Landing on ^0.6.0; nav/footer show the weave
  • Favicon, apple-touch icon, and web manifest icons all render the weave; homescreen add shows the green app icon
  • OG image shows the mark
  • Landing headings serif (h1–h3), body sans, technical labels mono; hero animation is green

Related

Activity

  1. rep0x commented on Jun 21, 2026

    @rep0x
    MemberAuthor

    ✅ Implemented — all five phases done

    📦 Phase 1 — @mind-studio/ui released (this repo)

    • Cherry-picked the two stranded commits onto main (clean — no conflicts; they were authored on the state-token commit that's now in main).
    • New ./brand export (React-free, 0 imports in dist/brand.js): MIND_MARK_SVG, MIND_MARK_VIEWBOX, MIND_GREEN, monoMarkSvg, MIND_CONSTRUCTION_SVG.
    • Gate green: gen:css · build · typecheck · test (225 passed — contrast AA + axe).
    • PR feat: ship real Mind logo, typography roles, and public ./brand export #27 merged → release-please → chore(main): release 0.6.0 #28 merged → v0.6.0 published to GitHub Packages ✅

    🔗 Phase 2–5 — landing → MIND-Studio/landing#13

    • Bumped @mind-studio/ui → ^0.6.0; nav/footer <Symbol> render the weave; h1–h3 → serif + mono kbd arrive via package CSS (the two how-it-works <h3>s pick up Fraunces with no markup change — verified in build).
    • scripts/gen-icons.mjs imports @mind-studio/ui/brand and generates: favicon (icon.svg, gradient weave), apple-touch (apple-icon.png 180², white mark on green / 22% radius), maskable public/icon-{192,512}.png, manifest.ts (theme_color #16B88A), and the OG image now carries the real mark + "Mind" lockup.
    • Hero MindMark recolored cyan → Mind Green #29CE9F.
    • tsc ✅ · next build ✅; all icon/manifest/OG routes serve 200 and render the weave (OG verified visually).

    Left to you: review + merge MIND-Studio/landing#13 (it deploys to production mindpods.org, so I didn't auto-merge).

    Out of scope, still tracked in #21: aurora/starfield literal-color tokenization (landing#7).

  2. rep0x commented on Jun 21, 2026

    @rep0x
    MemberAuthor

    ✅ Closing — fully shipped across both repos

    Landing PR #13 merged to main (commit 7ebd61d), and landing cut release 0.5.0 (#14). All five phases and every acceptance criterion are met:

    • @mind-studio/ui@0.6.0 published — weave mark, public ./brand export (MIND_MARK_SVG / monoMarkSvg / MIND_GREEN / MIND_MARK_VIEWBOX), h1–h3 → serif base rule, mono kbd.
    • Landing on ^0.6.0 — nav/footer render the weave; favicon, apple-touch, and maskable 192/512 manifest icons all show the weave on Mind Green; OG image carries the real mark; headings serif / body sans / labels mono; hero animation recolored to Mind Green.

    🔭 Optional follow-ups (not in scope here)

    • OG wordmark uses Satori's default sans (kept deterministic — no remote fetch); could load Fraunces for full serif fidelity.
    • Manual .font-display classes on landing headings are now redundant given the package base rule — a cleanup candidate.

    Out-of-scope aurora/starfield literal-color tokenization remains tracked in #21.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions