{
  "name": "IYU Labs design catalog",
  "version": 1,
  "patterns": [
    {
      "chapter": "Brand",
      "name": "Approved artwork",
      "href": "/design/brand#mark",
      "sources": ["src/components/brand/Mark.tsx", "public/brand/mark.svg"],
      "description": "Master, monochrome variants and SVG downloads."
    },
    {
      "chapter": "Brand",
      "name": "Logo size and clear space",
      "href": "/design/brand#spacing",
      "sources": ["src/components/brand/mark.json", "scripts/sync-brand.mjs"],
      "description": "Minimum height, proportions and background rules."
    },
    {
      "chapter": "Brand",
      "name": "LABS lockup",
      "href": "/design/brand#lockup",
      "sources": ["src/components/brand/Logo.tsx"],
      "description": "Live wordmark and accessible naming."
    },
    {
      "chapter": "Brand",
      "name": "Social images and icons",
      "href": "/design/brand#applications",
      "sources": [
        "src/app/opengraph-image.tsx",
        "src/app/apple-icon.tsx",
        "src/components/design/SocialPreview.tsx",
        "src/app/icon.svg",
        "src/app/work/[slug]/opengraph-image.tsx"
      ],
      "description": "Generic and project cards, downloads and preview crops."
    },
    {
      "chapter": "Brand",
      "name": "Stationary mark with orbit",
      "href": "/design/brand#orbit",
      "sources": ["src/components/brand/BrandOrbit.tsx"],
      "description": "Complete decorative rings on Home and About."
    },
    {
      "chapter": "Color",
      "name": "Semantic themes and contrast",
      "href": "/design/color#palette",
      "sources": [
        "src/design/tokens.json",
        "src/components/design/ColorExplorer.tsx",
        "src/lib/contrast.ts"
      ],
      "description": "Live color pairs and independent specimen themes."
    },
    {
      "chapter": "Color",
      "name": "Theme persistence and aliases",
      "href": "/design/color#theme",
      "sources": [
        "src/app/layout.tsx",
        "src/components/layout/ThemeToggle.tsx",
        "src/app/globals.css"
      ],
      "description": "Pre-paint choice, storage and legacy utility mappings."
    },
    {
      "chapter": "Type",
      "name": "Editable scale and hierarchy",
      "href": "/design/type#scale",
      "sources": ["src/components/design/TypeExplorer.tsx", "src/design/tokens.json"],
      "description": "Responsive headings, body copy and weights."
    },
    {
      "chapter": "Type",
      "name": "Layout and spacing",
      "href": "/design/type#layout",
      "sources": [
        "src/components/layout/Container.tsx",
        "src/app/globals.css",
        "src/app/facelift.css"
      ],
      "description": "Page widths, chapter composition, spacing and reflow."
    },
    {
      "chapter": "Type",
      "name": "Fonts and comparison",
      "href": "/design/type#license",
      "sources": [
        "src/app/layout.tsx",
        "src/app/design/font-study/page.tsx",
        "src/lib/og.ts",
        "next.config.ts",
        "scripts/check-og-trace.mjs"
      ],
      "description": "Self-hosted Manrope, comparison fonts and image-renderer licenses."
    },
    {
      "chapter": "Components",
      "name": "Buttons and links",
      "href": "/design/components#actions",
      "sources": [
        "src/components/ui/Button.tsx",
        "src/components/ui/TextLink.tsx",
        "src/components/ui/ExternalLink.tsx"
      ],
      "description": "Primary, outline, disabled, internal and external actions."
    },
    {
      "chapter": "Components",
      "name": "Disclosure states",
      "href": "/design/components#disclosure",
      "sources": ["src/components/ui/Disclosure.tsx"],
      "description": "Keyboard toggles, rapid reversal and inert closed content."
    },
    {
      "chapter": "Components",
      "name": "Fields and contact states",
      "href": "/design/components#fields",
      "sources": [
        "src/components/ui/Field.tsx",
        "src/components/ContactForm.tsx",
        "src/components/EnabledContactForm.tsx"
      ],
      "description": "Local validation specimen and real contact delivery conditions."
    },
    {
      "chapter": "Components",
      "name": "Project status",
      "href": "/design/components#status",
      "sources": ["src/components/work/StatusBadge.tsx", "src/content/projects.ts"],
      "description": "Live, client, source-available and in-development labels."
    },
    {
      "chapter": "Components",
      "name": "Project cards",
      "href": "/design/components#projects",
      "sources": [
        "src/components/work/ProjectList.tsx",
        "src/components/work/ProjectRow.tsx",
        "src/components/work/ProjectMedia.tsx"
      ],
      "description": "Actual screenshot and text-only cards with one navigation target."
    },
    {
      "chapter": "Components",
      "name": "Image galleries and fallbacks",
      "href": "/design/components#media",
      "sources": [
        "src/components/work/ProjectGallery.tsx",
        "src/components/work/ProjectPlate.tsx"
      ],
      "description": "Proportionate captures, captions and honest missing-image states."
    },
    {
      "chapter": "Components",
      "name": "Header, footer and themes",
      "href": "/design/components#navigation",
      "sources": [
        "src/components/layout/Header.tsx",
        "src/components/layout/NavLinks.tsx",
        "src/components/layout/Footer.tsx",
        "src/components/layout/SkipLink.tsx"
      ],
      "description": "Live page chrome, active location, menu focus and theme choice."
    },
    {
      "chapter": "Components",
      "name": "Fixed chapter navigator",
      "href": "/design/components#chapters",
      "sources": ["src/components/home/ChapterNavigation.tsx"],
      "description": "Live embedded Home viewport with native section links."
    },
    {
      "chapter": "Components",
      "name": "Page compositions and recovery",
      "href": "/design/components#pages",
      "sources": [
        "src/components/home/Hero.tsx",
        "src/components/home/TwoTracks.tsx",
        "src/components/home/SelectedWork.tsx",
        "src/components/home/AboutPreview.tsx",
        "src/components/home/ContactCta.tsx",
        "src/app/not-found.tsx",
        "src/app/error.tsx"
      ],
      "description": "Centered introductions, service split, work, studio and contact sections."
    },
    {
      "chapter": "Components",
      "name": "Documentation tools",
      "href": "/design/components#documentation",
      "sources": [
        "src/components/design/DemoPanel.tsx",
        "src/components/design/CopyButton.tsx",
        "src/components/design/Chapter.tsx",
        "src/components/design/DesignNav.tsx"
      ],
      "description": "Preview/Code tabs, isolated themes, copying and chapter navigation."
    },
    {
      "chapter": "Motion",
      "name": "Before and after reveal",
      "href": "/design/motion#comparison",
      "sources": ["src/components/work/BeforeAfter.tsx"],
      "description": "Blue matched-image divider, endpoints, replay and interruption."
    },
    {
      "chapter": "Motion",
      "name": "Route and section navigation",
      "href": "/design/motion#routes",
      "sources": [
        "src/components/layout/SiteLink.tsx",
        "src/components/layout/RouteScroll.tsx",
        "patches/next-view-transitions@0.3.5.patch"
      ],
      "description": "Forward top, restored history and snapshot-free fragment scrolling."
    },
    {
      "chapter": "Motion",
      "name": "Arrival tuning",
      "href": "/design/motion#playground",
      "sources": ["src/components/design/MotionPlayground.tsx", "src/design/motion.ts"],
      "description": "Timing, easing, comparison, pause, replay and settings transfer."
    },
    {
      "chapter": "Motion",
      "name": "Product stage",
      "href": "/design/motion#showcase",
      "sources": [
        "src/components/home/Showcase.tsx",
        "src/components/design/ShowcasePlayground.tsx",
        "src/content/showcase.ts",
        "src/design/showcase.ts"
      ],
      "description": "Opaque image planes, selection, geometry controls and JSON transfer."
    },
    {
      "chapter": "Motion",
      "name": "Continuous studio rings",
      "href": "/design/motion#orbit",
      "sources": [
        "src/components/brand/BrandOrbit.tsx",
        "src/components/design/OrbitPlayground.tsx",
        "src/design/orbit.ts"
      ],
      "description": "Additive entrance over uninterrupted idle, zero speed and tuning."
    },
    {
      "chapter": "Motion",
      "name": "Reduced motion and lifecycle",
      "href": "/design/motion#reduced",
      "sources": [
        "src/app/facelift.css",
        "src/components/brand/BrandOrbit.tsx",
        "src/components/home/Showcase.tsx"
      ],
      "description": "Offscreen suspension, hidden tabs and complete still states."
    }
  ]
}
