Skip to content

Commit b358eb4

Browse files
authored
ui: rename Unoptimized badge to Experimental with clearer copy (#137)
* ui: rename Unoptimized badge to Experimental, soften alert copy, add chip-tuning note * ui: swap warning triangle for sparkles on Try Anyway button
1 parent 66ee349 commit b358eb4

3 files changed

Lines changed: 15 additions & 8 deletions

File tree

Sources/VocaMac/Models/AppState.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ final class AppState: ObservableObject {
253253
// WhisperKit's `.default` may not be in the supported list for some
254254
// devices. If so, fall back to the best supported model instead.
255255
let recommendation = modelManager.deviceRecommendation()
256+
VocaLogger.info(.appState, "WhisperKit recommendation — default: \(recommendation.defaultModel), supported: [\(recommendation.supported.joined(separator: ", "))], disabled: [\(recommendation.disabled.joined(separator: ", "))]")
256257
let defaultIsSupported = recommendation.supported.contains(recommendation.defaultModel)
257258
if !defaultIsSupported, let bestSupported = recommendation.supported.last {
258259
deviceRecommendedModel = bestSupported

Sources/VocaMac/Views/OnboardingView.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ struct ModelSelectionCard: View {
548548
showForceDownloadAlert = true
549549
} label: {
550550
HStack(spacing: 4) {
551-
Image(systemName: "exclamationmark.triangle")
551+
Image(systemName: "sparkles")
552552
Text("Try Anyway")
553553
}
554554
.font(.caption)
@@ -585,13 +585,13 @@ struct ModelSelectionCard: View {
585585
RoundedRectangle(cornerRadius: 8)
586586
.stroke(isRecommended ? Color.orange : Color.clear, lineWidth: 1.5)
587587
)
588-
.alert("Use Unoptimized Model?", isPresented: $showForceDownloadAlert) {
588+
.alert("Use Experimental Model?", isPresented: $showForceDownloadAlert) {
589589
Button("Cancel", role: .cancel) {}
590590
Button("Download Anyway", role: .destructive) {
591591
onDownload()
592592
}
593593
} message: {
594-
Text("This model may exceed your device's capabilities. It could cause slow performance, high memory usage, or crashes. Are you sure you want to continue?")
594+
Text("WhisperKit hasn't verified this model on your chip family. It will likely work but may be slower than tuned models.")
595595
}
596596
}
597597
}

Sources/VocaMac/Views/SettingsView.swift

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -341,8 +341,13 @@ struct ModelSettingsTab: View {
341341
HStack {
342342
Image(systemName: "sparkles")
343343
.foregroundStyle(.blue)
344-
Text("Recommended for your device: **\(recommendedSize.displayName)**")
345-
.font(.callout)
344+
VStack(alignment: .leading, spacing: 2) {
345+
Text("Recommended for your device: **\(recommendedSize.displayName)**")
346+
.font(.callout)
347+
Text("Based on WhisperKit's tuned variants for your chip — not your RAM.")
348+
.font(.caption2)
349+
.foregroundStyle(.tertiary)
350+
}
346351
}
347352
}
348353

@@ -418,13 +423,14 @@ struct ModelRow: View {
418423
}
419424

420425
if !model.isSupported {
421-
Text("Unoptimized")
426+
Text("Experimental")
422427
.font(.caption2)
423428
.padding(.horizontal, 6)
424429
.padding(.vertical, 1)
425430
.background(.orange.opacity(0.2))
426431
.foregroundStyle(.orange)
427432
.cornerRadius(4)
433+
.help("WhisperKit hasn't verified this model on your chip family. Your hardware can likely run it — use Load Anyway to try.")
428434
}
429435
}
430436

@@ -508,7 +514,7 @@ struct ModelRow: View {
508514
}
509515
.padding(.vertical, 8)
510516
.padding(.horizontal, 4)
511-
.alert("Use Unoptimized Model?", isPresented: $showForceDownloadAlert) {
517+
.alert("Use Experimental Model?", isPresented: $showForceDownloadAlert) {
512518
Button("Cancel", role: .cancel) {}
513519
Button(model.isDownloaded ? "Load Anyway" : "Download & Load", role: .destructive) {
514520
Task { @MainActor in
@@ -521,7 +527,7 @@ struct ModelRow: View {
521527
}
522528
}
523529
} message: {
524-
Text("This model may exceed your device's capabilities. It could cause slow performance, high memory usage, or crashes. Are you sure you want to continue?")
530+
Text("WhisperKit hasn't verified this model on your chip family. It will likely work but may be slower than tuned models.")
525531
}
526532
}
527533
}

0 commit comments

Comments
 (0)