xcodebuild test -scheme ICCery -destination 'platform=macOS' ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO — 255 core tests and 25 UI tests passed.
Built app is universal (x86_64 arm64) and contains AppIcon.icns.
dmgbuild successfully generated ICCery-icon-test.dmg using the new scene.
Closes #77
## Summary
- Populate the macOS AppIcon asset catalog from the v1 `icon.icns`.
- Show the compiled app icon in the About dialog.
- Vendor the v1 icon/DMG SVG sources and add the 1x/2x DMG scene.
- Align the dmgbuild window and icon positions to the original scene.
## Verification
- `xcodegen generate --spec project.yml`
- `xcodebuild build -scheme ICCery -destination 'platform=macOS' ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO`
- `xcodebuild test -scheme ICCery -destination 'platform=macOS' ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO` — 255 core tests and 25 UI tests passed.
- Built app is universal (`x86_64 arm64`) and contains `AppIcon.icns`.
- `dmgbuild` successfully generated `ICCery-icon-test.dmg` using the new scene.
The Milestone 6 calibration UI test was flaky/consistent in failing because
`generateTarget` / `computeCurves` used `Task { @MainActor [weak self] in`
with an early `guard let self else { return }`. On a loaded host the task
could be dropped before it resumed, leaving the UI stuck on the calibration
dashboard with no error shown.
Changes:
- Capture `self` strongly in `CalibrationViewModel` async tasks so they run
to completion and update `wizard.go(to:)` / `restoreCalibration()`.
- Split `RootView.stageContent` into `WizardStageContent` with its own
`@Bindable var model: WizardViewModel` so `model.stage` mutations are
observed reliably, rather than relying on observation through the parent
`TargetWorkflowViewModel`.
Fixes the CI failure in
`Milestone6CalibrationUITests.testCalibrationDashboardOpensAndCanGenerate`.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Port the original cone icon into the macOS asset catalog, About dialog, and DMG artwork so v2 retains the established ICCery identity.
Issue #77
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
gronod
merged commit e0012dc344 into develop2026-09-10 11:45:30 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #77
Summary
icon.icns.Verification
xcodegen generate --spec project.ymlxcodebuild build -scheme ICCery -destination 'platform=macOS' ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NOxcodebuild test -scheme ICCery -destination 'platform=macOS' ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO— 255 core tests and 25 UI tests passed.x86_64 arm64) and containsAppIcon.icns.dmgbuildsuccessfully generatedICCery-icon-test.dmgusing the new scene.The Milestone 6 calibration UI test was flaky/consistent in failing because `generateTarget` / `computeCurves` used `Task { @MainActor [weak self] in` with an early `guard let self else { return }`. On a loaded host the task could be dropped before it resumed, leaving the UI stuck on the calibration dashboard with no error shown. Changes: - Capture `self` strongly in `CalibrationViewModel` async tasks so they run to completion and update `wizard.go(to:)` / `restoreCalibration()`. - Split `RootView.stageContent` into `WizardStageContent` with its own `@Bindable var model: WizardViewModel` so `model.stage` mutations are observed reliably, rather than relying on observation through the parent `TargetWorkflowViewModel`. Fixes the CI failure in `Milestone6CalibrationUITests.testCalibrationDashboardOpensAndCanGenerate`. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>