# yuyuqp/zellner architecture

> Architecture diagram of the GitHub repository yuyuqp/zellner, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yuyuqp/zellner
- Repository: https://github.com/yuyuqp/zellner

## Overview

Zellner is a family of VS Code color themes, distributed as core and extended extension packs. Its authoring workflow is to define a semantic color scheme, expand that scheme against a light or dark theme template, and produce a full VS Code theme. Separately, users install a pack and select one of its contributed themes in a compatible editor. The README documents the semantic palette and variant families; sampled source confirms scheme normalization and template expansion. The excerpts do not establish how expanded themes are connected to the packaged theme files, so that link is omitted.

Main entry points: [`scripts/expand-theme.js`](https://github.com/yuyuqp/zellner/blob/main/scripts/expand-theme.js) (Scheme expander), [`schemes`](https://github.com/yuyuqp/zellner/tree/main/schemes) (Color schemes), [`scripts/theme-template.js`](https://github.com/yuyuqp/zellner/blob/main/scripts/theme-template.js) (Light template), [`scripts/theme-template-dark.js`](https://github.com/yuyuqp/zellner/blob/main/scripts/theme-template-dark.js) (Dark template)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_authoring["Theme authoring"]
  node_scheme["Color schemes"]
  node_light_template["Light template<br/>[theme-template.js]"]
  node_dark_template["Dark template"]
  node_expander["Scheme expander<br/>[expand-theme.js]"]
  node_expanded_theme["Expanded theme"]
end

subgraph group_distribution["Theme packs"]
  node_core_pack["Core themes"]
  node_extended_pack["Extended variants"]
end

node_author(("Theme author"))
node_editor(("VS Code-compatible editor"))

node_author -->|"defines"| node_scheme
node_author -->|"runs"| node_expander
node_scheme -->|"reads"| node_expander
node_light_template -->|"maps light"| node_expander
node_dark_template -->|"maps dark"| node_expander
node_expander -->|"produces"| node_expanded_theme
node_editor -->|"loads"| node_core_pack
node_editor -->|"loads"| node_extended_pack

click node_scheme "https://github.com/yuyuqp/zellner/tree/main/schemes"
click node_light_template "https://github.com/yuyuqp/zellner/blob/main/scripts/theme-template.js"
click node_dark_template "https://github.com/yuyuqp/zellner/blob/main/scripts/theme-template-dark.js"
click node_expander "https://github.com/yuyuqp/zellner/blob/main/scripts/expand-theme.js"
click node_core_pack "https://github.com/yuyuqp/zellner/tree/main/packages/vscode"
click node_extended_pack "https://github.com/yuyuqp/zellner/tree/main/packages/vscode-extended"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_scheme,node_light_template,node_dark_template,node_expander,node_expanded_theme toneBlue
class node_core_pack,node_extended_pack toneAmber
class node_author,node_editor toneIndigo
```

## Components

### Theme authoring

- [Color schemes](https://github.com/yuyuqp/zellner/tree/main/schemes): `schemes`
- [Light template](https://github.com/yuyuqp/zellner/blob/main/scripts/theme-template.js): `scripts/theme-template.js`
- [Dark template](https://github.com/yuyuqp/zellner/blob/main/scripts/theme-template-dark.js): `scripts/theme-template-dark.js`
- [Scheme expander](https://github.com/yuyuqp/zellner/blob/main/scripts/expand-theme.js): `scripts/expand-theme.js`
- **Expanded theme**

### Theme packs

- [Core themes](https://github.com/yuyuqp/zellner/tree/main/packages/vscode): `packages/vscode`
- [Extended variants](https://github.com/yuyuqp/zellner/tree/main/packages/vscode-extended): `packages/vscode-extended`

### Other components

- **Theme author**
- **VS Code-compatible editor**

## Connections

- Theme author → Color schemes: defines
- Theme author → Scheme expander: runs
- Color schemes → Scheme expander: reads
- Light template → Scheme expander: maps light
- Dark template → Scheme expander: maps dark
- Scheme expander → Expanded theme: produces
- VS Code-compatible editor → Core themes: loads
- VS Code-compatible editor → Extended variants: loads
