type Plot {
    type: String,           // Type of plot, e.g. 'line', 'bar', 'scatter' 
    title: String,          // Title of the plot
    description: String,    // Description of the plot 
}

type Table {
    description: String,    // Description of the table
    title: String,          // Title of the table
    caption: String,        // Caption of the table
    markdown: String,       // Markdown representation of the table
}


type Markdown {
    caption: String,        // Caption of the markdown content
    title: String,          // Title of the markdown content
    markdown: String,       // Additional markdown content
}


type Speaker {
    title: String,          // Title of the speaker
    is_name_shown: Boolean,  // Whether the name of the speaker is shown
}


type Reporter {
    title: String,          // Title of the reporter
    is_name_shown: Boolean,  // Whether the name of the reporter is shown
}


type Quote {
    text: String,           // Text of the quote
    speaker: String,        // Speaker of the quote
    designation: String,    // Designation of the speaker
}


type TvNewsScene {
    description: String,    // Description of the scene
    chyron: String,         // Chyron text
    plots: [Plot],          // Plots embedded in the scene
    tables: [Table],        // Tables embedded in the scene
    reporters: [Reporter],  // Report embedded in the scene
    speakers: [Speaker],    // Speakers embedded in the scene
    quotes: [Quote],        // Quotes embedded in the scene
    others: [Markdown],     // Other markdown content on the scene
}