@mcptoolshop/style-dataset-lab 2.2.1 → 3.0.0

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/README.es.md +76 -144
  3. package/README.fr.md +75 -143
  4. package/README.hi.md +75 -143
  5. package/README.it.md +76 -144
  6. package/README.ja.md +75 -143
  7. package/README.md +36 -8
  8. package/README.pt-BR.md +75 -143
  9. package/README.zh.md +76 -144
  10. package/SECURITY.md +3 -1
  11. package/bin/sdlab.js +146 -17
  12. package/lib/adapters/comfyui-runner.js +170 -0
  13. package/lib/adapters/comfyui-workflows.js +163 -0
  14. package/lib/batch-compiler.js +118 -0
  15. package/lib/batch-modes.js +111 -0
  16. package/lib/batch-runs.js +168 -0
  17. package/lib/batch-sheet-render.js +206 -0
  18. package/lib/brief-compiler.js +598 -0
  19. package/lib/brief-render.js +205 -0
  20. package/lib/critique-engine.js +413 -0
  21. package/lib/critique-render.js +171 -0
  22. package/lib/errors.js +82 -0
  23. package/lib/generated-provenance.js +87 -0
  24. package/lib/log.js +36 -0
  25. package/lib/paths.js +31 -0
  26. package/lib/refine-briefs.js +329 -0
  27. package/lib/reingest-selected.js +173 -0
  28. package/lib/run-summary.js +131 -0
  29. package/lib/runtime-runs.js +168 -0
  30. package/lib/selections.js +323 -0
  31. package/lib/snapshot.js +5 -2
  32. package/lib/split.js +5 -2
  33. package/lib/workflow-profiles.js +161 -0
  34. package/package.json +8 -6
  35. package/scripts/batch-generate.js +167 -0
  36. package/scripts/batch-sheet.js +46 -0
  37. package/scripts/batch-show.js +86 -0
  38. package/scripts/brief-compile.js +134 -0
  39. package/scripts/brief-show.js +52 -0
  40. package/scripts/critique-show.js +50 -0
  41. package/scripts/critique.js +70 -0
  42. package/scripts/doctor.js +169 -1
  43. package/scripts/init.js +22 -0
  44. package/scripts/refine.js +119 -0
  45. package/scripts/reingest-selected.js +78 -0
  46. package/scripts/reingest.js +7 -1
  47. package/scripts/run-generate.js +76 -0
  48. package/scripts/run-list.js +58 -0
  49. package/scripts/run-show.js +63 -0
  50. package/scripts/select.js +118 -0
  51. package/scripts/selection-show.js +88 -0
  52. package/scripts/snapshot.js +27 -23
  53. package/scripts/split.js +3 -1
  54. package/scripts/workflow-list.js +61 -0
  55. package/scripts/workflow-show.js +96 -0
  56. package/templates/domains/architecture/workflows/profiles/environment-moodboard.json +62 -0
  57. package/templates/domains/architecture/workflows/profiles/interior-variant-pack.json +60 -0
  58. package/templates/domains/character-design/workflows/profiles/character-portrait-set.json +61 -0
  59. package/templates/domains/character-design/workflows/profiles/expression-sheet.json +59 -0
  60. package/templates/domains/creature-design/workflows/profiles/creature-portrait-set.json +61 -0
  61. package/templates/domains/creature-design/workflows/profiles/silhouette-exploration.json +58 -0
  62. package/templates/domains/game-art/workflows/profiles/character-portrait-set.json +62 -0
  63. package/templates/domains/game-art/workflows/profiles/environment-moodboard.json +61 -0
  64. package/templates/domains/vehicle-mech/workflows/profiles/variant-pack.json +60 -0
  65. package/templates/domains/vehicle-mech/workflows/profiles/vehicle-silhouette-pack.json +59 -0
package/README.it.md CHANGED
@@ -11,196 +11,128 @@
11
11
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
12
12
  </p>
13
13
 
14
- # style-dataset-lab
14
+ Scrivete le vostre regole visive. Generate opere d'arte. Valutate ogni immagine in base a tali regole. Distribuite i risultati come dati di addestramento versionati e verificabili.
15
15
 
16
- Trasformare i contenuti visivi approvati in set di dati versionati, supportati da revisioni, suddivisioni, pacchetti di esportazione e pacchetti di valutazione.
16
+ Style Dataset Lab collega le caratteristiche del vostro stile artistico definite in precedenza al set di dati utilizzato per l'addestramento. Definite una "costituzione" che includa regole sulla silhouette, vincoli di palette, linguaggio dei materiali, o qualsiasi altro aspetto rilevante per il vostro progetto. Il sistema genera candidati, li valuta in base a tali regole e confeziona le opere approvate in set di dati riproducibili, in cui ogni elemento spiega perché è stato incluso.
17
17
 
18
- ## Di cosa si tratta
18
+ Il ciclo si chiude: addestrate un modello, generate nuovi risultati, valutateli in base agli stessi criteri e reinserite ciò che supera i test. Il set di dati cresce e le regole rimangono valide.
19
19
 
