Ship native iOS app, Wiki/TTS backend, and skeleton loading UX.

Replace the WebView shell with SwiftUI screens, add account-scoped Wiki and TTS APIs with adaptive review and photo scan support, and keep web/iOS pages usable while data loads asynchronously.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-06-08 15:13:59 +08:00
parent db5465c646
commit 05e173b293
115 changed files with 12709 additions and 1212 deletions
@@ -63,7 +63,7 @@ class MemoryTransformerService:
return self._model
def model_ready(self) -> bool:
return WEIGHTS_PATH.is_file() or DEFAULT_WEIGHTS_PATH.is_file()
return WEIGHTS_PATH.is_file()
def predict_for_word(
self,
@@ -86,9 +86,9 @@ class MemoryTransformerService:
hours_since = _hours_since_review(word, now)
p_formula = _formula_recall(word, hours_since)
# 事件少时与艾宾浩斯公式融合,冷启动更稳
# 只有真实训练权重才参与融合;默认随机权重仅保留接口兼容性。
n_events = max(0, valid_len - 1)
blend = min(1.0, n_events / 5.0)
blend = min(1.0, n_events / 5.0) if self.model_ready() else 0.0
recall_now = round((blend * p_now + (1.0 - blend) * p_formula) * 100, 1)
if horizon_hours is None: