One Patchh. Four themes.
AiMANAC ships four UI themes — Terminal, Executive, Mecha, Accessible. Patchh's chassis, bowtie, eyes, and button geometry stay the same in every theme; the color, glow, and stroke weight shift to fit the surrounding surface. This page previews the four variants at the sizes Patchh is most likely to land at when he becomes HELM's icon.
Each card simulates the visual surface of its iOS theme. Patchh in the middle is the same SVG with one CSS class added.
Mock of HELM as a tab in an iOS tab bar. Patchh sits next to other destinations; the active-tab color treatment matches each theme.
The Swift side already has the four theme enums (Terminal / Executive / Mecha / Accessible). To use Patchh as HELM's icon:
- Embed the Patchh SVG as a SwiftUI
Shapeset or as inline SVG viaWebViewfor a quick first cut. Pure SwiftUI port is preferred long-term — same chassis paths, same eye-symbol pattern, just rendered withPath+foregroundColor. - Tint via theme — the four
--patch-*colors above. SwiftUIforegroundColor(theme.patchTint)covers the full chassis since paths usefill: currentColor/stroke: currentColor. - Glow via
.shadow(radius:opacity:)on the same node. Per-theme radius/opacity per the kv above. - Animations (thinking / talking / listening / sleeping) come along free — they're the same SVG state classes documented in the Patchh handoff CLAUDE.md. SwiftUI port can use
@State+withAnimationon the same primitives. - Sizes — Patchh reads crisply from 16px (favicon-class) up. Tab-bar at 24-28pt; section header at 32-44pt; HELM hero card at 60-96pt; settings-row glyph at 22pt.
If the iOS-side port wants to stay simple in the first cut, an asset catalog with 4 PNG sets per theme rendered from this page works too — but then you lose the animated states. Worth doing the SwiftUI port for the talking / listening states alone.
The original Patchh handoff CLAUDE.md left this open: "Single
accent (amber) vs. amber + error red — confirm before merging into
a design system." Adding theme variants implicitly answers that
Patchh's primary color is theme-driven, not fixed. The error tint
(red) still applies orthogonally — any Patchh in any theme can flip
to error mode by adding the error state class on top of
its theme class. That keeps the brand promise intact: amber is the
default, red signals failure, theme variants substitute amber for
the equivalent in a different palette.