Human Atlas: 2,234 anatomical meshes and two licences

A 3D anatomy explorer running entirely in the browser, with no accounts or API keys, offering 2,234 individually selectable meshes, 15 anatomical systems and 3,432 searchable concepts. The code is MIT, the anatomy data is CC BY 4.0 and comes from BodyParts3D: two distinct licences in the same repository, which is the distinction to hold on to.

Digital HealthOpen SourceWebDigital HealthOpen SourceLicensingThree.jsWebMCPAnatomyWebPrivacy
Four figures on Human Atlas, a 3D anatomy explorer in the browser
Figures from the repository and its documentation. Sources at the end.

Human Atlas is a three-dimensional anatomy explorer that runs in the browser, opened on 5 September, written in TypeScript on React and Three.js. It lets you take an anatomical reference apart into 2,234 individually selectable meshes, toggle 15 anatomical systems and search across 3,432 concepts with their source identifiers.

What it does and what it takes to run

The interaction is what you would expect from an atlas: orbit around the body, select a structure directly on the model, isolate pieces and move from assembled form to an exploded view laying out every visible part without overlaps. There are presets for skeleton and organs, plus compact controls designed for the phone.

The requirement to run it locally is Node 22.13 or newer. The documentation says something worth rereading: “No API keys or accounts are needed”. The project builds into a static site and can be served from any static host.

This means the anatomical model never leaves the browser. For teaching or training use in healthcare that is an architectural property rather than a promise: there is no service receiving queries, so there is no traffic to assess for data protection. It is a different geometry from equivalent tools that go through a backend.

The two licences, which is the point

The repository declares two distinct ones and the separation is written plainly.

The application code is MIT. The anatomy data is another matter: it comes from BodyParts3D 4.0, an adult male reference anatomy, released under CC BY 4.0, with the obligation to preserve attribution when redistributing it. The README puts this in bold and points to a dedicated attribution file.

It is the same distinction we have insisted on for months looking at models, where the weights licence is a different thing from the openness of the code. We widened it writing about the Hugging Face acquisition: the artefact’s licence, the openness of the code and the neutrality of the channel are three independent properties. Here the first two sit in the same repository under two different licences. Whoever reuses the project has to respect both.

For anyone working in healthcare the consequence is concrete: you can take the code and build a product on it, but the attribution on the anatomy data has to travel into the final product.

How it holds up in the browser

The geometry figures explain why the project is interesting technically too. The packaged model contains 2,288,268 triangles and downloads roughly 33 MB of compressed geometry. Simplification is declared with a 0.2% relative error limit per structure, with every source mesh retained.

The rendering technique is what makes that count sustainable. Geometry is merged into batches. The state of each individual structure, meaning translation, visibility and selection, is controlled by per-structure GPU textures rather than by thousands of separate draw calls. Component geometry stays available for accurate picking, meaning working out precisely what was clicked. Rendering updates only when the scene changes.

Then there is a part that concerns us directly: the project exposes optional WebMCP tools, making anatomy search and inspection available as tools in compatible browsers. The interface works without them. It is one of the first cases we have seen of a specialist data structure exposed to an agent from the client side, with no server in between.

What it states it is not

This is the part that, in healthcare, separates a serious project from a dangerous one, and here it is written without hedging.

“This is an educational explorer, not a diagnostic or surgical tool”. The anatomical reference is an adult male and the documentation warns that “it does not represent every human structure or variation”: it does not cover individual variability, which in clinical practice is precisely what matters. Source meshes are also distinct from named concepts, which may group several of them.

On testing, the automated validation covers mesh buffers, names, concept membership, non-overlapping exploded layouts at different screen ratios and the distinction between tap and drag. But the documentation adds that performance on physical devices and real multitouch have not been tested.

What we think

What interests us most is the distribution model. An anatomical atlas that builds into a static site, requires no account and sends nothing to a server is exactly the shape more teaching tools in healthcare should have, because it moves data protection from a contractual problem to a property of the software. Anyone in a training institution who has had to take a tool through a privacy assessment knows how much that difference weighs.

The second is the discipline on licences, which we would like to see more often. Separating the code licence from the data licence and saying so explicitly is the correct thing to do when the two have different origins, and with health and anatomical data the origin always matters.

On the stated limits, our reading is that they are the best part of the documentation. A project writing that it is not a diagnostic tool, that the reference is an adult male and that individual variability is not represented is a project that can be assessed. For anyone working in digital health those three limits are also the list of things to close before thinking about clinical use, and knowing them in advance is worth more than one more feature.

Sources

Need support?Under attack?Service Status
Need support?Under attack?Service Status