@mcptoolshop/style-dataset-lab 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.pt-BR.md CHANGED
@@ -13,91 +13,133 @@
13
13
 
14
14
  # style-dataset-lab
15
15
 
16
- Ferramenta para criação de conjuntos de dados visuais – gera, organiza e exporta dados de treinamento multimodais para o ajuste fino de modelos de linguagem visuais (VLM).
16
+ Uma linha de produção para a criação de conjuntos de dados visuais – desde regras predefinidas até prompts estruturados, passando pela geração no ComfyUI, até dados de treinamento selecionados e vinculados a regras predefinidas.
17
17
 
18
18
  ## O que é isso
19
19
 
20
- Um conjunto de ferramentas para construir a "verdade visual" que pode ser usada para treinamento. Cada elemento contém três coisas:
20
+ Uma **linha de produção** para a criação de conjuntos de dados visuais estruturados para treinamento. Você define regras de estilo (regras predefinidas), compõe prompts, gera imagens com o ComfyUI, seleciona os resultados com base em critérios específicos, associa as avaliações às regras predefinidas e exporta em 10 formatos através do [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset).
21
+
22
+ A linha de produção é independente de qualquer jogo específico. Cada jogo possui seu próprio diretório de dados em `games/<nome>/`; os 13 scripts e modelos vazios são compartilhados. Cada ativo gerado contém três elementos.
21
23
 
22
24
  1. **Pixels da imagem** – gerados pelo ComfyUI com total rastreabilidade (checkpoint, LoRA, seed, sampler, cfg).
23
25
  2. **Explicação detalhada** – por que este elemento está ou não de acordo com o estilo definido, com base em uma "constituição" de estilo.
24
26
  3. **Avaliação de qualidade** – aprovado/rejeitado, com pontuações por dimensão e regras citadas.
25
27
 
26
- A saída é integrada ao [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) para produzir dados de treinamento multimodais em 10 formatos: TRL, LLaVA, Qwen2-VL, Axolotl, LLaMA-Factory, ShareGPT, pares para RLHF, DPO, legendagem e classificação.
27
-
28
28
  ## Modelo de segurança
29
29
 
30
30
  **Apenas local.** O style-dataset-lab se comunica com o ComfyUI em `localhost:8188` e nunca faz solicitações de rede externas. Sem telemetria, sem análise, sem envio de dados. A geração de imagens ocorre inteiramente na sua GPU. Os registros e os dados de referência permanecem no seu sistema de arquivos.
31
31
 
32
- ## Estatísticas do conjunto de dados
32
+ ## O que o pacote npm oferece:
33
+
34
+ `npm install @mcptoolshop/style-dataset-lab` fornece:
33
35
 
34
- | Métrica | Valor |
35
- |--------|-------|
36
- | Registros organizados | 1,182 |
37
- | Total de elementos | 2.571 (893 aprovados, 887 variações com estilo pictórico) |
38
- | Variações de prompts | 28 |
39
- | Categorias visuais | 18 (roupas, navios, interiores, equipamentos, ambientes, espécies, estações, sinalização, iluminação, carga, arquitetura, criaturas, superfícies, vida cotidiana, planetas, danos/reparos, biologia alienígena, detalhes realistas) |
40
- | Comparativos | 6 criados por humanos + 71 criados sinteticamente |
41
- | Tipos de rejeição distintos | 30+ |
42
- | Sistema de pacotes de identidade | Personagens nomeados com DNA de facção, patente e referências visuais. |
43
- | Formatos de exportação | 10 (via @mcptoolshop/repo-dataset) |
36
+ - **13 scripts** – para geração, seleção, comparação, vinculação a regras predefinidas, estilo pictórico, geração de identidade, geração ControlNet/IP-Adapter, seleção em massa, migração.
37
+ - **Modelos vazios** – um modelo inicial, um guia de avaliação e um conjunto de exemplos de prompts, localizados em `templates/`.
38
+
39
+ O pacote npm **não** inclui dados de jogos. Clone o repositório se você quiser o exemplo do Star Freight (1.182 registros, 28 sequências de prompts, 18 categorias visuais).
44
40
 
