v1.1.0
A creature that lives on your real macOS windows. It stands on title bars, rides them as you drag, and falls when you close one.
What this release is
The engineering is done. The distribution is not, and the blocker is a certificate rather than code, so this release carries notes and source rather than a download. The reasoning is in "Why there is no download" below.
What is in 1.1.0
- Universal binary, arm64 and x86_64, both slices stamped at the macOS 14 minimum
- Hardened runtime on every signing branch, not only the Developer ID one, so what runs daily is what notarization will accept.
Tools/WindowPet.entitlementsdeclaresdevice.audio-inputandautomation.apple-events, without which the microphone is denied with no prompt and no error - 12,500 lines of zero-dependency Swift, 131 tests
- Measured 0.24 percent CPU asleep in 48 MB, with per-phase budgets published in
ENERGY.md - A ballistic solver that lands leaps within 1.5 points
- Per-frame alpha masks that open a click-through hole only over the creature's pixels, so you can boop, grab and throw it while every other click passes to the app beneath
- Tier 1 needs no permissions at all and is the source of truth. Accessibility is optional and buys latency, not authority
Building it
git clone https://github.com/jke48222/WindowPet.git
cd WindowPet
bash Tools/make-app.sh && open build/WindowPet.app
Requires macOS 14 or newer and the Swift toolchain from Xcode. No third party Swift dependencies.
Why there is no download
Distribution needs a Developer ID Application certificate, which needs Apple Developer Program enrollment. Without one, Gatekeeper rejects both the app and the DMG on anyone else's Mac, so a download would be a worse first experience than a build from source.
Everything downstream of that certificate is already wired. bash Tools/make-dist.sh --notarize signs the DMG, submits it to Apple, staples the ticket and verifies the result the way Gatekeeper will. When the certificate exists, that single command produces the asset that belongs on this release.