IMO the question of load vs. empty could be addressed by metadata but IMO it would be far better for the value of Mass() in any .eng or .wag to be that for the empty vehicle. What I think is needed is to add another couple of (real) data parameters -- MassLading (real) and LadingName ( String ). Having those as real parameter values instead of just metadata would say they are being used in the software -- such as in sprite text pointed to each car.
If MassLading() is insufficient for locomotives and/or tenders then add MassFuel() and MassWater().
I overlooked Railroad(). May I suggest instead Owner() as not all rolling stock is owned by a railroad (e.g., any tank car today).
Does WagAuthor( string) and EngAuthor( string ) work better than just Author()? Just Author() could be construed as the person who created everything whereas someone who does the .wag file may have nothing at all to do wither either mesh or texture.
Quote
I disagree. BuilderModelName ( string ) is the marketing name used by the builder. F7, SD9, PS-1, 10-6 Sleeper and so on. I think it would be extensively used in search. I thought of OwnerModelName ( string ) more as a nickname -- MacArthurs, Cadillac, and so on. Probably not going to be used very often. Maybe there is no need. I thought of OwnerModelCode ( string ) as the value the railroad uses in it's internal documentation. For example, a CN 4-8-2 steamer was class U1.
One open question is whether the metadata of things like F-7 should be just F-7 or F-7 Phase II. The later was never used officially but it does make sense.
That said, it would probably be an improvement to replace the word Model with Class giving BuilderClassName() and OwnerClassCode().
Quote
Date ranges contain two datam not one (for the record I'm retired data architect). So you need to do something like this:
Topic ( DateStart ( YYYY-MM ) DateEnd ( YYYY-MM ) )
or
TopicDateStart ( YYYY-MM ) TopicDateEnd ( YYYY-MM )
or
TopicDateRange ( YYYY-MM, YYYY-MM ).
My preference is highest for the first example, lowest for the third.
WRT consolidation into just one pair of dates, no, I think that's unwise. The person who creates the model probably knows a fair amount of information about it and so can provide a when the model was first put into use. He may also know when specific railroads retired the unit. This acts like bookends for everything else, but especially for reskinners. That's one "topic". The dates for paint scheme are, I think, very useful for everyone. That's a second "topic". The open question is whether a third topic for the years a railroad used a particular model is useful. Here again I was thinking of bookends for the reskinner.