1.4.2 (build 48): OCR de screenshots en Share Extension
El extension acepta ahora imágenes además de texto: al compartir un screenshot del banco/broker, Vision reconoce el texto EN EL DISPOSITIVO (la imagen nunca sale del teléfono), extrae los importes candidatos y rellena el más prominente visualmente (en las UIs bancarias el balance es el número más grande). El resto de candidatos se ofrecen como chips de un toque. Percentajes y años se filtran. - ExtImageAmountScanner.swift: VNRecognizeTextRequest + ranking por altura de bounding box + dedup por valor - ShareViewController: carga UIImage/URL/Data del provider, estado de escaneo, sección de candidatos - Info.plist: NSExtensionActivationSupportsImageWithMaxCount=1 - Strings nuevas en los 7 idiomas (ext_scanning_image, ext_detected_amounts, ext_ocr_no_amounts) - PredictionEngine: troceado ternario que agotaba el type-checker en Debug - Bump a 1.4.2 build 48 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WoScpmHdVj1aUf4rAp6hbe
This commit is contained in:
@@ -115,10 +115,13 @@ class PredictionEngine {
|
||||
var smoothed = values[0]
|
||||
for i in 1..<values.count { smoothed = alpha * values[i] + (1 - alpha) * smoothed }
|
||||
|
||||
let trend: Double = values.count >= 2
|
||||
? (values.suffix(3).reduce(0, +) / Double(min(3, values.count)) -
|
||||
values.prefix(3).reduce(0, +) / Double(min(3, values.count))) / Double(values.count)
|
||||
: 0
|
||||
var trend = 0.0
|
||||
if values.count >= 2 {
|
||||
let window = Double(min(3, values.count))
|
||||
let recentAvg: Double = values.suffix(3).reduce(0, +) / window
|
||||
let earlyAvg: Double = values.prefix(3).reduce(0, +) / window
|
||||
trend = (recentAvg - earlyAvg) / Double(values.count)
|
||||
}
|
||||
let stdDev = calculateStdDev(values: values)
|
||||
|
||||
return (1...monthsAhead).compactMap { month in
|
||||
|
||||
Reference in New Issue
Block a user