"use client"; import * as React from "react"; import { Reveal } from "@/components/reveal"; export type ArchitectureLayer = { title: string; subtitle?: string; bullets: string[]; }; export type ArchitectureInterface = { label: string; detail: string; }; export type ArchitectureBreakdownData = { title?: string; subtitle?: string; layers: ArchitectureLayer[]; flow: Array<{ from: string; to: string; note?: string }>; interfaces: ArchitectureInterface[]; }; export function ArchitectureBreakdown({ title = "Architecture", subtitle = "How the system is structured and how state moves through it.", data, }: { title?: string; subtitle?: string; data: ArchitectureBreakdownData; }) { return (

{title}

{subtitle}

{/* Layers */}
{data.layers.map((layer, idx) => (
Layer {String(idx + 1).padStart(2, "0")}

{layer.title}

{layer.subtitle ? (

{layer.subtitle}

) : null}
{String(idx + 1).padStart(2, "0")}/03
    {layer.bullets.map((b, bi) => (
  • {b}
  • ))}
))}
{/* Flow */}
Data flow

State moves as a pipeline

Configuration is authored on desktop, executed deterministically, then mirrored back as LED feedback so the device stays readable at a glance.

{data.flow.map((step, i) => (
{step.from} {step.to}
{step.note ? (
{step.note}
) : null}
Step {String(i + 1).padStart(2, "0")}
))}
{/* Interfaces */}
Interfaces

Stable contracts between modules

The system stays maintainable because boundaries are explicit and small.

{data.interfaces.map((it, idx) => (
{it.label}
{it.detail}
{String(idx + 1).padStart(2, "0")}
))}
{/* Specular highlight */}
); }