Thank you for your reply, Ofnuts!
I am thinking I was not entirely clear in my original post regarding my planned workflow with this plug-in; to clarify:
If my original understanding was correct, and I believe it was, based upon your reply, I have understood any path/vector to be just a series of "invisible" nodes ("invisible" for the purposes of export from the .xcf file to a .png), and any path remains "invisible" until it has been rendered or filled as a raster before exporting. What I was looking for was a way to individually toggle the visibility of individual paths (analogous to clicking the "eye" icon in the Layers or Path Dialog). To be more concise my intended workflow is as follows:
1.) Pass the variables from the plug-in GUI containing the photo data, subjects, location, and events (working)
2.) Update 16 text layers with the corresponding values passed by the GUI. The text layers as above, with photo date, subjects, location, and events (4 layers) comprising one set, with a set in each corner, Left Upper, Right Upper, Left Lower, and Right Lower, 4 sets x 4 corners = 16 total text layers. The layer offsets for each of these layers is programmatically adjusted based upon the length of the strings that the variable are passing so as to remain in what I have deemed to be the most aesthetically pleasing location of each corner. (working)
3.) Once all text layers are updated, the plug-in converts all text layers to paths. (working)
4.) Once all paths have been rendered, delete the original text layers, leaving only the 16 path/vectors and the Background layer (where the actual display photo will eventually reside). (working)
5.) Programmatically toggle the visibility so that the correct corresponding paths/vectors for the photo date, subjects, location, and event for Left Upper corner are toggled to "visible" and all other paths are toggled to "not visible", and fill/render those four paths as raster to a new transparent layer, then toggle those four paths/vectors back to "not visible". Then repeat this step for each of the other remaining paths/vectors in the three remaining corners, leaving the image with 16 not visible paths, four new transparent layers, with each containing the photo metadata, and the background image.
6.) I had planned to then scale the .xcf image to the matching size/resolution of the final display image, but your reply has me reconsidering this step.
7.) Import final display image, where I can manually toggle the visibility of the four transparent layers containing photo metadata to decide which one to use for the final export of the photo to .png, based upon (again, very subjectively, which one I regard to be the most aesthetically pleasing based upon the photo composition).
8.) Export final display image with either the Left Upper, Right Upper, Left Lower, or Right Lower transparent photo metadata layer.
9.) Then on to run the plugin on the next photo.
Following your reply yesterday, I was able to get the path/vector visibility working, so that I have a proof-of-concept version of my plugin that successfully completes most of step 5 above (working for Left Upper corner only currently), using the following code:
img.vectors[0].visible=True
img.vectors[4].visible=True
img.vectors[8].visible=True
img.vectors[12].visible=True
Your explanation helped me immensely, many thanks, Ofnuts! I am now on to the step of parsing your code contained with the
ofn-stroke-fill-path.py, in order to figure out how you fill the visible paths/vectors. I see that your recursively apply the code to all vector objects. There is A LOT going on in that plug-in, much of which is currently over my head! However, I'll get there.
Many thanks again for your assistance, sir.