20
- Una **pipeline per la creazione di un canone visivo e di set di dati**. Definisci l'aspetto del tuo progetto. Seleziona i contenuti in base alle regole definite. Crea pacchetti di set di dati riproducibili con suddivisioni sicure da "data leakage". Genera pacchetti di valutazione per la verifica futura dei modelli.
21
-
22
- La pipeline produce quattro elementi:
23
-
24
- | Elemento | Descrizione |
25
- |----------|-----------|
26
- | **Snapshot** | Selezione di record idonei, "congelata" e con "impronta digitale". Ogni inclusione ha una traccia esplicita della motivazione. |
27
- | **Split** | Partizione train/val/test sicura da "data leakage". I record che condividono la stessa famiglia di soggetti vengono sempre inseriti nella stessa partizione. |
28
- | **Export package** | Set di dati autonomo: manifest, metadati, immagini, suddivisioni, scheda del set di dati e checksum. |
29
- | **Eval pack** | Compiti di verifica attenti al canone: copertura delle aree, prevenzione di derive indesiderate, ancoraggi/riferimenti, coerenza dei soggetti. |
30
-
31
- Ogni risorsa all'interno della pipeline contiene tre elementi:
32
-
33
- 1. **Provenienza** -- cronologia completa della generazione (checkpoint, LoRA, seed, sampler, cfg, timing)
34
- 2. **Vincolo al canone** -- quali regole del canone questa risorsa soddisfa, non soddisfa o soddisfa parzialmente
35
- 3. **Valutazione della qualità** -- approvato/rifiutato/al limite, con punteggi per ogni dimensione.
36
-
37
- Adatto per arte di videogiochi, progettazione di personaggi, progettazione di creature, architettura, concept di veicoli/meccanismi e qualsiasi dominio in cui la produzione visiva deve rimanere coerente.
38
-
39
- ## Guida rapida
20
+ ## La pipeline
40
21
 
41
22
  ```bash
42
- # Install the CLI + pipeline
43
- npm install -g @mcptoolshop/style-dataset-lab
44
-
45
- # Scaffold a new project
23
+ # Write your canon. Scaffold the project.
46
24
  sdlab init my-project --domain character-design
47
25
 
48
- # Validate the project structure
49
- sdlab project doctor --project my-project
50
- ```
26
+ # Generate candidates via ComfyUI, then review them
27
+ sdlab generate inputs/prompts/wave1.json --project my-project
28
+ sdlab curate <id> approved "Strong silhouette, correct faction palette"
51
29
 
52
- Domini disponibili: `game-art`, `character-design`, `creature-design`, `architecture`, `vehicle-mech` o `generic`.
30
+ # Bind approved work to constitution rules
31
+ sdlab bind --project my-project
53
32
 
54
- ## Interfaccia a riga di comando (CLI)
33
+ # Freeze a versioned dataset
34
+ sdlab snapshot create --project my-project
35
+ sdlab split build
36
+ sdlab export build
55
37
 
56
- ```bash
57
- sdlab init <name> [--domain <domain>] # Scaffold a new project
58
- sdlab project doctor [--project <name>] # Validate project config
59
-
60
- sdlab generate <pack> [--project <name>] # Generate candidates via ComfyUI
61
- sdlab generate:identity <packet> # Named-subject identity images
62
- sdlab generate:controlnet # ControlNet-guided generation
63
- sdlab generate:ipadapter # IP-Adapter reference-guided
64
-
65
- sdlab curate <id> <status> <explanation> # Record review judgment
66
- sdlab compare <a> <b> <winner> <reason> # Pairwise A-vs-B comparison
67
- sdlab bind [--project <name>] # Bind records to constitution rules
68
- sdlab painterly [--project <name>] # Post-processing style pass
69
-
70
- sdlab snapshot create [--profile <name>] # Create frozen dataset snapshot
71
- sdlab snapshot list # List all snapshots
72
- sdlab snapshot diff <a> <b> # Compare two snapshots
73
- sdlab eligibility audit # Audit record training eligibility
74
- sdlab split build [--snapshot <id>] # Build train/val/test split
75
- sdlab split audit <id> # Audit split for leakage + balance
76
- sdlab card generate # Generate dataset card (md + JSON)
77
- sdlab export build [--snapshot <id>] # Build versioned export package
78
- sdlab eval-pack build # Build canon-aware eval pack
38
+ # Build a training package and close the loop
39
+ sdlab training-manifest create --profile character-style-lora
40
+ sdlab training-package build
41
+ sdlab eval-run create && sdlab eval-run score <id> --outputs results.jsonl
42
+ sdlab reingest generated --source ./outputs --manifest <id>
79
43
  ```
80
44
 
81
- Tutti i comandi accettano `--project <nome>` (predefinito: `star-freight`).
45
+ L'ultimo comando è fondamentale. I risultati generati vengono sottoposti allo stesso processo di revisione di tutto il resto. Il ciclo si chiude.
82
46
 
83
- ## Modello del progetto
47
+ ## Cosa produce
84
48
 
85
- Ogni progetto è una directory autonoma all'interno di `projects/`, con il proprio canone, configurazione e dati.
49
+ Sette artefatti versionati e con checksum. Ognuno è collegato ai suoi predecessori, in modo da poter risalire a qualsiasi record di addestramento alla regola che lo ha approvato.
86
50
 
