- chartpack:
    format: gcubed-chartpack
    version: "1.4.0"
    title: G-Cubed chart types — synthetic guide
    sector_selection_dimensions: [sectors, layers]
    defaults:
      start_year: 2025
      end_year: 2035

- chart:
    title: Illustrative activity paths
    caption: Synthetic regional activity paths use complete annual observations; real gaps remain gaps.
    x_axis: { label: Year }
    y_axis: { label: "Activity index (2025 = 100)" }
    series:
      - variable: SYNTHINDEX(USA)
        label: Illustrative North
      - variable: SYNTHINDEX(JPN)
        label: Illustrative East
      - variable: SYNTHINDEX(ROW)
        label: Illustrative Rest

- chart:
    title: Activity change, 2025–2035
    chart_type: series-delta
    show_labels: true
    color_by_sign: true
    caption: Teal marks positive change, rust negative change, and neutral zero; labels retain the authored units.
    orientation: horizontal
    sort: value-descending
    x_axis: { label: "Change in activity index points", min: -10, max: 20 }
    y_axis: { label: Region }
    series:
      - variable: SYNTHINDEX(USA)
        label: Illustrative North
      - variable: SYNTHINDEX(JPN)
        label: Illustrative East
      - variable: SYNTHINDEX(ROW)
        label: Illustrative Rest

- chart:
    title: Illustrative North sector output in 2030
    chart_type: series-value
    show_labels: true
    year: 2030
    caption: A report card offers every eligible year and refreshes its title, table, and exports together.
    sort: value-descending
    x_axis: { label: "Sector output (US$ billion, 2025 prices)", min: 0 }
    y_axis: { label: Sector }
    series:
      - variable_prefix: SYNTHSECTOR
        selectors: { sectors: all, regions: USA }

- chart:
    title: Activity by region and year
    chart_type: heatmap
    show_labels: true
    x_dimension: year
    y_dimension: regions
    x_axis: { label: Year }
    y_axis: { label: Region }
    color_axis: { min: 95, max: 115, midpoint: 100, palette: semantic-diverging }
    caption: A semantic diverging palette anchors the authored midpoint; a time-axis heatmap has no Year control.
    series:
      - variable_prefix: SYNTHINDEX
        selectors: { regions: all }

- chart:
    title: Sector output by region in 2030
    chart_type: heatmap
    show_labels: true
    x_dimension: regions
    y_dimension: sectors
    x_axis: { label: Region }
    y_axis: { label: Sector }
    year: 2030
    year_selector: true
    color_axis: { min: 0, palette: semantic-sequential }
    caption: Two model dimensions form a matrix; the report Year control retains the authored measure and bounds.
    series:
      - variable_prefix: SYNTHSECTOR
        selectors: { sectors: all, regions: all }

- chart:
    title: Sector output paths by region
    chart_type: small-multiples
    facet_dimension: regions
    group_dimension: sectors
    x_axis: { label: Year }
    y_axis: { label: "Sector output (US$ billion, 2025 prices)", min: 0 }
    caption: Small multiples share time and value scales so magnitude and shape remain comparable across facets.
    series:
      - variable_prefix: SYNTHSECTOR
        selectors: { sectors: all, regions: all }

- chart:
    title: Activity and emissions in 2030
    chart_type: paired-scatter
    show_labels: true
    year: 2030
    year_selector: true
    caption: A report Year control moves every complete regional X/Y pair together while preserving fixed axes.
    x_axis: { label: "Activity index (2025 = 100)", min: 95, max: 110 }
    y_axis: { label: "Emissions (Mt CO2-e)", min: 0, max: 65 }
    series:
      - x_variable: SYNTHINDEX(USA)
        y_variable: SYNTHEMISSIONS(USA)
        label: Illustrative North
      - x_variable: SYNTHINDEX(JPN)
        y_variable: SYNTHEMISSIONS(JPN)
        label: Illustrative East
      - x_variable: SYNTHINDEX(ROW)
        y_variable: SYNTHEMISSIONS(ROW)
        label: Illustrative Rest

- chart:
    title: Illustrative North activity and emissions trajectory
    chart_type: paired-scatter
    show_labels: true
    year: 2030
    observation_mode: selectable
    x_axis: { label: "Activity index (2025 = 100)", min: 95, max: 115 }
    y_axis: { label: "Emissions (Mt CO2-e)", min: 0, max: 65 }
    caption: Across years connects existing annual observations chronologically; Single year restores the authored point.
    series:
      - x_variable: SYNTHINDEX(USA)
        y_variable: SYNTHEMISSIONS(USA)
        label: Illustrative North

- chart:
    title: Illustrative North sector output total
    chart_type: composition-area
    show_labels: true
    display_selector: true
    x_axis: { label: Year }
    y_axis: { label: "Sector output (US$ billion, 2025 prices)", min: 0 }
    caption: Complete additive levels reconcile to the authored total; Display switches area and bars without changing data.
    reconciliation:
      total_variable: SYNTHTOTAL(USA)
      absolute_tolerance: 0
    series:
      - variable_prefix: SYNTHSECTOR
        selectors: { sectors: all, regions: USA }

- chart:
    title: Illustrative North sector output shares in 2035
    chart_type: composition-bar
    show_labels: true
    year: 2035
    year_selector: true
    display_selector: true
    x_axis: { label: Year }
    y_axis: { label: "Share (%)", min: 0, max: 100 }
    caption: Choose one eligible year and either stacked display; the synthetic shares continue to reconcile to 100 percent.
    reconciliation:
      total: 100
      absolute_tolerance: 0
    series:
      - variable_prefix: SYNTHSHARE
        selectors: { sectors: all, regions: USA }

- chart:
    title: Ordered policy-layer contribution in 2030
    chart_type: waterfall
    show_labels: true
    year: 2030
    year_selector: true
    level_base: 100
    caption: Ordered contributions reconcile from zero; the report table derives an absolute level from base 100.
    x_axis: { label: "Policy layer" }
    y_axis: { label: "GDP change (US$ billion, 2025 prices)", min: -25, max: 5 }
    series:
      - variable: SYNTHGDPCHANGE(BASELINE,USA)
        label: Baseline
        role: start
      - variable_prefix: SYNTHGDPCONTRIBUTION
        selectors: { regions: USA }
        role: contribution
      - variable: SYNTHGDPCHANGE(PACKAGE,USA)
        label: Final package
        role: total