45
41
  ## Instalação
46
42
 
47
43
  ```bash
48
- npm install -g @mcptoolshop/style-dataset-lab
44
+ # Get the pipeline scripts + templates
45
+ npm install @mcptoolshop/style-dataset-lab
46
+
47
+ # Or clone the repo for the Star Freight example data
48
+ git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
49
+ cd style-dataset-lab
50
+ npm install
49
51
  ```
50
52
 
51
- Em seguida, clone um projeto ou inicialize um novo espaço de trabalho para conjuntos de dados:
53
+ Para iniciar um novo jogo a partir dos modelos:
52
54
 
53
55
  ```bash
54
- git clone https://github.com/mcp-tool-shop-org/style-dataset-lab my-dataset
55
- cd my-dataset
56
- npm install
56
+ # Copy templates into your game directory
57
+ mkdir -p games/my-game/{records,comparisons,inputs/prompts,outputs/{candidates,approved,rejected,borderline,painterly},exports}
58
+ cp -r templates/canon games/my-game/canon
59
+ cp templates/inputs/prompts/example-wave.json games/my-game/inputs/prompts/wave1.json
60
+ # Edit the canon and prompts, then generate
61
+ ```
62
+
63
+ ## Estrutura do monorepository
64
+
65
+ A linha de produção está localizada nos diretórios `scripts/` e `templates/`. Cada jogo está em `games/<nome>/`, com suas próprias regras predefinidas, registros e ativos. Os scripts aceitam o argumento `--game <nome>` (o padrão é `star-freight`).
66
+
67
+ ```
68
+ style-dataset-lab/
69
+ scripts/ 13 pipeline scripts (generate, curate, compare, etc.)
70
+ templates/ Blank starting point for new games
71
+ canon/ Starter constitution + review rubric
72
+ inputs/prompts/ Example prompt pack
73
+ games/
74
+ star-freight/ Star Freight example (1,182 records, repo-only)
75
+ canon/ Style constitution, review rubric, species canon
76
+ records/ Per-asset JSON (provenance + judgment + canon)
77
+ comparisons/ A-vs-B preference judgments
78
+ inputs/ Prompt packs, identity packets, references
79
+ outputs/ Generated images (gitignored)
80
+ exports/ repo-dataset output (gitignored)
81
+ <your-game>/ Add more games with the same structure
57
82
  ```
58
83
 
59
- ## Fluxo de trabalho
84
+ ## Fluxo de trabalho da linha de produção
85
+
86
+ A linha de produção completa, desde as regras predefinidas até a exportação para treinamento:
60
87
 
61
88
  ```bash
62
- # 1. Start ComfyUI
63
- # (point it at your checkpoint + LoRA setup)
89
+ # 1. Write your canon -- style constitution + review rubric
90
+ # (start from templates/ or write from scratch)
64
91
 
65
- # 2. Generate candidates from a prompt pack
66
- npm run generate -- inputs/prompts/wave1.json
67
- npm run generate -- inputs/prompts/wave1.json --dry-run
92
+ # 2. Create prompt packs in inputs/prompts/
93
+ # (see templates/inputs/prompts/example-wave.json)
68
94
 
69
- # 3. Generate identity-packet characters
70
- npm run generate:identity -- inputs/identity-packets/wave27a-identity-spine.json
95
+ # 3. Start ComfyUI and generate candidates
96
+ npm run generate -- --game star-freight inputs/prompts/wave1.json
97
+ npm run generate -- --game star-freight inputs/prompts/wave1.json --dry-run
71
98
 
72
- # 4. Generate painterly variants of approved assets
73
- npm run painterly -- <asset_id>
99
+ # 4. Generate identity-packet characters (named subjects)
100
+ npm run generate:identity -- --game star-freight inputs/identity-packets/wave27a.json
74
101
 
75
102
  # 5. Curate -- approve, reject, or mark borderline
76
- npm run curate -- <asset_id> approved "explanation" --scores "silhouette:0.9,palette:0.8"
77
- npm run curate -- <asset_id> rejected "explanation" --failures "too_clean,wrong_material"
103
+ npm run curate -- --game star-freight <asset_id> approved "explanation"
104
+ npm run curate -- --game star-freight <asset_id> rejected "explanation" --failures "too_clean"
105
+
106
+ # 6. Generate painterly variants of approved assets
107
+ npm run painterly -- --game star-freight
108
+
109
+ # 7. Bind canon explanations to curated assets
110
+ npm run canon-bind -- --game star-freight
78
111
 
79
- # 6. Bind canon explanations to assets
80
- npm run canon-bind -- <asset_id>
112
+ # 8. Record pairwise comparisons
113
+ npm run compare -- --game star-freight <asset_a> <asset_b> a "A has better faction read"
81
114
 
82
- # 7. Record pairwise comparisons
83
- npm run compare -- <asset_a> <asset_b> a "A has better faction read because..."
115
+ # 9. Export training data via repo-dataset
116
+ repo-dataset visual generate ./games/star-freight --format trl
117
+ repo-dataset visual inspect ./games/star-freight
118
+ ```
119
+
120
+ ## Adicionando um novo jogo
84
121
 
