Project a characterization into the (top, bottom) label strips.
Pure function of the eight characterization fields (plus the presentation
facts the fields don't carry: whether the input was >512-bit truncated, the
bound suffix checksum, the out-of-band user note, and the monospace
lineChars budget the grid leaves for the top strip — used only to truncate
the elastic prefix slot; null = do not truncate).
top = [+hash ]PRIMARY[, MOD]...[, SIZE][, <prefix>] — ", " joined, no
trailing :. The +hash marker is reflected here so a text-only consumer
still sees it (the renderer styles it as a bold-red tspan). The trailing
<prefix> slot echoes a front prefix stripped from the visualized
core (a bind="none" or bind="fold" leading part); it is the only slot that
may be truncated (to lineChars) and may then end in .... The slot is
dropped only when the prefix, minus a trailing :, equals the PRIMARY
string — the did/urn/gitoid/swhid case. A folded bech32 HRP keeps its slot
(bech32, cosmos1), since its PRIMARY is the scheme name (v16).
bottom = ...<suffix> then (<note>) — the bound (now-verified) checksum
and the user caption. Empty string when neither is present.
Returns plain strings; the renderer maps top/bottom onto the SVG label strips.
Project a characterization into the (top, bottom) label strips.
Pure function of the eight characterization fields (plus the presentation facts the fields don't carry: whether the input was >512-bit
truncated, the boundsuffixchecksum, the out-of-band usernote, and the monospacelineCharsbudget the grid leaves for the top strip — used only to truncate the elastic prefix slot;null= do not truncate).[+hash ]PRIMARY[, MOD]...[, SIZE][, <prefix>]— ", " joined, no trailing:. The+hashmarker is reflected here so a text-only consumer still sees it (the renderer styles it as a bold-red tspan). The trailing<prefix>slot echoes a front prefix stripped from the visualized core (a bind="none" or bind="fold" leading part); it is the only slot that may be truncated (tolineChars) and may then end in.... The slot is dropped only when the prefix, minus a trailing:, equals the PRIMARY string — the did/urn/gitoid/swhid case. A folded bech32 HRP keeps its slot (bech32, cosmos1), since its PRIMARY is the scheme name (v16)....<suffix>then(<note>)— the bound (now-verified) checksum and the user caption. Empty string when neither is present.Returns plain strings; the renderer maps top/bottom onto the SVG label strips.