Skip to content

Releases: SoundBlaster/Screener

Screener 0.1.0

Choose a tag to compare

@SoundBlaster SoundBlaster released this 10 Oct 07:02
fd6cc12

First stable release of the local visual trace SDK and read-only MCP server.

  • UIKit, AppKit and SwiftUI capture adapters, semantic markers, version-1 .vtrace
    bundles, and local PNG keyframes.
  • MCP session discovery, paginated timelines, contact sheets and individual frames.
  • Public README with an end-to-end Simulator quick start, geometric cover, and
    BuildHunter usage example; detailed capture and plugin guidance in a separate guide.
  • Repeatable release benchmarks with per-query warm-up, 100 measured samples by
    default, empirical p95 for larger samples, and median/max for short runs.
  • SDK trace manifests and MCP initialize responses now identify version 0.1.0.
    Trace format remains version 1; the skills-only plugin is also version 0.1.0.

The opt-in iOS 27 ScreenCaptureKit backend remains experimental. UIKit/AppKit
rendering does not guarantee compositor fidelity, and sampled keyframes do not
cover every animation frame. Recording stays app-side; the MCP server reads traces.

Swift tools 6.1+, iOS 16+, macOS 13+. The MCP executable runs on macOS.

Get started with the README or see the capture and MCP guide.

Install the Swift package at exact version 0.1.0; add the ScreenerKit product to your app. Build the local MCP executable with swift build -c release --product screener-mcp.

Screener v0.1.0-alpha.2

Pre-release

Choose a tag to compare

@SoundBlaster SoundBlaster released this 09 Oct 21:43
88a311b

Screener now includes an experimental ScreenCaptureKitSession API for recording current-app compositor frames into .vtrace on physical iOS 27 devices. Recording permission is granted manually once per session. UIKit remains the default.

  • Bounded latest-frame handoff, roughly one keyframe per second plus a final drain, explicit/idempotent stop, and a 180-second bound.
  • Source PTS, format, orientation and geometry metadata; actual PNG properties remain authoritative.
  • Air verification: native 1260 × 2736, scale 3×, base/menu materials, lifecycle checks and MCP readback. Evidence and limits.
  • Project-local $screener-visual-trace skill, Codex plugin manifest and repo marketplace; includes PhotoCompressor pilot lessons. Skill.
  • Fixture reruns clear stale capture errors. New SDK manifests and MCP initialize responses identify 0.1.0-alpha.2; trace format stays at version 1. Existing traces are not rewritten. Plugin version remains independent.

Validation: 31 package tests; release MCP build and real stdio handshake/readback; prior physical Air capture plus two lifecycle tests; GitHub CI package/Simulator/macOS fixture/UIKit checks.

Prerelease limits: ScreenCaptureKit requires a physical iOS 27 device and device SDK; the current Simulator SDK does not include it. Rotation, background/interruption, startup-stop races, permission timeout and sustained performance remain unverified. This is keyframe sampling, not video or transition-rate coverage. Compare UIKit materials with independent system screenshots.

Swift tools 6.1+, iOS 16+, macOS 13+. The experimental API is iOS 27 device-only. Install the Swift package using tag v0.1.0-alpha.2. This is a source release; no prebuilt MCP executable is attached.

Changes: #11, #12.

Screener v0.1.0-alpha.1

Pre-release

Choose a tag to compare

@SoundBlaster SoundBlaster released this 09 Oct 19:13
10ba0dd

First preview of Screener, a local visual flight recorder for iOS/macOS apps and coding agents.

Included

  • Versioned .vtrace bundles, JSONL timelines, markers, sparse PNG keyframes, and interrupted-tail recovery.
  • UIKit, AppKit, and SwiftUI capture adapters. UIKit window capture now uses trait display scale; transparent AppKit captures include the window background.
  • Read-only macOS MCP server: sessions, paginated timeline, frames, and paginated contact sheets, with Codex-compatible initialization.
  • Synthetic fixtures and reproducible capture-fidelity evidence. On physical iPhone Air, the experimental iOS 27 ScreenCaptureKit path reduced mean RGB error from 26.90 to 0.95 for glass and from 22.81 to 1.00 for a settled native menu.

Scope and limitations

This is an alpha prerelease, not completion of every PRD milestone or performance gate. UIKit hierarchy capture does not guarantee compositor fidelity. ScreenCaptureKit is still an opt-in device fixture experiment, requires manually granted recording permission, and is not a production ScreenerKit backend. Stream pixels are not lossless screenshots; rotation/interruption paths and sustained encoding performance remain unverified.

Swift tools 6.1+, iOS 16+, macOS 13+. The MCP executable runs on macOS. Source distribution; build the executable locally.

Install

.package(url: "https://github.com/SoundBlaster/Screener.git", exact: "0.1.0-alpha.1")

Library products: ScreenerCore, ScreenerKit, ScreenerMCP.

swift build -c release --product screener-mcp

See README, changelog, and physical Air validation.

Validation

  • 29 macOS tests passed in release configuration.
  • Release MCP stdio smoke passed: initialize with advertised alpha version, all four tools, and session listing.
  • UIKit fixture Simulator build and research shutdown/artifact-isolation smoke passed.
  • Physical Air glass/menu capture, stop, and declined-permission evidence is preserved in the validation report; positive permission was human-assisted.
  • GitHub CI validates package tests, iOS Simulator build, macOS fixture build, and app-hosted UIKit capture tests.