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