ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
A catalogue of tilings of the plane, the sphere, and the hyperbolic plane.
EducationC++ · PythonGitHub @AlessandroLongo23OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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