Skip to content

Invitation: upstream PR for the canonical measured anatomy (incl. primary dentition) #25

Description

@ZoliQua

Hi @Ditherys — I came across the work on your fork (the canonical tooth anatomy overhaul, 27–28 August), and I'd very much like to have it upstream. I'm opening this here because your fork has issues turned off.

What stood out:

  • class-specific templates for the whole permanent dentition instead of nine shared ones, keeping maxillary and mandibular classes, and first/second/third molars, apart
  • the primary dentition (51–55, 71–75) — exactly the known gap in the measured profile today, which has no dedicated primary-tooth drawings
  • the generator-first approach, with the donor drawings as the only hand-edited boundary, and the Python + Vitest verification around it
  • the references behind each morphology decision

I'm asking for a PR rather than porting it myself because your branch forked before quite a lot moved underneath it, and you know the generator far better than I would. Since then, on main:

  • odontogram.ts was split: the anatomy profiles now live in src/anatomy/profiles.ts, and the measured artwork in src/anatomy/measured.ts
  • the measured profile is lazy-loadedmeasured.ts is only reached through a dynamic import (ensureMeasuredProfile()), and a test fails if anything imports it statically
  • setToothAnatomy() is now async and rebuilds the grid itself
  • the periodontal chart's horizontal mirroring was fixed to mirror XOR rot180 (the lower arch was drawn reversed) — worth knowing if your perioGraphic.ts changes touch getToothBaseGroupFromCache

A PR against current main would ideally keep the classic profile byte-identical (the SVG-fingerprint parity goldens guard that), keep measured.ts lazy, and note the size of the measured chunk, since it will grow with the new templates. If it's easier, I'm happy to review it in stages — the permanent classes first, the primary dentition second.

You'd be credited in the changelog and in the README's contributors list, of course. Thanks for the careful work — and no obligation at all.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    anatomical or biologicalIf you see something that is wrong, missing or could be better in the intergation.feature requestNew feature or request

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions