3 Commits
Author SHA1 Message Date
rzen a755cce3e2 Add App Store release pipeline, adopt ISC license, add unit test target
- Scripts/release.sh archives and uploads the macOS app via the
  appstore-publish skill's API-driven pipeline (xcodebuild + App Store
  Connect key, no fastlane); ExportOptions-macOS.plist adapts the skill's
  iOS-centric export options for generic/platform=macOS. Scripts/metadata/
  drafts the listing from the README. Canonical asc-*.swift scripts are
  referenced in place from indie-skills, matching Weight/HIIT.
- Replace the all-rights-reserved LICENSE.md with the portfolio-standard
  ISC license (REVIEW2 D2b), preserving the existing copyright year/holder.
- Add an IceGlassTests target (project.yml) with a real smoke test suite
  covering GameState's progression-rank ordering and polling-interval
  mapping — logic MainService relies on to reject stale API regressions.
2026-07-05 10:27:36 -04:00
rzen 89060d7177 Rebake team logos at 72×72 for crisp notification thumbnails
The notification thumbnail's native display size is ~48 physical pixels
(measured empirically with a size-ladder test attached via the dev menu).
Shipping logos at 512×342 forced macOS to downsample ~10×, which is what
was producing the blurry/aliased team logos in banner thumbnails.

- Pre-render logos at 72×72 (1.5× over native; stays sharp, gives a little
  extra detail for retina displays without triggering aliasing)
- Trim transparent margins before fitting: NHL brand SVGs pad their
  viewBox generously, so the actual logo was only ~60% of the bundled
  image. square_logo.swift now scans the alpha channel, crops to the
  tight bounding box, then fits aspect-preserved into the 72×72 canvas.
- Drop the 32 unused TeamLogo_*.imageset asset-catalog entries (dead code
  since the team-filter feature was removed); notifications load PNGs
  from the filesystem bundle subdir
- Move TeamLogos/ → Resources/TeamLogos/ and update project.yml source
  paths; excludes: on the recursive scan prevents duplicate flat copies
  that were bloating the bundle
- Simplify NotificationManager: drop SVG fallback (macOS doesn't accept
  SVG attachments) and content-hash identifier experiments; back to the
  minimal working config
- Dev menu: add "Thumbnail Size Test" which fires a ladder of 10 test
  notifications (16…128px) for future sizing verification
- Fire a test game-start notification on startup in DEBUG builds so the
  dev loop doesn't require clicking through the menu after each launch
- Scripts/square_logo.swift: alpha-bbox trim + aspect-preserved fit
2026-04-19 20:59:33 -04:00
rzen 8f8f8b2755 Initial commit: IceGlass NHL game tracker
macOS menu bar app providing NHL game situational awareness with
league-wide scoreboard, dynamic polling, notifications with team
logos, and configurable display options.
2026-04-13 21:44:08 -04:00