Repeto Документація
Переглянути документацію

План паритету з Anki

Прозора карта поточної сумісної з Anki основи Repeto, часткових процесів і решти виробничої роботи.

Repeto прагне зберегти поняття, що забезпечують довговічність серйозної колекції інтервального повторення: нотатки, поля, типи нотаток, шаблони, споріднені картки, дерева колод, історію планування, переносні пакети й чесне повторення.

Команда перевірила всі 55 сторінок поточної навігації посібника Anki Desktop, а також користувацьку та інженерну документацію AnkiDroid. Цей аудит є джерелом вимог, а не твердженням, що кожну наведену нижче функцію вже випущено.

Доступна основа

У поточній кодовій базі продукту справді реалізовано такі процеси:

  • сталі ідентифікатори полів і шаблонів, вбудовані сімейства типів нотаток, введення відповіді, Cloze, Image Occlusion, попередження про дублікати під час ручного додавання, діагностику, захищене перетворення та ручне очищення порожніх карток;
  • перевірений профіль безпечного відображення repeto-anki-template-v1 у web, Android, iOS і фікстурах API, а також локально вбудований та обмежений MathJax із роздільниками Anki у web;
  • відображення вкладених колод і навчання піддерева, доступний засіб вибору батьківської колоди за ідентифікатором під час створення з попереднім переглядом шляху, безпосереднє іменування Parent::Child, підтверджене переміщення/перетягування піддерева, відновлення відсутніх батьківських колод, числове сортування, ієрархічні квоти та налаштовуване авторитетне визначення часового поясу IANA й переходу між днями;
  • планування FSRS-6, стійкий стан навчання/повторного навчання, налаштовуване випередження навчання, ручне й автоматичне приховування споріднених карток, заняття на 9,999 карток у web/iOS/Android, адитивні ліміти Custom Study, приватні копії колод і явну синхронізацію пресетів;
  • повну Card Info у web, FIFO-вихідні черги повторень із гарантованим збереженням до переходу та скасування підтвердженого повторення у web/iOS/Android, дії життєвого циклу під час повторення, повторне відтворення/паузу/перемотування авторського аудіо й тимчасовий запис і прослуховування голосу;
  • Browser карток/нотаток із діагностикою, пошуком за словом через w: і за відтворюваністю через prop:r, сортуванням/пагінацією, налаштовуваними стовпцями, збереженими поданнями, пошуком/заміною в одному полі за буквальним збігом або регулярним виразом з обмеженням ресурсів, позначенням дублікатів тегом і явним видаленням зі збереженням одного примірника, атомарними масовими перетвореннями та стійкою після перезавантаження, захищеною від конфліктів історією квитанцій;
  • фільтровані колоди з вісьмома порядками, зокрема відносним простроченням FSRS, налаштовуваними затримками попереднього перегляду, плануванням за домашньою колодою, захищеними діями життєвого циклу, включенням до нативних резервних копій і синхронізацією між пристроями;
  • безпосередній повторний імпорт .apkg з явним вибором оновити/ігнорувати/додати нові, а також імпорт і експорт структурованих CSV/TSV із директивами GUID/type/deck/tag, відповідностями для кожного рядка, обмеженим проміжним зберіганням медіа, відбитками попереднього перегляду, атомарним підтвердженням та ідемпотентним повтором;
  • нативне резервне копіювання/завантаження активної колекції, захищене відновлення до порожньої колекції або із заміною та п’ять точок відновлення перед заміною в Налаштуваннях;
  • експорт застарілого .colpkg зі schema-11 і обмежену доказом точну заміну через API, тоді як сучасні пакети або пакети з втратою даних залишаються доступними лише для попереднього перегляду;
  • виправлення/переміщення до кошика/відновлення з кошика в розділі стану медіа з попереднім переглядом і захищеним від конфліктів скасуванням;
  • перевірку незмінних пакетів і медіа Marketplace, оновлення зі збереженням розкладу, тристороннє виявлення конфліктів і відновлення через перезапис або відгалуження;
  • оцінювання/оптимізацію/застосування FSRS, попередній перегляд перепланування утримання й захищене підтвердження, детерміноване моделювання навантаження, подання стійкості/відтворюваності/утримання та збережену історію видалених карток із зазначеним походженням;
  • перевірки довідки й відновлення, безпечну для приватності діагностику, межі обробки помилок маршрутів/застосунку та зрозумілі вказівки з відновлення.

Часткові процеси

Ці області працюють, але ще не охоплюють усі можливості Anki:

