ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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, но даёт
задержку до нескольких секунд.