feat(keyboard): improve typing, voice flow, and polish reliability

Reduce extension memory pressure and delivery races while adding richer candidates, tactile feedback, and safer two-level creative polishing.
This commit is contained in:
Rocky
2026-08-05 21:39:31 +08:00
parent 38e5ad570d
commit 31f5937a7f
177 changed files with 8343 additions and 3904 deletions
@@ -99,8 +99,11 @@ public struct LocalASRCatalogDocument: Codable, Sendable, Equatable {
public enum LocalASRModelCatalog {
public static func loadBundled() throws -> LocalASRCatalogDocument {
let bundle = Bundle(for: LocalASRCatalogBundleToken.self)
guard let url = bundle.url(forResource: "local-asr-catalog", withExtension: "json") else {
let url =
Bundle.main.url(forResource: "local-asr-catalog", withExtension: "json")
?? Bundle(for: LocalASRCatalogBundleToken.self)
.url(forResource: "local-asr-catalog", withExtension: "json")
guard let url else {
throw LocalASRModelCatalogError.missingBundledCatalog
}
let data = try Data(contentsOf: url)