Files
iceglass/project.yml
T
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

69 lines
1.8 KiB
YAML

name: IceGlass
options:
bundleIdPrefix: dev.rzen.indie
deploymentTarget:
macOS: "13.0"
xcodeVersion: "16.0"
generateEmptyDirectories: true
packages:
IndieAbout:
url: https://git.rzen.dev/rzen/indie-about.git
from: 0.1.0
targets:
IceGlass:
type: application
platform: macOS
sources:
- path: IceGlass
excludes:
- Resources/TeamLogos
- path: IceGlass/Resources/TeamLogos
type: folder
buildPhase: resources
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.rzen.indie.IceGlass
MARKETING_VERSION: "1.0.0"
CURRENT_PROJECT_VERSION: "1"
INFOPLIST_FILE: IceGlass/Info.plist
CODE_SIGN_ENTITLEMENTS: IceGlass.entitlements
DEVELOPMENT_TEAM: C32Z8JNLG6
SWIFT_VERSION: "6.0"
MACOSX_DEPLOYMENT_TARGET: "13.0"
PRODUCT_NAME: IceGlass
COMBINE_HIDPI_IMAGES: true
SWIFT_STRICT_CONCURRENCY: complete
ENABLE_USER_SCRIPT_SANDBOXING: false
ENABLE_HARDENED_RUNTIME: true
configs:
Debug:
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG
Release:
SWIFT_OPTIMIZATION_LEVEL: -O
dependencies:
- package: IndieAbout
postCompileScripts:
- script: "\"${SRCROOT}/Scripts/update_build_number.sh\""
name: "Update Build Number"
shell: /bin/sh
inputFiles:
- $(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)
- $(DWARF_DSYM_FOLDER_PATH)/$(DWARF_DSYM_FILE_NAME)/Contents/Info.plist
entitlements:
path: IceGlass.entitlements
properties:
com.apple.security.app-sandbox: true
com.apple.security.network.client: true
schemes:
IceGlass:
build:
targets:
IceGlass: all
run:
config: Debug
archive:
config: Release