ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Free interactive 3D dental anatomy: all 32 permanent teeth with FDI, Universal and Palmer numbers, enamel to root canals, jaws and nerves. Educational tool.
EducationTypeScript · PythonGitHub @YoossephOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
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
Explore teeth, jaws, nerves, tissues, root canals, cross-sections and layered dental structures in 3D.
Translation pending
Taken from the repository README
Loading the full README.
Read the full 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