85
- # 8. Export training data via repo-dataset
86
- npm run export
87
- npm run inspect
88
- npm run validate
122
+ ```bash
123
+ # Create structure and copy blank templates
124
+ mkdir -p games/my-game/{records,comparisons,inputs/prompts,outputs/{candidates,approved,rejected,borderline,painterly},exports}
125
+ cp -r templates/canon games/my-game/canon
126
+ cp templates/inputs/prompts/example-wave.json games/my-game/inputs/prompts/wave1.json
127
+
128
+ # Edit your canon/constitution.md and canon/review-rubric.md
129
+ # Edit your prompt pack, then run the pipeline with --game my-game
89
130
  ```
90
131
 
91
- ## Estrutura de diretórios
132
+ ## Estrutura do diretório por jogo
133
+
134
+ Cada diretório `games/<nome>/` contém:
92
135
 
93
136
  ```
94
- canon/ Style constitution, review rubric, identity gates, species canon
137
+ canon/ Style constitution, review rubric, species canon, identity gates
95
138
  inputs/
96
139
  prompts/ Prompt packs per wave (JSON: subjects, variations, defaults)
97
140
  references/ IP-Adapter reference images
98
- control/ ControlNet control images
99
141
  control-guides/ ControlNet guide overlays
100
- identity-packets/ Named character identity spines (faction DNA, rank, visual anchors)
142
+ identity-packets/ Named character identity spines
101
143
  outputs/
102
144
  candidates/ Raw generations (gitignored)
103
145
  approved/ Curated approved (gitignored)
@@ -107,8 +149,6 @@ outputs/
107
149
  records/ Per-asset JSON (provenance + judgment + canon binding)
108
150
  comparisons/ A-vs-B preference judgments
109
151
  exports/ repo-dataset output (gitignored)
110
- scripts/ generate, curate, compare, canon-bind, painterly, identity gen
111
- workflows/ Reusable ComfyUI workflow templates
112
152
  ```
113
153
 
114
154
  ## Configuração de geração
package/README.zh.md CHANGED
@@ -13,91 +13,133 @@
13
13
 
14
14
  # style-dataset-lab
15
15
 
16
- 视觉数据集工厂 -- 用于生成、整理和导出多模态训练数据,以进行大型视觉语言模型(VLM)的微调。
16
+ 一个用于创建视觉数据集的生产流水线,从规范规则到结构化提示,再到 ComfyUI 生成,最终得到经过筛选、符合规范的训练数据。
17
17
 
18
18
  ## 这是什么
19
19
 
20
- 一个用于**构建可训练的视觉真理**的工具集。每个资源都包含以下三方面:
20
+ 一个用于构建结构化视觉训练数据集的**流水线**。 您可以编写风格规则(规范),编写提示,使用 ComfyUI 生成图像,并根据每个维度进行评分进行筛选,将判断结果与规范规则关联,并通过 [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) 以 10 种格式导出。
21
21
 
