Recolor Orchestra gold and make the composer glow more aggressive
Swaps the Orchestra accent from violet to a warm gold (AppTheme.orchestra + iOS Palette.orchestra), so the composer glow, effort label, and subagent cards all read gold. Tunes the glow harder — a ~0.9s pulse (was 1.8s) with a thicker stroke and a bigger outer bloom that swells on the beat — so an Orchestra turn announces itself. Reduce Motion still holds the glow steady. Against a Control project's lavender accent, the gold glow stands out cleanly. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e03ce837cf
commit
19c5e20503
@@ -13,10 +13,10 @@ enum Palette {
|
||||
static let paused = Color(red: 0.62, green: 0.49, blue: 0.93) // purple
|
||||
static let danger = Color(red: 0.92, green: 0.34, blue: 0.34) // red
|
||||
static let neutral = Color.secondary
|
||||
/// The orchestra (orchestration mode) signature purple — mirrors the Mac's
|
||||
/// The orchestra (orchestration mode) signature gold — mirrors the Mac's
|
||||
/// `AppTheme.orchestra`. Used for the effort picker's Orchestra option and the
|
||||
/// composer's purple ring.
|
||||
static let orchestra = Color(red: 0.55, green: 0.28, blue: 0.95)
|
||||
/// composer's golden ring.
|
||||
static let orchestra = Color(red: 0.90, green: 0.66, blue: 0.16)
|
||||
|
||||
/// Dot/accent color for a session's status, refined by the last turn's disposition — a
|
||||
/// finished-the-work turn reads as "done" (success) rather than the calm "ready" accent.
|
||||
@@ -178,8 +178,9 @@ struct EffortMenu: View {
|
||||
}
|
||||
}
|
||||
|
||||
/// A gentle purple ring that breathes around a composer while orchestra is selected — the
|
||||
/// remote echo of the Mac's `OrchestraGlow`. Honors Reduce Motion (holds steady).
|
||||
/// A bright golden ring that throbs around a composer while orchestra is selected — the
|
||||
/// remote echo of the Mac's `OrchestraGlow`, tuned to the same fast, high-amplitude pulse.
|
||||
/// Honors Reduce Motion (holds steady).
|
||||
struct OrchestraGlowModifier: ViewModifier {
|
||||
var active: Bool
|
||||
var cornerRadius: CGFloat
|
||||
@@ -192,13 +193,15 @@ struct OrchestraGlowModifier: ViewModifier {
|
||||
.overlay {
|
||||
if active {
|
||||
RoundedRectangle(cornerRadius: cornerRadius, style: .continuous)
|
||||
.strokeBorder(Palette.orchestra.opacity(animating ? 0.9 : 0.5),
|
||||
lineWidth: animating ? 1.6 : 1.2)
|
||||
.shadow(color: Palette.orchestra.opacity(animating ? 0.5 : 0.2),
|
||||
radius: animating ? 8 : 3)
|
||||
.strokeBorder(Palette.orchestra.opacity(animating ? 0.95 : 0.5),
|
||||
lineWidth: animating ? 2.2 : 1.3)
|
||||
.shadow(color: Palette.orchestra.opacity(animating ? 0.7 : 0.22),
|
||||
radius: animating ? 13 : 4)
|
||||
.shadow(color: Palette.orchestra.opacity(animating ? 0.4 : 0.06),
|
||||
radius: animating ? 20 : 4)
|
||||
.animation(
|
||||
reduceMotion ? .default
|
||||
: .easeInOut(duration: 1.8).repeatForever(autoreverses: true),
|
||||
: .easeInOut(duration: 0.9).repeatForever(autoreverses: true),
|
||||
value: pulsing)
|
||||
.allowsHitTesting(false)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user