Architecture
One substrate, one component library, brands as values.
Hanzo GUI is the substrate for one unified design system shared across every Hanzo, Lux, and Zoo surface — web, native (React Native / Expo), and desktop (Tauri). This page is a short orientation; the binding standard is HIP-0504: Unified Cross-Platform Design System, which is the single source of truth. Don't restate its rules here — link to them.
The shape, in one diagram
@hanzo/gui ──┬── @hanzo/gui-web3 substrate: generic + crypto domain (shared, never brand-forked)
▼
@hanzo/ui ───┴── @hanzo/ui-web3 components composed from the substrate
▼
@luxfi/ui = @hanzo/ui(+web3) + lux theme + lux-only compositions
@zooai/ui = @hanzo/ui(+web3) + zoo theme + zoo-only compositions
▼
Lux apps → @luxfi/ui Zoo apps → @zooai/ui Hanzo apps → @hanzo/ui (one import each)Why it's built this way
- Substrate (
@hanzo/gui) = how to render anywhere. Components (@hanzo/ui) = what the parts are. Brand (@luxfi/ui,@zooai/ui) = values (theme tokens), not component forks. - A component is defined once, themed many times, rendered everywhere. An app
imports one package — never
@hanzo/guidirectly. - Cross-platform capability splits by domain (
@hanzo/gui-web3for wallet/chain/crypto), never by brand — Lux and Zoo share it.
For the normative rules, conformance criteria, the migration phases (Phase 0/1/2), and the visual-regression gate, see HIP-0504.
Last updated on