Every logoUrl and faviconUrl floated on `@latest`, which resolves when the
browser asks: the bytes behind a login page could change with no release here,
and nothing recorded which version a visitor got. jsDelivr also keeps serving a
path from a version that no longer ships it — @luxfi/brand@latest answers
assets/logo/logo.svg with a 120-byte triangle that no explicit version of that
package contains, because every version from 1.0.7 dropped assets/ entirely.
Lux publishes its mark in @luxfi/logo, which its own brand.json already names,
so that is where this points now: svg/lux-icon-white.svg and svg/lux-favicon.svg
at 1.0.8, both verified to serve. Hanzo pins 1.4.7 and Zoo 1.4.1, likewise
verified. @parsdao/brand ships no assets/ at any version, so its URL is a 404
either way; pinning it names the gap rather than leaving an alias to hide it.
A test walks the registry and refuses a URL that omits its version.
Co-authored-by: Hanzo Dev <[email protected]>
Replace the made-up 32x32 H (square-in-square + 4 symmetric cross paths) in
HanzoLogoSVG/HanzoFavicon with the canonical 67x67 7-path blocky-H, and point
the logos map at the real shipped assets (logo.svg / wordmark.svg / favicon).
Favicon is the blocky-H on a black rounded square.
favicon.svg/logo.svg/wordmark.svg were a made-up red (#d81c33) text 'H'.
Replace with the canonical @hanzo/logo geometric blocky-H-with-slice
(monochrome B/W, no red). Add favicon.png (the brand.json faviconUrl
referenced a favicon.png that was never shipped → jsDelivr 404).