# Station Compact — конструктивная ревизия R3.7-ID01

18 октября 2026 года. Основная геометрия нового веб-издания — компактная Station с боковым модулем. Исторические главы с рамой 320 мм и панелями 324 мм сохраняются как предыдущая архитектура. Ни один размер ниже не следует переносить обратно в старые сборочные инструкции: это другая аппаратная платформа.

Ревизия содержит взаимосвязанные габариты, размещение компонентов, проект питания и тепловых трактов, обслуживаемые фильтры, механическое сопряжение, параметрический исходник OpenSCAD, компоновочную схему, CSV конвертов и выполняемые проверки. У неё ещё нет закупленного и измеренного прототипа, электрической схемы собственной платы, разведённой PCB, квалифицированного драйвера ускорителя или производственного допуска. Честный статус — **конструктивный проект для изготовления макета**. Результат проверки конвертов не подменяет проверку готовой сборки.

## Что изменилось принципиально

Station становится частью персональной экосистемы дома и носимых устройств. Её работа — локально принимать наблюдения, хранить происхождение и качество данных, оценивать состояние, исполнять разрешённые сценарии и проверять результат. Для этого не требуется миниатюрный настольный компьютер с универсальной материнской платой. Базовый вычислительный узел достаточно сделать сменным, а расширения — ограниченными и проверяемыми.

Корпус выбран **96 × 96 × 96 мм**. Ножки дают высоту 106 мм от стола. Это 0,885 л габаритного объёма корпуса по наружным граням; объём исторического куба 324 мм — 34,012 л. Уменьшение габаритного объёма составляет приблизительно 38,4 раза. Это не сокращение массы или потребления в той же пропорции: новое оборудование и новый корпус имеют другие характеристики.

Vision-картридж располагается справа. Его корпус — **34 × 96 × 96 мм**, зазор между оболочками — 2 мм. Общая ширина составляет 132 мм, глубина 96 мм, высота с ножками 106 мм. Наружный разъём питания и радиус изгиба кабеля в эти размеры не входят. Базовый корпус сохраняет кубическую форму; расширение добавляет функциональную боковую грань, а не башню поверх вентиляционной решётки.

В `station-design.json` порядок осей — **X вправо, Y вверх, Z к читателю**. Поэтому числовой общий конверт записан `[132,106,96]`. В привычном порядке ширина × глубина × высота это 132 × 96 × 106 мм. Нулевая точка лежит в центре основного куба; задняя сторона имеет отрицательный Z.

## Форма из логотипа

Визуальное родство создают раздельные мягко скруглённые плоскости, глубина между ними и спокойный контраст материалов. Передняя оболочка состоит из двух панелей с диагональным стыком; верхняя плоскость отделена теневым зазором. За стыком находится тёмная полимерная внутренняя стенка: щель не открывает электронику. Справа картридж продолжает ту же систему радиусов и стыков. Это конструктивное продолжение логотипа, а не увеличенная буква, приклеенная к коробке.

Основной цвет — светлая минеральная поверхность, каркас — графитовый, цвет расширения — глубокий зелёный. Яркий зелёный используется в небольшой индикации и метке стыка. Зелёная иллюминация всего корпуса не нужна: она мешала бы спокойному домашнему предмету и ухудшала восприятие материалов.

«Керамическая» поверхность обозначает визуальный характер, а не обязательное применение керамики. Настоящая керамика усложнила бы крепёж, ударостойкость, радиопрозрачную квалификацию и серийный ремонт. Сатинированный окрашенный или окрашенный в массе полимер позволяет проверить нужный вид без этого усложнения.

## Что помещается в 96 мм

Основная сборка расположена вертикально. Плата-носитель стоит в плоскости Y/Z; модуль CM5 и радиатор обращены к центральному воздушному каналу. Высота конверта радиатора 41 мм оставляет место над ним и под ним. В отличие от горизонтальной платы, вертикальная сборка не закрывает проход от нижнего притока к вытяжке.

