I must today tackle the problem of image extensibilty; the current scheme is unworkable. My first task is to specify the requirements I intend to meet. They are themselves complex.
The system must permit storybuilders to create their own imagery for the storyworld and link it into the storyworld. This applies to both stage imagery and character imagery.
The system must tightly bind image files to storyworlds so that separation of the files does not cause catastrophic consequences.
The system must provide built-in imagery that will suffice should other image files become separated from the storyworld.
The system should minimize downloading requirements for users.
The files must exist at two levels: Ganza files and Tron files. Ganza files are the simpler of the two: they will include only the stage imagery, the base face images, and most of the face data. Tron files are much more complex. They must be organized by gender and size, and must include wigs and costumes. It is this level of organization that spooks me.
Here's one thing we can do: Ganza can use character names as file names and search for named base face imagery in the Face Data folder. Even better: there's a file tacked onto the end of the storyworld (file integrity!) that includes face data. The default file has the numerical specifications for each face, and the base image is set to zero, which causes the face display to use a default face. If, however, the base image is not default, then the leading number will be the size of the subsequent image file, loaded as a PICT. There will an array of 32 such character images; we expect that many will be short default records.
Now, how is this file read and edited in the Erasmatron? It must contain both the welded image (for Ganza) and the numerical IDs of the components (for Tron). Here's the problem: the component images must be changeable. The ideal would be for the computer to scan the files available and compile a list and go from there. But egad, what a job!
Two constraints I am willing to impose on the storybuilder: first, I take no responsibilty for the correctness of the artwork; if the storybuilder gets ill-fitting artwork, that's her problem. Second, the artwork must be placed in the proper folder in the hierarchy. Put it in the wrong place, kid, and it's your problem. I can't figure out what you mean if you can't specify your meaning.
How can the storybuilder tell the Erasmatron about the files that she desires to be used? The ideal way to do this is to scan the folders and build up lists of their contents. The only act of designation, then, is putting the files into the right folders. However, this seems to require more Toolbox savvy than I am prepared to learn. The only relevant routine scans the whole damn hard drive.
A second approach is to have the storybuilder indicate the files with the StandardFile selector box, but this in turn would require a rebuild of the list every time the storybuilder wants to edit faces. Not good.
A third approach is to require the storybuilder to adhere to a standard file-naming convention: Wig1, Wig2, Wig3, Costume1, Costume2, Costume3, and so forth. But this seems onerous.