87
- ```
88
- projects/
89
- my-project/
90
- project.json Project identity + generation defaults
91
- constitution.json Rules array with rationale templates
92
- lanes.json Subject lanes with detection patterns
93
- rubric.json Scoring dimensions + thresholds
94
- terminology.json Group vocabulary + detection order
95
- canon/ Style constitution (markdown)
96
- records/ Per-asset JSON (provenance + judgment + canon)
97
- inputs/prompts/ Prompt packs (JSON)
98
- outputs/ Generated images (gitignored)
99
- comparisons/ A-vs-B preference judgments
100
- snapshots/ Frozen dataset snapshots
101
- splits/ Train/val/test partitions
102
- exports/ Versioned export packages
103
- eval-packs/ Canon-aware eval instruments
104
- ```
51
+ | Artefatto. | Cos'è. |
52
+ |----------|-----------|
53
+ | **Snapshot** | Selezione di record "congelati" con impronta di configurazione. Ogni inclusione ha una motivazione esplicita. |
54
+ | **Split** | Partizione di addestramento/validazione/test in cui le famiglie di soggetti non si sovrappongono. |
55
+ | **Export package** | Set di dati autonomo: manifest, metadati, immagini, suddivisioni, scheda del set di dati, checksum. |
56
+ | **Eval pack** | Compiti di test sensibili al "canone": copertura delle "lane", deriva proibita, ancoraggi/modelli di riferimento, continuità dei soggetti. |
57
+ | **Training package** | Layout pronto per l'addestramento tramite adattatori (`diffusers-lora`, `generic-image-caption`). Stessa verità, formato diverso. |
58
+ | **Eval scorecard** | Valutazione di superamento/non superamento per ogni compito, in base alla valutazione dei risultati generati rispetto ai set di valutazione. |
59
+ | **Implementation pack** | Esempi di prompt, errori noti, test di continuità e indicazioni per il reinserimento. |
105
60
 
106
- ## Pipeline
61
+ ## Perché esiste
107
62
 
108
- ```
109
- canon → generate → curate → bind → snapshot → split → export → eval
110
- | | | | | | | |
111
- rules ComfyUI judgment rules frozen subject package verify
112
- selection isolation
113
- ```
63
+ I dati di addestramento sono l'elemento più importante in qualsiasi pipeline di intelligenza artificiale visiva. Tuttavia, la maggior parte dei dati di addestramento è costituita da una cartella di immagini senza una cronologia, senza una traccia di valutazione e senza un collegamento alle regole di stile che avrebbero dovuto seguire.
114
64
 
115
- 1. **Definisci il canone** -- scrivi la tua costituzione dello stile e la griglia di valutazione.
116
- 2. **Genera** -- ComfyUI produce candidati con piena provenienza.
117
- 3. **Seleziona** -- approva/rifiuta con punteggi per ogni dimensione e modalità di errore.
118
- 4. **Collega** -- associa ogni risorsa alle regole del canone con verdetto di successo/fallimento/parziale.
119
- 5. **Snapshot** -- "congela" i record idonei in una selezione deterministica e con "impronta digitale".
120
- 6. **Suddividi** -- partiziona in train/val/test con isolamento dei soggetti e bilanciamento delle aree.
121
- 7. **Esporta** -- crea un pacchetto autonomo con manifest, metadati, immagini e checksum.
122
- 8. **Valuta** -- genera strumenti di test attenti al canone per la verifica del modello.
65
+ Style Dataset Lab rende esplicito questo collegamento. La vostra "costituzione" definisce le regole. La vostra "rubrica" definisce le dimensioni della valutazione. I vostri registri di "curazione" documentano la valutazione. La vostra "prova canonica" dimostra il collegamento. E il vostro set di dati porta con sé tutto questo come una verità strutturata, interrogabile e riproducibile.
123
66
 
124
- La conversione in formati specifici (TRL, LLaVA, Parquet, ecc.) è gestita da [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset). `sdlab` definisce la "verità" del set di dati; `repo-dataset` la trasforma in formati specializzati.
67
+ Il risultato pratico: quando il vostro LoRA si discosta, potete capire *perché*. Quando la vostra prossima fase di addestramento necessita di dati migliori, sapete esattamente quali record sono "quasi giusti" e quale singola regola hanno violato. Quando un nuovo membro del team chiede qual è il linguaggio visivo del progetto, la risposta non è una lavagna Figma, ma una "costituzione" ricercabile con 1.182 esempi valutati.
125
68
 
126
- ## Modelli per dominio
69
+ ## Cinque domini, regole reali
127
70
 
128
- Ogni modello per dominio include definizioni di aree, regole del canone, griglie di valutazione e strutture terminologiche progettate per quel contesto di produzione:
71
+ Non modelli di esempio. Ogni dominio viene fornito con regole di "costituzione" di livello professionale, definizioni di "lane", rubriche di valutazione e vocabolario di gruppo.
129
72
 
130
- | Dominio | Aree | Aspetti chiave |
131
- |--------|-------|-------------|
132
- | **game-art** | personaggio, ambiente, oggetto, interfaccia utente, nave, interno, equipaggiamento | Silhouette in scala di gioco, differenziazione delle fazioni, usura/invecchiamento |
133
- | **character-design** | ritratto, figura intera, vista a 360°, foglio di espressioni, posa d'azione | accuratezza delle proporzioni, logica dell'abbigliamento, interpretazione della personalità, chiarezza dei gesti |
134
- | **creature-design** | concept, proiezione ortogonale, studio dei dettagli, azione, riferimento di scala, habitat | plausibilità anatomica, logica evolutiva, distinzione della silhouette |
135
- | **architecture** | esterno, interno, paesaggio urbano, dettaglio strutturale, rovina, paesaggio | plausibilità strutturale, coerenza dei materiali, prospettiva, coerenza dell'epoca |
136
- | **vehicle-mech** | esterno, cabina di pilotaggio, componente, schema, foglio di silhouette, variante danneggiata | Logica meccanica, linguaggio di progettazione funzionale, punti di accesso, descrizione dei danni. |
73
+ | Dominio. | Lane. | Cosa viene valutato. |
74
+ |--------|-------|-----------------|
75
+ | **game-art** | personaggio, ambiente, oggetto, interfaccia utente, nave, interno, attrezzatura. | Silhouette alla scala del gameplay, interpretazione della fazione, usura e invecchiamento. |
76
+ | **character-design** | ritratto, figura intera, vista a 360°, foglio di espressioni, posa d'azione. | proporzioni, logica dell'abbigliamento, personalità, chiarezza dei gesti. |
77
+ | **creature-design** | concept, ortografico, studio dei dettagli, azione, riferimento delle dimensioni, habitat. | anatomia, logica evolutiva, distinzione della silhouette. |
78
+ | **architecture** | esterno, interno, paesaggio urbano, dettaglio strutturale, rovina, paesaggio. | struttura, coerenza dei materiali, prospettiva, coerenza dell'epoca. |
79
+ | **vehicle-mech** | esterno, cabina di pilotaggio, componente, schema, foglio di silhouette, variante danneggiata. | logica meccanica, linguaggio del design, punti di accesso, narrazione dei danni. |
137
80
 
