ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Read ancient Egyptian coffins where the words were written. BD3D is a research viewer for six photogrammetric coffin models from the UC Berkeley Book of the Dead in 3D project. Every annotated inscription is mapped to its place on the surface and shown as hieroglyphs, transliteration and translation.
| Raking light: a real directional light with shadow maps | A transliterated word, its dictionary entry and its location |
| Search across all 314 entries | Phone layout |
/exhibits/psamtikseneb?region=text%3Acenter&light=180,12).R reset · 1–5 views · [ ] locations · O outlines · L light · F expand · / search · ? help.| Asset pipeline with provenance | OBJ + 4096 px JPEGs → meshopt-compressed, 16-bit quantized glTF and WebP tiers. Sources untouched; every derivative records its own and its source's SHA-256; tests check compressed geometry against the source within 1/10,000 of the object's length. |
| Progressive, device-aware loading | Geometry and 1024 px textures first, preloaded from the HTML and streamed with byte-level progress; then 2048 or 4096 px chosen from GPU limits, memory, connection and input type. Resources are disposed on exit. |
| Exact picking | The source viewer's projected-polygon rule, with back-face rejection; hover without per-move mesh raycasts. |
| Batched overlays | Region outlines in at most four draw calls (one per state) instead of up to 265. |
| Faithful colour | Khronos PBR Neutral tone mapping, sRGB textures, image-based ambient light, viewer-relative key and fill lights. |
| Validated research data | zod schema and two-way link checks on every edition at build time. |
| Tests | 82 unit tests, 46 Playwright end-to-end tests with axe accessibility scans, all in CI. |
Same harness before and after (details):
| Before | After | |
|---|---|---|
| Exhibit download (standard quality) | 4.8–20.2 MB | 1.9–6.1 MB |
| Geometry download | 1.9–3.3 MB | 0.4–1.0 MB |
| Geometry parse | 82–132 ms | 2–3 ms |
| GPU texture memory, phones and tablets (computed) | ≈341 MB | ≈85 MB |
| First frame with the model (software WebGL) | 1.8–4.2 s | 0.9–1.8 s |
Open issue: in software-rendered WebGL, reaching full-resolution textures is slower than before. The cost is in the texture upload and is not yet attributed; it is unmeasured on GPU hardware. See PERFORMANCE.md.
flowchart LR
SRC[Published editions<br/>OBJ · JPEG · HTML] -->|import + build-display-assets| DATA[(Validated JSON<br/>GLB · WebP · manifest)]
DATA --> PAGE[Next.js static pages]
PAGE --> STATE[useExhibitState]
STATE --> PANEL[Reading panel]
STATE --> VIEW[3D viewer<br/>R3F · three.js]
LIB[lib/: scene math, picking, camera,<br/>quality, vocabulary, search — unit tested] -.-> VIEW
LIB -.-> STATE
Requires Node.js 22.
npm ci
npm run dev # http://localhost:3000
Production build:
npm run build
npm run start -- --port 3101
No environment variables or database are needed. Set NEXT_PUBLIC_SITE_URL when deploying so social previews use absolute URLs.
npm run check # format, lint, types, unit tests
npm run verify:data # source asset checksums
npm run build && npm run start -- --port 3101 &
npm run test:e2e # Playwright against :3101
The end-to-end suite uses installed Google Chrome by default. On machines without Chrome or a GPU (as in CI):
npx playwright install chromium
PLAYWRIGHT_CHANNEL= PLAYWRIGHT_SOFTWARE_GL=1 PLAYWRIGHT_EXPECT_TIMEOUT=45000 npm run test:e2e
data/coffins/*.json: 314 entries and 607 regions imported from the published St Andrews editions by scripts/import-nederhof.mjs.data/import-manifest.json: source URLs, sizes and SHA-256 for every imported file.data/display-assets.json: web derivatives built by npm run build:assets, each with its source hash.Missing mappings are not invented, display units are not physical units, and no surface detail is inferred from photographs. The research page lists sources, transformations and open questions for scholarly review.
Annotation editions: Rita Lucarelli, Kea Johnston and Mark-Jan Nederhof (Psamtik-Seneb also Matthew Whealton). Models hosted by the University of St Andrews for the UC Berkeley project. Collection photographs © Chrysler Museum of Art, Fine Arts Museums of San Francisco and Phoebe A. Hearst Museum of Anthropology. Method: Lucarelli and Nederhof, “Digitizing and Annotating Ancient Egyptian Coffins: The Book of the Dead in 3D” (2023), doi:10.1163/9789004501294_011.
The original prototype's notes are in docs/ORIGINAL-PROTOTYPE.md; the redesign validation log is in docs/VALIDATION.md.