Read a tooth's perio sub-record from the active chart as a PLAIN object
(Maps/Sets converted to a fresh Record/Array each call — safe to mutate,
never aliases live state). A tooth with no charted sites (or never
touched at all) returns the empty-but-defined shape, never undefined.
Read a tooth's perio sub-record from the active chart as a PLAIN object (Maps/Sets converted to a fresh Record/Array each call — safe to mutate, never aliases live state). A tooth with no charted sites (or never touched at all) returns the empty-but-defined shape, never
undefined.