{
  "name": "pofbc-logo",
  "version": "0.1.0",
  "description": "Province of British Columbia logo generator — four lockups, colour variants, and SVG/PDF/PNG/WebP/JPEG export.",
  "documentation": "https://github.com/ahzs645/PofBC#readme",
  "eras": {
    "historical": {
      "description": "The crest identity, rebuilt from supplied artwork. Any ministry, any wording, any colour, four lockups. Everything else in this manifest describes this era.",
      "generated": true
    },
    "flag": {
      "description": "The B.C. Flag Symbol with a ministry set against it. Five arrangements, all of them printed: BC beside the flag or the flag above BC — the two the standards page sanctions — plus the flag alone, each with the wording below the symbol or beside it.",
      "generated": true,
      "symbols": [
        "horizontal",
        "vertical",
        "flag"
      ],
      "oneOffs": [
        "badge"
      ],
      "namePlacements": [
        "below",
        "beside"
      ],
      "flagPalettes": [
        "official",
        "modern",
        "ink"
      ],
      "colours": {
        "official": "Pantone Blue 072C, Red 032C, Yellow 109C, per the identity’s standards page.",
        "supplied": [
          "#013366",
          "#ad0000",
          "#fcba19"
        ]
      },
      "note": "The standards page gives the symbol and its colours but never a ministry name, so the proportions are measured off printed documents — which disagree with each other. The flag’s white is the page showing through it, so on a coloured ground the whole lockup is set in one ink, as the documents do."
    },
    "crest": {
      "description": "The coat of arms with the BRITISH COLUMBIA wordmark — the identity that followed the flag one. Both are artwork: the arms as drawn, and the wordmark as outlines rather than text, so only the ministry is typeset.",
      "generated": true,
      "arrangements": [
        "horizontal",
        "vertical",
        "vertical-arms"
      ],
      "ministryPlacements": [
        "beside",
        "below"
      ],
      "ministrySizes": [
        {
          "id": "xsmall",
          "ofWordmark": 0.138
        },
        {
          "id": "small",
          "ofWordmark": 0.212
        },
        {
          "id": "medium",
          "ofWordmark": 0.263
        },
        {
          "id": "large",
          "ofWordmark": 0.294
        }
      ],
      "secondLineSizes": [
        "match",
        "smaller"
      ],
      "note": "Proportions are measured off twelve printed documents, each reading checked by aspect first so it is known to be of the same two drawings. They disagree in two places, so both readings are offered rather than averaged: the stacked lockup comes in two proportions, and the ministry in three sizes, a trailing line optionally a step below the ministry above it."
    },
    "current": {
      "description": "The Province’s BC mark, used exactly as published, with the ministry wording set beside it in the same alphabet the published marks are lettered with. Pick a ministry for its official wording, or supply your own for one that has been renamed or never had a mark published.",
      "generated": true,
      "ministries": [
        {
          "code": "AF",
          "en": "Ministry of Agriculture and Food",
          "fr": "Ministère de\nl’Agriculture et de\nl’Alimentation"
        },
        {
          "code": "AG",
          "en": "Ministry of Attorney General",
          "fr": "Ministère du Procureur général"
        },
        {
          "code": "CFD",
          "en": "Ministry of Children and Family Development",
          "fr": "Ministère du Développement de l’enfance et de la famille"
        },
        {
          "code": "CITZ",
          "en": "Ministry of Citizens’ Services",
          "fr": "Ministère des Services aux citoyens"
        },
        {
          "code": "ECC",
          "en": "Ministry of Education and Child Care",
          "fr": "Ministère de\nl’Éducation et des\nServices à la petite enfance"
        },
        {
          "code": "EMCR",
          "en": "Ministry of Emergency Management and Climate Readiness",
          "fr": "Ministère de la Gestion des urgences et de la Préparation au climat"
        },
        {
          "code": "ECS",
          "en": "Ministry of Energy and Climate Solutions",
          "fr": "Ministère de l’Énergie et des Solutions climatiques"
        },
        {
          "code": "ENV",
          "en": "Ministry of Environment and Parks",
          "fr": "Ministère de l’Environnement et des Parcs"
        },
        {
          "code": "FIN",
          "en": "Ministry of Finance",
          "fr": "Ministère des Finances"
        },
        {
          "code": "FOR",
          "en": "Ministry of Forests",
          "fr": "Ministère des Forêts"
        },
        {
          "code": "HLTH",
          "en": "Ministry of Health",
          "fr": "Ministère de la Santé"
        },
        {
          "code": "HMA",
          "en": "Ministry of Housing and Municipal Affairs",
          "fr": "Ministère du Logement et des Affaires municipales"
        },
        {
          "code": "IRR",
          "en": "Ministry of Indigenous Relations and Reconciliation",
          "fr": "Ministère des Relations avec les Autochtones et de la Réconciliation"
        },
        {
          "code": "INF",
          "en": "Ministry of Infrastructure",
          "fr": "Ministère de l’Infrastructure"
        },
        {
          "code": "JEG",
          "en": "Ministry of Jobs and Economic Growth",
          "fr": "Ministère des Emplois et de la Croissance économique"
        },
        {
          "code": "LBR",
          "en": "Ministry of Labour",
          "fr": "Ministère du Travail"
        },
        {
          "code": "MCM",
          "en": "Ministry of Mining and Critical Minerals",
          "fr": "Ministère des Mines et des Minéraux critiques"
        },
        {
          "code": "PSFS",
          "en": "Ministry of Post-Secondary Education and Future Skills",
          "fr": "Ministère de l’Éducation postsecondaire et des Compétences futures"
        },
        {
          "code": "PSSG",
          "en": "Ministry of Public Safety and Solicitor General",
          "fr": "Ministère de la Sécurité publique et du Solliciteur général"
        },
        {
          "code": "SDPR",
          "en": "Ministry of Social Development and Poverty Reduction",
          "fr": "Ministère du Développement social et de la Réduction de la pauvreté"
        },
        {
          "code": "TACS",
          "en": "Ministry of Tourism, Arts, Culture and Sport",
          "fr": "Ministère du Tourisme, des Arts, de la Culture et du Sport"
        },
        {
          "code": "TT",
          "en": "Ministry of Transportation and Transit",
          "fr": "Ministère des Transports et du Transport en commun"
        },
        {
          "code": "WLRS",
          "en": "Ministry of Water, Land and Resource Stewardship",
          "fr": "Ministère de l’Intendance de l’eau, des terres et des ressources"
        }
      ],
      "note": "A newline in the wording is a line break, as in the published artwork: the Province’s marks are broken by hand rather than wrapped to a measure, so the official wording carries the breaks it was published with.",
      "languages": [
        {
          "id": "en",
          "label": "English"
        },
        {
          "id": "fr",
          "label": "Français"
        }
      ],
      "variants": [
        {
          "id": "colour",
          "label": "Colour",
          "description": "The mark as drawn. For white and very light backgrounds."
        },
        {
          "id": "reverse",
          "label": "Reverse",
          "description": "For BC Blue and black. The mountains lighten and the type goes white."
        },
        {
          "id": "black",
          "label": "Solid black",
          "description": "One colour. For BC Gold, the 60% tints, and white."
        },
        {
          "id": "white",
          "label": "Solid white",
          "description": "One colour. For BC Blue and black."
        }
      ],
      "palette": {
        "blue": "#234075",
        "gold": "#e3a82b",
        "blueTint": "#7b8cac",
        "goldTint": "#eecb80",
        "white": "#ffffff",
        "black": "#000000"
      }
    }
  },
  "mark": {
    "width": 497.02,
    "height": 497.19,
    "units": "Artwork units. Every size, gap and margin in this manifest is in the same space."
  },
  "wordmark": {
    "text": "Province of British Columbia",
    "note": "Fixed text. It can be shown or hidden, not edited."
  },
  "lockups": [
    {
      "id": "stacked",
      "label": "Stacked",
      "description": "Mark above a left-aligned text column. The tallest of the four.",
      "derivedFrom": "artwork/lockup-stacked.svg",
      "fontSize": 122.2,
      "leading": 146.64,
      "showsWordmarkByDefault": true,
      "markAlignment": null
    },
    {
      "id": "centred",
      "label": "Centred",
      "description": "Mark centred above centred text, without the province wordmark.",
      "derivedFrom": "artwork/lockup-centred.svg",
      "fontSize": 121,
      "leading": 125.53,
      "showsWordmarkByDefault": false,
      "markAlignment": null
    },
    {
      "id": "horizontal",
      "label": "Horizontal",
      "description": "Mark to the left of the text, on one line each. For narrow headers and letterheads.",
      "derivedFrom": "artwork/lockup-horizontal.svg",
      "fontSize": 121.64,
      "leading": 145.968,
      "showsWordmarkByDefault": true,
      "markAlignment": {
        "default": "centre",
        "options": [
          "top",
          "centre",
          "bottom"
        ]
      }
    },
    {
      "id": "columns",
      "label": "Side by side",
      "description": "Mark, then the wordmark, then the ministry — three columns in a row. The widest of the four.",
      "derivedFrom": null,
      "fontSize": 121.64,
      "leading": 145.968,
      "showsWordmarkByDefault": true,
      "markAlignment": {
        "default": "top",
        "options": [
          "top",
          "centre",
          "bottom"
        ]
      }
    }
  ],
  "markAlignments": [
    {
      "id": "top",
      "label": "Top",
      "description": "The mark’s top edge meets the cap height of the first line."
    },
    {
      "id": "centre",
      "label": "Centre",
      "description": "The mark is centred on the type, as the source artwork draws it."
    },
    {
      "id": "bottom",
      "label": "Bottom",
      "description": "The mark’s foot meets the baseline of the last line."
    }
  ],
  "clearSpace": [
    {
      "id": "none",
      "label": "None",
      "factorOfMarkWidth": 0,
      "units": 0
    },
    {
      "id": "snug",
      "label": "Snug",
      "factorOfMarkWidth": 0.125,
      "units": 62.1275
    },
    {
      "id": "standard",
      "label": "Standard",
      "factorOfMarkWidth": 0.25,
      "units": 124.255
    },
    {
      "id": "generous",
      "label": "Generous",
      "factorOfMarkWidth": 0.5,
      "units": 248.51
    }
  ],
  "colours": {
    "named": {
      "white": "#ffffff",
      "black": "#000000",
      "green": "#006837",
      "blue": "#234075",
      "red": "#9f1d21",
      "gold": "#e3a82b",
      "silver": "#c0bfbf",
      "grey": "#3e3e3e"
    },
    "transparent": "none",
    "accepts": "A palette name, a hex value such as #006837, or any CSS colour notation. Values containing a quote or an angle bracket are rejected.",
    "independent": [
      "markColor",
      "textColor",
      "background"
    ]
  },
  "formats": [
    {
      "id": "svg",
      "label": "SVG",
      "extension": "svg",
      "mimeType": "image/svg+xml",
      "vector": true,
      "supportsTransparency": true,
      "note": "Vector. Text may be kept live with the font embedded, or converted to outlines."
    },
    {
      "id": "pdf",
      "label": "PDF",
      "extension": "pdf",
      "mimeType": "application/pdf",
      "vector": true,
      "supportsTransparency": true,
      "note": "Vector. Text may be kept live with the font embedded, or converted to outlines."
    },
    {
      "id": "png",
      "label": "PNG",
      "extension": "png",
      "mimeType": "image/png",
      "vector": false,
      "supportsTransparency": true,
      "note": "Raster. Rendered at one of the pixel widths below."
    },
    {
      "id": "webp",
      "label": "WebP",
      "extension": "webp",
      "mimeType": "image/webp",
      "vector": false,
      "supportsTransparency": true,
      "note": "Raster. Rendered at one of the pixel widths below."
    },
    {
      "id": "jpeg",
      "label": "JPEG",
      "extension": "jpg",
      "mimeType": "image/jpeg",
      "vector": false,
      "supportsTransparency": false,
      "note": "Raster. Rendered at one of the pixel widths below."
    }
  ],
  "rasterWidths": [
    512,
    1024,
    2048,
    4096
  ],
  "ministries": {
    "reviewed": "2025-09",
    "note": "A convenience list, not an authority. Any name may be typed instead, and newlines in it force a line break.",
    "maxLength": 200,
    "groups": [
      {
        "label": "Ministries",
        "options": [
          "Ministry of Agriculture and Food",
          "Ministry of Attorney General",
          "Ministry of Children and Family Development",
          "Ministry of Citizens’ Services",
          "Ministry of Education and Child Care",
          "Ministry of Emergency Management and Climate Readiness",
          "Ministry of Energy and Climate Solutions",
          "Ministry of Environment and Parks",
          "Ministry of Finance",
          "Ministry of Forests",
          "Ministry of Health",
          "Ministry of Housing and Municipal Affairs",
          "Ministry of Indigenous Relations and Reconciliation",
          "Ministry of Infrastructure",
          "Ministry of Jobs, Economic Development and Innovation",
          "Ministry of Labour",
          "Ministry of Mining and Critical Minerals",
          "Ministry of Post-Secondary Education and Future Skills",
          "Ministry of Public Safety and Solicitor General",
          "Ministry of Social Development and Poverty Reduction",
          "Ministry of Tourism, Arts, Culture and Sport",
          "Ministry of Transportation and Transit",
          "Ministry of Water, Land and Resource Stewardship"
        ]
      },
      {
        "label": "Central agencies",
        "options": [
          "Office of the Premier",
          "BC Public Service Agency",
          "Government Communications and Public Engagement",
          "Intergovernmental Relations Secretariat"
        ]
      }
    ]
  },
  "configuration": {
    "description": "The lockup as a plain object. Pass it as the c query parameter, URL-encoded, and the generator opens with those settings already applied — or paste it into the Configuration box on the page. Absent fields keep their current value, so a partial object changes only what it names.",
    "parameter": "c",
    "fields": [
      "era",
      "lockup",
      "showWordmark",
      "ministry",
      "markColor",
      "textColor",
      "background",
      "clearSpace",
      "markAlignment"
    ],
    "example": {
      "era": "historical",
      "lockup": "stacked",
      "showWordmark": true,
      "ministry": "Ministry of Forests",
      "markColor": "#ffffff",
      "textColor": "#ffffff",
      "background": "#006837",
      "clearSpace": "snug",
      "markAlignment": "centre"
    },
    "exampleUrl": "?c=%7B%22lockup%22%3A%22columns%22%2C%22ministry%22%3A%22Ministry%20of%20Environment%22%2C%22markAlignment%22%3A%22top%22%7D",
    "note": "This is how to hand a lockup to someone (or something) else without describing it in prose. An agent that cannot run the page can still produce a link that opens it ready to export."
  },
  "shareLinks": {
    "parameter": "s",
    "description": "The same configuration compressed into one short, opaque parameter. Better for sending to a person; use the readable form above if you are generating it.",
    "example": "?s=1.lz.N4IgNiBcIBYPYCcCWAvOA7ALgQwgGhAA"
  },
  "agentTools": {
    "standard": "WebMCP",
    "specification": "https://webmachinelearning.github.io/webmcp/docs/proposal.html",
    "description": "Where the browser implements navigator.modelContext, this page registers tools for reading and setting the lockup and for exporting it, so an agent need not drive the controls by hand. Absent that API the page behaves normally.",
    "tools": [
      "get_lockup_state",
      "set_lockup",
      "set_colours",
      "export_lockup",
      "get_share_link",
      "list_current_marks",
      "find_ministry"
    ]
  }
}
