import type { Hardware } from '@/shared/contracts/hardware.ts'; import { CoreMeter } from './core-meter.tsx'; import type { RGB } from '@/shared/contracts/robot.ts'; import { anchors } from '@/client/exhibit/diagram/diagram-model.ts'; import type { ExplanationTrigger } from '@/client/exhibit/diagram/diagram-model.ts'; import { BoardIllustration, ledColor } from './board-illustration.tsx'; export function BoardNode({ led, cpu, expanded, onSelect, }: { led?: RGB; cpu?: Hardware['cpuBusyBps'] } & ExplanationTrigger) { const color = ledColor(led), known = !!led; const ledOn = known && led!.some((value) => value > 0); return (

N32R16V

UART USB
{known ? (ledOn ? 'Reported LED color' : 'LED is off') : 'Waiting for LED state'}

EITHER CORE HTTPS signaling

USB power · Wi-Fi streams
); }