ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Explore teeth, jaws, nerves, tissues, root canals, cross-sections and layered dental structures in 3D.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Explore Dental Anatomy in 3D.
Dental Scope is an open-source, interactive 3D dental anatomy explorer. Start with the whole mouth (jaws, gingiva, the complete permanent dentition, nerves and the temporomandibular joints) and move all the way down to the enamel, dentin, pulp chamber and root canals of a single tooth.
Educational anatomical reference. Not intended for diagnosis or treatment.
| Inside a tooth | Cross-section through the arch | Dissected anatomy |
|---|---|---|
11, #8, UR6, fdi 36), tissue, synonym (gums, wisdom tooth, IAN, cuspid)./tooth/36, /tooth/36/dissect, /structure/inferior-alveolar-nerve-left./credits/ opens the credits over the 3D explorer. Translated links are /credits/sv/, /credits/de/, /credits/es/ and /credits/la/; relative-base builds use #/credits/./about/sv/, /about/de/, /about/es/, /about/la/). Add ?lang=sv, de, es or la to a link to open it in that language. Latin uses Terminologia Anatomica names and a Neo-Latin interface. Translations live in src/i18n/ and src/content/<lang>/.The dental feedback additions include nerve passage views, a Nerves & muscles transparency preset, sourced canal-count tables for every permanent tooth type, additional cranial nerves and an illustrative TMJ opening control. Scope, sources and the server review checklist are in docs/feedback-anatomy.md.
Vite · React 19 · TypeScript (strict) · Three.js (imperative engine) · Zustand · glTF + meshopt compression. Asset pipeline: Python (NumPy, SciPy, scikit-image, trimesh) + glTF Transform.
npm install
npm run dev # http://localhost:5173
npm test # unit tests (Vitest)
npm run typecheck
npm run typecheck:tests # TypeScript checks for tests and Vite config
npm run lint # ESLint (type-aware rules on src/**)
npm run build # static site in dist/ (includes a 404.html SPA fallback)
npx playwright install chromium # once, for browser tests
npm run test:e2e # desktop and phone flows against the production build
Browser regressions cover selection/dissection Back and Forward, search focus and dismissal, layer scrolling, primary dentition, mobile reading trays, failed-download retry and credits links. CI installs Chromium and runs these after the production build; failed runs retain traces and screenshots in test-results/.
The built site is fully static. For a sub-path deployment set DS_BASE, e.g. DS_BASE=/dental-scope/ npm run build; with a relative base (DS_BASE=./) deep links switch to hash URLs (#/tooth/36) so the build works from any folder. Set VITE_DS_REPO_URL to link the “Made by Yoseph” credit and the About dialog to the repository; when it is unset the credit is plain text, so a build never advertises a private repository. The live site is deployed by Vercel from main; set VITE_DS_REPO_URL and DS_SITE_URL in the Vercel project's environment variables.
Set DS_SITE_URL to the public address of the deployment (e.g. https://user.github.io/dental-scope/) to add canonical URLs, social-preview tags with og-image.png, structured data and sitemap.xml. On Vercel, set it in the project's environment variables. Every build also writes robots.txt and a static entry page per tooth (tooth/36/) so those deep links return their own title and description instead of the 404 fallback. Crawlers only read robots.txt at the domain root, so for a project site under a sub-path submit sitemap.xml in the search engine's webmaster tools instead.
Every build also writes a text-first guide page for every tooth and structure in all five languages: English at the root (teeth/36-mandibular-left-first-molar/), the others under sv/, de/, es/ and la/ with translated slugs (sv/tander/36-vanster-forsta-molar-i-underkaken/). A guide page stays noindex until its own text reaches 150 words (MIN_INDEX_WORDS in src/app/guide.ts); only indexable pages go into sitemap.xml, with hreflang links between their language versions. Once a tooth's English guide page is indexable, the matching explorer entry page (tooth/36/) leaves the index so the two don't compete. Vercel preview deployments (or any build with DS_PREVIEW=1) are noindex everywhere and robots.txt blocks all crawlers.
/ search · Esc clear / leave tooth · F focus · I isolate · H hide · G ghost · D inside tooth · [ ] dissection level · E dissect anatomy / separate tooth layers · C section · L labels · arrows orbit · + − zoom · R reset
src/
app/ routing, search/sharing metadata, repository link
anatomy/ structure registry, tooth tables, notation ← anatomy is data
content/ educational text (JSON) + resolver
search/ index + scorer
state/ Zustand store, pure visibility resolver
engine/ Three.js engine: loading, materials, picking, camera, explode, section, labels
ui/ React panels (no per-frame rendering)
modes/ Explore + Quiz (learn/compare still scaffolds)
tools/pipeline/ BodyParts3D → production GLB
Details and a handoff guide (commands, runtime flows, where to start): docs/architecture.md. Data research: docs/dental-data-research.md.
3D anatomy is derived from BodyParts3D, © The Database Center for Life Science, licensed under CC BY-SA 2.1 Japan. Third molars, alveolar bone and TMJ regions are derived from it; internal tooth anatomy is modeled inside each real tooth shape. Most nerves and vessels follow the Z-Anatomy atlas (CC BY-SA 4.0), fitted onto these jaws; the superior alveolar nerves, the inferior alveolar vein, the pterygoid plexus and the joint discs are schematic. See CREDITS.md and docs/assets.md; the statements in the app's About dialog are sourced in docs/sources.md.
Actionable follow-ups from dental feedback: feedback TODOs.
See CONTRIBUTING.md and the Code of Conduct. Reviews of the anatomical text by dental professionals are especially welcome.
public/models/): CC BY-SA 2.1 JP (derived from BodyParts3D)src/content/): CC BY-SA 4.0