ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
See Java code run, one line at a time. A free, open tool that helps Coding 101 students understand what the computer does: variables changing, methods being called, arrays living in memory, input being read.
Paste code, add input, press Visualize, then step through it or let it play.查看完整 README ↗See Java code run, one line at a time. A free, open tool that helps Coding 101 students understand what the computer does: variables changing, methods being called, arrays living in memory, input being read.
Paste code, add input, press Visualize, then step through it or let it play.
ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, LinkedHashMap, ArrayDeque, Stack, PriorityQueue, List.of/Map.of and more, shown as lists, sets and key → value tables. Added elements glow, replaced values show what they were, removed elements linger for a step.src/server/explanation/master-prompt.ts.Next.js 16 (App Router) · TypeScript · Tailwind CSS 4 · shadcn/ui (Radix) · Monaco · React Flow · MongoDB Atlas · Auth.js · Vercel + Vercel Sandbox · Zod · Vitest · Playwright.
flowchart LR
subgraph Browser["Browser"]
UI["Workspace<br/>Monaco editor · stdin"]
VIZ["Visualizer<br/>memory · call tree · flow · console"]
end
subgraph Server["Next.js on Vercel"]
API["/api/runs"]
RS["RunService<br/>Zod · static checks · rate limit"]
end
subgraph SBX["Vercel Sandbox microVM"]
TR["javac -g → JDI tracer"]
end
DB[("MongoDB Atlas")]
UI -- "code + stdin" --> API --> RS -- "ExecutionProvider" --> TR
TR -- "JSON trace" --> RS -- "validated Trace" --> VIZ
RS --> DB
User code never runs on the web server: each run gets a throwaway microVM with no network. The browser receives one validated JSON trace and does all playback, notes and drawing locally, so stepping back and scrubbing are instant.
docs/ARCHITECTURE.md has the detailed diagrams: code layers, the full request sequence, the tracer internals, the client rendering pipeline, execution providers, the data model, sharing and security boundaries.
| Path | What lives there |
|---|---|
src/app | Routes only: pages and thin route handlers |
src/features/* | UI slices (workspace, editor, visualizer, snippets, examples, auth, theme), imported through index.ts |
src/components | shadcn/ui primitives and shared pieces (header, split handle, zoom controls) |
src/languages/* | One LanguageAdapter per language; register in registry.ts |
src/server | Server-only: composition root, services, execution providers, repositories, security |
src/shared | Isomorphic contracts: constants, Zod schemas for trace, API and examples |
tracer/ | Java JDI tracer, built with plain javac |
content/examples | Curated example programs |
docs/ | Product spec and architecture |
Requirements: Node 22+, Yarn 4 (corepack enable), JDK 21.
yarn install
yarn tracer:build # builds tracer/build/tracer.jar
cp .env.example .env.local # everything is optional for local dev
yarn dev
Without MONGODB_URI the app still works: examples come from /content/examples, sharing and sign-in are hidden, rate limits are kept in memory. Without ELEVENLABS_API_KEY the narration buttons are hidden; without GROQ_API_KEY narration reads the built-in step notes instead of AI explanations. In development, code runs through the local provider (the tracer jar on your machine). It is refused in production.
MONGODB_URI.AUTH_SECRET, IP_HASH_SALT (and optionally GitHub/Google OAuth credentials, with callback URL https://<your-domain>/api/auth/callback/<provider>).yarn db:setup and yarn db:seed once against the database.
Optionally set ELEVENLABS_API_KEY (and ELEVENLABS_VOICE_ID / ELEVENLABS_MODEL_ID) to turn on voice narration.yarn sandbox:snapshot.| Script | What it does |
|---|---|
yarn check | Lint, typecheck, unit tests |
yarn test:e2e | Playwright tests (desktop + mobile) |
yarn tracer:test | Runs the Java tracer against tracer/src/test/programs |
yarn db:setup / yarn db:seed | Create indexes / load examples |
yarn sandbox:snapshot | Build the JDK + tracer sandbox snapshot |
User code only runs inside throwaway microVMs with no network access, an 8 s tracing budget, 128 MB heap and 1,000-step cap. The API validates every input with Zod, rejects cross-origin writes, caps request sizes, rate-limits by hashed IP, sends a strict CSP and security headers, and never stores raw IPs. See CLAUDE.md for coding rules.
Implement LanguageAdapter in src/languages/<lang>/, register it in src/languages/registry.ts, add a tracer that emits the Trace schema (src/shared/trace/schema.ts), and include it in the sandbox runtime.
MIT