138
- ## Produzione del dataset
81
+ ## Struttura del progetto
139
82
 
140
- La struttura completa del dataset: istantanea, suddivisione, esportazione, valutazione.
83
+ Ogni progetto è autonomo. Cinque file di configurazione JSON definiscono le regole; il resto è costituito da dati.
141
84
 
142
85
  ```
143
- snapshot --> split --> export --> eval-pack
144
- | | | |
145
- frozen subject package canon-aware
146
- selection isolation (manifest, test instruments
147
- + lane metadata, (4 task types)
148
- balance images,
149
- checksums,
150
- card)
86
+ projects/my-project/
87
+ project.json Identity + generation defaults
88
+ constitution.json Rules with rationale templates
89
+ lanes.json Subject lanes with detection patterns
90
+ rubric.json Scoring dimensions + thresholds
91
+ terminology.json Group vocabulary + detection order
92
+ records/ Per-asset JSON (provenance + judgment + canon)
93
+ snapshots/ Frozen dataset snapshots
94
+ splits/ Train/val/test partitions
95
+ exports/ Versioned export packages
96
+ training/ Profiles, manifests, packages, eval runs, implementations
151
97
  ```
152
98
 
153
- Le **istantanee** congelano una selezione deterministica di record idonei. Ogni inclusione ha una traccia della motivazione. Le "impronte" di configurazione garantiscono la riproducibilità.
154
-
155
- Le **suddivisioni** assegnano i record alle partizioni di training/validazione/test, con isolamento dei soggetti (nessuna famiglia di soggetti compare in più suddivisioni) e distribuzione bilanciata per "corsia". Un generatore di numeri pseudo-casuali (PRNG) con seme garantisce risultati identici a partire dallo stesso seme.
156
-
157
- I **pacchetti di esportazione** sono autonomi: manifest, metadata.jsonl, immagini (collegate simbolicamente o copiate), suddivisioni, scheda del dataset (markdown + JSON) e checksum in formato BSD. Tutto il necessario per ricostruire il dataset da zero.
99
+ ## Principi fondamentali
158
100
 
159
- I **pacchetti di valutazione** sono strumenti di test standardizzati, con quattro tipi di attività: copertura delle "corsie", deriva proibita, ancoraggi/riferimenti e continuità dei soggetti. Dimostrano che la struttura del dataset alimenta la valutazione futura dei modelli, e non solo l'accumulo di file.
101
+ Questi principi non sono solo aspirazionali, ma vengono applicati rigorosamente.
160
102
 
161
- Esportazione in formati compatibili con sistemi esterni tramite [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) (TRL, LLaVA, Qwen2-VL, JSONL, Parquet, e altri). `repo-dataset` gestisce la conversione dei formati; `sdlab` garantisce l'integrità del dataset.
103
+ - **Gli snapshot sono immutabili.** L'impronta digitale della configurazione (SHA-256) dimostra che nulla è cambiato.
104
+ - **Le suddivisioni impediscono la fuoriuscita di dati.** Le famiglie di soggetti (definite da identità, lignaggio o suffisso ID) non attraversano i confini delle partizioni.
105
+ - **I manifesti sono contratti vincolanti.** Esportazione dell'hash + impronta digitale della configurazione. Se qualcosa cambia, è necessario crearne uno nuovo.
106
+ - **Gli adattatori non possono alterare i dati.** Layout diversi, ma stessi record. Nessuna aggiunta, nessuna rimozione, nessuna riclassificazione.
107
+ - **Gli output generati vengono riesaminati.** Non ci sono scorciatoie. Vengono curati e collegati come tutto il resto.
162
108
 
163
- ## Esempio di Star Freight
109
+ ## Star Freight
164
110
 
165
- Clonare il repository per un esempio funzionante completo: 1.182 record, 28 "onde" di prompt, 5 fazioni, 7 "corsie", 24 regole costituzionali e 892 risorse approvate provenienti da un RPG fantascientifico.
111
+ Il repository include un esempio completo e funzionante: 1.182 record, 5 fazioni, 7 percorsi, 24 regole costituzionali, 892 risorse approvate, 2 profili di addestramento. Un canone visivo di un RPG fantascientifico, completamente curato.
166
112
 
167
113
  ```bash
168
114
  git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
169
115
  cd style-dataset-lab
170
-
171
- # Validate the project
172
116
  sdlab project doctor --project star-freight
173
-
174
- # Run the full dataset spine
175
- sdlab snapshot create --project star-freight # 839 eligible records
176
- sdlab split build --project star-freight # ~80/10/10, zero leakage
177
- sdlab export build --project star-freight # package with checksums
178
- sdlab eval-pack build --project star-freight # 78 eval records
117
+ sdlab snapshot create --project star-freight # 839 eligible records
118
+ sdlab split build --project star-freight # zero subject leakage
179
119
  ```
180
120
 
181
- ## Migrazione dalla versione 1.x
121
+ ## Formati di output
182
122
 
