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