ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Инфляция — экономика пять минут в день Латиницей — Inflatia: только там, где кириллица невозможна (адрес, имена файлов).檢視完整 README ↗
Латиницей — Inflatia: только там, где кириллица невозможна (адрес, имена файлов).
Короткие уроки экономики с Инфлей — Путь из юнитов, учебник с задачами и «Мир»: симулятор государства и бизнеса, где знания проверяются в деле. В партии у руля страны вы — центральный банк, Минфин, премьер, президент или трейдер: каждый квартал решаете про ставку, налоги и бюджет, ведёте выборы, войны и мирные договоры, держите в равновесии общество из социальных групп, а модель считает инфляцию, безработицу, курс, долг и остальное. «Своё дело» — отдельная игра: тайкун в реальном времени, где вы строите бизнес внутри живой экономики страны. Есть соло против ботов, вызов дня с общей таблицей и сетевая игра на двоих-троих с профилями игроков.
Знак — монета, надутая как воздушный шарик, с колонной «I» посередине. Источник —
public/favicon.svg (и тот же знак компонентом в src/logo.jsx); PNG-иконки
(icon-192/512, apple-touch-icon) и картинка для ссылок og-image.png
собираются из него командой npm run icons. Файлы логотипа для скачивания и
печати — в logo/ (SVG, знак 1024 px, горизонтальный логотип для тёмного и
светлого фона); пересобираются node scripts/logo-export.mjs.
docs/world.md — библия мира: страна, герои, голоса, правила текста, слоган
и названия, цвета, детский режим «Мира», как переносить юниты в Путь.docs/mechanics.md — словарь механик: виды заданий и шагов урока,
механики вокруг уроков, экономика наград, навигация, первый экран партии, обратная связь,
доступность.docs/legal-todo.md — вопросы юристу (персональные данные, маркировка,
соглашение, голоса). Юридических выводов в коде и текстах нет — только открытые вопросы.Правило меняется сначала в docs/*.md, потом в коде.
recharts для графиков партии, KaTeX для формул учебника, lucide-react для иконокapi/*.js), хранилище — Upstash Redis (переменные окружения
KV_REST_API_URL и KV_REST_API_TOKEN, подключаются через Vercel Marketplace); без них
данные живут в памяти процесса и не переживают разные запросы.npm install
npm run dev # клиент на Vite; api/* локально не поднимается — нужен `vercel dev` или деплой
npm run lint # oxlint
npm test # vitest: модель партии, курс и тексты, награды, сервер
npm run build # tsc -b && vite build; сборка падает, если JS-чанк больше 400 КБ
npm run e2e # Playwright: desktop, phone (Chromium) и webkit (iPhone 13)
npx playwright test --project=desktop --project=phone # без установленного WebKit
npx playwright test e2e/visual.e2e.js --project=phone --update-snapshots # обновить эталоны
npx playwright install webkit # один раз, чтобы локально шёл проект webkit
npm run balance # стенд длинных партий: баланс модели
npm run icons # иконки и картинка для ссылок из public/favicon.svg
Перед коммитом: npm run lint, npm test, npm run build, npx playwright test
(как минимум desktop + phone).
src/
MacroSimulator.jsx оболочка: вход, нижняя панель (Путь, Учебник, Мир, Лавка, Профиль), меню «Мира»
learn.jsx обучение: Путь, задания, урок, итоги, профиль (+ learn-*.jsx — части экранов)
learn/ чистые модули курса: уроки и юниты (course.js), награды (rewards.js),
карта экранов (screens.js), голоса героев (voices.js), кроны (money.js)
textbook.jsx учебник; textbook/ — главы (chapters/*.md, каждая — свой чанк), задачи,
графики, прогресс
game.jsx экран партии; network.jsx — сетевая партия; tycoon.jsx — «Своё дело»
ds.jsx, ds-art.jsx, дизайн-система: компоненты, иллюстрации, токены цвета и шрифта
ds-tokens.js (тёплая палитра WARM, тёмная тема «Мира»)
lib/ модель экономики (engine.js и model/, politics/, world/, content/),
возраст и детский режим (age.js), раскрытие панелей партии (disclosure.js),
гость (guest.js), клиент API (client.js)
api/ serverless-функции: аккаунт, комнаты, вызов дня, рекорды, сообщения
об ошибках, аналитика без персональных данных (events.js)
e2e/ smoke.e2e.js — сценарии; screens.e2e.js — все экраны + axe + размер шрифта;
visual.e2e.js — эталоны десяти ключевых экранов
docs/ библия мира, словарь механик, вопросы юристу
scripts/ стенд баланса, иконки, плагины сборки (service worker, разделы учебника)
src/lib/engine.js — ядро экономической модели (чистые функции, без React). Это
единственный источник истины: его же переиспользует сервер через api/_lib/engine.js
(тонкий реэкспорт), чтобы соло-игра и мультиплеер считали кварталы одинаково.
Не копировать эту логику в другое место..js/.jsx без проверки типов (checkJs: false). Полная миграция
на TypeScript для модели такого размера — отдельная задача, требующая
аккуратной типизации состояния экономики.watchRoom, раз в 2.5с),
а не через WebSocket/SSE — проще в связке с Vercel serverless, но даёт
задержку до нескольких секунд.