Skip to content

2026 app icon and @redrob-labs/ui 1.8.0 - #140

Merged
its-janghoon merged 2 commits into
developfrom
feat/app-icons-2026
Oct 20, 2026
Merged

its-janghoon merged 2 commits into
developfrom
feat/app-icons-2026

Conversation

@its-janghoon

Copy link
Copy Markdown
Member

What's done

  • 2026 app icon ("Doorway light", Redrob Blue tile) from @redrob-labs/ui@1.8.0 dist/brand/app-icons/redrob-browser/, byte-for-byte sources: redrob-browser-icon-web.svg (sha256 1ce12193…91db8e) and redrob-browser-symbol.svg (sha256 67951420…a05e). Replaces the teal planet-and-orbit icon in every app-icon slot: branding/icons/product_logo_* (Chromium + Linux + 100/200 % sets), favicon_product, product_logo_32.xpm, Windows .ico (app, doc, pdf, mini_installer, setup, branded setup), Start tiles, macOS appiconset / iconset / app.icns, the macOS 26 AppIcon.icon layer + fill, and the agent extension icon (agent/apps/app/public/icon).
  • scripts/render_app_icons.py now reads the npm package's app-icons folder, checks each SVG's sha256 against its manifest.json, and renders with headless Chromium (no ImageMagick SVG). Bitmap slots use -icon-web (Windows/Linux/macOS <26 do not mask an icon); macOS bitmaps sit on Apple's 824/1024 grid.
  • Launcher icon: new full-bleed branding/icons/launcher_icon_512.png; sign-and-publish.yml stages it as the redrob-browser.png release asset instead of the margined macOS 512.
  • Design system 1.3.1 → 1.8.0: DESIGN_SYSTEM_PIN.json (integrity + gitHead from the registry), vendored tokens/system.css/design_icons.ts regenerated by vendor_design_system.py --update; agent apps/app, apps/claw-app, packages/icons pinned to 1.8.0 with bun.lock. 1.8.0 drops the brush glyph, so Palette (Customization settings entry) maps to sliders.

Gate (local, once): check_repo.py, compileall, check_asset_names.py --self-test, redrob.py version, check_design_tokens.py, vendor_design_system.py (no drift) all pass; agent typecheck (packages/icons, apps/app, apps/claw-app), check:ui-icons, biome on changed files and apps/app tests (417 pass, 0 fail) pass. Each PNG verified by size and pixel samples (tile #2B52FF-range blue, transparent corners).

What's not done

  • branding/icons/mac/Assets.car is still the old icon: it is actool output and needs a Mac with Xcode 26 (branding/make-icons.sh prints the steps). macOS 26 will show the old icon until it is recompiled.
  • The new-tab launch splash (agent/apps/app/lib/splash/redrob-splash.js) still inlines the teal Browser icon. It is generated by the design system's brand kit with animation hooks, and 1.8.0 ships no splash, so it needs a new kit delivery rather than a hand edit.
  • No Chromium build: the release CI builds and packages.

What to review

  • -icon-web (masked) for bitmap slots instead of the unmasked -icon square, and the Apple-grid margin on macOS bitmaps only.
  • AppIcon.icon fill is a linear #2E7EFF → #2746EE (Icon Composer has no radial fill); the tile's own gradient is radial.
  • Palette → sliders mapping in agent/packages/icons/src/index.tsx.

Intentions

Ship the 2026 app icon in the OS, the installer and the Redrob Launcher catalog for the next release, from the design system's files only.

Replace the teal planet-and-orbit icon with the design system's 2026
"Doorway light" Redrob Browser app icon, byte-for-byte sources from
@redrob-labs/ui@1.8.0 dist/brand/app-icons/redrob-browser/:

  redrob-browser-icon-web.svg  sha256 1ce12193746cdeb767c058300dc9f3e7756ea187f53a8f2671480e620c91db8e
  redrob-browser-symbol.svg    sha256 6795142062e0130ac6bd9187cfe51997f1f4b88a6d951effb0dcb7078c22a05e

Rendered with headless Chromium by scripts/render_app_icons.py, which now
reads the package's app-icons folder and refuses a file whose sha256 does
not match its manifest.json.

- Linux/Windows/Chromium product_logo_*, favicon_product, win tiles, the
  .ico set (app, doc, pdf, installer) and product_logo_32.xpm: icon-web,
  full bleed (these platforms do not mask an app icon).
- macOS appiconset, iconset and app.icns: icon-web on Apple's 1024 grid
  (824 body, 100 px margin).
- macOS 26 AppIcon.icon: the symbol SVG as its layer, fill #2E7EFF->#2746EE.
- Agent extension icon (agent/apps/app/public/icon) is the app icon.
- New branding/icons/launcher_icon_512.png (full bleed) is the release
  asset Redrob Launcher shows; sign-and-publish.yml stages it instead of
  the margined macOS 512.
- DESIGN_SYSTEM_PIN.json: version 1.8.0, integrity and gitHead
  865233123cbdc88724f0eb65c3c9d554ad953841 from the registry; vendored
  tokens (CSS, JSON, native header), system.css and design_icons.ts
  regenerated by scripts/vendor_design_system.py --update. The native
  header renames the product-desk ramp to product-cowork; nothing in the
  browser reads either.
- agent: apps/app, apps/claw-app and packages/icons pin 1.8.0 (bun.lock
  via bun install), which check_repo.py requires to match the pin.
- packages/icons: 1.8.0 drops the `brush` glyph; Palette (the
  Customization settings entry) maps to `sliders`.
@its-janghoon
its-janghoon merged commit 7314712 into develop Oct 20, 2026
5 checks passed
@its-janghoon its-janghoon mentioned this pull request Oct 20, 2026
@its-janghoon
its-janghoon deleted the feat/app-icons-2026 branch October 20, 2026 12:22
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