@sprite-foundry/fantasy-villains-48 1.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 (216) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/LICENSE +21 -0
  3. package/README.md +150 -0
  4. package/assets/assassin/albedo/back.png +0 -0
  5. package/assets/assassin/albedo/back_left.png +0 -0
  6. package/assets/assassin/albedo/back_right.png +0 -0
  7. package/assets/assassin/albedo/front.png +0 -0
  8. package/assets/assassin/albedo/front_left.png +0 -0
  9. package/assets/assassin/albedo/front_right.png +0 -0
  10. package/assets/assassin/albedo/left.png +0 -0
  11. package/assets/assassin/albedo/right.png +0 -0
  12. package/assets/assassin/depth/back.png +0 -0
  13. package/assets/assassin/depth/back_left.png +0 -0
  14. package/assets/assassin/depth/back_right.png +0 -0
  15. package/assets/assassin/depth/front.png +0 -0
  16. package/assets/assassin/depth/front_left.png +0 -0
  17. package/assets/assassin/depth/front_right.png +0 -0
  18. package/assets/assassin/depth/left.png +0 -0
  19. package/assets/assassin/depth/right.png +0 -0
  20. package/assets/assassin/manifest.json +77 -0
  21. package/assets/assassin/normal/back.png +0 -0
  22. package/assets/assassin/normal/back_left.png +0 -0
  23. package/assets/assassin/normal/back_right.png +0 -0
  24. package/assets/assassin/normal/front.png +0 -0
  25. package/assets/assassin/normal/front_left.png +0 -0
  26. package/assets/assassin/normal/front_right.png +0 -0
  27. package/assets/assassin/normal/left.png +0 -0
  28. package/assets/assassin/normal/right.png +0 -0
  29. package/assets/assassin/preview/contact_sheet.png +0 -0
  30. package/assets/blackguard/albedo/back.png +0 -0
  31. package/assets/blackguard/albedo/back_left.png +0 -0
  32. package/assets/blackguard/albedo/back_right.png +0 -0
  33. package/assets/blackguard/albedo/front.png +0 -0
  34. package/assets/blackguard/albedo/front_left.png +0 -0
  35. package/assets/blackguard/albedo/front_right.png +0 -0
  36. package/assets/blackguard/albedo/left.png +0 -0
  37. package/assets/blackguard/albedo/right.png +0 -0
  38. package/assets/blackguard/depth/back.png +0 -0
  39. package/assets/blackguard/depth/back_left.png +0 -0
  40. package/assets/blackguard/depth/back_right.png +0 -0
  41. package/assets/blackguard/depth/front.png +0 -0
  42. package/assets/blackguard/depth/front_left.png +0 -0
  43. package/assets/blackguard/depth/front_right.png +0 -0
  44. package/assets/blackguard/depth/left.png +0 -0
  45. package/assets/blackguard/depth/right.png +0 -0
  46. package/assets/blackguard/manifest.json +77 -0
  47. package/assets/blackguard/normal/back.png +0 -0
  48. package/assets/blackguard/normal/back_left.png +0 -0
  49. package/assets/blackguard/normal/back_right.png +0 -0
  50. package/assets/blackguard/normal/front.png +0 -0
  51. package/assets/blackguard/normal/front_left.png +0 -0
  52. package/assets/blackguard/normal/front_right.png +0 -0
  53. package/assets/blackguard/normal/left.png +0 -0
  54. package/assets/blackguard/normal/right.png +0 -0
  55. package/assets/blackguard/preview/contact_sheet.png +0 -0
  56. package/assets/cult-priest/albedo/back.png +0 -0
  57. package/assets/cult-priest/albedo/back_left.png +0 -0
  58. package/assets/cult-priest/albedo/back_right.png +0 -0
  59. package/assets/cult-priest/albedo/front.png +0 -0
  60. package/assets/cult-priest/albedo/front_left.png +0 -0
  61. package/assets/cult-priest/albedo/front_right.png +0 -0
  62. package/assets/cult-priest/albedo/left.png +0 -0
  63. package/assets/cult-priest/albedo/right.png +0 -0
  64. package/assets/cult-priest/depth/back.png +0 -0
  65. package/assets/cult-priest/depth/back_left.png +0 -0
  66. package/assets/cult-priest/depth/back_right.png +0 -0
  67. package/assets/cult-priest/depth/front.png +0 -0
  68. package/assets/cult-priest/depth/front_left.png +0 -0
  69. package/assets/cult-priest/depth/front_right.png +0 -0
  70. package/assets/cult-priest/depth/left.png +0 -0
  71. package/assets/cult-priest/depth/right.png +0 -0
  72. package/assets/cult-priest/manifest.json +77 -0
  73. package/assets/cult-priest/normal/back.png +0 -0
  74. package/assets/cult-priest/normal/back_left.png +0 -0
  75. package/assets/cult-priest/normal/back_right.png +0 -0
  76. package/assets/cult-priest/normal/front.png +0 -0
  77. package/assets/cult-priest/normal/front_left.png +0 -0
  78. package/assets/cult-priest/normal/front_right.png +0 -0
  79. package/assets/cult-priest/normal/left.png +0 -0
  80. package/assets/cult-priest/normal/right.png +0 -0
  81. package/assets/cult-priest/preview/contact_sheet.png +0 -0
  82. package/assets/dark-monk/albedo/back.png +0 -0
  83. package/assets/dark-monk/albedo/back_left.png +0 -0
  84. package/assets/dark-monk/albedo/back_right.png +0 -0
  85. package/assets/dark-monk/albedo/front.png +0 -0
  86. package/assets/dark-monk/albedo/front_left.png +0 -0
  87. package/assets/dark-monk/albedo/front_right.png +0 -0
  88. package/assets/dark-monk/albedo/left.png +0 -0
  89. package/assets/dark-monk/albedo/right.png +0 -0
  90. package/assets/dark-monk/depth/back.png +0 -0
  91. package/assets/dark-monk/depth/back_left.png +0 -0
  92. package/assets/dark-monk/depth/back_right.png +0 -0
  93. package/assets/dark-monk/depth/front.png +0 -0
  94. package/assets/dark-monk/depth/front_left.png +0 -0
  95. package/assets/dark-monk/depth/front_right.png +0 -0
  96. package/assets/dark-monk/depth/left.png +0 -0
  97. package/assets/dark-monk/depth/right.png +0 -0
  98. package/assets/dark-monk/manifest.json +77 -0
  99. package/assets/dark-monk/normal/back.png +0 -0
  100. package/assets/dark-monk/normal/back_left.png +0 -0
  101. package/assets/dark-monk/normal/back_right.png +0 -0
  102. package/assets/dark-monk/normal/front.png +0 -0
  103. package/assets/dark-monk/normal/front_left.png +0 -0
  104. package/assets/dark-monk/normal/front_right.png +0 -0
  105. package/assets/dark-monk/normal/left.png +0 -0
  106. package/assets/dark-monk/normal/right.png +0 -0
  107. package/assets/dark-monk/preview/contact_sheet.png +0 -0
  108. package/assets/dread-ranger/albedo/back.png +0 -0
  109. package/assets/dread-ranger/albedo/back_left.png +0 -0
  110. package/assets/dread-ranger/albedo/back_right.png +0 -0
  111. package/assets/dread-ranger/albedo/front.png +0 -0
  112. package/assets/dread-ranger/albedo/front_left.png +0 -0
  113. package/assets/dread-ranger/albedo/front_right.png +0 -0
  114. package/assets/dread-ranger/albedo/left.png +0 -0
  115. package/assets/dread-ranger/albedo/right.png +0 -0
  116. package/assets/dread-ranger/depth/back.png +0 -0
  117. package/assets/dread-ranger/depth/back_left.png +0 -0
  118. package/assets/dread-ranger/depth/back_right.png +0 -0
  119. package/assets/dread-ranger/depth/front.png +0 -0
  120. package/assets/dread-ranger/depth/front_left.png +0 -0
  121. package/assets/dread-ranger/depth/front_right.png +0 -0
  122. package/assets/dread-ranger/depth/left.png +0 -0
  123. package/assets/dread-ranger/depth/right.png +0 -0
  124. package/assets/dread-ranger/manifest.json +77 -0
  125. package/assets/dread-ranger/normal/back.png +0 -0
  126. package/assets/dread-ranger/normal/back_left.png +0 -0
  127. package/assets/dread-ranger/normal/back_right.png +0 -0
  128. package/assets/dread-ranger/normal/front.png +0 -0
  129. package/assets/dread-ranger/normal/front_left.png +0 -0
  130. package/assets/dread-ranger/normal/front_right.png +0 -0
  131. package/assets/dread-ranger/normal/left.png +0 -0
  132. package/assets/dread-ranger/normal/right.png +0 -0
  133. package/assets/dread-ranger/preview/contact_sheet.png +0 -0
  134. package/assets/necromancer/albedo/back.png +0 -0
  135. package/assets/necromancer/albedo/back_left.png +0 -0
  136. package/assets/necromancer/albedo/back_right.png +0 -0
  137. package/assets/necromancer/albedo/front.png +0 -0
  138. package/assets/necromancer/albedo/front_left.png +0 -0
  139. package/assets/necromancer/albedo/front_right.png +0 -0
  140. package/assets/necromancer/albedo/left.png +0 -0
  141. package/assets/necromancer/albedo/right.png +0 -0
  142. package/assets/necromancer/depth/back.png +0 -0
  143. package/assets/necromancer/depth/back_left.png +0 -0
  144. package/assets/necromancer/depth/back_right.png +0 -0
  145. package/assets/necromancer/depth/front.png +0 -0
  146. package/assets/necromancer/depth/front_left.png +0 -0
  147. package/assets/necromancer/depth/front_right.png +0 -0
  148. package/assets/necromancer/depth/left.png +0 -0
  149. package/assets/necromancer/depth/right.png +0 -0
  150. package/assets/necromancer/manifest.json +77 -0
  151. package/assets/necromancer/normal/back.png +0 -0
  152. package/assets/necromancer/normal/back_left.png +0 -0
  153. package/assets/necromancer/normal/back_right.png +0 -0
  154. package/assets/necromancer/normal/front.png +0 -0
  155. package/assets/necromancer/normal/front_left.png +0 -0
  156. package/assets/necromancer/normal/front_right.png +0 -0
  157. package/assets/necromancer/normal/left.png +0 -0
  158. package/assets/necromancer/normal/right.png +0 -0
  159. package/assets/necromancer/preview/contact_sheet.png +0 -0
  160. package/assets/reaver/albedo/back.png +0 -0
  161. package/assets/reaver/albedo/back_left.png +0 -0
  162. package/assets/reaver/albedo/back_right.png +0 -0
  163. package/assets/reaver/albedo/front.png +0 -0
  164. package/assets/reaver/albedo/front_left.png +0 -0
  165. package/assets/reaver/albedo/front_right.png +0 -0
  166. package/assets/reaver/albedo/left.png +0 -0
  167. package/assets/reaver/albedo/right.png +0 -0
  168. package/assets/reaver/depth/back.png +0 -0
  169. package/assets/reaver/depth/back_left.png +0 -0
  170. package/assets/reaver/depth/back_right.png +0 -0
  171. package/assets/reaver/depth/front.png +0 -0
  172. package/assets/reaver/depth/front_left.png +0 -0
  173. package/assets/reaver/depth/front_right.png +0 -0
  174. package/assets/reaver/depth/left.png +0 -0
  175. package/assets/reaver/depth/right.png +0 -0
  176. package/assets/reaver/manifest.json +77 -0
  177. package/assets/reaver/normal/back.png +0 -0
  178. package/assets/reaver/normal/back_left.png +0 -0
  179. package/assets/reaver/normal/back_right.png +0 -0
  180. package/assets/reaver/normal/front.png +0 -0
  181. package/assets/reaver/normal/front_left.png +0 -0
  182. package/assets/reaver/normal/front_right.png +0 -0
  183. package/assets/reaver/normal/left.png +0 -0
  184. package/assets/reaver/normal/right.png +0 -0
  185. package/assets/reaver/preview/contact_sheet.png +0 -0
  186. package/assets/warlord/albedo/back.png +0 -0
  187. package/assets/warlord/albedo/back_left.png +0 -0
  188. package/assets/warlord/albedo/back_right.png +0 -0
  189. package/assets/warlord/albedo/front.png +0 -0
  190. package/assets/warlord/albedo/front_left.png +0 -0
  191. package/assets/warlord/albedo/front_right.png +0 -0
  192. package/assets/warlord/albedo/left.png +0 -0
  193. package/assets/warlord/albedo/right.png +0 -0
  194. package/assets/warlord/depth/back.png +0 -0
  195. package/assets/warlord/depth/back_left.png +0 -0
  196. package/assets/warlord/depth/back_right.png +0 -0
  197. package/assets/warlord/depth/front.png +0 -0
  198. package/assets/warlord/depth/front_left.png +0 -0
  199. package/assets/warlord/depth/front_right.png +0 -0
  200. package/assets/warlord/depth/left.png +0 -0
  201. package/assets/warlord/depth/right.png +0 -0
  202. package/assets/warlord/manifest.json +77 -0
  203. package/assets/warlord/normal/back.png +0 -0
  204. package/assets/warlord/normal/back_left.png +0 -0
  205. package/assets/warlord/normal/back_right.png +0 -0
  206. package/assets/warlord/normal/front.png +0 -0
  207. package/assets/warlord/normal/front_left.png +0 -0
  208. package/assets/warlord/normal/front_right.png +0 -0
  209. package/assets/warlord/normal/left.png +0 -0
  210. package/assets/warlord/normal/right.png +0 -0
  211. package/assets/warlord/preview/contact_sheet.png +0 -0
  212. package/pack.json +18 -0
  213. package/package.json +44 -0
  214. package/previews/banner.png +0 -0
  215. package/previews/lineup.png +0 -0
  216. package/previews/logo.png +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,22 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.0.0] — 2026-03-26