22
- 1. **图像像素** -- 由 ComfyUI 生成,并包含完整的溯源信息(检查点、LoRA、种子、采样器、CFG)。
23
- 2. **规范解释** -- 解释为什么该图像符合或不符合特定风格,并基于风格规范进行判断。
24
- 3. **质量评估** -- 经过批准/拒绝,并提供每个维度的评分以及引用规则。
22
+ 该流水线不依赖于特定的游戏。 每个游戏都有自己的数据目录,位于 `games/<name>/` 目录下;13 个脚本和空白模板是共享的。 每个生成的资源都包含以下三项:
25
23
 
26
- 输出结果通过 [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) 生成多模态训练数据,提供 10 种格式:TRL、LLaVA、Qwen2-VL、Axolotl、LLaMA-Factory、ShareGPT、RLHF 对、DPO、图像描述和分类。
24
+ 1. **图像像素**:由 ComfyUI 生成,包含完整的溯源信息(检查点、LoRA、种子、采样器、CFG)。
25
+ 2. **规范解释**:解释为什么该图像符合或不符合风格,并基于风格规范进行说明。
26
+ 3. **质量判断**:通过批准/拒绝,并根据每个维度的评分引用相关规则。
27
27
 
28
28
  ## 安全模型
29
29
 
30
- **仅本地运行。** style-dataset-lab 只与本地 `localhost:8188` 上的 ComfyUI 进行通信,不会进行任何外部网络请求。没有遥测数据,没有分析功能,不会向外部发送数据。图像生成完全在您的 GPU 上进行。记录和规范数据都存储在您的文件系统中。
30
+ **仅本地运行。** `style-dataset-lab` 只与本地 `localhost:8188` 上的 ComfyUI 进行通信,不会进行任何外部网络请求。 没有遥测数据,没有分析功能,不会向外部发送数据。 图像生成完全在您的 GPU 上进行。 记录和规范数据都存储在您的文件系统中。
31
31
 
32
- ## 数据集统计信息
32
+ ## npm 包包含的内容
33
33
 
34
- | 指标 | 数值 |
35
- |--------|-------|
36
- | 整理记录 | 1,182 |
37
- | 总资源数 | 2,571 (其中 893 个已批准,887 个为绘画风格变体) |
38
- | 提示词组合 | 28 |
39
- | 视觉类别 | 18 种 (包括:服装、船只、室内、设备、环境、物种、站点、标识、照明、货物、**架构**、生物、表面、日常生活、行星、损坏/修复、外星生物、细节)。 |
40
- | 成对比较 | 6 个人工标注 + 71 个合成数据 |
41
- | 不同类型的拒绝 | 30+ |
42
- | 身份包系统 | 具有派系 DNA、等级和视觉特征的命名角色。 |
43
- | 导出格式 | 10 种 (通过 `@mcptoolshop/repo-dataset`) |
34
+ `npm install @mcptoolshop/style-dataset-lab` 会为您提供:
35
+
36
+ - **13 个脚本**:用于生成、筛选、比较、与规范关联、生成绘画风格图像、生成身份图像、使用 ControlNet/IP-Adapter 生成图像、批量筛选、数据迁移。
37
+ - **空白模板**:位于 `templates/` 目录下,包含起始规范、审查标准和示例提示包。
38
+
39
+ 该 npm 包**不包含**游戏数据。 如果您想使用 Star Freight 示例,请克隆该仓库(包含 1182 条记录,28 个提示集,18 个视觉类别)。
44
40
 
45
41
  ## 安装
46
42
 
47
43
  ```bash
48
- npm install -g @mcptoolshop/style-dataset-lab
44
+ # Get the pipeline scripts + templates
45
+ npm install @mcptoolshop/style-dataset-lab
46
+
47
+ # Or clone the repo for the Star Freight example data
48
+ git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
49
+ cd style-dataset-lab
50
+ npm install
49
51
  ```
50
52
 