183
- La versione 2.0 rinomina `games/` in `projects/` e `--game` in `--project`:
123
+ `sdlab` è proprietaria del dataset. La conversione del formato è gestita da [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset): TRL, LLaVA, Qwen2-VL, JSONL, Parquet e altro. `repo-dataset` esegue la conversione; non decide quali dati includere.
184
124
 
185
- ```bash
186
- # Rename your data directory
187
- mv games projects
125
+ ## Installazione
188
126
 
189
- # --game still works with a deprecation warning (removed in v3.0)
190
- sdlab bind --game star-freight # works, prints warning
191
- sdlab bind --project star-freight # canonical form
127
+ ```bash
128
+ npm install -g @mcptoolshop/style-dataset-lab
192
129
  ```
193
130
 
194
- ## Modello di sicurezza
195
-
196
- **Solo locale.** Comunica con ComfyUI su `localhost:8188`. Nessuna telemetria, nessuna analisi, nessuna richiesta esterna. Le immagini rimangono sulla tua GPU e nel tuo filesystem.
131
+ Richiede Node.js 20+ e [ComfyUI](https://github.com/comfyanonymous/ComfyUI) installato localmente all'indirizzo localhost:8188 per la generazione.
197
132
 
198
- ## Requisiti
133
+ ## Sicurezza
199
134
 
200
- - [ComfyUI](https://github.com/comfyanonymous/ComfyUI) in esecuzione su localhost:8188
201
- - Checkpoint DreamShaper XL Turbo + LoRA ClassipeintXL
202
- - Node.js 20+
203
- - [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) per l'esportazione dei dati per l'addestramento.
135
+ Funziona solo localmente. Nessuna telemetria, nessuna analisi, nessuna richiesta esterna. Le immagini rimangono sulla GPU e sul filesystem locale.
204
136
 
205
137
  ## Licenza
206
138
 
package/README.ja.md CHANGED
@@ -11,196 +11,128 @@
11
11
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
12
12
  </p>
13
13
 
14
- # style-dataset-lab
14
+ 視覚的なルールを定義してください。それに基づいて画像を生成し、生成されたすべての画像をそのルールに照らし合わせて評価します。そして、バージョン管理された、監査可能なトレーニングデータとして結果を配布します。
15
15
 
16
- 承認済みの画像データを、バージョン管理された、レビューに基づいたデータセット、分割データ、エクスポートパッケージ、および評価用パッケージに変換します。
16
+ Style Dataset Labは、お客様が記述されたアートスタイルに関する情報と、実際に学習に使用するデータセットを連携させます。お客様は、シルエットのルール、カラーパレットの制限、素材に関する記述など、プロジェクトにとって重要な要素を定義します。このシステムは、定義されたルールに基づいて候補を生成し、それらを評価し、承認された作品を再現可能なデータセットにまとめます。このデータセットでは、各レコードが、なぜその作品が選択されたのかを説明しています。
17
17
 
18
- ## これは何ですか?
18
+ このプロセスはループを形成します。モデルを訓練し、新しい出力を生成し、それらを同じ基準で評価し、評価基準を満たしたものをデータセットに再取り込みます。データセットは徐々に成長し、そのルールは維持されます。
19
19
 
20
- **画像データ管理とデータセット生成のパイプライン**。プロジェクトのイメージを定義します。規定に基づいてデータを選別します。データ漏洩を防ぐための分割データセットを作成します。将来のモデル検証のための評価用パッケージを生成します。
21
-
22
- このパイプラインは、以下の4つの成果物(アーティファクト)を生成します。
23
-
24
- | 成果物 | 内容 |
25
- |----------|-----------|
26
- | **Snapshot** | 選択されたデータレコードの、不変で、フィンガープリントが付与されたもの。各データレコードの採用には、明確な理由が記録されています。 |
27
- | **Split** | データ漏洩を防ぐための、トレーニングデータ/検証データ/テストデータの分割。同じ対象を含むデータレコードは、常に同じ分割に分類されます。 |
28
- | **Export package** | 自己完結型のデータセット:マニフェスト、メタデータ、画像、分割データ、データセットの説明、およびチェックサム。 |
29
- | **Eval pack** | 規定に準拠した検証タスク:表現の網羅性、許容されない変化、基準/正解データ、対象の一貫性。 |
30
-
31
- このパイプライン内のすべてのデータには、以下の3つの情報が含まれています。
32
-
33
- 1. **生成履歴 (Provenance)**:完全な生成履歴(チェックポイント、LoRA、シード値、サンプラー、CFG値、実行時間)
34
- 2. **規定への適合性 (Canon binding)**:このデータが、どの規定に適合し、不適合であり、または部分的に適合しているか
35
- 3. **品質評価 (Quality judgment)**:承認/拒否/境界値、および各評価項目のスコア
36
-
37
- ゲームアート、キャラクターデザイン、クリーチャーデザイン、アーキテクチャ、車両/メカのコンセプト、および、画像データの品質を維持する必要があるあらゆる分野で利用できます。
38
-
39
- ## クイックスタート
20
+ ## パイプライン
40
21
 
41
22
  ```bash
42
- # Install the CLI + pipeline
43
- npm install -g @mcptoolshop/style-dataset-lab
44
-
45
- # Scaffold a new project
23
+ # Write your canon. Scaffold the project.
46
24
  sdlab init my-project --domain character-design
47
25
 
