NODEDC_DESIGN_GUIDELINE/docs/SOURCE_BASELINE.md

7.0 KiB
Raw Permalink Blame History

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 и поведение, сохраняя происхождение решения в реестре.