Hi,
Interesting question, and we may need to do some experimentation on what the best way to handle this is:
1. Treat it like a regular annotation: make 1 (textual) annotation for each kind of metadata. Annotate each section of text as normal. Use the same annotation link for each source (so, you have 1 annotation file, say TzemahYorehsSources with 7 annotations, one for each layer, and you keep linking to the same 7 annotations). This is totally doable in
app.opensiddur.org as it stands today.
2. Treat it like a setting: Basically, you make a conditional feature structure with 7 features, one for each layer (This part is only possible in the XML editor, though it is scheduled for 2 releases from now). You then either (a) "set" the text to be associated with a particular layer or (b) "condition" the text on a layer as if it were a conditional. This will be possible in the next version of the app, due to be released very soon (coding is done, needs some more testing). If you do #2b, you could then generate a text that contains only one of the layers using the conditional processing mechanism.
In either case, the coloring *may* be possible with some fancy custom CSS (also possible in the app, though it will require you to go out of the visual editor to actually write the CSS).
Two notes:
1. The granularity of the settings or annotations is the segment.
2. All the structure of Tanakh is not currently supported in the visual app. As of now, the visual app just supports two elements of structure: paragraphs and segments.
-Efraim