48
- # Validate the project structure
49
- sdlab project doctor --project my-project
50
- ```
26
+ # Generate candidates via ComfyUI, then review them
27
+ sdlab generate inputs/prompts/wave1.json --project my-project
28
+ sdlab curate <id> approved "Strong silhouette, correct faction palette"
51
29
 
52
- 利用可能なドメイン:`game-art`、`character-design`、`creature-design`、`architecture`、`vehicle-mech`、または`generic`。
30
+ # Bind approved work to constitution rules
31
+ sdlab bind --project my-project
53
32
 
54
- ## コマンドラインインターフェース (CLI)
33
+ # Freeze a versioned dataset
34
+ sdlab snapshot create --project my-project
35
+ sdlab split build
36
+ sdlab export build
55
37
 
56
- ```bash
57
- sdlab init <name> [--domain <domain>] # Scaffold a new project
58
- sdlab project doctor [--project <name>] # Validate project config
59
-
60
- sdlab generate <pack> [--project <name>] # Generate candidates via ComfyUI
61
- sdlab generate:identity <packet> # Named-subject identity images
62
- sdlab generate:controlnet # ControlNet-guided generation
63
- sdlab generate:ipadapter # IP-Adapter reference-guided
64
-
65
- sdlab curate <id> <status> <explanation> # Record review judgment
66
- sdlab compare <a> <b> <winner> <reason> # Pairwise A-vs-B comparison
67
- sdlab bind [--project <name>] # Bind records to constitution rules
68
- sdlab painterly [--project <name>] # Post-processing style pass
69
-
70
- sdlab snapshot create [--profile <name>] # Create frozen dataset snapshot
71
- sdlab snapshot list # List all snapshots
72
- sdlab snapshot diff <a> <b> # Compare two snapshots
73
- sdlab eligibility audit # Audit record training eligibility
74
- sdlab split build [--snapshot <id>] # Build train/val/test split
75
- sdlab split audit <id> # Audit split for leakage + balance
76
- sdlab card generate # Generate dataset card (md + JSON)
77
- sdlab export build [--snapshot <id>] # Build versioned export package
78
- sdlab eval-pack build # Build canon-aware eval pack
38
+ # Build a training package and close the loop
39
+ sdlab training-manifest create --profile character-style-lora
40
+ sdlab training-package build
41
+ sdlab eval-run create && sdlab eval-run score <id> --outputs results.jsonl
42
+ sdlab reingest generated --source ./outputs --manifest <id>
79
43
  ```
80
44
 
81
- すべてのコマンドは、`--project <名前>`(デフォルト:`star-freight`)を受け入れます。
45
+ 最後のコマンドが重要な点です。生成された出力も、他のものと同様に、同じ審査プロセスを経ます。これにより、一連の作業が完了し、サイクルが閉じます。
82
46
 
83
- ## プロジェクトモデル
47
+ ## それが生成するものは何か
84
48
 
85
- 各プロジェクトは、`projects/`ディレクトリ内の自己完結型のディレクトリであり、独自の規定、設定、およびデータが含まれています。
49
+ バージョン管理された7つのデータセットがあり、それぞれにチェックサムが付与されています。各データセットは、その前のバージョンとリンクされており、これにより、どのトレーニング記録も、それを承認したルールまで遡って追跡することができます。
86
50
 
87
- ```
88
- projects/
89
- my-project/
90
- project.json Project identity + generation defaults
91
- constitution.json Rules array with rationale templates
92
- lanes.json Subject lanes with detection patterns
93
- rubric.json Scoring dimensions + thresholds
94
- terminology.json Group vocabulary + detection order
95
- canon/ Style constitution (markdown)
96
- records/ Per-asset JSON (provenance + judgment + canon)
97
- inputs/prompts/ Prompt packs (JSON)
98
- outputs/ Generated images (gitignored)
99
- comparisons/ A-vs-B preference judgments
100
- snapshots/ Frozen dataset snapshots
101
- splits/ Train/val/test partitions
102
- exports/ Versioned export packages
103
- eval-packs/ Canon-aware eval instruments
104
- ```
51
+ | 成果物 | 内容 |
52
+ |----------|-----------|
53
+ | **Snapshot** | 設定情報と合わせて、一度記録されたデータは固定され、変更されません。すべてのデータには、そのデータが記録された理由が明示的に記載されています。 |
54
+ | **Split** | 学習データ、検証データ、テストデータに分割する際、対象となる家族がデータセットの境界線をまたがないようにする。 |
55
+ | **Export package** | 自己完結型のデータセット:マニフェスト、メタデータ、画像、分割データ、データセットの説明、およびチェックサム。 |
56
+ | **Eval pack** | 規定に準拠した検証タスク:表現の網羅性、許容されない変化、基準/正解データ、対象の一貫性。 |
57
+ | **Training package** | アダプター(`diffusers-lora`、`generic-image-caption`)を使用することで、トレーニングに適した構成にすることができます。同じ原理に基づいているものの、形式が異なります。 |
58
+ | **Eval scorecard** | 各タスクごとに、評価データセットと照合して生成された結果に基づいて、合格/不合格を判定します。 |
59
+ | **Implementation pack** | プロンプトの例、既知の問題点、動作確認テスト、および再取り込みに関する手順。 |
105
60
 
106
- ## パイプライン
61
+ ## なぜこれが存在するのか
107
62
 
108
- ```
109
- canon → generate → curate → bind → snapshot → split → export → eval
110
- | | | | | | | |
111
- rules ComfyUI judgment rules frozen subject package verify
112
- selection isolation
113
- ```
63
+ トレーニングデータは、あらゆる画像認識AIのパイプラインにおいて、最も重要な要素です。しかし、多くのトレーニングデータは、履歴や判断の記録が一切なく、また、本来従うべきスタイルルールとの関連性も欠けている、単なる画像ファイル群に過ぎません。
114
64
 
115
- 1. **規定の定義 (Define canon)**:スタイル規定とレビュー基準を記述します。
116
- 2. **生成 (Generate)**:ComfyUIが、完全な生成履歴を持つ候補データを生成します。
117
- 3. **選別 (Curate)**:各評価項目のスコアと、失敗モードに基づいて、承認または拒否を行います。
118
- 4. **関連付け (Bind)**:各データと、規定への適合性(適合/不適合/部分適合)を関連付けます。
119
- 5. **スナップショット (Snapshot)**:選択されたデータレコードを、不変で、フィンガープリントが付与された状態で凍結します。
120
- 6. **分割 (Split)**:対象の分離と、表現のバランスを考慮して、トレーニングデータ/検証データ/テストデータに分割します。
121
- 7. **エクスポート (Export)**:マニフェスト、メタデータ、画像、およびチェックサムを含む、自己完結型のパッケージを構築します。
122
- 8. **評価 (Eval)**:モデル検証のための、規定に準拠したテストツールを生成します。
65
+ Style Dataset Labは、これらの要素間の関連性を明確に示します。あなたの規定はルールを定義し、評価基準は評価の基準を定義します。キュレーション記録は判断を記録し、規範文書は関連性を証明します。そして、あなたのデータセットは、これらの要素を構造化された、検索可能で、再現可能な真実として体系的にまとめて提供します。
123
66
 
124
- 下流のフォーマット変換(TRL、LLaVA、Parquetなど)は、[`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset)によって処理されます。`sdlab`がデータセットの真実性を管理し、`repo-dataset`がそれを特殊なフォーマットに変換します。
67
+ 具体的な結果として、LoRAモデルの性能が低下した場合、「なぜ」その原因を特定できます。また、次の学習ラウンドでより良いデータが必要になった場合、どのデータがわずかに基準に達していないのか、そしてそれがどの特定のルールに違反しているのかを正確に把握できます。さらに、新しいチームメンバーがプロジェクトのビジュアル表現について質問された場合、答えはFigmaのボードではなく、1,182の評価済みサンプルを含む、検索可能な規定書となります。
125
68
 
