This appears to mostly appear at high levels, specifically when I've been trying to make a dual version of the vanilla thermo cannon and when making a family of guns that use a universal ammo type with differing gun stats.

At low levels, with kinetic weapons, I was able to do this reasonably well. At high levels with the thermo damage type the engine completely ignores the level of the gun and demands that things be balanced purely by the ammunition. This makes balancing such weapons physically impossible in the current version of transdata.

the_shrike 23 days ago:

Further testing suggests a bug in transdata causes the program to ignore some or all of the weapon stats under unknown conditions. With the lower-level kartal guns having identical stats and ammo between two guns of different level will correctly give a lower balance value to the higher-level gun. With the higher-level thermo ones this does not happen: the algorithm assigns identical balance values to both guns even though the higher-level gun is supposed to have better damage. This means that the program is correctly pulling the rate of fire, the damage from each gun, and the mass and cost from the ammunition item. However, it is ignoring the level of the weapon.

What I don't know (and cannot really test) is why this happens.

the_shrike 22 days ago:

Okay! Further testing complete: For some reason this stopped happening on one gun so I've narrowed it down: It's now consistent when you have a gun of a lower level than the ammo, and a gun at the same level as the ammo. Transdata is not taking into account the lower level of the weapon and is then demanding performance akin to the ammo level, forcing it to match the gun at the same level as the ammo.

...there are other oddities, but this one seems isolated at least.