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, но даёт
задержку до нескольких секунд.