126
- ## ドメインテンプレート
69
+ ## 5つの分野、そして明確なルール
127
70
 
128
- 各ドメインテンプレートには、表現の定義、規定、評価基準、および、その制作コンテキストに合わせた用語構造が含まれています。
71
+ これは単なるプレースホルダーのテンプレートではありません。各分野には、実用レベルの構成ルール、レーン定義、採点基準、および関連語彙が用意されています。
129
72
 
130
- | ドメイン | 表現 | 主要な考慮事項 |
131
- |--------|-------|-------------|
132
- | **game-art** | キャラクター、環境、小道具、UI、船、内装、装備 | ゲームプレイ時のシルエット、派閥の区別、摩耗/経年劣化 |
133
- | **character-design** | ポートレート、全身像、アングル図、表情シート、アクションポーズ | プロポーションの正確性、衣装の論理性、キャラクターの表現、ジェスチャーの明瞭さ |
134
- | **creature-design** | コンセプト、正投影図、詳細図、アクション、スケール参照、生息地 | 解剖学的な妥当性、進化論的な論理性、シルエットの区別 |
135
- | **architecture** | 外観、内装、街並み、構造の詳細、廃墟、風景 | 構造的な妥当性、素材の一貫性、遠近感、時代への適合性 |
73
+ | ドメイン | 表現 | 何が評価されるのか。 |
74
+ |--------|-------|-----------------|
75
+ | **game-art** | キャラクター、環境、小道具、UI、船、内装、装備 | ゲームプレイ時の外観、派閥ごとの特徴、使用感、経年劣化。 |
76
+ | **character-design** | ポートレート、全身像、アングル図、表情シート、アクションポーズ | プロポーション、衣装の合理性、人物の性格、身振り手振りの表現力。 |
77
+ | **creature-design** | コンセプト、正投影図、詳細図、アクション、スケール参照、生息地 | 解剖学的構造、進化論的な論理、シルエットの識別。 |
78
+ | **architecture** | 外観、内装、街並み、構造の詳細、廃墟、風景 | 構造、素材の一貫性、視点、時代背景との整合性。 |
136
79
  | **vehicle-mech** | 外観、コックピット、コンポーネント、設計図、シルエット図、損傷バリエーション | 機械的なロジック、機能的なデザイン言語、アクセスポイント、損害状況の説明 |
137
80
 
138
- ## データセットの生成
81
+ ## プロジェクトの構成
139
82
 
140
- データセット全体の構成:スナップショット、分割、エクスポート、評価。
83
+ 各プロジェクトは独立した構成になっています。5つのJSON設定ファイルがルールを定義し、それ以外の部分はすべてデータです。
141
84
 
142
85
  ```
143
- snapshot --> split --> export --> eval-pack
144
- | | | |
145
- frozen subject package canon-aware
146
- selection isolation (manifest, test instruments
147
- + lane metadata, (4 task types)
148
- balance images,
149
- checksums,
150
- card)
86
+ projects/my-project/
87
+ project.json Identity + generation defaults
88
+ constitution.json Rules with rationale templates
89
+ lanes.json Subject lanes with detection patterns
90
+ rubric.json Scoring dimensions + thresholds
91
+ terminology.json Group vocabulary + detection order
92
+ records/ Per-asset JSON (provenance + judgment + canon)
93
+ snapshots/ Frozen dataset snapshots
94
+ splits/ Train/val/test partitions
95
+ exports/ Versioned export packages
96
+ training/ Profiles, manifests, packages, eval runs, implementations
151
97
  ```
152
98
 
153
- **スナップショット**は、選択されたレコードを決定的に固定します。すべてのデータは、その理由が追跡可能です。設定のフィンガープリントにより、再現性が確保されます。
99
+ ## 信託財産
154
100
 