9
+
10
+ ### Added
11
+
12
+ - 8 villain archetypes: Blackguard, Dread Ranger, Necromancer, Assassin, Cult Priest, Reaver, Warlord, Dark Monk
13
+ - 8 directions per variant (front, front_left, left, back_left, back, back_right, right, front_right)
14
+ - 3 layers per direction: albedo, normal map, depth map
15
+ - 192 total sprite assets (8 variants × 8 directions × 3 layers)
16
+ - Pack-level index (`pack.json`) and per-variant manifests with SHA-256 checksums
17
+ - Contact sheet previews per variant
18
+ - Lineup and banner preview composites
19
+ - Asset verification script (`npm run verify`)
20
+ - Landing page with Starlight handbook (4 pages)
21
+ - SECURITY.md with static-asset threat model
22
+ - CI workflow (paths-gated)
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 MCP Tool Shop
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,150 @@
1
+ <p align="center">
2
+ <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/fantasy-villains-sprite-pack/readme.png" width="400" alt="Fantasy Villains" />
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="https://github.com/mcp-tool-shop-org/fantasy-villains-sprite-pack/actions"><img src="https://github.com/mcp-tool-shop-org/fantasy-villains-sprite-pack/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
11
+ <a href="https://www.npmjs.com/package/@sprite-foundry/fantasy-villains-48"><img src="https://img.shields.io/npm/v/@sprite-foundry/fantasy-villains-48" alt="npm version" /></a>
12
+ <a href="https://github.com/mcp-tool-shop-org/fantasy-villains-sprite-pack/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License" /></a>
13
+ <a href="https://mcp-tool-shop-org.github.io/fantasy-villains-sprite-pack/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page" /></a>
14
+ </p>
15
+
16
+ A 48px, 8-direction pixel-art pack of boss-ready humanoid antagonists with albedo, normal, and depth maps for engine-agnostic game use.
17
+
18
+ ![Fantasy Villains Banner](previews/banner.png)
19
+
20
+ ## What's Included
21
+
22
+ 8 villain archetypes — elite humanoid antagonists, not generic monsters:
23
+
24
+ ![Variant Lineup](previews/lineup.png)
25
+
26
+ | Variant | Role | Silhouette |
27
+ |---------|------|------------|
28
+ | Blackguard | Elite tank | Closed dark helm, tower shield, spiked mace, black plate |
29
+ | Dread Ranger | Ranged hunter | Skull mask over hood, longbow, bone trophies, tattered cloak |
30
+ | Necromancer | Summoner/caster | Bone crown, skull staff, tattered robes, gaunt frame |
31
+ | Assassin | Flanker | Face mask, curved daggers, vial bandolier, compact crouched posture |
32
+ | Cult Priest | Support/debuffer | Horned headdress, censer on chain, structured red/black vestments |
33
+ | Reaver | Heavy damage | Executioner's cleaver, half-mask, bare scarred torso, widest villain |
34
+ | Warlord | Commander | Crown-helm with plume, halberd, banner on back, ornate gold/red armor |
35
+ | Dark Monk | Fast specialist | Shaved tattooed head, chain-weighted staff, metal-studded wraps |
36
+
37
+ Each variant ships with three map layers:
38
+
39
+ - **Albedo** — base color sprites (transparent PNG)
40
+ - **Normal** — normal maps for dynamic lighting
41
+ - **Depth** — depth maps for parallax and elevation effects
42
+
43
+ ## Install
44
+
45
+ ```bash
46
+ npm install @sprite-foundry/fantasy-villains-48
47
+ ```
48
+
49
+ ## Folder Structure
50
+
51
+ ```
52
+ assets/
53
+ blackguard/
54
+ albedo/ 8 directional PNGs (front, front_left, left, back_left, back, back_right, right, front_right)
55
+ normal/ 8 matching normal maps
56
+ depth/ 8 matching depth maps
57
+ preview/ contact sheet
58
+ manifest.json
59
+ dread-ranger/
60
+ necromancer/
61
+ assassin/
62
+ cult-priest/
63
+ reaver/
64
+ warlord/
65
+ dark-monk/
66
+ pack.json pack-level index
67
+ previews/ banner and lineup sheets
68
+ ```
69
+
70
+ ## Manifest Format
71
+
72
+ Each variant has a `manifest.json`:
73
+
74
+ ```json
75
+ {
76
+ "slug": "blackguard",
77
+ "name": "Blackguard",
78
+ "version": "1.0.0",
79
+ "tileSize": 48,
80
+ "directions": ["front", "front_left", "left", "back_left", "back", "back_right", "right", "front_right"],
81
+ "layers": {
82
+ "albedo": "albedo/{direction}.png",
83
+ "normal": "normal/{direction}.png",
84
+ "depth": "depth/{direction}.png"
85
+ },
86
+ "preview": "preview/contact_sheet.png"
87
+ }
88
+ ```
89
+
90
+ The pack-level `pack.json` indexes all variants with paths to each manifest.
91
+
92
+ ## Engine Compatibility
93
+
94
+ These are plain PNG files with JSON metadata. They work with any engine or framework that can load images:
95
+
96
+ - Phaser
97
+ - PixiJS
98
+ - Godot
99
+ - RPG Maker
100
+ - Unity (2D)
101
+ - Custom engines
102
+
103
+ No engine-specific format or runtime dependency.
104
+
105
+ ## Specs
106
+
107
+ - **Tile size:** 48 x 48 px
108
+ - **Directions:** 8 (front, front_left, left, back_left, back, back_right, right, front_right)
109
+ - **Format:** transparent PNG
110
+ - **Maps:** albedo + normal + depth
111
+ - **Animation:** static poses (v1)
112
+ - **Perspective:** top-down
113
+
114
+ ## Extending the Pack
115
+
116
+ Want to generate additional villain variants that match this pack's art style and export contract?
117
+
118
+ This pack was produced with [Sprite Foundry](https://github.com/mcp-tool-shop-org/sprite-foundry), an open-source ComfyUI + SDXL pixel-art generation pipeline. The foundry repo contains everything you need:
119
+
120
+ - **Generation pipeline** — `pipeline/foundry_gen.py` drives ComfyUI with per-subject configs
121
+ - **Subject configs** — `pipeline/chars/villain_*.json` define the exact prompts, seeds, silhouette rules, and reject conditions for every variant in this pack
122
+ - **Batch manifest** — `pipeline/manifests/fantasy_villains_04.json` maps all 8 configs to the export structure
123
+ - **Export CLI** — `foundry export <run_id>` produces deterministic packs with checksums
124
+ - **ControlNet tuning** — humanoid depth strength 0.60, end% 0.85 (documented in the manifest)
125
+
126
+ To add a new variant:
127
+
128
+ 1. Create a subject config in `pipeline/chars/` following the existing villain configs
129
+ 2. Register: `python -m foundry.cli subject-add <id> --name "Name"`
130
+ 3. Generate: `python -m pipeline.foundry_gen --config pipeline/chars/<config>.json`
131
+ 4. Review, accept, produce maps, accept finish, export
132
+ 5. Copy the exported pack into the matching `assets/<slug>/` directory
133
+
134
+ The [Sprite Foundry README](https://github.com/mcp-tool-shop-org/sprite-foundry#readme) has the full pipeline walkthrough.
135
+
136
+ ## Security
137
+
138
+ This package contains **only static PNG images and JSON metadata**. There is no executable code, no install hooks, no network access, and no telemetry. Assets are read-only by design.
139
+
140
+ See [SECURITY.md](SECURITY.md) for the full security policy.
141
+
142
+ ## License
143
+
144
+ MIT — use in commercial and non-commercial projects.
145
+
146
+ ## Credits
147
+
148
+ Generated with [Sprite Foundry](https://github.com/mcp-tool-shop-org/sprite-foundry) using ComfyUI + SDXL pixel-art pipeline.
149
+
150
+ Built by <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,77 @@
1
+ {
2
+ "schema_version": "1.0.0",
3
+ "exported_at": "2026-03-26T21:20:59.730428+00:00",
4
+ "foundry_version": "90ef703",
5
+ "identity": {
6
+ "subject_slug": "villain_assassin",
7
+ "display_name": "Assassin",
8
+ "body_family": "bipedal"
9
+ },
10
+ "provenance": {
11
+ "run_id": "villain_assassin_p3_20260326_205507",
12
+ "seed": 812000,
13
+ "generated_at": "2026-03-26T20:56:02.372442+00:00",
14
+ "accepted_at": "2026-03-26T20:57:02.470749+00:00",
15
+ "regen_count": 0,
16
+ "reject_count": 0,
17
+ "git_hash": "90ef703"
18
+ },
19
+ "generation": {
20
+ "stack_id": "A_v2",
21
+ "checkpoint": "juggernautXL_ragnarokBy.safetensors",
22
+ "lora": "pixel-art-xl @ 0.85",
23
+ "controlnet_depth": null,
24
+ "controlnet_depth_strength": null,
25
+ "controlnet_depth_end_percent": null,
26
+ "controlnet_edge": null,
27
+ "controlnet_edge_strength": null
28
+ },
29
+ "render_contract": {
30
+ "width": 48,
31
+ "height": 48,
32
+ "direction_order": [
33
+ "front",
34
+ "front_left",
35
+ "left",
36
+ "back_left",
37
+ "back",
38
+ "back_right",
39
+ "right",
40
+ "front_right"
41
+ ],
42
+ "pivot": "center_bottom",
43
+ "transparency": true
44
+ },
45
+ "files": {
46
+ "albedo/front.png": "a5708663ca3557d3f5d14e18dde3eee4d2746d4ff0ce9a6700542d2c5f2d2049",
47
+ "normal/front.png": "2be89c2570b54d389b7d91f9f279a817909e13746fdcdd4b4a1100be9719a34a",
48
+ "depth/front.png": "9973445b0fdc140fdf26efd11c3eb946cbbd8173fbb45bad2cc5b0929f4eeb36",
49
+ "albedo/front_left.png": "080dbda03aaa98c4afe1cb2433973dfb9c8a23631f49568b8190abdf722a54dc",
50
+ "normal/front_left.png": "07185dba5b333433e1f864ac8c6e4f80db9253110dd15dd5697590073dfd26e8",
51
+ "depth/front_left.png": "9db9486776b8fb8029fd0996467f0bb7139039489eee5e6c91b3e8f0e5a4ef41",
52
+ "albedo/left.png": "dd74c63d323ab32b1cc374bcc784adf1788acb4fa6224ad433c9b5d542dbc428",
53
+ "normal/left.png": "ae4cd1cae47ea0c37055d6ac249b6aa41bdd4e38acf7f27c5af66f91cd9ba038",
54
+ "depth/left.png": "3bdde5d2f92597ff5830e58cdaa396b6d54507d5fd7c9eba103bd755c608bd07",
55
+ "albedo/back_left.png": "009932b075ea5e52673287feeccce6a74b02a277d16652ca40b995d6f3df9a01",
56
+ "normal/back_left.png": "8f13ba054f619df419ef4e54cd5e19c71a8fc56bc17b884d9208e1e0494d9a03",
57
+ "depth/back_left.png": "39124fb0b15248efcd9cce69c9b6eb4cdd8c693fbc6f33b191036d64e037486f",
58
+ "albedo/back.png": "3a56c7ed419d767a3572a1558b1cb7b3c5bad1c29ee09b88a158780b1c81cb03",
59
+ "normal/back.png": "1e4144b9b57242559a8744cf05bac28523c4d3d615cefd3c06700dc12588447a",
60
+ "depth/back.png": "884c9ebcd9b72017179eb77fdf82e94f49bc0e87002a8c80560537c9159af2ca",
61
+ "albedo/back_right.png": "2ed5df6a81ce678165243483475dd87c661feb6d74b0f17e02d97d1b90dad1d1",
62
+ "normal/back_right.png": "b2259d5a6f9596d6bab6cb360fb89b2e83d414ec2f3ff03185f4bc2855048b91",
63
+ "depth/back_right.png": "8090d6e16f8eb2f8f2e66bb9ca6c8a5447a1028a484b0b3ba417e96b0c52f888",
64
+ "albedo/right.png": "6d4d48942b6f91d89231da4abb52a85dd045c0a54429ea54561fadbd4af4242f",
65
+ "normal/right.png": "47f4a2a083fe0b0c09d10f3907b39616af12fd4cf31076b431a87e418a94c611",
66
+ "depth/right.png": "fe666d458899410963ee87dd0308817c5ccf8ebf2bfb8919b1c2aa65a1816ef6",
67
+ "albedo/front_right.png": "82a7e982a26d483ae97a7fda820f708f7a09fba3a3d2663384539eae04f54c3a",
68
+ "normal/front_right.png": "ad109eb236f71c769d276bfc8595e6c0073b4229387ccec0d17efa8f3fb1c667",
69
+ "depth/front_right.png": "29602de9f7ea1f8d76e4010cc52d819183e4c7153548a5dfb2721ff7c23a55ce",
70
+ "preview/contact_sheet.png": "ce81037dff39e7641aa948e6394841b2777b0e20fc205cd366dca19cbdb1d577"
71
+ },
72
+ "source": {
73
+ "bakeoff_dir": "bakeoff\\villain_assassin_p3_20260326_205507",
74
+ "maps_dir": "bakeoff\\villain_assassin_p3_20260326_205507_maps"
75
+ },
76
+ "notes": null
77
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,77 @@
1
+ {
2
+ "schema_version": "1.0.0",
3
+ "exported_at": "2026-03-26T21:20:47.165461+00:00",
4
+ "foundry_version": "90ef703",
5
+ "identity": {
6
+ "subject_slug": "villain_blackguard",
7
+ "display_name": "Blackguard",
8
+ "body_family": "bipedal"
9
+ },
10
+ "provenance": {
11
+ "run_id": "villain_blackguard_p3_20260326_204649",
12
+ "seed": 811700,
13
+ "generated_at": "2026-03-26T20:47:43.619466+00:00",
14
+ "accepted_at": "2026-03-26T20:49:08.564348+00:00",
15
+ "regen_count": 0,
16
+ "reject_count": 0,
17
+ "git_hash": "90ef703"
18
+ },
19
+ "generation": {
20
+ "stack_id": "A_v2",
21
+ "checkpoint": "juggernautXL_ragnarokBy.safetensors",
22
+ "lora": "pixel-art-xl @ 0.85",
23
+ "controlnet_depth": null,
24
+ "controlnet_depth_strength": null,
25
+ "controlnet_depth_end_percent": null,
26
+ "controlnet_edge": null,
27
+ "controlnet_edge_strength": null
28
+ },
29
+ "render_contract": {
30
+ "width": 48,
31
+ "height": 48,
32
+ "direction_order": [
33
+ "front",
34
+ "front_left",
35
+ "left",
36
+ "back_left",
37
+ "back",
38
+ "back_right",
39
+ "right",
40
+ "front_right"
41
+ ],
42
+ "pivot": "center_bottom",
43
+ "transparency": true
44
+ },
45
+ "files": {
46
+ "albedo/front.png": "dba63a5888125cb087e29a84ff717a704b7343066bf6b1188aaaf498996167e3",
47
+ "normal/front.png": "ce03bdaf8bc0cbc7e81f1f4e040a9df6783021a9ca5f89f156b86aa951c106bf",
48
+ "depth/front.png": "2087c9a0610d897444fc4dfcd59072a431968a66e5ab01c7cf3764a44a27356b",
49
+ "albedo/front_left.png": "7e89a97654b0347e9cbb9eb206ce469c23fe6a6871a01275f471e44d9791617b",
50
+ "normal/front_left.png": "99c44caad17ba54d9d7287476648a1470dc4971c124890362e64734e68c064b6",
51
+ "depth/front_left.png": "01e6b3a3451cd384f21669fbcf6bbe53bb19d48c741c27a7e4c5ac9991b242d6",
52
+ "albedo/left.png": "61459fbff51e1605220d61b28bc66dc1146d6407dff2b4260cd8be9544334c72",
53
+ "normal/left.png": "3fb94325bf36ef46082d24e3d7302ac4b7d61eef8180c245bd710f5a332eb421",
54
+ "depth/left.png": "7704064d1f784abc1900a094a609d32e394fec742d0c866ad712805250dc10c1",
55
+ "albedo/back_left.png": "2373bc470cd5e27ef08b259b6504c8a0e2786585f5675a1049b9c0a0a2f3ed53",
56
+ "normal/back_left.png": "0825006654b96e00bacfa87cdbbd9cc8809ae436cf45e2bf18657ef0c2661f64",
57
+ "depth/back_left.png": "dab253f5ab6669e3f757ea050b087a9bc57f75caa1adb35b81788b500a272a15",
58
+ "albedo/back.png": "e82850918716a8793a7f5a4be41c19f11af3b03684164cc5c5c1cc38197e5a7c",
59
+ "normal/back.png": "3d1d7c5df2518ead6ec113955a93bcc3de2d24ea03772d8b5e1eea71f90ed20a",
60
+ "depth/back.png": "80d5f8eab4f39e8e10f5445aecd44922aaa0eb82656ac8500f8ddf04c581116b",
61
+ "albedo/back_right.png": "be1443e5818a89d5d12ef8c3a7b2fa2daf4754aa5a258b2c5a354a805be701e8",
62
+ "normal/back_right.png": "59340e3ed64c76c08a0cb7e5eaba901af871dc29ded3d32f446e33cec4cd980f",
63
+ "depth/back_right.png": "031e6d65990fea58bf92178e1d97518aedba20eef183cab73547e82623176d33",
64
+ "albedo/right.png": "48a80ed1ab308610c543b1081fde6534263bf9915655f10b5fe300ff23abd963",
65
+ "normal/right.png": "cfba651209ad22583548659c66f9dcb9ca629a2f3a8694128c27136de5144e1a",
66
+ "depth/right.png": "5f8b08391e88d740c06dc3cd012cc12aa34be43d101618117bb312e8a8ba6113",
67
+ "albedo/front_right.png": "76ae7a4d542b4ca8ed71bbe29226d8d01bd4033d0a40b7f1f54d55e19905e3b4",
68
+ "normal/front_right.png": "0a4750beeb7f2bddf3bb079e5c7a64f908aa949b20a0902462e89fc65654876e",
69
+ "depth/front_right.png": "93c62e9e988f0965a9cc5f81af35eaa94790898c2ffb869252d7030ac8d62522",
70
+ "preview/contact_sheet.png": "d610a3abddd7395ac2d2d4e902009eabc727b256a41268fd3af635e62d796467"
71
+ },
72
+ "source": {
73
+ "bakeoff_dir": "bakeoff\\villain_blackguard_p3_20260326_204649",
74
+ "maps_dir": "bakeoff\\villain_blackguard_p3_20260326_204649_maps"
75
+ },
76
+ "notes": null
77
+ }
@@ -0,0 +1,77 @@
1
+ {
2
+ "schema_version": "1.0.0",
3
+ "exported_at": "2026-03-26T21:20:59.995741+00:00",
4
+ "foundry_version": "90ef703",
5
+ "identity": {
6
+ "subject_slug": "villain_cult_priest",
7
+ "display_name": "Cult Priest",
8
+ "body_family": "bipedal"
9
+ },
10
+ "provenance": {
11
+ "run_id": "villain_cult_priest_p3_20260326_205712",
12
+ "seed": 812100,
13
+ "generated_at": "2026-03-26T20:58:07.042870+00:00",
14
+ "accepted_at": "2026-03-26T20:59:06.578130+00:00",
15
+ "regen_count": 0,
16
+ "reject_count": 0,
17
+ "git_hash": "90ef703"
18
+ },
19
+ "generation": {
20
+ "stack_id": "A_v2",
21
+ "checkpoint": "juggernautXL_ragnarokBy.safetensors",
22
+ "lora": "pixel-art-xl @ 0.85",
23
+ "controlnet_depth": null,
24
+ "controlnet_depth_strength": null,
25
+ "controlnet_depth_end_percent": null,
26
+ "controlnet_edge": null,
27
+ "controlnet_edge_strength": null
28
+ },
29
+ "render_contract": {
30
+ "width": 48,
31
+ "height": 48,
32
+ "direction_order": [
33
+ "front",
34
+ "front_left",
35
+ "left",
36
+ "back_left",
37
+ "back",
38
+ "back_right",
39
+ "right",
40
+ "front_right"
41
+ ],
42
+ "pivot": "center_bottom",
43
+ "transparency": true
44
+ },
45
+ "files": {
46
+ "albedo/front.png": "2a6a840e9b8a1bb134e3f2bda4bd5375cfca15bf26417f95b5e37cd92f1dad7c",
47
+ "normal/front.png": "4fa7a0ddaa2c4a6d999c9c98d5ba7be779d47a6201492b15ecc0ae1cdd0b88e8",
48
+ "depth/front.png": "52ec3619ba45e02470bd61749ddc6956cdb08e120473ab96595acee4b524b59f",
49
+ "albedo/front_left.png": "39a0f513351869442f1be196f5a5f83d71f7ed7ffb496f0f2f491f88606674f0",
50
+ "normal/front_left.png": "ae2c8e20c2bc3c3ee2c3933b2929c34805b9017112d04ccd772d9457678234fb",
51
+ "depth/front_left.png": "9b4a58f850fb38728e94d6dd56e2c361902ba11d70f1c9f346551695446d3cee",
52
+ "albedo/left.png": "7a518adeb6cc7a3722fd03a3b7dd8021d6839c78f4021bfa77f20dbaf9b5bf7c",
53
+ "normal/left.png": "894d3a9c955b158f00db6a8bfed9da6c86dfe6984d13113dc740141b039c00fc",
54
+ "depth/left.png": "0150379e189b165b4965ddcecfaec4ba29e3aef9b7c7d4c5a58de63f4cf70241",
55
+ "albedo/back_left.png": "330b505034dbb8100822c2f6dd26c9e221e0612296fe6dc51eeaa30fef8270d2",
56
+ "normal/back_left.png": "d7cc3c61d56f37f47b754145a9b8e55f17470eb18747ef5b622f23f5608b8362",
57
+ "depth/back_left.png": "014fe64dd8f711e36b42dfb930e59bbebd77f397708676f8b8e8e69607aa1c22",
58
+ "albedo/back.png": "7d8974f3f3365c4d064ca0a0f9d43b011e260bb2aa1d68eeea9e5df2a753e41f",
59
+ "normal/back.png": "3ad84d40f32b6d8be0572b3b48b4106cef7f60127bd0372d248d24dff67db222",
60
+ "depth/back.png": "b24913010971a6a8a801e637c65f0e0ff87e24cb48b2b3a6007788fae6fc18ba",
61
+ "albedo/back_right.png": "4a41c80ee12203af8cc1f147cab4321527e18ab2f3286457dfce4bdbd26a47e2",
62
+ "normal/back_right.png": "07088f547d947c58c0cb0250be0c50a45e8deee7637e1f198814f1af6990ab85",
63
+ "depth/back_right.png": "c2a7a8a243a083c6fc2abfa479e854c337a4d4e6c65a43904ab81cf969ee46a9",
64
+ "albedo/right.png": "150e9dbc75c18c907c70d0390814c7cd19475772b0785398b93af6d67a5e0317",
65
+ "normal/right.png": "ef931e56d1d768b8ad4d757429e1d33ae230cab63c91b0b7647ab231023638ac",
66
+ "depth/right.png": "f8f0adde6d7de3d4ab184a58681f366377b5de554457f08b140567e55ddef005",
67
+ "albedo/front_right.png": "0803c0268594a11b6798196bc70d0d5ff5c317673ab7f14f09f67e57d38dfbca",
68
+ "normal/front_right.png": "97e13fe1672d2d930f050e11422deb8fced3e084040727f61526a6ae0f1e2112",
69
+ "depth/front_right.png": "d40368d3fa62c0ecfe8e94b03978c10e1c76e973ba73c7a0e798d90ef78ff360",
70
+ "preview/contact_sheet.png": "bd5d921e3d9b57c80de9d448ddebfa15b43f5aa292567213ceea83354da11f65"
71
+ },
72
+ "source": {
73
+ "bakeoff_dir": "bakeoff\\villain_cult_priest_p3_20260326_205712",
74
+ "maps_dir": "bakeoff\\villain_cult_priest_p3_20260326_205712_maps"
75
+ },
76
+ "notes": null
77
+ }
Binary file