NODEDC_DESIGN_GUIDELINE/docs/SOURCE_BASELINE.md

76 lines
7.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. Они являются материалом аудита, но не переносятся автоматически. В библиотеку попадает очищенный общий контракт. Его light palette закреплена по `app/src/styles.css`: canvas `#ececec`, white glass `rgba(255,255,255,0.480.72)`, светлый panel gradient и нейтральная тёмная типографика.
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`. В Inspector любой selection-control имеет подпись сверху и split-геометрию; integrated pill остаётся только Hub/Launcher-формой. Скриншоты от 10 июля 2026 года использованы как визуальная проверка, а не как замена исходному CSS.
`EnvironmentColorField` и BIM-эквивалент подтверждают каноническую anatomy `26 px` swatch + HEX value внутри glass pill. Библиотека сохраняет эту геометрию, но заменяет OS-native popup на единый portal-picker, чтобы палитра не зависела от светлой/тёмной системной темы браузера.
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 и поведение, сохраняя происхождение решения в реестре.