Streamlining the exchange of models that use unofficial parts
2011-12-01, 2:41 (This post was last modified: 2011-12-02, 0:12 by Jim DeVona.)
2011-12-01, 2:41 (This post was last modified: 2011-12-02, 0:12 by Jim DeVona.)
A common issue with sharing LDraw models seems to be unofficial parts usage. To recap the problem, since unofficial parts are subject to changes in origin, orientation, filename, etc., models built with unofficial parts may appear incorrectly or incomplete to users with different (or no) versions of that part. The recommended solution (see recent examples) is to include needed unofficial parts as MPD submodels, so the version used will always be available to others viewing the file. This is a good solution, but I don't think it is an obvious solution to the larger community of casual users. Plus, if you use certain unofficial parts frequently (or have downloaded all of them), I find it easy to forget that they are even unofficial - and there may be prerequisite unofficial subparts or primitives needed as well.
So:
Thoughts and comments?
So:
- Are there any editors or utilities that currently support saving models with unofficial parts (and dependencies) included as sub models? For example, a save dialog option or insert menu command to "Include unofficial parts as sub models", or a single-purpose utility to do the same for existing files. I suppose unofficial parts would be identified by looking for "Unofficial_" in the !LDRAW_ORG header line (or any non-compliance with the official library header specs, for that matter), or also, obviously, if they are housed in the "Unofficial/" subdirectory of the LDraw library.
- Imagine if the Part Tracker kept a version history of the actual part files (like source code version control), not just an event log. (Does it?) Conceivably, this could then be used to retrieve the unofficial parts used to create models found in the wild - perhaps even programmatically, based on file creation date. I can imagine a number of cases where this strategy might break down, but maintaining a full version history seems like it might be useful anyway. (Moving forward, it could probably even be implemented as a third party mirror that monitors the main part tracker's activity log and commits copies of each new change...)
Thoughts and comments?