The Panda code is pretty well organized. There is already some work in progress for supporting for the Collada format, and supporting FBX would be a similar venture. The main problems you would run into would be special types of objects or properties that are supported by Panda’s EGG/BAM format and not the FBX format, for example the LOD node. This would require some sort of special tagging in the FBX file for the FBX loader to properly interpret the objects. Of course as a pro developer with 25 years experience under your belt I bet you would have no problem adding basic support in less than 1 day. I look forward to seeing your contributions to Panda.
If an FBX importer is developed, it would be nice if it could be implemented as a something2egg converter like the others in “pandatool”, or otherwise (though this is not preferred) as a native loader plugin like egg2pg.
(1) As a native loader plugin. This loads the model straight into Panda3D’s memory structures, after which it can be written to a .bam file if necessary.
However, this makes it hard to use additional processing steps after the importing process, which is why models are usually converted to .egg first which are easily modifiable. It also means that the importer plugin always needs to be available in order to be able to load the models.
A notable example of such a native loader plugin is our .egg loader, which is in panda/src/egg2pg in the source tree.
(2) As a SomethingToEggConverter. This is the preferred method, and this is how most converters are implemented, because of the advantages of being able to use .egg as an intermediate format. There are plenty of examples in pandatool/src in the source tree for converters that are implemented in this manner.