ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A Next.js 16 app: a catalogue of tilings of the plane, the sphere, and the hyperbolic plane.
@supabase/ssruseP5 hook (Strict-Mode safe)react-chartjs-2components/ui/pnpm install
cp .env.local.example .env.local # fill in PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, PIPELINE_SECRET
pnpm dev
Open http://localhost:3000.
pnpm dev | Next.js dev server with Turbopack |
pnpm build | Production build |
pnpm start | Serve the production build |
pnpm test | Vitest (classes + algorithm parity) |
pnpm pipeline | Runs lib/algorithm/run-pipeline.ts via tsx |
pnpm lint | ESLint |
The app uses SvelteKit-style env var names (PUBLIC_*) and not
Next.js's NEXT_PUBLIC_*. next.config.ts lists them in the env block so
the browser bundle sees them. Required:
PUBLIC_SUPABASE_URLPUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY (server-only, for /api/pipeline/* writes)PIPELINE_SECRET (server-only, guards POST /api/pipeline/*)app/
(app)/ App shell (Nav + store bootstrap)
layout.tsx
library/ /library
lab/ /lab, /lab/[hash]/{polygons,vcs,seeds,expanded-seeds,tilings}
play/ /play (Canvas + Sidebar — in-progress)
api/pipeline/*/ 7 route handlers (gzip-batched Supabase Storage pipeline)
error.tsx, not-found.tsx, page.tsx, layout.tsx
components/
ui/ 14 primitives (Modal, Tabs via Radix; rest hand-rolled)
*.tsx Domain components (Cards, Pickers, Sidebars, Modals, …)
lib/
algorithm/ pipeline-core, run-pipeline, paramsFolder, conwayCost,
transformFinder, generatorEncoding, PipelineLogger,
pipelineStorageFormat
classes/ domain TS classes (polygons, algorithm, exact arithmetic, …)
hooks/ useP5, useVcCanvas, usePolygonsCanvas
query/ TanStack Query provider + key factory
services/ Supabase-backed services (campaigns, storage, search oracle)
stores/ 13 Zustand slices (configuration, audio, debug, modal, …)
supabase/ browser/server/session clients + service-role factory
utils/ pure utils (math, geometry, …)
proxy.ts Next 16 request proxy (was middleware.ts in Next 15)
/api/pipeline/* GET endpoints (list-folders, structure) are open./api/pipeline/* POST endpoints require
Authorization: Bearer $PIPELINE_SECRET. Enforced in proxy.ts.lib/supabase/service.ts), scoped to server code only./theory page (markdown rendering of the original 7-step design) was
removed 2026-06: it documented a superseded method. The historical
write-ups live in ../resources/drafts/; the implemented algorithm is
documented in docs/DEVELOPMENT_NOTES.md. public/theory/images/vertexTypes/
is kept — the Library vertex cards serve images from that path.lib/classes/algorithm/TilingGenerator.ts and the entire
lib/classes/generator/* tree are intentionally not re-exported from
@/classes — they import node:fs or pre-Zustand store names. Import
directly from the specific files in server-only contexts.pnpm test
Currently covers:
Vector math (add/sub/rotate/dot/cross/heading/…)extractDataFromPolygonName, comparePolygonNames)pipeline-core high-level chain: generatePolygons, generateVCs,
generateVCsWithCompatibilityGraph on reg n_max=4Port history is in the git log — each phase was committed separately and can be replayed. High-level:
useP5 and the configuration store)Full plan:
c:\Users\longo\.claude\plans\sorted-marinating-plum.md