ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Тренажёр нот для ребёнка: узнавать ноты на нотном стане в скрипичном и басовом ключе
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Тренажёр для ребёнка: узнавать ноты на нотном стане в скрипичном и басовом ключе. Работает офлайн, ставится на главный экран как приложение. Приложение показывает одну ноту и спрашивает, как она называется. Десять вопросов — занятие, за занятие дают звёзды, неузнанные ноты можно повторить отдельно. Если нота не узнаётся, подсказка показывает ближайшую опорную ноту и предлагает посчитать от неё ступени — так ноты и учат помимо тренажёра. За три верных подряд загорается огонёк, за занятие без ошибок сыплется конфетти и играет фанфара.檢視完整 README ↗
Тренажёр для ребёнка: узнавать ноты на нотном стане в скрипичном и басовом ключе. Работает офлайн, ставится на главный экран как приложение.
Приложение показывает одну ноту и спрашивает, как она называется. Десять вопросов — занятие, за занятие дают звёзды, неузнанные ноты можно повторить отдельно.
Если нота не узнаётся, подсказка показывает ближайшую опорную ноту и предлагает посчитать от неё ступени — так ноты и учат помимо тренажёра. За три верных подряд загорается огонёк, за занятие без ошибок сыплется конфетти и играет фанфара.
Тема следует за системой: светлая днём, тёмная вечером. Сам нотный стан остаётся листом бумаги в любой — ноты ребёнок читает чёрными по белому.
Полное описание — docs/SPEC.md. Что и почему решали — docs/DECISIONS.md.
Рабочее целиком: семь уровней от трёх нот до двух ключей вперемешку, занятие, подсказка по опорным нотам, итог со звёздами, работа над ошибками, звук нот, прогресс между запусками, офлайн.
Не сделано: узнавание на слух, длительности и ритм, знаки альтерации, несколько детей на одном устройстве.
Приложение — набор статических файлов, сборка не нужна. Но модули ES и
сервис-воркер не работают через file://, поэтому нужен любой локальный
сервер:
powershell -ExecutionPolicy Bypass -File tools/serve.ps1
Затем открыть http://localhost:4180. Порт меняется ключом -Port.
Node в проекте не используется, но если он установлен, подойдёт и
npx serve ..
Открыть /tests/index.html на том же локальном сервере. Проверки идут в
браузере, без сборки и без установки чего-либо; зелёная полоса сверху и
галочка в заголовке вкладки означают, что всё прошло.
Работают они на отдельном ключе хранения notes.test — звёзды ребёнка при
запуске не трогаются. Сервис-воркер страница снимает сама, иначе она
показывала бы не то, что лежит в репозитории, а то, что осталось в кэше у
этого браузера. Снимает она только своё — воркер «Нот» и кэши notes-*:
на Pages у того же адреса есть соседи, и их офлайн трогать нельзя.
На каждый push и pull request те же проверки прогоняет GitHub Actions: поднимает статический сервер, открывает эту же страницу настоящим браузером и читает итог. Отдельным шагом сверяется список офлайн-кэша с деревом проекта.
index.html разметка оболочки, без стилей и скриптов
css/style.css все стили, цвета переменными в :root
sw.js кэш и офлайн; при правке файлов поднимать APP_VERSION
manifest.json описание PWA
js/main.js точка входа
js/app.js экраны и маршрутизация (#/занятие/октава)
js/version.js версия приложения
js/core/notes.js ноты, ключи, положение на стане, опоры, частоты
js/core/staff.js рисование стана, ключей и ноты
js/core/levels.js уровни и их наборы нот
js/core/drill.js движок занятия: очередь, ответы, счёт
js/core/store.js прогресс в localStorage
js/core/tone.js звук нот через Web Audio
js/core/haptics.js вибрация на ответ
js/core/actions.js делегирование событий по data-action
js/core/ui.js сборка разметки с экранированием
js/modules/home.js выбор уровня
js/modules/drill.js экран занятия
js/modules/result.js итог занятия
docs/ описание проекта и журнал решений
tests/ проверки, запускаются в браузере
tools/serve.ps1 локальный сервер для разработки
tools/make-icons.ps1 генерация значков, включая maskable
tools/check-precache.ps1 сверка списка офлайн-кэша с деревом проекта
tools/ci-tests.mjs запуск тех же проверок из CI настоящим браузером
Правила, которые важно не нарушить:
js/core/notes.js и нигде больше: ни один
экран не считает положение ноты сам;ui.esc() или
шаблон ui.html;data-action, а не onclick;sw.js и поднимать
APP_VERSION.GitHub Pages из ветки main. Файл .nojekyll обязателен — иначе Pages
игнорирует каталоги, начинающиеся с подчёркивания. Все пути в проекте
относительные, поэтому приложение работает и из подкаталога вида
/Notes/.