/* eslint-disable */
// Декоративные элементы «печатной платы»: тонкие линии + контактные площадки.
// Используются как фон Hero, разделители секций и узлы у заголовков.
const CircuitDivider = ({ height = 56, density = 12, accent = "var(--red)" }) => {
const nodes = Array.from({ length: density }, (_, i) => i);
return (
);
};
// Фоновый паттерн печатной платы — тонкая сетка трасс и узлы.
const CircuitBackdrop = ({ opacity = 0.55 }) => (
);
// Логотип-знак: «мозг-плата» с двумя полушариями, контактными площадками и трассировками.
const BrainMark = ({ size = 36 }) => (
);
// Угловой decoration — для углов карточек.
const CornerTrace = ({ corner = "tl", size = 28 }) => {
const styles = {
tl: { top: 8, left: 8, transform: "" },
tr: { top: 8, right: 8, transform: "scaleX(-1)" },
bl: { bottom: 8, left: 8, transform: "scaleY(-1)" },
br: { bottom: 8, right: 8, transform: "scale(-1,-1)" }
};
return (
);
};
// Узел рядом с заголовком секции
const SectionNode = ({ label }) => (
{label}
);
// Глобальный «фон» печатной платы. Фиксируется во вьюпорте, идёт за всем контентом,
// плюс пульсирующие красные узлы и пара трасс с движущимся пунктиром («живой» сигнал).
const CircuitField = () => {
// Координаты пульсаций в системе viewBox 1200x800.
const pulses = [
[80, 90, 0], [320, 60, 2.1], [560, 140, 0.8], [820, 70, 1.6],
[1080, 110, 2.6], [200, 240, 1.2], [460, 300, 0.4], [720, 260, 2.0],
[980, 320, 1.4], [1140, 240, 0.6], [120, 440, 1.8], [380, 480, 0.2],
[640, 420, 2.4], [880, 500, 1.0], [1100, 460, 2.2],
[60, 660, 1.6], [300, 700, 0.8], [560, 640, 2.6], [820, 700, 0.4],
[1060, 660, 1.2]
];
return (
);
};
Object.assign(window, { CircuitDivider, CircuitBackdrop, BrainMark, CornerTrace, SectionNode, CircuitField });