Six ambient art pieces — set them as your Mac desktop wallpaper or screensaver. Pieces rotate automatically; their content updates live as they evolve.
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
Download path (no Terminal needed):
- Download latest Ambient.app.zip
- Double-click the zip →
Ambient.appappears - Drag
Ambient.appto/Applications/ - Double-click
Ambient.app→ macOS will warn: "Apple could not verify…"- Click Done / 完了 (do NOT click "Move to Trash / ゴミ箱に入れる")
- Open System Settings → Privacy & Security (システム設定 → プライバシーとセキュリティ)
- Scroll to the Security section at the bottom → see "Ambient was blocked"
- Click Open Anyway / このまま開く → enter your Mac password
- Double-click
Ambient.appagain → opens normally - Menu bar shows 🌊 icon → click → pick a piece + city
- 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 AmbientOr via Homebrew:
brew tap Jada-Q/ambient-art-pack
brew install --cask ambient
open -a AmbientIf 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-screensaverThen System Settings → Screen Saver → WebViewScreenSaver.
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).
System Settings → General → Login Items → click + → add /Applications/Ambient.app.
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.
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.
The piece catalog is fetched from https://ambient-art-pack.vercel.app/pieces.json at startup. To add a new piece:
- Edit
/pieces.jsonat repo root — add a new{ key, label, emoji, baseURL, variantParam, variants }entry git push— Vercel auto-deploys/pieces.jsonin ~30s- 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.)
brew uninstall --cask ambient
# or
rm -rf /Applications/Ambient.app
defaults delete net.jada.ambientcd ambient-app
./build-app.sh # builds build/Ambient.app
open build/Ambient.appSwitcher URL endpoints in api/ (Vercel). To deploy: vercel --prod.
MIT. WebView Screensaver is bundled under Apache 2.0 (see liquidx/webviewscreensaver).