| Узел | Опорный размер или назначенный конверт | Решение |
|---|---|---|
| CM5, вариант с Wi-Fi и eMMC | Плата 55 × 40 мм; установленная высота зависит от межплатного разъёма | eMMC оставляет единственный PCIe-канал свободным; для первой сборки рассматривается установленный профиль 4,94 мм, а не более высокий 7,44 мм |
| Waveshare CM5-NANO-B | Официальный размер платы 55 × 41 мм | Реальный компактный carrier для макета; толщина населённой сборки и штекеры измеряются на купленной ревизии |
| CM5 Cooler | 56 × 41 × 12,7 мм | Вертикальный теплоотвод в прямом потоке; справочный чертёж производителя не является производственным CAD |
| Верхний вентилятор | 40 × 40 × 12 мм с антивибрационными элементами | NF-A4x10 5V PWM как проверяемый кандидат; реальная толщина учтена вместо условных «10 мм» |
| Нижняя и левая посадки | Такие же 40-мм конверты | В базовом варианте пассивные фильтрованные входы, в стендовых вариантах дополнительные вентиляторы |
| Вход питания и supervisor | Назначенные PCBA-конверты 24 × 22 × 8 и 20 × 24 × 6 мм | Это задания на собственные небольшие платы, а не уже выбранные серийные изделия |
| Антенна | FPC-кандидат 42 × 7 мм плюс клеевой слой и кабель | Отдельный передний полимерный карман; правый AI-модуль не занимает его объём |

