# NODE.DC Design System rules

This repository is the canonical home of reusable NODE.DC interface foundations and components.

Before adding UI to a NODE.DC application:

1. Read `registry/registry.json` and `docs/COMPONENTS.md`.
2. Reuse an existing package export if the required primitive or pattern already exists.
3. If a reusable capability is missing, add it here first and consume a released version from the application.
4. Do not copy component source into an application. Temporary adapters must stay thin and be documented in `docs/ADOPTION.md`.
5. Application-specific domain UI remains in the application, but its controls and surfaces must be composed from this system.

Canonical source limits:

- Launcher/Hub, CMS and SEO are the reference product family for application shell, headers, windows and common controls.
- From Engine, only the redesigned environment settings, shared glass controls and NDC agent inspector are approved reference sources.
- Legacy Engine inspectors and legacy Engine plates are explicitly non-canonical.
- Task Manager contributes only already-standardized shared behavior and components. Its legacy local menus are non-canonical.
- BIM Viewer contributes validated non-React integration requirements.

Every component change must update its registry entry and the living catalog. Preserve keyboard behavior, portal layering and theme independence.