ОбластьПоточна межа
Ієрархія колодСтворення та переміщення підтримують сталі ідентифікатори батьківських колод і канонічні шляхи. Максимальна глибина, повний життєвий цикл колоди Default і широке виправлення некоректних шляхів/сиріт поза відсутніми батьківськими колодами залишаються відкритими.
ПорядокДоступні всі шість звичайних режимів збирання нових карток і п’ять режимів сортування після збирання. Повної матриці порядку повторень, алгоритму дострокового повторення й динамічних умов фільтрованих колод ще немає. Елементи керування автоматичним приховуванням споріднених карток доступні в глобальних пресетах і приватних копіях колод.
Типи нотатокУ web/API доступні сталі ідентифікатори та перетворення standard/Cloze. Авторство в iOS зберігає ідентифікатори полів/шаблонів під час перейменування й перевпорядкування та створює нові ідентифікатори для дублікатів; Android передає ідентифікатори в обидва боки без змін, але його менеджер залишається доступним лише для читання. Порожні картки не охоплюють Cloze/Image Occlusion, визначені за вмістом; IO→IO доступне лише через вузький API, а перетворення між різними видами відхиляється.
Безпека шаблонівСпільний безпечний профіль перевірено, але він навмисно не підтримує скрипти, віддалені ресурси, динамічні медіа й непідтримувані фільтри Anki. Нативне відображення введеної відповіді безпечне, але інтерактивне введення залишається доступним лише у web.
ПовторенняWeb є повною еталонною поверхнею. Усі клієнти забезпечують надійну доставку повторення до переходу й скасування підтвердженого повторення. Аудіо/автовідтворення колоди та політика часу відповіді доступні у web/API, але нативне складене аудіо, тимчасовий голос, апаратні комбінації клавіш, оцінювання вимови й деякі потужні процеси окремих платформ залишаються незавершеними.
BrowserЩе належить додати повне охоплення операторів Anki, довільні стовпці полів/перевпорядкування стовпців, області заміни в полях/тегах/усіх результатах, порівняння/об’єднання розкладів дублікатів і перейменування збережених подань у web. Заміна за регулярним виразом з обмеженням ресурсів, рішення щодо тегування дублікатів/збереження одного примірника й постійна історія квитанцій уже доступні.
Фільтровані колодиНемає перебудови з новим випадковим перемішуванням, динамічних умов та алгоритму раннього повторення. Налаштовувані затримки попереднього перегляду доступні; кроки навчання/повторного навчання домашньої колоди є навмисними.
Відновлення й переносністьНативне відновлення замінює активну колекцію, а не об’єднує її та не забезпечує відновлення видалених елементів, резервну копію облікового запису чи аварійне відновлення за розкладом. Точна заміна .colpkg зі schema-11 у web обмежена доказом; сучасний anki21b залишається доступним лише для попереднього перегляду.
Медіа й MarketplaceВиправлення ніколи не завантажує й остаточно не видаляє байти та уникає перезаписування динамічних медіа/колізій. Безпечним оновленням Marketplace бракує деталізованого переліку змін до запису, а для давніх інсталяцій без базового стану може знадобитися відгалуження.
СтатистикаПерепланування FSRS має явний, захищений від застарівання/повторного відтворення процес попереднього перегляду й підтвердження, але не має скасування. Для оптимізації потрібна повна історія достатнього обсягу. Ще належить додати довільні області пошуку, звіти PDF і всі застарілі графіки Anki.
МобільніБезпечне відображення шаблонів і цілісність доставки повторень мають спільну для всіх клієнтів основу, але повного паритету Browser, фільтрованих колод, авторства, відновлення, ремонту медіа, аудіо/голосу й доступності ще немає.

Найвищі пріоритети паритету

  1. Паритет нативних функцій. Завершити авторство в Android і перенести складене аудіо/тимчасовий голос, ширший доступ із клавіатури, Browser, фільтровані колоди, безпечне відновлення та надійні офлайн-дії життєвого циклу в iOS і Android, зберігаючи спільний контракт доставки повторень.
  2. Завершення матриці планування. Додати решту режимів порядку повторень, семантику раннього повторення у фільтрованих колодах і захищене від конфліктів скасування підтвердженого перепланування утримання.
  3. Завершення потужних процесів Browser. Розширити оператори, поля й області заміни, а потім додати інструменти порівняння/об’єднання розкладів дублікатів.
  4. Посилення відновлення й переносності. Додати резервні копії за розкладом і керованою політикою, сумісність із сучасним .colpkg лише там, де вона точна, та зрозуміліші деталізовані попередні перегляди оновлень Marketplace.
  5. Розширення безпечного авторства. Розширити спільні тестові набори шаблонів, порожні картки, визначені за вмістом, перетворення Image Occlusion, ергономіку його редактора та доступне нативне введення відповідей.

Відкриті рішення щодо продукту

  • максимальна підтримувана глибина вкладеності колод: п’ять або десять;
  • точна поведінка порожньої, прихованої чи перейменованої колоди Default;
  • чи матиме Repeto коли-небудь планувальник SM-2 поряд із FSRS;
  • приватність і офлайн-варіант допомоги ШІ з вимовою;
  • межі сторонніх розширень без виконання ненадійного коду додатків Anki.

Чого паритет не означає

Repeto не відтворюватиме специфічні для настільного середовища проблеми встановлення Qt і не вдаватиме, що додатки Anki можуть безпечно працювати в розміщеному web-застосунку. Він має давати рівноцінні користувацькі результати там, де це важливо, зберігати переносну семантику колекції та чесно позначати власні вдосконалення Repeto.

Стан на цій сторінці змінюється лише тоді, коли існують наскрізний користувацький процес, контракт зберігання й цільові тести. Саме лише поле бази даних або прототип не вважається випущеною функцією.