51
- 然后克隆一个项目或初始化一个新的数据集工作区:
53
+ 要从模板开始一个新的游戏:
52
54
 
53
55
  ```bash
54
- git clone https://github.com/mcp-tool-shop-org/style-dataset-lab my-dataset
55
- cd my-dataset
56
- npm install
56
+ # Copy templates into your game directory
57
+ mkdir -p games/my-game/{records,comparisons,inputs/prompts,outputs/{candidates,approved,rejected,borderline,painterly},exports}
58
+ cp -r templates/canon games/my-game/canon
59
+ cp templates/inputs/prompts/example-wave.json games/my-game/inputs/prompts/wave1.json
60
+ # Edit the canon and prompts, then generate
61
+ ```
62
+
63
+ ## 单仓库结构
64
+
65
+ 流水线位于 `scripts/` 和 `templates/` 目录下。 每个游戏位于 `games/<name>/` 目录下,包含自己的规范、记录和资源。 脚本接受 `--game <name>` 参数(默认为 `star-freight`)。
66
+
57
67
  ```
68
+ style-dataset-lab/
69
+ scripts/ 13 pipeline scripts (generate, curate, compare, etc.)
70
+ templates/ Blank starting point for new games
71
+ canon/ Starter constitution + review rubric
72
+ inputs/prompts/ Example prompt pack
73
+ games/
74
+ star-freight/ Star Freight example (1,182 records, repo-only)
75
+ canon/ Style constitution, review rubric, species canon
76
+ records/ Per-asset JSON (provenance + judgment + canon)
77
+ comparisons/ A-vs-B preference judgments
78
+ inputs/ Prompt packs, identity packets, references
79
+ outputs/ Generated images (gitignored)
80
+ exports/ repo-dataset output (gitignored)
81
+ <your-game>/ Add more games with the same structure
82
+ ```
83
+
84
+ ## 流水线工作流程
58
85
 
59
- ## 工作流程
86
+ 从规范到训练数据导出的完整流水线:
60
87
 
61
88
  ```bash
62
- # 1. Start ComfyUI
63
- # (point it at your checkpoint + LoRA setup)
89
+ # 1. Write your canon -- style constitution + review rubric
90
+ # (start from templates/ or write from scratch)
64
91
 
65
- # 2. Generate candidates from a prompt pack
66
- npm run generate -- inputs/prompts/wave1.json
67
- npm run generate -- inputs/prompts/wave1.json --dry-run
92
+ # 2. Create prompt packs in inputs/prompts/
93
+ # (see templates/inputs/prompts/example-wave.json)
68
94
 
69
- # 3. Generate identity-packet characters
70
- npm run generate:identity -- inputs/identity-packets/wave27a-identity-spine.json
95
+ # 3. Start ComfyUI and generate candidates
96
+ npm run generate -- --game star-freight inputs/prompts/wave1.json
97
+ npm run generate -- --game star-freight inputs/prompts/wave1.json --dry-run
71
98
 
72
- # 4. Generate painterly variants of approved assets
73
- npm run painterly -- <asset_id>
99
+ # 4. Generate identity-packet characters (named subjects)
100
+ npm run generate:identity -- --game star-freight inputs/identity-packets/wave27a.json
74
101
 
75
102
  # 5. Curate -- approve, reject, or mark borderline
76
- npm run curate -- <asset_id> approved "explanation" --scores "silhouette:0.9,palette:0.8"
77
- npm run curate -- <asset_id> rejected "explanation" --failures "too_clean,wrong_material"
103
+ npm run curate -- --game star-freight <asset_id> approved "explanation"
104
+ npm run curate -- --game star-freight <asset_id> rejected "explanation" --failures "too_clean"
105
+
106
+ # 6. Generate painterly variants of approved assets
107
+ npm run painterly -- --game star-freight
78
108
 
79
- # 6. Bind canon explanations to assets
80
- npm run canon-bind -- <asset_id>
109
+ # 7. Bind canon explanations to curated assets
110
+ npm run canon-bind -- --game star-freight
81
111
 
82
- # 7. Record pairwise comparisons
83
- npm run compare -- <asset_a> <asset_b> a "A has better faction read because..."
112
+ # 8. Record pairwise comparisons
113
+ npm run compare -- --game star-freight <asset_a> <asset_b> a "A has better faction read"
84
114
 
85
- # 8. Export training data via repo-dataset
86
- npm run export
87
- npm run inspect
88
- npm run validate
115
+ # 9. Export training data via repo-dataset
116
+ repo-dataset visual generate ./games/star-freight --format trl
117
+ repo-dataset visual inspect ./games/star-freight
89
118
  ```
