Skip to content

Jada-Q/ambient-art-pack

Repository files navigation

Ambient Art Pack

Six ambient art pieces — set them as your Mac desktop wallpaper or screensaver. Pieces rotate automatically; their content updates live as they evolve.

Ambient Art Pack — six pieces in sequence, ending with the in-piece city switcher (Tide Pixels → Osaka)

Pieces (each has 3-6 city/region variants):

  • 🌊 Tide Pixels — ocean canvas with sun, moon, tide direction, and a pixel 海女 holding a fish basket
  • 🛬 Sky Traffic — live aircraft trails over major airports, with a 1950s tower controller ghost
  • 🗼 Bay Ships — bay vessel positions, with a 91-year-old lighthouse keeper
  • 🚇 Subway Pulse — Tokyo metro line pulses, with a Yamanote loop rider
  • 🪨 Quake Globe — rotating earth with live seismic events
  • 🌙 Moon Phase — tonight's moon (phase, position, rise/set) over your chosen city, with a moon rabbit Tsuki

Install (Mac only, macOS 13+)

Recommended — Ambient.app (always-on wallpaper)

Download path (no Terminal needed):

  1. Download latest Ambient.app.zip
  2. Double-click the zip → Ambient.app appears
  3. Drag Ambient.app to /Applications/
  4. Double-click Ambient.app → macOS will warn: "Apple could not verify…"
    • Click Done / 完了 (do NOT click "Move to Trash / ゴミ箱に入れる")
  5. Open System Settings → Privacy & Security (システム設定 → プライバシーとセキュリティ)
  6. Scroll to the Security section at the bottom → see "Ambient was blocked"
  7. Click Open Anyway / このまま開く → enter your Mac password
  8. Double-click Ambient.app again → opens normally
  9. Menu bar shows 🌊 icon → click → pick a piece + city
  10. Your desktop becomes the ambient art

(macOS 15 Sequoia hardened Gatekeeper — ad-hoc signed apps need this one-time approval. After that, normal double-click works forever.)

Or via Terminal (fastest):

# After dragging Ambient.app to /Applications/:
xattr -dr com.apple.quarantine /Applications/Ambient.app
open -a Ambient

Or via Homebrew:

brew tap Jada-Q/ambient-art-pack
brew install --cask ambient
open -a Ambient

Alternative — Screensaver mode (idle-triggered)

If you want the art to appear only when your Mac goes idle (not always-on wallpaper):

brew tap Jada-Q/ambient-art-pack
brew install --cask ambient-art-screensaver

Then System Settings → Screen Saver → WebViewScreenSaver.

⚠️ macOS 15+ Sequoia may block third-party screensavers due to stricter signing requirements. The Ambient.app wallpaper path is more reliable.


Using Ambient.app

Menu bar 🌊 → submenu:

Menu What it does
🎲 Random rotation Cycles through all 5 pieces randomly every 10 min
🌊 Tide Pixels ▶ Pick city: Tokyo / Osaka / Hangzhou / NYC / Reykjavík / Sydney
🛬 Sky Traffic ▶ Pick airport: Tokyo / Osaka / Shanghai / HKG / LAX / NYC
🗼 Bay Ships ▶ Pick bay: Tokyo / Osaka / NY Harbor
🚇 Subway Pulse ▶ Pick line: All / Yamanote / Marunouchi / Ginza / Hibiya / Chiyoda
🪨 Quake Globe ▶ Pick region: World / Japan / Pacific Rim / Americas / Europe
Reload Now (⌘R) Force re-fetch
Hide / Show (⌘H) Toggle wallpaper visibility (Ambient stays running)
Open in Browser (⌘O) Open current piece in browser — for playing with sprites via arrow keys
Quit Ambient (⌘Q) Exit

Each piece has a small pixel character (海女 / tower ghost / lighthouse keeper / loop rider / lava). They animate autonomously on the wallpaper. For arrow-key control (move them around), use Open in Browser — wallpaper mode doesn't receive keyboard events (macOS limitation).

Auto-start on login

System Settings → General → Login Items → click + → add /Applications/Ambient.app.

Updates

Pieces update automatically — the wallpaper fetches from live URLs every 10 minutes, so new sprites / data / content show up without re-installing anything.

To update Ambient.app itself: brew upgrade --cask ambient or download the latest zip and replace /Applications/Ambient.app.

Architecture

Ambient.app (menu bar)
  └→ borderless WKWebView at desktop window level
      └→ loads piece URL (with selected city/region param)
          └→ on 10-min timer: reload
              └→ if Random: re-fetches /random → 307 to a new piece

Piece catalog source (priority chain):
  1. /Library/Caches/net.jada.ambient/pieces.json  (last successful fetch)
  2. Bundle Resources/pieces.json                  (ships with app)
  3. Minimal hardcoded fallback (Random only)

Source: ambient-app/src/main.swift · about 280 lines AppKit + WebKit.

Adding a new piece (no rebuild needed)

The piece catalog is fetched from https://ambient-art-pack.vercel.app/pieces.json at startup. To add a new piece:

  1. Edit /pieces.json at repo root — add a new { key, label, emoji, baseURL, variantParam, variants } entry
  2. git push — Vercel auto-deploys /pieces.json in ~30s
  3. Click menu bar 🌊 → Refresh Pieces from Remote (⌘⇧R) — new piece appears immediately
    • Or just relaunch the app — fetched on every startup

No Swift edit, no rebuild, no .app reinstall.

(Swift code only needs to change for new menu features / piece-loading logic. The catalog is data, not code.)

Uninstall

brew uninstall --cask ambient
# or
rm -rf /Applications/Ambient.app
defaults delete net.jada.ambient

Development

cd ambient-app
./build-app.sh        # builds build/Ambient.app
open build/Ambient.app

Switcher URL endpoints in api/ (Vercel). To deploy: vercel --prod.

License

MIT. WebView Screensaver is bundled under Apache 2.0 (see liquidx/webviewscreensaver).

About

五件氛围艺术打包成 Mac 屏保(pkg + brew cask 安装)/ Five ambient art pieces as a Mac screensaver (pkg + brew cask) / 5つのアンビエントアートのMacスクリーンセーバー

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors