6.2 KiB
Baseline источников
Дата аудита: 10 июля 2026 года. Точные repository revisions находятся в registry/sources.json.
Launcher / Hub
Основной визуальный источник:
- общая верхняя панель;
- позиция логотипа;
- segmented navigation;
- dark glass family;
- button/modal/dropdown primitives;
- общая логика admin windows.
Для точной геометрии используются src/widgets/top-bar/TopBar.tsx, src/widgets/admin-overlay/AdminOverlay.tsx и src/styles/globals.css: трёхосевая шапка, круглый workspace trigger, segmented navigation, profile group и левая admin panel 352 px.
src/app/LauncherApp.tsx, src/widgets/service-stage/ServiceStage.tsx и те же global styles подтверждают общий application shell: stage сдвигается при открытии navigation/content, а content разворачивается независимо. Нижняя ServiceRail исключена из общего шаблона как продуктовая часть витрины.
Точный header состоит из внешнего toolbar 68 px и внутренней видимой строки 48 px. Именно внутренняя строка задаёт вертикальный центр logo/workspace/navigation/profile. AdminOverlay.tsx также подтверждает media-source pattern: 3.35rem control, 2.78rem file/source/preview controls и разделение UI от storage handler.
Существовавший dc-ui-guideline использован как исходный инвентарь. Он больше не должен развиваться как независимая копия после подключения центрального репозитория.
SEO и CMS
Рассматриваются как одна продуктовая семья с Launcher/Hub. Их различия должны выражаться темой и содержанием, а не отдельной реализацией окон и controls.
SEO содержит большой объём накопленных локальных overrides. Они являются материалом аудита, но не переносятся автоматически. В библиотеку попадает очищенный общий контракт.
CMS подтверждает необходимость DOM-пакета без React. admin/admin.js и admin/admin.css независимо повторяют устойчивый media pattern с file/URL source, круглым preview, path и upload hint; поэтому он перенесён в baseline, а не оставлен product candidate.
Engine
Разрешён только строгий subset:
- Environment Settings;
- NdcGlassChecker;
- NdcGlassSelect;
- NdcGlassModal;
- новый NDC Agent Inspector;
- GraphsPanel workflow sharing modal и NdcUserAvatarStack;
- styles, непосредственно обслуживающие эти элементы.
Все остальные legacy inspectors и старые plates не участвуют в принятии решений. Их будущее приведение к новому дизайну должно идти через эту библиотеку.
Размеры зафиксированы непосредственно по разрешённым исходникам: панель 390 px, контент 330 px, control row 154/14/162 px, control height 46 px, split-select 276/8/46 px, section header 50 px и radius 12 px. Скриншоты от 10 июля 2026 года использованы как визуальная проверка, а не как замена исходному CSS.
Workflow sharing добавлен как отдельный разрешённый reference: modal 600 px, compact stack до трёх avatar, roles viewer/editor/admin, immutable owner и приглашение через email. ACL endpoints, directory lookup и тексты backend-ошибок остаются Engine-domain.
Task Manager / Ops
Используются только уже стандартизированные shared patterns и документы по dropdown/modal behavior. Известные legacy CustomMenu и screen-local wrappers не являются источником компонентов.
BIM Viewer
Используется как ограничение архитектуры: общий UI должен работать без React. Аудит frontend/index.html, dcViewer.css, dcViewer.js, measurementModal.js и objectModal.js подтвердил шесть modal-композиций: save form, delete confirmation, share link, contextual measurement/object actions, expandable comment detail и large version history. В библиотеку вынесены общая window-механика и share-link controller; BIM-таблицы, комментарии и операции над моделью остаются domain content.
Аудит иконок
Launcher/Hub и SEO подтверждают Lucide как основной outline-язык; BIM Viewer использует Font Awesome в legacy/vendor-слое; Engine содержит локальные inline SVG. В библиотеку перенесён только пересекающийся семантический subset действий и сущностей. Полные vendor-каталоги и legacy Engine glyph не являются каноном.
Почему код не копируется целиком
Исторические реализации содержат:
- зависимости от доменных типов;
- локальные классы;
- дублированные токены;
- наслоившиеся overrides;
- разные z-index;
- различную степень accessibility.
Поэтому библиотека фиксирует очищенный API и поведение, сохраняя происхождение решения в реестре.