90
119
 
91
- ## 目录结构
120
+ ## 添加新的游戏
121
+
122
+ ```bash
123
+ # Create structure and copy blank templates
124
+ mkdir -p games/my-game/{records,comparisons,inputs/prompts,outputs/{candidates,approved,rejected,borderline,painterly},exports}
125
+ cp -r templates/canon games/my-game/canon
126
+ cp templates/inputs/prompts/example-wave.json games/my-game/inputs/prompts/wave1.json
127
+
128
+ # Edit your canon/constitution.md and canon/review-rubric.md
129
+ # Edit your prompt pack, then run the pipeline with --game my-game
130
+ ```
131
+
132
+ ## 每个游戏目录的布局
133
+
134
+ 每个 `games/<name>/` 目录包含:
92
135
 
93
136
  ```
94
- canon/ Style constitution, review rubric, identity gates, species canon
137
+ canon/ Style constitution, review rubric, species canon, identity gates
95
138
  inputs/
96
139
  prompts/ Prompt packs per wave (JSON: subjects, variations, defaults)
97
140
  references/ IP-Adapter reference images
98
- control/ ControlNet control images
99
141
  control-guides/ ControlNet guide overlays
100
- identity-packets/ Named character identity spines (faction DNA, rank, visual anchors)
142
+ identity-packets/ Named character identity spines
101
143
  outputs/
102
144
  candidates/ Raw generations (gitignored)
103
145
  approved/ Curated approved (gitignored)
@@ -107,8 +149,6 @@ outputs/
107
149
  records/ Per-asset JSON (provenance + judgment + canon binding)
108
150
  comparisons/ A-vs-B preference judgments
109
151
  exports/ repo-dataset output (gitignored)
110
- scripts/ generate, curate, compare, canon-bind, painterly, identity gen
111
- workflows/ Reusable ComfyUI workflow templates
112
152
  ```
113
153
 
114
154
  ## 生成设置
@@ -124,7 +164,7 @@ scheduler: karras
124
164
  speed: ~9s per image (RTX 5080)
