Great to see the dive into the information. I think you have a decent grasp of most of it but to answer your question: There are 4 slots per file, so a 1 file contract string can look like:
1,name,extension,thumbnail,flags-license-labels-etc
and a multiple file string can look like:
1,first-name,extension,thumbnail,flags-license-labels-etc,second-name,extension2,thumbnail2,flags-license-labels-etc, ... ,nth-name,-nthext,nth-thumb,flags-license-labels
.
The Excryption key takes up quite a bit of space to share, so it's at the contract level, and each file can set a flag ,1#keys@account,name,ext,thumb,HERE-x-x
tHERE to show the frontend that the file needs further handling to display/download.
Thank you for the response and clarification. I overlooked the portion of supporting multiple files per contract. My perception was locked towards one-file-per-contract.