Class: Ucode::Models::UniversalSetManifest

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/ucode/models/universal_set_manifest.rb

Overview

Manifest emitted at the end of a universal glyph set build (TODO 24). The single index into the set: every codepoint that was attempted gets one UniversalSetEntry, and the totals + per-tier rollups let consumers (audits, fontist.org) answer "what does this set cover?" without reading every SVG.

Wire shape:

{
"unicode_version": "17.0.0",
"ucode_version": "0.2.0",
"generated_at": "2026-06-28T00:00:00Z",
"source_config_sha256": "abc...",
"totals": {
  "codepoints_assigned": 150012,
  "codepoints_built": 150012,
  "codepoints_skipped": 0,
  "codepoints_failed": 0
},
"by_tier": {
  "tier-1": 148512, "pillar-1": 800,
  "pillar-2": 200, "pillar-3": 1500
},
"entries": [ { ... UniversalSetEntry ... }, ... ]
}

source_config_sha256 pins which Tier 1 source map produced this set. Audits use it to detect drift between the reference set and the config they were validated against.

This class is passive — accumulation logic lives in Glyphs::UniversalSet::ManifestAccumulator; this class only describes the wire shape and handles (de)serialization via lutaml-model.

Defined Under Namespace

Classes: Totals