125
165
  ```
126
166
 
127
- 其他生成模式:ControlNet(姿势/深度引导)、IP-Adapter(参考驱动)以及身份包(命名角色一致性)。
167
+ 其他生成模式:ControlNet(姿势/深度引导)、IP-Adapter(参考驱动)和身份包(用于保持角色一致性)。
128
168
 
129
169
  ## 要求
130
170
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mcptoolshop/style-dataset-lab",
3
- "version": "1.1.0",
4
- "description": "Visual dataset factory — generate, curate, and export multimodal training data for VLM fine-tuning",
3
+ "version": "1.2.1",
4
+ "description": "Visual dataset pipeline — canon to prompts to ComfyUI generation to curated, canon-bound training data",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "generate": "node scripts/generate.js",
@@ -15,9 +15,7 @@
15
15
  },
16
16
  "files": [
17
17
  "scripts/",
18
- "games/*/canon/",
19
- "games/*/inputs/",
20
- "package.json",
18
+ "templates/",
21
19
  "README.md",
22
20
  "LICENSE",
23
21
  "SECURITY.md",
@@ -0,0 +1,44 @@
1
+ # Style Constitution
2
+
3
+ > Define the visual rules that every generated asset must follow.
4
+ > Each rule gets an ID, category, and description. The curation scripts score assets against these rules.
5
+
6
+ ## Core Rules
7
+
8
+ ### Silhouette & Shape Language
9
+
10
+ - **SIL-01**: [Describe the silhouette requirements — what shapes define your style?]
11
+ - **SIL-02**: [Describe faction/character shape differentiation]
12
+
13
+ ### Color & Palette
14
+
15
+ - **COL-01**: [Describe the color rules — palette constraints, faction colors, mood]
16
+ - **COL-02**: [Describe what colors are forbidden and why]
17
+
18
+ ### Material & Texture
19
+
20
+ - **MAT-01**: [Describe material rules — worn vs clean, organic vs synthetic]
21
+ - **MAT-02**: [Describe texture expectations — grit level, surface detail]
22
+
23
+ ### Composition & Framing
24
+
25
+ - **CMP-01**: [Describe framing rules — camera angle, subject placement]
26
+
27
+ ### Mood & Atmosphere
28
+
29
+ - **MOD-01**: [Describe the emotional tone — tense, serene, chaotic]
30
+
31
+ ## Scoring Dimensions
32
+
33
+ Assets are scored 0.0–1.0 on each dimension during curation:
34
+
35
+ | Dimension | What it measures |
36
+ |-----------|-----------------|
37
+ | silhouette | Shape language clarity and faction read |
38
+ | palette | Color accuracy and mood alignment |
39
+ | material | Surface texture and wear level |
40
+ | composition | Framing and visual hierarchy |
41
+ | mood | Emotional tone match |
42
+ | detail | Level of meaningful detail |
43
+ | consistency | Coherence with existing approved assets |
44
+ | originality | Avoids generic/stock-art patterns |
@@ -0,0 +1,30 @@
1
+ # Review Rubric
2
+
3
+ ## Quick Decision Tree
4
+
5
+ 1. Does the image pass the **style test**? (Would it look at home next to approved assets?)
6
+ - No → REJECT with cited rule violations
7
+ 2. Does it pass **all constitution rules** at ≥0.6 score?
8
+ - No → Check if fixable with img2img → BORDERLINE or REJECT
9
+ 3. Does it add **new signal** the dataset doesn't have?
10
+ - Yes → APPROVE
11
+ - No (duplicate composition/subject) → REJECT as redundant
12
+
13
+ ## Approval Criteria
14
+
15
+ - All scoring dimensions ≥ 0.6
16
+ - No critical rule violations
17
+ - Adds value to the dataset (new subject, angle, or variation)
18
+
19
+ ## Rejection Criteria
20
+
21
+ - Any scoring dimension < 0.4
22
+ - Violates a core constitution rule
23
+ - Too similar to existing approved assets
24
+ - Generic/stock-art quality (no distinctive style)
25
+
26
+ ## Borderline Criteria
27
+
28
+ - One or two dimensions between 0.4–0.6
29
+ - Fixable with img2img post-processing
30
+ - Strong composition but weak on style details
@@ -0,0 +1,27 @@
1
+ {
2
+ "wave": "wave1",
3
+ "description": "First generation wave — core subjects for your visual style",
4
+ "defaults": {
5
+ "checkpoint": "dreamshaperXL_v21TurboDPMSDE.safetensors",
6
+ "lora": { "name": "classipeintxl_v21.safetensors", "weight": 1.0 },
7
+ "width": 1024,
8
+ "height": 1024,
9
+ "steps": 8,
10
+ "cfg": 2.0,
11
+ "sampler": "dpmpp_sde",
12
+ "scheduler": "karras",
13
+ "negative": "photorealistic, photograph, 3d render, smooth CG, sharp photo detail"
14
+ },
15
+ "subjects": [
16
+ {
17
+ "id": "subject_a",
18
+ "variations": 2,
19
+ "prompt": "oil painting, visible brushstrokes, [DESCRIBE YOUR SUBJECT HERE], painterly concept art, canvas grain"
20
+ },
21
+ {
22
+ "id": "subject_b",
23
+ "variations": 2,
24
+ "prompt": "oil painting, visible brushstrokes, [DESCRIBE YOUR SUBJECT HERE], painterly concept art, canvas grain"
25
+ }
26
+ ]
27
+ }