Although the game appears to store models with compression with an atp extension and header, but the eeMemory reveals that the game's format has a similarity to SH2/3, but with some differences, particularly the normals, which has an extra padding/shorts, as well as an another tag (01010001), which roocker666 on ResHax had pointed out. It seems possible that these extra stuff might be related to the cel shading the game uses.
As for how I got the model data, I just simply pulled it out of the eeMemory manually with a hex editor, and I saved it as 'Untitled', which roocker666 later went on and put an SH2 header on this file and then imported it with your script and it somewhat brought a promising result with the bones being imported. With the help of roocker666, shak-otay was able to find both vertices and faces, but the latter is a mess for now.
More information can be found on my thread on ResHax:
https://reshax.com/topic/666-ps2-tokimeki-memorial-3-getting-models-from-eememory/
Here are the sample files: (Courtesy of roocker666 for the SH2 header edit on 'Untitled')
https://drive.google.com/drive/folders/1BFO-wlChXqkVae_YLdAqyIiCKIsBQ2uX?usp=drive_link
I have also included a sample .atp file (and this appears to be the 'Untitled' file in its .atp form) just in case if it would be helpful to provide it too.
Would you be able to at least tell some more differences between the format from this game and the Silent Hill games, and possibly if it would be possible to modify your script (particularly import_mdl.py) to import models from this game?
Thank you very much, and hopefully you'll take some time to take a look at this. I would highly appreciate it.