Габариты CM5 и высоты соединения подтверждены [datasheet CM5](https://pip-assets.raspberrypi.com/categories/944-raspberry-pi-compute-module-5/documents/RP-008180-DS-6-cm5-datasheet.pdf). Размер carrier и вход 5 В / 5 А опубликованы [Waveshare](https://www.waveshare.com/product/cm5-nano-b.htm); при проверке прямой доступ к странице возвращал 403, использован индекс официальной страницы. Размеры Cooler взяты из [официального product brief](https://datasheets.raspberrypi.com/cm5/cooler-product-brief.pdf).

Между нижним/верхним вентилятором и радиатором остаётся номинально 9,5 мм, а при назначенных допусках в проверке — не менее 8,8 мм. Это объём для перехода потока, а не место для запаса кабеля. Жгуты проходят сзади и справа в фиксированных каналах. Кабель от радиатора или вентилятора не должен пересекать ротор либо висеть перед фильтром.

Граница CM5–carrier остаётся отдельным открытым пунктом. Конверт платы не описывает высоты каждого разъёма, расположение защёлок и местный вылет деталей. Для закрытия этого пункта нужны supplier STEP точной ревизии, измерение платы и сборка с настоящими межплатными соединителями. Изготовление собственной carrier-платы позволит убрать ненужные наружные HDMI/RJ45, но требует электрического проекта, SI/PI-проверки, boot/recovery и отдельного допуска. Компоновка не выдаёт такую плату за уже существующую.

## Воздух: снизу и слева, вверх через радиатор

Предложенное направление физически разумно: нижний и левый входы питают общий канал, верхний вентилятор выводит нагретый воздух. Сменная направляющая за левым входом направляет струю к радиатору. Она должна уменьшать прямой обход радиатора к вытяжке, но её угол и площадь требуют проверки. В анимации показано предполагаемое направление, а не вычисленные скорости или температура.

Естественный подъём тёплого воздуха согласуется с этой ориентацией, однако в столь небольшом корпусе при работающем вентиляторе определяющими становятся перепад давления и сопротивление пути. Две встречающиеся струи не обязаны охлаждать лучше: они могут усилить смешение, обход радиатора, завихрения и шум. Нельзя сложить паспортные расходы двух входных и одного выходного вентилятора и назвать сумму расходом корпуса. [Noctua о совместной работе вентиляторов](https://www.noctua.at/en/expertise/tech/axial-fans-in-series-or-parallel-operation) объясняет зависимость рабочей точки от сопротивления системы.

Поэтому штатный кандидат начинается с **одного верхнего вытяжного вентилятора**. Его входы снизу и слева остаются фильтрованными. В том же корпусе, с тем же радиатором и нагрузкой сравниваются варианты с нижним приточным и с двумя приточными вентиляторами. Третий вентилятор остаётся в конструкции только если измерения показывают выигрыш по температуре при сопоставимом шуме и энергопотреблении. При вытяжной схеме утечки через негерметичные стыки будут обходить фильтр; внутренние уплотнения и контроль пыли входят в макет.

Для базы назначена тепловая нагрузка 16,5 Вт. При плотности воздуха 1,18 кг/м³, теплоёмкости 1006 Дж/(кг·К) и среднем нагреве потока на 12 °C идеальный массовый баланс требует приблизительно **4,17 м³/ч, или 2,45 CFM**. Формула `Q = P / (ρ × cp × ΔT)` даёт лишь необходимый объёмный расход для общего переноса тепла. Она не рассчитывает температуру кристалла и не подтверждает, что вентилятор обеспечит этот расход через фильтр.

Для NF-A4x10 5V PWM производитель указывает 5,24 CFM в свободном воздухе и 1,95 мм водяного столба при нулевом расходе. Это разные концы характеристики. Установленный расход будет ниже свободного; его надо измерить. Максимальная паспортная мощность одного вентилятора — 0,35 Вт, трёх — 1,05 Вт. [Спецификация Noctua](https://www.noctua.at/en/products/nf-a4x10-5v-pwm/specifications).

Ножки 10 мм оставляют открытый вход со всех сторон. Текстиль, полка вплотную над крышкой или установка на мягкую мебель могут закрыть поток. Приёмочный стенд должен включать частично перекрытый нижний вход и загрязнённый фильтр. Воздух комнатной температуры измеряет вынесенный Sense; датчик внутри тёплой Station не публикует свою температуру как температуру комнаты.

## Фильтр снимается без разборки станции

Нижняя кассета имеет рамку 54 × 54 × 2 мм, круглый проём Ø42 мм и фильтрующую вставку Ø44 мм. Перекрытие среды по краю — 1 мм. Оно обеспечивает непрерывность фильтрующей поверхности в геометрии, но герметичность при реальном изгибе проверяется с уплотнителем и выбранной сеткой. Это не HEPA-фильтр и не заявленный класс очистки воздуха.

Кассета движется вперёд по двум направляющим. Нижний паз в обеих передних стенках имеет ширину 58 мм и доходит до Y=−40 мм. Передняя нижняя перемычка поднята до Y=−40 мм, поэтому не перекрывает путь кассеты Y=−45…−43 мм. Язычок доходит до наружной плоскости Z=48 мм и доступен над столом благодаря ножкам. Для извлечения требуется свободное место перед Station. На время чистки питание снимается; нельзя продавать обслуживание рядом с вращающимся ротором как безопасную операцию без отдельной оценки защиты.

Левая кассета снимается в сторону независимо от нижней. Крышка, фильтр и возможный приточный вентилятор — три разных детали. Внутренние винты и FFC недоступны через сервисный паз фильтра. После первых макетов нужно проверить доступ испытательным пальцем, очистку, посадку уплотнения и количество циклов извлечения.

## Правый модуль: конструкция и электрическая граница

Vision-картридж получает собственный вертикальный тепловой канал. Его верхняя и нижняя решётки находятся за пределами основной станции; охлаждение базы не зависит от установленного расширения. Внутри предусмотрены адаптер PCIe–M.2, карта 2242, прижимной теплоотвод и конверт 25-мм вентилятора. Последний пока не имеет утверждённого SKU и акустической характеристики.

Первый кандидат — [Hailo-8L M.2 B+M 2242](https://hailo.ai/products/ai-accelerators/hailo-8l-m-2-ai-acceleration-module-for-ai-light-applications/) для конкретных моделей компьютерного зрения. Наличие механического M.2 и PCIe не подтверждает работу на CM5 Gen2 x1. Карта, FFC, адаптер питания, драйвер, firmware, модель и обработка входных данных квалифицируются одним профилем. «Vision» не обещает локальную LLM, ASR или универсальное выполнение любой модели. Для Assist потребуется отдельный профиль вычислительной платы, памяти, модели и охлаждения; возможность поместить его в тот же 34-мм корпус не заявлена.

В геометрии чип Vision находится у внутренней стороны радиатора, затем следует тепловой интерфейс 0,6 мм и сплошная база теплоотвода; рёбра направлены от базы наружу и вдоль вертикального потока. Тепло не должно перескакивать воздушный зазор к дальнему ребру. Толщина 0,6 мм — назначенная толщина сжатого интерфейса для компоновки. Жёсткость подложки, площадь контакта, допустимое давление корпуса микросхемы, материал и степень сжатия выбираются после получения карты. Нельзя передавать усилие корпусной защёлки непосредственно на кристалл.

Направляющие имеют разные ширины — 5 и 8 мм. Соответствующие окна шире на 0,5 мм; это предотвращает разворот картриджа на 180°. Мужская часть занимает X=47…53,5 мм, ответное окно X=50,5…53,5 мм: зацепление составляет 3 мм, а не только визуальное соседство двух деталей. Прототип фиксируют два невыпадающих винта M2.5. Направляющие задают положение, а винты принимают усилия от касания и кабелей. Магниты не используются как единственный силовой крепёж.

Для прототипа соединение **не blind-mate**. После отключения питания снимается сервисная крышка; инженер соединяет 16-контактный PCIe FFC и отдельную ключованную защищённую ветвь 5 В, проверяет посадку и закрывает крышку. Для потребительской версии нужен спроектированный разъём с направляющими до контактов, допустимыми токами, сигналами присутствия и контактной последовательностью. Его part number и механический чертёж сейчас не выбраны, поэтому веб-модель не изображает универсальные pogo-контакты, якобы передающие PCIe.

Резерв на изгиб FFC — 5 мм, на микрокоаксиальный кабель — 7 мм. Это компоновочные предположения, которые заменяются требованиями точного кабеля. Точки коаксиального пути хранятся в JSON; для выбранного 100-мм кабеля оставлен 15-мм монтажный резерв, а длина сглаженной кривой проверяется отдельно средствами Three.js. Конец трассы обозначает назначенную область разъёма; его точную ориентацию ещё сверяют с supplier CAD. В рабочей сборке требуются контроль полного хода, отсутствие защемления, ограничение натяжения у U.FL/FFC и маркировка сторон. Выбор фиксатора должен учитывать не только посадку в исходном положении, но и траекторию обслуживания.

## Питание и отказ расширения

Внутри Station нет сетевого блока питания. Источник расположен вне корпуса, а в Station поступает низкое напряжение. Для полного профиля требуется подтверждённый вход **5 В / 5 А**; нельзя подавать на CM5-NANO-B 9, 12 или 20 В только потому, что зарядник поддерживает USB PD. Способ согласования 5 А, кабель, разъём и защита проверяются на выбранной ревизии платы.

| Потребитель | Назначенный бюджет |
|---|---:|
| CM5 | 12,5 Вт |
| Carrier и локальные интерфейсы | 1,5 Вт |
| Supervisor и малые узлы | 0,75 Вт |
| Три базовых вентилятора, предельный стендовый вариант | 1,05 Вт |
| Vision, включая преобразователь и его вентилятор | 5,0 Вт |
| Кабели и входная защита | 0,7 Вт |
| Резерв на переходные режимы в модели допуска | 1,0 Вт |
| **Итого для допуска** | **22,5 Вт** |

Числа в таблице — проектные лимиты, а не измеренное типичное потребление. 2,5 Вт остаются до входных 25 Вт. Дополнительная USB-камера, накопитель или питание внешнего устройства сюда не включены: свободный бюджет USB задан нулевым. Устройства с собственным питанием и источники данных по сети не добавляют ток в этот вход, но имеют собственные требования к разрешениям и задержке.

Vision-ветвь ограничивается по току отдельно. Проект платы должен предусмотреть eFuse/ключ, измерение напряжения и тока, контролируемое нарастание питания, защиту от обратной подпитки и удержание reset до готовности. Номинальный предел 1 А по 5 В не заменяет расчёт SOA и тест короткого замыкания. Если пуск ускорителя вызывает reset базового Core, профиль не проходит приёмку; это не устраняется увеличением цифры в манифесте.

Установка и извлечение выполняются только после завершения ОС и снятия питания. После запуска функция проходит инвентаризацию, проверку совместимости, модели и лицензий, самотест и разрешение владельца. Только после этого появляется возможность. AI-worker не получает самостоятельного права управлять исполнительными узлами. Потеря расширения снимает его возможность, но не отменяет ручной запрет пользователя и не превращает устаревший результат AI в новое наблюдение. Полный программный контракт сохраняется в `research/MODULAR_OS_RU.md`; эта механическая ревизия не утверждает наличие готового менеджера модулей.

## Радиосвязь и окружающая среда

Для первой закрытой модели выбран передний полимерный радиокарман. Кандидат — Taoglas FXP830.07.0100C, с U.FL-совместимым разъёмом и 100-мм микрокоаксиальным кабелем. Это именно вариант MHF I/U.FL, а не внешне похожий MHF4. [Официальный datasheet](https://www.taoglas.com/datasheets/FXP830.07.0100C.pdf) описывает конкретную антенну; её эффективность в чужом корпусе сюда не переносится.

В цифровой компоновке от антенны до окружающего металла резервируется 10 мм во всех направлениях. Радиатор, вентиляторы, силовые элементы и модуль находятся вне этого объёма; полимерная передняя стенка разрешена. Цветной пигмент, наполнители, металлизированная краска, влажность и кабель меняют RF-поведение. RF-карман нельзя впоследствии покрыть проводящей декоративной плёнкой без повторной проверки.

Сертификация CM5 с собственной либо одобренной Raspberry Pi антенной не превращается автоматически в сертификацию этого FPC-кандидата. Производитель отдельно описывает [допуск сторонних антенн](https://www.raspberrypi.com/news/certifying-third-party-antennas-for-use-with-raspberry-pi-compute-modules/). Для стенда разумно сравнить встроенную антенну CM5 и утверждённый внешний комплект с FPC, а затем выбрать вариант по реальным диаграммам, связи и стоимости допуска. Wi-Fi остаётся основным пользовательским подключением.

## Материалы и производство

Для первых корпусов выбран SLS PA12. Он позволяет изготовить внутренние каналы и быстро менять перегородки без пресс-формы. Поверхность после печати требует очистки, выравнивания и контрольного образца покрытия. [EOS PA2200](https://www.eos.info/polymer-solutions/polymer-materials/multipurpose) — пример реального PA12-процесса; его свойства не переносятся на любую домашнюю печать. Обычный PA12 не объявляется автоматически огнестойким материалом электроаппаратуры.

Кандидат серии — огнестойкий PC/ABS со стенкой 2 мм, внутренними рёбрами около 0,6 толщины стенки и съёмными металлическими резьбовыми вставками. Серия Bayblend включает конкретные огнестойкие марки, но класс относится к выбранной марке, цвету и толщине образца. Нужны актуальная карточка материала и проверка готового изделия. [Материальный обзор Covestro](https://www.covestro.com/-/media/covestro/solution-center/brands/downloads/imported/1760081872.pdf?hash=5CB62F8BEE3DC5498CD2F51BF8BD32BC&rev=993685c632344d2ead1dd97dcf9d4d05).

Алюминий остаётся внутри: радиатор, тепловой распределитель и локальный каркас. Полностью металлическая наружная оболочка здесь мешала бы антенне и усложняла бы требование комфортной температуры касания. Веб-материалы показывают микрофактуру, но не являются измеренными PBR-параметрами выбранного поставщика.

| Стадия | Технология | Что принимается перед переходом |
|---|---|---|
| Макет формы | SLS PA12; отдельные рамки фильтра и перегородки; крепёж вместо сложных защёлок | Доступ к фильтрам, сборка, положение кабелей, устойчивость, попадание панели в сетку стыков |
| EVT | Та же оболочка с реальными PCBA, радиатором, антенной и источником | Нагрузки, пуски, температура, RF, утечки воздуха, отказ вентилятора, шум, повторяемость сборки |
| Пилот | Мягкая/алюминиевая оснастка после DFM, точная серийная марка PC/ABS | Усадка, коробление, выталкиватели, текстура, цвет, ресурс крепления, статистика размеров |
| Серия | Утверждённая многогнёздная оснастка при обоснованном объёме | Контрольный план, golden samples, контроль токов и RF по партиям, серийные тесты и прослеживаемость |

Разделение оболочки уменьшает глубину вытяжки отдельных деталей и позволяет вести линии разъёма по видимым стыкам. Назначенный уклон — 2° для гладкой поверхности и не менее 3° в стартовом задании для текстурированной; окончательное значение определяет технолог с конкретной текстурой. [Protolabs](https://www.protolabs.com/services/injection-molding/plastic-injection-molding/design-guidelines/) даёт ориентиры по уклонам и толщине, но не утверждает нашу пресс-форму. Параметрический SCAD текущего макета ещё не содержит полный анализ уклонов и усадки, литники, выталкиватели, уплотняющие поверхности и все крепёжные бобышки.

Дешёвый ABS, SLA-смола и декоративная металлизация не выбираются только по красивому рендеру. Для настольного электрического изделия важны огнестойкость, ползучесть, размерная стабильность, запах, чистка и повторяемый цвет. Для будущего Wear добавятся контакт с кожей, пот, аккумулятор, герметичность и ударные нагрузки; материал Station нельзя автоматически объявить материалом носимого устройства.

## Допуски и доказательства

Общая сборочная свобода для печатного макета назначена 0,5 мм; цель для литьевого соединения — 0,3 мм после DFM. Это назначения, не гарантия SLS-сервиса. Для интерфейсов теплового стека в цифровой проверке выделено ±0,2 мм; измерение купленных деталей может потребовать другого радиатора, стойки или толщины интерфейса. Диагональный декоративный шов 2 мм должен сохраняться при накоплении допусков, а не только в номинальном рендере.

`generate-mechanical.py` проверяет конверты всех основных компонентов, внутренние границы корпуса, отсутствие металла в RF-объёме, зазоры вентиляторов, механическое зацепление и ключ, проход фильтра, перекрытие фильтрующей среды, радиус лопасти, контакт Vision–TIM–радиатор и суммарный бюджет питания. Результат находится в `mechanical-checks.json`. Соприкасающиеся тепловые интерфейсы отмечены явно: их намеренное пересечение после раздувания допуском не скрывается как свободный зазор.

Проверка AABB не знает точной геометрии пайки, изгиба проводов, защёлки FFC и местной деформации пластика. Она ловит ошибки компоновки, но не доказывает собираемость изделия. Проверяемый STL содержит только рамку фильтра: сетка замкнута, каждое ребро принадлежит двум треугольникам, объём положителен. Это не STL полного корпуса, разрешённого для выпуска.

При независимой проверке этой ревизии до приёмки исправлены шесть содержательных ошибок: нижний фильтр упирался в фасад; круглая среда не закрывала углы квадратного проёма; радиатор Vision не имел осмысленного контакта с чипом; лопасть 25-мм вентилятора сохраняла размеры 40-мм; направляющая картриджа не доходила до ответного окна; коаксиальная трасса была длиннее выбранного 100-мм кабеля. Исправлены геометрия, числовые конверты и проверки этих случаев. Такие находки показывают, почему производственная приёмка не может ограничиваться красивым общим видом.

## Как изготовить и проверить первый экземпляр

Первым изготавливается пустой корпус с размерными имитаторами плат. Проверяют монтаж сверху/сзади, снятие обеих кассет, ход картриджа, доступ отвёртки, устойчивость с модулем и силой от кабеля. После этого в ту же геометрию ставятся купленные платы; их реальные размеры, разъёмы и сборочный порядок заносятся в ревизию JSON. Следующий выпуск должен ссылаться на точные part numbers и PCB revisions.

Тепловой стенд получает одинаковый профиль 16,5 Вт для базы и до 5 Вт для Vision при 20, 30 и 35 °C окружающего воздуха. Записываются температура CM5, PMIC, ускорителя, входа/выхода воздуха и доступных поверхностей, ток входа, частоты и throttling. Измерение повторяют для одного, двух и трёх вентиляторов, нового и загрязнённого фильтра, перекрытого входа и остановки одного вентилятора. Расход определяется по установленной характеристике или измерению, а не по свободному расходу на коробке.

Шум сравнивается в одинаковом месте и с одинаковой нагрузкой. Помимо среднего уровня проверяются тональные составляющие, вибрации оболочки и влияние на микрофонный тракт. Три малых вентилятора могут быть хуже одного, даже если самая горячая точка стала холоднее. Снижение оборотов допускается только после проверки всего теплового профиля.

Электрическая приёмка отдельно воспроизводит включение, просадку входа, потерю питания при записи, короткое замыкание ветви картриджа, reset ускорителя и его исчезновение. Затем проверяют OTA и откат совместимого профиля. Производительность AI измеряется конкретной задачей и данными, а не TOPS: качество результата, задержка, энергоёмкость и восстановление после отказа.

RF-проверка проводится с закрытым корпусом и с установленным картриджем, в нескольких ориентациях и при работающих DC/DC, вентиляторах и PCIe. Следом идут ESD/EMC-предиспытания, механический ресурс, температура касания, применимые требования безопасности и подготовка серийного контрольного плана. Критерии конкретного рынка фиксируются до выпуска; этот документ не является сертификатом соответствия.

## Воспроизведение артефактов

Из каталога `work/r37` команда `python3 engineering/generate-mechanical.py` заново создаёт `component-envelopes.csv`, `station-parameters.scad`, `station-layout.svg`, `station-exploded.svg`, `mechanical-checks.json`, `filter-frame-concept.stl` и `filter-frame-mesh-checks.json`. Скрипт использует только стандартную библиотеку Python и завершится ошибкой при нарушении проверяемых инвариантов.

Для OpenSCAD рядом должны лежать `station.scad` и `station-parameters.scad`. Параметр `mode="assembly"` показывает корпус, `mode="envelopes"` — детали-конверты, `mode="top"` — крышку; `explode=28` раскрывает сборку. В текущем окружении OpenSCAD не установлен, поэтому исходник предоставлен для воспроизводимой компоновки, а факт его компиляции не заявлен. STEP полного изделия не создан: полигональная визуализация не переименовывается в производственный STEP.

Основной числовой источник — `site/content/station-design.json`. Реалтайм-модель находится в `site/src/models/modular-station.js`. Она показывает те же габаритные решения и специально отмечает источник размеров и статус узлов, сохраняя отличие между конструктивным проектом, электрической разработкой и проверенным продуктом.

Дополнительная команда `node engineering/verify-model-contract.mjs` после `npm ci` в `site/` проверяет фабрику модели в четырёх сочетаниях детализации и модуля, совместимость anchors и длину и кривизну точной Catmull–Rom трассы, включая обе стороны её внутренних узлов. Результат `model-contract-checks.json`: длина коаксиальной кривой 53,77 мм, монтажный резерв 15 мм, остаток до номинальных 100 мм — 31,23 мм. Минимальный численно оценённый радиус осевой линии — 11,23 мм при заданной цели 7 мм и проверочном запасе 0,5 мм; результат согласуется на двух плотностях сетки. Конец трассы оставлен перед границей платы как область подхода к разъёму; реальную оконцовку ещё определяет точный supplier CAD. Проверяемая трубка не пересекает остальные габаритные конверты. Этот тест запускает Three.js-геометрию с упрощённым адаптером материалов; он не является WebGL- или визуальной приёмкой.
