# Affine IDE — macOS beta **Beta.** Native Swift client for Affine.Earth. Same apex the browser uses — no separate backend. **Press (marketing):** [Affine IDE 0.2.6.5 β — press](Affine-IDE-020-Beta-Press.md) · on Home under Language: [home.html](https://affine.earth/language-game/home.html) · [Language-games study board](Language-Games-Study-Board.md) | | | |---|---| | **Download** | [https://affine.earth/download/](https://affine.earth/download/) | | **DMG** | `https://affine.earth/download/AffineIDE-0.2.6.5.dmg` | | **Platform** | Apple silicon · macOS 14+ | | **Notarized** | No — signed Developer ID; first open needs Control-click → Open (Gatekeeper). Honest, not a workaround. | ## What’s new in this beta - **Live ADS-B** on the ATC / OpenScope stage (affine.earth tracks → OpenSky failover) - **Airport-surface camera** path — photographic still on the runway pane (FAA WeatherCam when available) - **Honest chrome when airports disagree** — e.g. `LIVE surface: KTEB (FAA) · KJFK tracks (ADS-B) · no KJFK WeatherCam site` (KJFK has no public WeatherCam; PANYNJ has no free ops JPEG) - **seat KTEB / seat KJFK** — one click to align tracks with the surface cam, or keep KJFK traffic with the labeled mismatch - **Domain stages** that look like the tools experts already use (Mol*, OpenScope, CARTA, TDWR, …) - **Chat narration** on every present / fold — what the stage is showing, in plain language - **Orbit / Pan / Zoom / residue** controls on the stage; **S⁴ × C⁴ dual pane** where the study asks for it - **Live chrome translate (0.2.6.5)** — status-bar language control; same MCP `affine_translate_text` as home `flash.js` (not a baked dictionary) ## Install 1. Download [AffineIDE-0.2.6.5.dmg](https://affine.earth/download/AffineIDE-0.2.6.5.dmg). 2. Verify: `shasum -a 256 ~/Downloads/AffineIDE-0.2.6.5.dmg` — match the sha256 on the [download page](https://affine.earth/download/). 3. Open the DMG → drag **Affine IDE** to **Applications** → eject. 4. First launch: Control-click the app → **Open** → **Open** again in the dialog. macOS remembers after that. ## First studies 1. **Open Study** → **ATC airspace** — live traffic on the scope; surface cam on the right; METAR overlay; chat names the LIVE story. 2. **Protein folding** — Mol*-style cartoon, residue strip, Orbit/Pan/Zoom. 3. Chat stays under the stage — domain first, Affine chrome second. ### ATC camera honesty (read this) There is **no** free public KJFK runway-facing JPEG without keys (FAA WeatherCam has no KJFK site; PANYNJ / jfkairport.com return no ops still). The beta shows the nearest FAA **airport-surface** cam (often KTEB) and **refuses** to call it KJFK 04L. Use **seat KTEB** to align airport + cam, or stay on KJFK tracks with the mismatch labeled in chat and on stage. ## Where it connects `https://affine.earth/language-invariant/mcp` — same door as the browser client. Peer on the mesh; no telemetry endpoint. ### Live chrome translate (parity with home) Same mechanism as the site language pills / `flash.js`: English chrome is the sealed source; pick a language in the status-bar control; batches go to MCP `affine_translate_text`; nulls stay English. Menus, Orbit/Pan/Zoom strip, chat placeholders, study-rail chrome, and narration chrome flash live. Domain data (ALGL bodies, ADS-B callsigns, ICAO seats) is not invented into another language. In-session memo only — no baked per-language dictionary as the primary path. Gaps vs full site DOM parity: AppKit has no MutationObserver walk of every text node; only registered chrome slots reflash. Right-rail domain board utterances and live track lists stay domain data by design. ## Check the signature ```bash codesign -dv --verbose=2 /Applications/AffineIDE.app ``` Do not strip quarantine or disable Gatekeeper. Notarization is the proper fix and is tracked separately when Apple credentials are available.