155
- **分割**は、レコードをトレーニング用、検証用、テスト用のデータセットに割り当てます。この際、被験者の同一性が保たれ(同じ被験者のデータが複数の分割に属さない)、各分割におけるデータのバランスが調整されます。シード値が設定された疑似乱数生成器を使用することで、同じシード値を使用した場合、常に同じ結果が得られます。
101
+ これらは目標や理想ではなく、義務として定められています。
156
102
 
157
- **エクスポートパッケージ**は、すべてが完結したパッケージです。内容:マニフェスト、metadata.jsonl、画像(シンボリックリンクまたはコピー)、分割データ、データセットの説明(Markdown形式とJSON形式)、およびBSD形式のチェックサム。データセットを最初から再構築するために必要なものがすべて含まれています。
103
+ - **スナップショットは不変です。** 設定のフィンガープリント(SHA-256)は、何も変更されていないことを証明します。
104
+ - **分割によって情報漏洩を防ぎます。** データセット(ID、系統、またはIDの末尾による分類)は、パーティションの境界を越えることはありません。
105
+ - **マニフェストは固定された契約です。** エクスポートのハッシュ値と設定のフィンガープリントを含みます。 何か変更があった場合は、新しいものを新たに作成してください。
106
+ - **アダプターは真実を改変できません。** レイアウトは異なる場合でも、同じレコードが含まれます。 追加、削除、再分類は一切ありません。
107
+ - **生成された出力は、必ずレビュープロセスを経て再利用されます。** スキップすることはできません。 他のデータと同様に、キュレーションと紐付けを行います。
158
108
 
159
- **評価パッケージ**は、基準に準拠したテストツールであり、4つのタスクタイプ(レーンカバレッジ、禁止ドリフト、アンカー/ゴールド、被験者の一貫性)が含まれています。これにより、データセットの構成が、単にファイルをダンプするだけでなく、将来のモデル評価に役立つことを証明します。
109
+ ## スターフレイト
160
110
 
161
- `repo-dataset` ([https://github.com/mcp-tool-shop-org/repo-dataset](https://github.com/mcp-tool-shop-org/repo-dataset)) を使用して、下流の形式にエクスポートします(TRL、LLaVA、Qwen2-VL、JSONL、Parquetなど)。`repo-dataset` が形式の変換を処理し、`sdlab` がデータセットの正確性を保証します。
162
-
163
- ## Star Freightの例
164
-
165
- 完全な動作例については、リポジトリをクローンしてください。1,182件のレコード、28種類のプロンプト、5つの派閥、7つのレーン、24の憲法ルール、および、ハードなSF RPGから抽出された892件の承認済みアセットが含まれています。
111
+ このリポジトリには、完全で動作するサンプルが含まれています。具体的には、1,182件のデータ、5つの派閥、7つのルート、24個の憲法ルール、892個の承認済みアセット、および2つのトレーニングプロファイルが含まれています。これは、徹底的にキュレーションされた、ハードなSF RPGのビジュアル表現です。
166
112
 
167
113
  ```bash
168
114
  git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
169
115
  cd style-dataset-lab
170
-
171
- # Validate the project
172
116
  sdlab project doctor --project star-freight
173
-
174
- # Run the full dataset spine
175
- sdlab snapshot create --project star-freight # 839 eligible records
176
- sdlab split build --project star-freight # ~80/10/10, zero leakage
177
- sdlab export build --project star-freight # package with checksums
178
- sdlab eval-pack build --project star-freight # 78 eval records
117
+ sdlab snapshot create --project star-freight # 839 eligible records
118
+ sdlab split build --project star-freight # zero subject leakage
179
119
  ```
180
120
 
181
- ## v1.xからの移行
121
+ ## 対応形式
182
122
 
183
- v2.0では、`games/`が`projects/`に、`--game`が`--project`に変更されました。
123
+ `sdlab` がこのデータセットを所有しています。フォーマット変換は、[`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) によって処理されます。対応形式は、TRL、LLaVA、Qwen2-VL、JSONL、Parquetなどです。`repo-dataset` はデータのレンダリングを担当し、データの取り込みに関する判断は行いません。
184
124
 
185
- ```bash
186
- # Rename your data directory
187
- mv games projects
125
+ ## インストール
188
126
 
189
- # --game still works with a deprecation warning (removed in v3.0)
190
- sdlab bind --game star-freight # works, prints warning
191
- sdlab bind --project star-freight # canonical form
127
+ ```bash
128
+ npm install -g @mcptoolshop/style-dataset-lab
192
129
  ```
193
130
 
194
- ## セキュリティモデル
195
-
196
- **ローカル環境のみ。** `localhost:8188`で動作するComfyUIと通信します。テレメトリー、分析、外部へのリクエストは一切ありません。画像は、あなたのGPUとファイルシステムにのみ保存されます。
131
+ 生成には、Node.js 20以降のバージョンと、ローカルホストの8188番ポートで動作している [ComfyUI](https://github.com/comfyanonymous/ComfyUI) が必要です。
197
132
 
198
- ## 必要なもの
133
+ ## セキュリティ
199
134
 
200
- - `localhost:8188`で動作する[ComfyUI](https://github.com/comfyanonymous/ComfyUI)
201
- - DreamShaper XL Turbo チェックポイント + ClassipeintXL LoRA
202
- - Node.js 20以上
203
- - トレーニング用エクスポートのための[`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset)
135
+ ローカル環境でのみ動作します。テレメトリー、分析、外部へのリクエストは一切ありません。画像はすべて、あなたのGPUとファイルシステム内に保存されます。
204
136
 
205
137
  ## ライセンス
206
138