human-atlas README

The project's README from github.com/ashemag/human-atlas. As one markdown file: README.md.

Human Atlas

An interactive 3D anatomy explorer built with React, Three.js, and shadcn/ui. Take the BodyParts3D adult male reference apart into 2,234 individually selectable meshes, explore 15 anatomical systems, and search 3,432 named concepts.

Explore the live demo

Explore

Run locally

Requires Node.js 22.13 or newer. No API keys or accounts are needed.

npm ci
npm run dev

Open http://localhost:3016. To build the static site, run npm run build; the output is in dist/.

Validate

npm run check
node scripts/validate-atlas.mjs
node scripts/validate-interactions.mjs
npm run build

Validation covers mesh buffers, names and concept membership, nonoverlapping exploded layouts at desktop and mobile aspect ratios, search and inspection contracts, and tap-versus-drag handling. Browser interaction checks have exercised selection, system controls, search, isolation, rotation, and 390×844, 320×568, and 844×390 layouts. Phone controls stay clear of the exploded inventory, and isolated structures fit the space above or beside the detail panel. Physical-device performance and real multitouch hardware have not been tested.

Anatomy data

The current viewer uses BodyParts3D 4.0, an adult male reference anatomy, licensed CC BY 4.0. It does not represent every human structure or variation. Individual source meshes are distinct from named concepts, which may group multiple meshes. Descriptions distinguish general system context from individual organ explanations.

Geometry is simplified for browser performance while retaining every source mesh. The packaged model contains 2,288,268 triangles and downloads approximately 33 MB of compressed geometry. Full credits, source links, and adaptation details are in ATTRIBUTION.md.

This is an educational explorer, not a diagnostic or surgical tool.

How it works

Geometry is merged into batches. Per-structure GPU textures control translation, visibility, and selection, while component geometry supports accurate picking. Exploded layouts pack only the visible pieces. Rendering updates when the scene changes; orbit controls remain responsive without thousands of separate draw calls.

The optional WebMCP tools expose anatomy search and inspection in compatible browsers. The visible interface works without them.

Rebuilding geometry

The repository includes browser-ready geometry. Rebuilding it is optional: obtain the official BodyParts3D OBJ archive and English metadata tables, prepare the joined concepts and display-system mappings, run scripts/convert-anatomy.py, then node scripts/optimize-anatomy.mjs and node scripts/compress-models.mjs. Simplification uses a 0.2% relative error limit per structure.

Deploy

Import this repository into Vercel as a Vite project. The included vercel.json configures npm ci, npm run build, and the dist output directory. It can also be served by a static host.

License

Original application code is released under the MIT License. The anatomy data has its own CC BY 4.0 license; preserve the attribution when redistributing it. Third-party dependencies retain their respective licenses.

Issues and pull requests are welcome. Please include reproduction steps and browser/device details for interaction problems.

human-atlas (ashemag/human-atlas)

shadcn-ui
Searching Database…

What is this?An interactive 3D anatomy explorer that runs in your browser: the BodyParts3D adult male reference taken apart into 2,234 individually selectable meshes, 15 anatomical systems, and 3,432 searchable named concepts.
Is it a website or something I install?Nothing to install — it is a web app built with React, Three.js and shadcn/ui. There is a live demo, and you can also build the static site yourself and serve it from Vercel or any static host.
How do I run it locally?Clone the repo, install Node.js 22.13 or newer, then npm install and npm run dev (Vite serves it on port 3016). No API keys or accounts are needed; npm run build outputs a static site to dist/.
Can I use it for medical or clinical work?No — the README is explicit that this is an educational explorer, not a diagnostic or surgical tool. Geometry is simplified for browser performance, though every source mesh is retained.
What exactly are the exploded views?You can move from the assembled body to a spaced inventory of every visible piece. Exploded layouts pack only the currently visible parts and were validated to be non-overlapping at both desktop and mobile aspect ratios.
What are the optional WebMCP tools?Optional WebMCP tools expose anatomy search and inspection inside compatible browsers. The visible interface works fully without them, so they are a bonus, not a requirement.
Can I rebuild the 3D geometry from the original data?Yes, though the repo already ships browser-ready geometry. Optionally you fetch the official BodyParts3D OBJ archive and metadata tables, run scripts/convert-anatomy.py, then the optimize and compress Node scripts; simplification uses a 0.2% relative error limit per structure.
Creator
ashemag
Size
101.7 MB
Stars
4.3K
Updated
CommitSep 06
Age
1mo
Commits · 90 Days