I just remembered something that was annoying in GC2, and tried it out in the GC3 Shipyard.
Under GC2, there were two "misfeatures":
1) I created a ship as Race A and named it "Foo1". If, while playing as another Race B, I created a different ship, but named it the same thing (i.e. "Foo1"), GC2 would complain about duplicate names and overwrite Race A's ship if I wanted to save the design as the same name. This was a MAJOR inconvenience, because one tended to want to name your colony ships "Colony Ship 1" etc. for all races, and coming up with easy-to-remember ship names for these general-purposes ships was a PITA. And because each race used distinct designs, you'd end up overwriting the "Colony Ship 1" file every time you played a new race.
2) On the other hand, if I played Race A through to say turn 10, saved the game, then created a ship and played another 10 turns before saving the game again, here's what I found: if you quit and restarted the game at the Turn 10 save, you could create a new ship with the SAME NAME as the one in the Turn 20 save, but it wouldn't overwrite the older ship, it would just create a numbered string in the ship save file. Obviously, GC2 was only doing ship scanning during the initial game load, and never thereafter.
How does this apply to GC3? Well, I'm happy to report neither seem to occur. HOWEVER, the reason appears to be that the name of the ships now have some checksum-like string attached to their actual name, to make them unique. This isn't a good solution, either, because now it's hard to tell which ship belonged to which race, when looking at the filesystem.
Maybe it would be best if each race had a subdirectory under the SHIPS directory, and do saves there? I'm OK with the Shipyard bitching about duplicate names for the same race, and overwriting old files under that race's subdir if you insist.