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 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 danger = Color(red: 0.92, green: 0.34, blue: 0.34) // red
|
||||||
static let neutral = Color.secondary
|
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
|
/// `AppTheme.orchestra`. Used for the effort picker's Orchestra option and the
|
||||||
/// composer's purple ring.
|
/// composer's golden ring.
|
||||||
static let orchestra = Color(red: 0.55, green: 0.28, blue: 0.95)
|
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
|
/// 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.
|
/// 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
|
/// A bright golden ring that throbs around a composer while orchestra is selected — the
|
||||||
/// remote echo of the Mac's `OrchestraGlow`. Honors Reduce Motion (holds steady).
|
/// remote echo of the Mac's `OrchestraGlow`, tuned to the same fast, high-amplitude pulse.
|
||||||
|
/// Honors Reduce Motion (holds steady).
|
||||||
struct OrchestraGlowModifier: ViewModifier {
|
struct OrchestraGlowModifier: ViewModifier {
|
||||||
var active: Bool
|
var active: Bool
|
||||||
var cornerRadius: CGFloat
|
var cornerRadius: CGFloat
|
||||||
@@ -192,13 +193,15 @@ struct OrchestraGlowModifier: ViewModifier {
|
|||||||
.overlay {
|
.overlay {
|
||||||
if active {
|
if active {
|
||||||
RoundedRectangle(cornerRadius: cornerRadius, style: .continuous)
|
RoundedRectangle(cornerRadius: cornerRadius, style: .continuous)
|
||||||
.strokeBorder(Palette.orchestra.opacity(animating ? 0.9 : 0.5),
|
.strokeBorder(Palette.orchestra.opacity(animating ? 0.95 : 0.5),
|
||||||
lineWidth: animating ? 1.6 : 1.2)
|
lineWidth: animating ? 2.2 : 1.3)
|
||||||
.shadow(color: Palette.orchestra.opacity(animating ? 0.5 : 0.2),
|
.shadow(color: Palette.orchestra.opacity(animating ? 0.7 : 0.22),
|
||||||
radius: animating ? 8 : 3)
|
radius: animating ? 13 : 4)
|
||||||
|
.shadow(color: Palette.orchestra.opacity(animating ? 0.4 : 0.06),
|
||||||
|
radius: animating ? 20 : 4)
|
||||||
.animation(
|
.animation(
|
||||||
reduceMotion ? .default
|
reduceMotion ? .default
|
||||||
: .easeInOut(duration: 1.8).repeatForever(autoreverses: true),
|
: .easeInOut(duration: 0.9).repeatForever(autoreverses: true),
|
||||||
value: pulsing)
|
value: pulsing)
|
||||||
.allowsHitTesting(false)
|
.allowsHitTesting(false)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user