@hraness/design-kit 0.31.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.
Files changed (345) hide show
  1. package/ARTICLE_COPY.md +208 -0
  2. package/HERO_FIELDS.md +55 -0
  3. package/ICONS.md +56 -0
  4. package/LANTERN_MATERIAL.md +60 -0
  5. package/LICENSE +21 -0
  6. package/MARKETING_COPY.md +49 -0
  7. package/MARKETING_PRESET.md +108 -0
  8. package/PALETTES.md +90 -0
  9. package/PAPER_THEME.md +128 -0
  10. package/README.md +745 -0
  11. package/STATUS_PAGES.md +67 -0
  12. package/STYLE.md +245 -0
  13. package/WRITING.md +72 -0
  14. package/dist/browser/index.js +2345 -0
  15. package/dist/chunk-44djxk16.js +6872 -0
  16. package/dist/chunk-5gtx3pza.js +9 -0
  17. package/dist/chunk-77391vmq.js +454 -0
  18. package/dist/chunk-7b1586eb.js +1209 -0
  19. package/dist/chunk-8834fh4n.js +6 -0
  20. package/dist/chunk-9t8xyqte.js +870 -0
  21. package/dist/chunk-cejpzyfh.js +446 -0
  22. package/dist/chunk-eh71jz57.js +429 -0
  23. package/dist/chunk-evb02bc1.js +516 -0
  24. package/dist/chunk-h4k7yv6x.js +368 -0
  25. package/dist/chunk-he8eznb1.js +760 -0
  26. package/dist/chunk-mr1vdcjq.js +404 -0
  27. package/dist/chunk-wzvdn8ey.js +116 -0
  28. package/dist/fonts/nebula-sans/social-fonts.generated.js +53 -0
  29. package/dist/icons.js +48 -0
  30. package/dist/index.js +237 -0
  31. package/dist/launch.js +41 -0
  32. package/dist/mockups/client.js +422 -0
  33. package/dist/mockups/index.js +1850 -0
  34. package/dist/portfolio.js +1549 -0
  35. package/dist/provider-marks.js +19 -0
  36. package/dist/react/charts.js +11 -0
  37. package/dist/react/hero-backdrop.js +8 -0
  38. package/dist/react/index.js +7252 -0
  39. package/dist/react/platform-install.js +10 -0
  40. package/dist/react/server.js +137 -0
  41. package/dist/stylex-manifest.json +1 -0
  42. package/dist/stylex.css +5392 -0
  43. package/dist/syntax-highlighting.js +15 -0
  44. package/dist/testing.js +250 -0
  45. package/package.json +377 -0
  46. package/portfolio-inventory.json +31 -0
  47. package/scripts/check-lantern-material-snapshot.d.mts +26 -0
  48. package/scripts/check-lantern-material-snapshot.mjs +126 -0
  49. package/scripts/check-marketing-snapshot.d.mts +12 -0
  50. package/scripts/check-marketing-snapshot.mjs +58 -0
  51. package/scripts/lantern-material-snapshot.ts +101 -0
  52. package/scripts/marketing-textures.ts +48 -0
  53. package/scripts/paper-theme-snapshot.ts +97 -0
  54. package/scripts/product-marketing-snapshot.ts +149 -0
  55. package/src/appearance-menu.css +266 -0
  56. package/src/appearance.ts +32 -0
  57. package/src/article-html.ts +269 -0
  58. package/src/article.ts +686 -0
  59. package/src/browser/appearance-menu.ts +604 -0
  60. package/src/browser/artifact-share.ts +164 -0
  61. package/src/browser/design-palette.ts +197 -0
  62. package/src/browser/foil.ts +124 -0
  63. package/src/browser/hero-light.ts +11 -0
  64. package/src/browser/index.ts +29 -0
  65. package/src/browser/status-field.ts +432 -0
  66. package/src/browser/status-page.ts +100 -0
  67. package/src/browser/sticky-offset.ts +82 -0
  68. package/src/browser/theme-color-sync.ts +213 -0
  69. package/src/charts.css +7 -0
  70. package/src/compiler-components.css +34 -0
  71. package/src/compiler-foundation.css +18 -0
  72. package/src/compiler-palettes.css +7 -0
  73. package/src/compiler-tokens.css +342 -0
  74. package/src/components.css +3 -0
  75. package/src/design-gallery.css +431 -0
  76. package/src/effects.css +14 -0
  77. package/src/fonts/geist-mono/GeistMono[wght].woff2 +0 -0
  78. package/src/fonts/geist-mono/OFL.txt +93 -0
  79. package/src/fonts/geist-mono/PROVENANCE.md +12 -0
  80. package/src/fonts/instrument-serif/OFL.txt +93 -0
  81. package/src/fonts/instrument-serif/UPSTREAM.md +14 -0
  82. package/src/fonts/instrument-serif/instrument-serif-latin-400.woff2 +0 -0
  83. package/src/fonts/nebula-sans/LICENSE.txt +96 -0
  84. package/src/fonts/nebula-sans/NebulaSans-Black.woff2 +0 -0
  85. package/src/fonts/nebula-sans/NebulaSans-BlackItalic.woff2 +0 -0
  86. package/src/fonts/nebula-sans/NebulaSans-Bold.otf +0 -0
  87. package/src/fonts/nebula-sans/NebulaSans-Bold.woff2 +0 -0
  88. package/src/fonts/nebula-sans/NebulaSans-BoldItalic.woff2 +0 -0
  89. package/src/fonts/nebula-sans/NebulaSans-Book.otf +0 -0
  90. package/src/fonts/nebula-sans/NebulaSans-Book.woff2 +0 -0
  91. package/src/fonts/nebula-sans/NebulaSans-BookItalic.woff2 +0 -0
  92. package/src/fonts/nebula-sans/NebulaSans-Light.woff2 +0 -0
  93. package/src/fonts/nebula-sans/NebulaSans-LightItalic.woff2 +0 -0
  94. package/src/fonts/nebula-sans/NebulaSans-Medium.woff2 +0 -0
  95. package/src/fonts/nebula-sans/NebulaSans-MediumItalic.woff2 +0 -0
  96. package/src/fonts/nebula-sans/NebulaSans-Semibold.woff2 +0 -0
  97. package/src/fonts/nebula-sans/NebulaSans-SemiboldItalic.woff2 +0 -0
  98. package/src/fonts/nebula-sans/PROVENANCE.md +14 -0
  99. package/src/fonts/nebula-sans/social-fonts.generated.ts +3873 -0
  100. package/src/fonts.css +106 -0
  101. package/src/icons/act60/act60.svg +5 -0
  102. package/src/icons/act60/application.svg +9 -0
  103. package/src/icons/act60/chapter-compare.svg +3 -0
  104. package/src/icons/act60/decree-residence.svg +6 -0
  105. package/src/icons/act60/estimate.svg +7 -0
  106. package/src/icons/act60/export-services.svg +4 -0
  107. package/src/icons/act60/investor.svg +13 -0
  108. package/src/icons/act60/presence.svg +7 -0
  109. package/src/icons/aicharts/aicharts.svg +6 -0
  110. package/src/icons/aicharts/cost-compare.svg +4 -0
  111. package/src/icons/aicharts/task-audio.svg +7 -0
  112. package/src/icons/aicharts/task-coding.svg +6 -0
  113. package/src/icons/aicharts/task-images.svg +3 -0
  114. package/src/icons/aicharts/task-reasoning.svg +9 -0
  115. package/src/icons/aicharts/task-research.svg +5 -0
  116. package/src/icons/aicharts/task-video.svg +4 -0
  117. package/src/icons/manifest.json +1371 -0
  118. package/src/icons/platonik/conversation.svg +3 -0
  119. package/src/icons/platonik/creature.svg +7 -0
  120. package/src/icons/platonik/economy.svg +4 -0
  121. package/src/icons/platonik/keep-light.svg +6 -0
  122. package/src/icons/platonik/platonik.svg +7 -0
  123. package/src/icons/platonik/spark-route.svg +15 -0
  124. package/src/icons/receipts/act60-retry.receipt.json +888 -0
  125. package/src/icons/receipts/act60.receipt.json +1366 -0
  126. package/src/icons/receipts/aicharts.receipt.json +1546 -0
  127. package/src/icons/receipts/platonik.receipt.json +1011 -0
  128. package/src/icons/receipts/roughday.receipt.json +770 -0
  129. package/src/icons/receipts/shared.receipt.json +1296 -0
  130. package/src/icons/receipts/slopcamera.receipt.json +1495 -0
  131. package/src/icons/receipts/soundfish-retry.receipt.json +460 -0
  132. package/src/icons/receipts/soundfish.receipt.json +1709 -0
  133. package/src/icons/receipts/sponge.receipt.json +1743 -0
  134. package/src/icons/receipts/stripe-history-retry.receipt.json +145 -0
  135. package/src/icons/receipts/stripe-history.receipt.json +1202 -0
  136. package/src/icons/receipts/wordcell.receipt.json +1924 -0
  137. package/src/icons/roughday/finance.svg +7 -0
  138. package/src/icons/roughday/roughday.svg +6 -0
  139. package/src/icons/roughday/technology.svg +4 -0
  140. package/src/icons/roughday/world.svg +4 -0
  141. package/src/icons/sets/act60.json +63 -0
  142. package/src/icons/sets/aicharts.json +63 -0
  143. package/src/icons/sets/platonik.json +39 -0
  144. package/src/icons/sets/roughday.json +25 -0
  145. package/src/icons/sets/shared.json +12 -0
  146. package/src/icons/sets/slopcamera.json +47 -0
  147. package/src/icons/sets/soundfish.json +43 -0
  148. package/src/icons/sets/sponge.json +51 -0
  149. package/src/icons/sets/stripe-history.json +39 -0
  150. package/src/icons/sets/wordcell.json +51 -0
  151. package/src/icons/shared/agent-skill.svg +4 -0
  152. package/src/icons/shared/cli.svg +5 -0
  153. package/src/icons/shared/privacy.svg +3 -0
  154. package/src/icons/shared/research.svg +7 -0
  155. package/src/icons/shared/sdk.svg +3 -0
  156. package/src/icons/slopcamera/diagram.svg +3 -0
  157. package/src/icons/slopcamera/direct-scene.svg +5 -0
  158. package/src/icons/slopcamera/edit-video.svg +17 -0
  159. package/src/icons/slopcamera/mcp.svg +3 -0
  160. package/src/icons/slopcamera/native-world.svg +3 -0
  161. package/src/icons/slopcamera/slopcamera.svg +11 -0
  162. package/src/icons/soundfish/agent-ui.svg +7 -0
  163. package/src/icons/soundfish/collaborate.svg +5 -0
  164. package/src/icons/soundfish/compose.svg +3 -0
  165. package/src/icons/soundfish/hear.svg +6 -0
  166. package/src/icons/soundfish/human-ui.svg +6 -0
  167. package/src/icons/soundfish/share.svg +3 -0
  168. package/src/icons/soundfish/soundfish.svg +6 -0
  169. package/src/icons/sponge/api.svg +3 -0
  170. package/src/icons/sponge/documents.svg +3 -0
  171. package/src/icons/sponge/library.svg +3 -0
  172. package/src/icons/sponge/one-question.svg +5 -0
  173. package/src/icons/sponge/people-direct.svg +5 -0
  174. package/src/icons/sponge/read.svg +3 -0
  175. package/src/icons/sponge/save.svg +4 -0
  176. package/src/icons/sponge/sponge.svg +7 -0
  177. package/src/icons/stripe-history/company-history.svg +3 -0
  178. package/src/icons/stripe-history/evidence.svg +4 -0
  179. package/src/icons/stripe-history/independence.svg +7 -0
  180. package/src/icons/stripe-history/publications.svg +11 -0
  181. package/src/icons/stripe-history/sources.svg +6 -0
  182. package/src/icons/stripe-history/stripe-history.svg +3 -0
  183. package/src/icons/wordcell/backlinks.svg +6 -0
  184. package/src/icons/wordcell/capture.svg +6 -0
  185. package/src/icons/wordcell/git-provenance.svg +4 -0
  186. package/src/icons/wordcell/kb.svg +4 -0
  187. package/src/icons/wordcell/markdown.svg +4 -0
  188. package/src/icons/wordcell/scopes.svg +3 -0
  189. package/src/icons/wordcell/search.svg +7 -0
  190. package/src/icons.generated.ts +734 -0
  191. package/src/icons.ts +51 -0
  192. package/src/index.ts +275 -0
  193. package/src/lantern-material.css +213 -0
  194. package/src/launch.ts +624 -0
  195. package/src/marketing-assets/UPSTREAM.md +18 -0
  196. package/src/marketing-assets/cells.svg +1 -0
  197. package/src/marketing-assets/grain.svg +1 -0
  198. package/src/marketing-forced-colors.css +12 -0
  199. package/src/mockups/client.tsx +415 -0
  200. package/src/mockups/core.tsx +318 -0
  201. package/src/mockups/frames.tsx +368 -0
  202. package/src/mockups/index.ts +14 -0
  203. package/src/mockups/surfaces.tsx +681 -0
  204. package/src/mockups.css +2607 -0
  205. package/src/palette-appearance.ts +45 -0
  206. package/src/palette-bridge.css +124 -0
  207. package/src/palette-color.ts +41 -0
  208. package/src/palette-system.css +721 -0
  209. package/src/palette-themes.ts +23 -0
  210. package/src/palette-tokens.stylex.ts +519 -0
  211. package/src/palettes.css +3 -0
  212. package/src/palettes.ts +161 -0
  213. package/src/paper-theme.css +244 -0
  214. package/src/plain-publication.css +1241 -0
  215. package/src/plain-site.css +397 -0
  216. package/src/platforms.ts +151 -0
  217. package/src/portfolio.generated.json +1595 -0
  218. package/src/portfolio.generated.ts +1596 -0
  219. package/src/portfolio.ts +226 -0
  220. package/src/product-marketing-foundation.css +433 -0
  221. package/src/product-marketing-preset.css +261 -0
  222. package/src/product-marketing.css +2186 -0
  223. package/src/provider-marks.generated.ts +112 -0
  224. package/src/provider-marks.ts +143 -0
  225. package/src/react/animated-rail-stage.stylex.ts +15 -0
  226. package/src/react/animated-rail-stage.tsx +51 -0
  227. package/src/react/app-shell.stylex.ts +104 -0
  228. package/src/react/app-shell.tsx +121 -0
  229. package/src/react/article.tsx +602 -0
  230. package/src/react/aurora-dots-background.tsx +34 -0
  231. package/src/react/charts.stylex.ts +563 -0
  232. package/src/react/charts.tsx +610 -0
  233. package/src/react/chat.stylex.ts +34 -0
  234. package/src/react/chat.tsx +155 -0
  235. package/src/react/design-gallery.tsx +943 -0
  236. package/src/react/design-palette.stylex.ts +124 -0
  237. package/src/react/design-palette.tsx +196 -0
  238. package/src/react/design-theme-context.tsx +41 -0
  239. package/src/react/effects.stylex.ts +325 -0
  240. package/src/react/fader.stylex.ts +71 -0
  241. package/src/react/fader.tsx +151 -0
  242. package/src/react/foil-card-math.ts +100 -0
  243. package/src/react/foil-card-surface.stylex.ts +326 -0
  244. package/src/react/foil-card-surface.tsx +742 -0
  245. package/src/react/foil-mark.tsx +35 -0
  246. package/src/react/foil.stylex.ts +163 -0
  247. package/src/react/haptics.ts +228 -0
  248. package/src/react/hero-backdrop.tsx +22 -0
  249. package/src/react/index.ts +38 -0
  250. package/src/react/keyboard-shortcuts.ts +228 -0
  251. package/src/react/lantern-material-gallery.tsx +166 -0
  252. package/src/react/lantern-material.stylex.ts +39 -0
  253. package/src/react/launch-beats.tsx +73 -0
  254. package/src/react/navigation-rail.stylex.ts +130 -0
  255. package/src/react/navigation-rail.tsx +228 -0
  256. package/src/react/particle-halo.tsx +115 -0
  257. package/src/react/phaser-dots.tsx +501 -0
  258. package/src/react/platform-icons.tsx +94 -0
  259. package/src/react/platform-install.stylex.ts +385 -0
  260. package/src/react/platform-install.tsx +389 -0
  261. package/src/react/playback-transport.stylex.ts +14 -0
  262. package/src/react/playback-transport.tsx +112 -0
  263. package/src/react/procedural-backdrop.tsx +192 -0
  264. package/src/react/procedural-recipe.ts +323 -0
  265. package/src/react/product-marketing.stylex.ts +4469 -0
  266. package/src/react/product-marketing.tsx +1611 -0
  267. package/src/react/production-data-preview-notice.stylex.ts +40 -0
  268. package/src/react/production-data-preview-notice.tsx +34 -0
  269. package/src/react/provider-mark.stylex.ts +132 -0
  270. package/src/react/provider-mark.tsx +120 -0
  271. package/src/react/relative-time.tsx +117 -0
  272. package/src/react/route-state.stylex.ts +39 -0
  273. package/src/react/route-state.tsx +350 -0
  274. package/src/react/server.ts +11 -0
  275. package/src/react/social-kit-panel.tsx +103 -0
  276. package/src/react/sticky-offset.tsx +33 -0
  277. package/src/react/surfaces.stylex.ts +179 -0
  278. package/src/react/surfaces.tsx +330 -0
  279. package/src/react/syntax-code.tsx +33 -0
  280. package/src/react/theme-color-sync.ts +1 -0
  281. package/src/react/theme-resolution.ts +11 -0
  282. package/src/react/theme.stylex.ts +276 -0
  283. package/src/react/theme.tsx +402 -0
  284. package/src/reading.css +72 -0
  285. package/src/relative-time.ts +185 -0
  286. package/src/reset.css +2 -0
  287. package/src/site-shell.css +16 -0
  288. package/src/status-page-html.ts +63 -0
  289. package/src/status-page.css +276 -0
  290. package/src/status-page.ts +323 -0
  291. package/src/styles.css +21 -0
  292. package/src/syntax-code-lexers.ts +303 -0
  293. package/src/syntax-highlighting.css +78 -0
  294. package/src/syntax-highlighting.ts +477 -0
  295. package/src/syntax-tokens.ts +33 -0
  296. package/src/testing.ts +307 -0
  297. package/src/tokens.css +3 -0
  298. package/src/typography.css +86 -0
  299. package/vendor/evilcharts/LICENSE +21 -0
  300. package/vendor/evilcharts/UPSTREAM.md +14 -0
  301. package/vendor/platform-marks/LICENSE +30 -0
  302. package/vendor/platform-marks/UPSTREAM.md +15 -0
  303. package/vendor/platform-marks/apple.svg +1 -0
  304. package/vendor/platform-marks/linux.svg +1 -0
  305. package/vendor/provider-marks/CRUSH-LICENSE.md +134 -0
  306. package/vendor/provider-marks/LICENSE +21 -0
  307. package/vendor/provider-marks/UPSTREAM.md +27 -0
  308. package/vendor/provider-marks/aider.svg +3 -0
  309. package/vendor/provider-marks/crush-heartbit.svg +8 -0
  310. package/vendor/provider-marks/lobehub/alibabacloud-color.svg +1 -0
  311. package/vendor/provider-marks/lobehub/alibabacloud.svg +1 -0
  312. package/vendor/provider-marks/lobehub/amp-color.svg +1 -0
  313. package/vendor/provider-marks/lobehub/amp.svg +1 -0
  314. package/vendor/provider-marks/lobehub/anthropic.svg +1 -0
  315. package/vendor/provider-marks/lobehub/claude-color.svg +1 -0
  316. package/vendor/provider-marks/lobehub/claude.svg +1 -0
  317. package/vendor/provider-marks/lobehub/claudecode-color.svg +1 -0
  318. package/vendor/provider-marks/lobehub/claudecode.svg +1 -0
  319. package/vendor/provider-marks/lobehub/codex-color.svg +1 -0
  320. package/vendor/provider-marks/lobehub/codex.svg +1 -0
  321. package/vendor/provider-marks/lobehub/cursor.svg +1 -0
  322. package/vendor/provider-marks/lobehub/deepseek-color.svg +1 -0
  323. package/vendor/provider-marks/lobehub/deepseek.svg +1 -0
  324. package/vendor/provider-marks/lobehub/devin-color.svg +1 -0
  325. package/vendor/provider-marks/lobehub/devin.svg +1 -0
  326. package/vendor/provider-marks/lobehub/gemini-color.svg +1 -0
  327. package/vendor/provider-marks/lobehub/gemini.svg +1 -0
  328. package/vendor/provider-marks/lobehub/geminicli-color.svg +1 -0
  329. package/vendor/provider-marks/lobehub/geminicli.svg +1 -0
  330. package/vendor/provider-marks/lobehub/goose.svg +1 -0
  331. package/vendor/provider-marks/lobehub/meta-color.svg +1 -0
  332. package/vendor/provider-marks/lobehub/meta.svg +1 -0
  333. package/vendor/provider-marks/lobehub/mistral-color.svg +1 -0
  334. package/vendor/provider-marks/lobehub/mistral.svg +1 -0
  335. package/vendor/provider-marks/lobehub/moonshot.svg +1 -0
  336. package/vendor/provider-marks/lobehub/nvidia-color.svg +1 -0
  337. package/vendor/provider-marks/lobehub/nvidia.svg +1 -0
  338. package/vendor/provider-marks/lobehub/openai.svg +1 -0
  339. package/vendor/provider-marks/lobehub/opencode.svg +1 -0
  340. package/vendor/provider-marks/lobehub/perplexity-color.svg +1 -0
  341. package/vendor/provider-marks/lobehub/perplexity.svg +1 -0
  342. package/vendor/provider-marks/lobehub/qwen-color.svg +1 -0
  343. package/vendor/provider-marks/lobehub/qwen.svg +1 -0
  344. package/vendor/provider-marks/lobehub/xai.svg +1 -0
  345. package/vendor/provider-marks/lobehub/zai.svg +1 -0
@@ -0,0 +1,888 @@
1
+ {
2
+ "context": "card",
3
+ "ink": "#2474d4",
4
+ "members": [
5
+ {
6
+ "attempts": [
7
+ {
8
+ "critiqueModel": "google/gemini-3-flash",
9
+ "metrics": {
10
+ "aspectRatio": 1.0190779014308426,
11
+ "bytes": 21617,
12
+ "coverageRatio": 0.3037979706787636,
13
+ "pathCount": 1,
14
+ "strokePx": 49.522620904836195
15
+ },
16
+ "pass": false,
17
+ "problems": [
18
+ "Exceeds the maximum of three filled planes (contains four)",
19
+ "Line work is inconsistent and lacks geometric precision with wobbly edges",
20
+ "Perspective at the base of the books is distorted and messy"
21
+ ],
22
+ "requestId": "sha256:d4eb4b97cf7b98ae405aa07c8d77a6b12ec173937329d65b5681545e81bff411",
23
+ "round": 1,
24
+ "score": 70,
25
+ "status": "candidate",
26
+ "svgSha256": "a6d0540c95bd1ff77f1787da78394fcdf49b86cda617aeffe6f0d1d2fc740b2f",
27
+ "vectorize": {
28
+ "alphaCutoff": 8,
29
+ "bytes": 21617,
30
+ "candidatesEvaluated": 1,
31
+ "format": "png",
32
+ "height": 629,
33
+ "inputBytes": 8094,
34
+ "outputMode": "color",
35
+ "pathCount": 1,
36
+ "profile": "balanced",
37
+ "provenance": {
38
+ "arch": "arm64",
39
+ "platform": "darwin",
40
+ "sharp": "0.35.3",
41
+ "sharpVersions": {
42
+ "aom": "3.14.1",
43
+ "archive": "3.8.8",
44
+ "cairo": "1.18.4",
45
+ "cgif": "0.5.3",
46
+ "exif": "0.6.26",
47
+ "expat": "2.8.2",
48
+ "ffi": "3.6.0",
49
+ "fontconfig": "2.18.1",
50
+ "freetype": "2.14.3",
51
+ "fribidi": "1.0.16",
52
+ "glib": "2.89.1",
53
+ "harfbuzz": "14.2.1",
54
+ "heif": "1.23.1",
55
+ "highway": "1.4.0",
56
+ "imagequant": "2.4.1",
57
+ "lcms": "2.19.1",
58
+ "mozjpeg": "0826579",
59
+ "pango": "1.58.0",
60
+ "pixman": "0.46.4",
61
+ "png": "1.6.58",
62
+ "proxy-libintl": "0.5",
63
+ "rsvg": "2.62.90",
64
+ "sharp": "0.35.3",
65
+ "tiff": "d01a94b",
66
+ "uhdr": "1acdbed",
67
+ "vips": "8.18.3",
68
+ "webp": "1.6.0",
69
+ "xml2": "2.15.3",
70
+ "zlib-ng": "2.3.3"
71
+ },
72
+ "vips": "8.18.3",
73
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
74
+ "vtracerSource": "official-release",
75
+ "vtracerVersion": "0.6.4"
76
+ },
77
+ "quality": {
78
+ "alphaRmse": 0.05759865,
79
+ "colorRmse": 0.04118104,
80
+ "outsideAlphaRatio": 0,
81
+ "sampleHeight": 502,
82
+ "sampleWidth": 512,
83
+ "supportRecall": 0.9797814
84
+ },
85
+ "receiptVersion": 1,
86
+ "representation": "color-paths",
87
+ "sourceSha256": "445091f8127ad522b1c0b5606e3d232f7959af926254036475d57f6b266d6c77",
88
+ "svgSha256": "a6d0540c95bd1ff77f1787da78394fcdf49b86cda617aeffe6f0d1d2fc740b2f",
89
+ "width": 641
90
+ },
91
+ "warnings": []
92
+ },
93
+ {
94
+ "critiqueModel": "google/gemini-3-flash",
95
+ "metrics": {
96
+ "aspectRatio": 1.2854609929078014,
97
+ "bytes": 17268,
98
+ "coverageRatio": 0.23265835167522622,
99
+ "pathCount": 1,
100
+ "strokePx": 45.19724137931034
101
+ },
102
+ "pass": true,
103
+ "problems": [],
104
+ "requestId": "sha256:afc2b9547b1b1b2dd494fd02c90984909e73c27379579bb3615c7a94b2515811",
105
+ "round": 2,
106
+ "score": 100,
107
+ "status": "candidate",
108
+ "svgSha256": "83ce0311112bf5574fc817a3d2075853abe501bac84ef99ac5fffe0882891268",
109
+ "vectorize": {
110
+ "alphaCutoff": 8,
111
+ "bytes": 17268,
112
+ "candidatesEvaluated": 1,
113
+ "format": "png",
114
+ "height": 725,
115
+ "inputBytes": 7070,
116
+ "outputMode": "color",
117
+ "pathCount": 1,
118
+ "profile": "balanced",
119
+ "provenance": {
120
+ "arch": "arm64",
121
+ "platform": "darwin",
122
+ "sharp": "0.35.3",
123
+ "sharpVersions": {
124
+ "aom": "3.14.1",
125
+ "archive": "3.8.8",
126
+ "cairo": "1.18.4",
127
+ "cgif": "0.5.3",
128
+ "exif": "0.6.26",
129
+ "expat": "2.8.2",
130
+ "ffi": "3.6.0",
131
+ "fontconfig": "2.18.1",
132
+ "freetype": "2.14.3",
133
+ "fribidi": "1.0.16",
134
+ "glib": "2.89.1",
135
+ "harfbuzz": "14.2.1",
136
+ "heif": "1.23.1",
137
+ "highway": "1.4.0",
138
+ "imagequant": "2.4.1",
139
+ "lcms": "2.19.1",
140
+ "mozjpeg": "0826579",
141
+ "pango": "1.58.0",
142
+ "pixman": "0.46.4",
143
+ "png": "1.6.58",
144
+ "proxy-libintl": "0.5",
145
+ "rsvg": "2.62.90",
146
+ "sharp": "0.35.3",
147
+ "tiff": "d01a94b",
148
+ "uhdr": "1acdbed",
149
+ "vips": "8.18.3",
150
+ "webp": "1.6.0",
151
+ "xml2": "2.15.3",
152
+ "zlib-ng": "2.3.3"
153
+ },
154
+ "vips": "8.18.3",
155
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
156
+ "vtracerSource": "official-release",
157
+ "vtracerVersion": "0.6.4"
158
+ },
159
+ "quality": {
160
+ "alphaRmse": 0.05233165,
161
+ "colorRmse": 0.03703759,
162
+ "outsideAlphaRatio": 0,
163
+ "sampleHeight": 512,
164
+ "sampleWidth": 398,
165
+ "supportRecall": 0.98034793
166
+ },
167
+ "receiptVersion": 1,
168
+ "representation": "color-paths",
169
+ "sourceSha256": "d33bede0b8b60ecce690ceec83db8b6989c1480232a810f12bd8a9d1a89f3fb9",
170
+ "svgSha256": "83ce0311112bf5574fc817a3d2075853abe501bac84ef99ac5fffe0882891268",
171
+ "width": 564
172
+ },
173
+ "warnings": []
174
+ },
175
+ {
176
+ "critiqueModel": "google/gemini-3-flash",
177
+ "metrics": {
178
+ "aspectRatio": 1.015358361774744,
179
+ "bytes": 19484,
180
+ "coverageRatio": 0.27468953451687844,
181
+ "pathCount": 3,
182
+ "strokePx": 43.02521008403362
183
+ },
184
+ "pass": false,
185
+ "problems": [
186
+ "The objects lack specific book characteristics like page-edge lines or distinct spine shapes, making them look like binders or folders.",
187
+ "The composition shows the objects standing vertically rather than 'stacked' as requested."
188
+ ],
189
+ "requestId": "sha256:34aab2bccf196232d59ac68e84fc65eb3bbe2f15bfbcedf0e5446f2df62cd021",
190
+ "round": 1,
191
+ "score": 70,
192
+ "status": "candidate",
193
+ "svgSha256": "d988fce9ff9bbe531f906183aa3c681700420e4ea2d31e5e35ae9b48b3245a14",
194
+ "vectorize": {
195
+ "alphaCutoff": 8,
196
+ "bytes": 19484,
197
+ "candidatesEvaluated": 1,
198
+ "format": "png",
199
+ "height": 586,
200
+ "inputBytes": 7224,
201
+ "outputMode": "color",
202
+ "pathCount": 3,
203
+ "profile": "balanced",
204
+ "provenance": {
205
+ "arch": "arm64",
206
+ "platform": "darwin",
207
+ "sharp": "0.35.3",
208
+ "sharpVersions": {
209
+ "aom": "3.14.1",
210
+ "archive": "3.8.8",
211
+ "cairo": "1.18.4",
212
+ "cgif": "0.5.3",
213
+ "exif": "0.6.26",
214
+ "expat": "2.8.2",
215
+ "ffi": "3.6.0",
216
+ "fontconfig": "2.18.1",
217
+ "freetype": "2.14.3",
218
+ "fribidi": "1.0.16",
219
+ "glib": "2.89.1",
220
+ "harfbuzz": "14.2.1",
221
+ "heif": "1.23.1",
222
+ "highway": "1.4.0",
223
+ "imagequant": "2.4.1",
224
+ "lcms": "2.19.1",
225
+ "mozjpeg": "0826579",
226
+ "pango": "1.58.0",
227
+ "pixman": "0.46.4",
228
+ "png": "1.6.58",
229
+ "proxy-libintl": "0.5",
230
+ "rsvg": "2.62.90",
231
+ "sharp": "0.35.3",
232
+ "tiff": "d01a94b",
233
+ "uhdr": "1acdbed",
234
+ "vips": "8.18.3",
235
+ "webp": "1.6.0",
236
+ "xml2": "2.15.3",
237
+ "zlib-ng": "2.3.3"
238
+ },
239
+ "vips": "8.18.3",
240
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
241
+ "vtracerSource": "official-release",
242
+ "vtracerVersion": "0.6.4"
243
+ },
244
+ "quality": {
245
+ "alphaRmse": 0.05798834,
246
+ "colorRmse": 0.04095204,
247
+ "outsideAlphaRatio": 0,
248
+ "sampleHeight": 504,
249
+ "sampleWidth": 512,
250
+ "supportRecall": 0.98335732
251
+ },
252
+ "receiptVersion": 1,
253
+ "representation": "color-paths",
254
+ "sourceSha256": "e4065228164e2db3d1e169a21a81045b701075bdf23e44c57ad8a09463c82236",
255
+ "svgSha256": "d988fce9ff9bbe531f906183aa3c681700420e4ea2d31e5e35ae9b48b3245a14",
256
+ "width": 595
257
+ },
258
+ "warnings": []
259
+ },
260
+ {
261
+ "critiqueModel": "google/gemini-3-flash",
262
+ "metrics": {
263
+ "aspectRatio": 1.0364372469635628,
264
+ "bytes": 46045,
265
+ "coverageRatio": 0.42352149403958617,
266
+ "pathCount": 10,
267
+ "strokePx": 42.666666666666664
268
+ },
269
+ "pass": false,
270
+ "problems": [
271
+ "Contains thin lines (hairlines) representing pages",
272
+ "Contains tiny repeated details (page lines) that violate the uniform weight and simplicity rules",
273
+ "Stroke weight is not uniform; the page lines are significantly thinner than the outer contours"
274
+ ],
275
+ "requestId": "sha256:1290fc4d0cb93883647722bc46e6723c561b6016deda248f18f3cb7e159f75a5",
276
+ "round": 2,
277
+ "score": 70,
278
+ "status": "candidate",
279
+ "svgSha256": "10ebfcf0db4c1d7fb15b7e4c53211efeab724d88b469e654809956e3be33d4d4",
280
+ "vectorize": {
281
+ "alphaCutoff": 8,
282
+ "bytes": 46045,
283
+ "candidatesEvaluated": 1,
284
+ "format": "png",
285
+ "height": 768,
286
+ "inputBytes": 11647,
287
+ "outputMode": "color",
288
+ "pathCount": 10,
289
+ "profile": "balanced",
290
+ "provenance": {
291
+ "arch": "arm64",
292
+ "platform": "darwin",
293
+ "sharp": "0.35.3",
294
+ "sharpVersions": {
295
+ "aom": "3.14.1",
296
+ "archive": "3.8.8",
297
+ "cairo": "1.18.4",
298
+ "cgif": "0.5.3",
299
+ "exif": "0.6.26",
300
+ "expat": "2.8.2",
301
+ "ffi": "3.6.0",
302
+ "fontconfig": "2.18.1",
303
+ "freetype": "2.14.3",
304
+ "fribidi": "1.0.16",
305
+ "glib": "2.89.1",
306
+ "harfbuzz": "14.2.1",
307
+ "heif": "1.23.1",
308
+ "highway": "1.4.0",
309
+ "imagequant": "2.4.1",
310
+ "lcms": "2.19.1",
311
+ "mozjpeg": "0826579",
312
+ "pango": "1.58.0",
313
+ "pixman": "0.46.4",
314
+ "png": "1.6.58",
315
+ "proxy-libintl": "0.5",
316
+ "rsvg": "2.62.90",
317
+ "sharp": "0.35.3",
318
+ "tiff": "d01a94b",
319
+ "uhdr": "1acdbed",
320
+ "vips": "8.18.3",
321
+ "webp": "1.6.0",
322
+ "xml2": "2.15.3",
323
+ "zlib-ng": "2.3.3"
324
+ },
325
+ "vips": "8.18.3",
326
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
327
+ "vtracerSource": "official-release",
328
+ "vtracerVersion": "0.6.4"
329
+ },
330
+ "quality": {
331
+ "alphaRmse": 0.09149788,
332
+ "colorRmse": 0.06384768,
333
+ "outsideAlphaRatio": 0,
334
+ "sampleHeight": 512,
335
+ "sampleWidth": 494,
336
+ "supportRecall": 0.98260621
337
+ },
338
+ "receiptVersion": 1,
339
+ "representation": "color-paths",
340
+ "sourceSha256": "7d211240a25dc1e613ba028836c19aa3fc7d76ded183c5fc4f1a4735d10bcb0f",
341
+ "svgSha256": "10ebfcf0db4c1d7fb15b7e4c53211efeab724d88b469e654809956e3be33d4d4",
342
+ "width": 741
343
+ },
344
+ "warnings": []
345
+ },
346
+ {
347
+ "critiqueModel": "google/gemini-3-flash",
348
+ "metrics": {
349
+ "aspectRatio": 1.1139028475711892,
350
+ "bytes": 26591,
351
+ "coverageRatio": 0.33554489238170804,
352
+ "pathCount": 3,
353
+ "strokePx": 49.275187969924815
354
+ },
355
+ "pass": false,
356
+ "problems": [
357
+ "Line work is shaky and lacks the geometric precision required for a professional brand-mark style",
358
+ "Perspective is inconsistent, particularly on the top faces of the two objects",
359
+ "The subject lacks defining characteristics of books, appearing more like generic rectangular blocks or boxes"
360
+ ],
361
+ "requestId": "sha256:2ab4c5be57f6f33e440064707f5d828e03eed169ca8abc444f8df56384fc07b3",
362
+ "round": 1,
363
+ "score": 60,
364
+ "status": "candidate",
365
+ "svgSha256": "4769ddd2911c5526126d37ea98a74ffc4bca803830eb008137529ef6a27f4c19",
366
+ "vectorize": {
367
+ "alphaCutoff": 8,
368
+ "bytes": 26591,
369
+ "candidatesEvaluated": 1,
370
+ "format": "png",
371
+ "height": 665,
372
+ "inputBytes": 8486,
373
+ "outputMode": "color",
374
+ "pathCount": 3,
375
+ "profile": "balanced",
376
+ "provenance": {
377
+ "arch": "arm64",
378
+ "platform": "darwin",
379
+ "sharp": "0.35.3",
380
+ "sharpVersions": {
381
+ "aom": "3.14.1",
382
+ "archive": "3.8.8",
383
+ "cairo": "1.18.4",
384
+ "cgif": "0.5.3",
385
+ "exif": "0.6.26",
386
+ "expat": "2.8.2",
387
+ "ffi": "3.6.0",
388
+ "fontconfig": "2.18.1",
389
+ "freetype": "2.14.3",
390
+ "fribidi": "1.0.16",
391
+ "glib": "2.89.1",
392
+ "harfbuzz": "14.2.1",
393
+ "heif": "1.23.1",
394
+ "highway": "1.4.0",
395
+ "imagequant": "2.4.1",
396
+ "lcms": "2.19.1",
397
+ "mozjpeg": "0826579",
398
+ "pango": "1.58.0",
399
+ "pixman": "0.46.4",
400
+ "png": "1.6.58",
401
+ "proxy-libintl": "0.5",
402
+ "rsvg": "2.62.90",
403
+ "sharp": "0.35.3",
404
+ "tiff": "d01a94b",
405
+ "uhdr": "1acdbed",
406
+ "vips": "8.18.3",
407
+ "webp": "1.6.0",
408
+ "xml2": "2.15.3",
409
+ "zlib-ng": "2.3.3"
410
+ },
411
+ "vips": "8.18.3",
412
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
413
+ "vtracerSource": "official-release",
414
+ "vtracerVersion": "0.6.4"
415
+ },
416
+ "quality": {
417
+ "alphaRmse": 0.09392763,
418
+ "colorRmse": 0.06586796,
419
+ "outsideAlphaRatio": 0.00031759,
420
+ "sampleHeight": 512,
421
+ "sampleWidth": 460,
422
+ "supportRecall": 0.97467165
423
+ },
424
+ "receiptVersion": 1,
425
+ "representation": "color-paths",
426
+ "sourceSha256": "6b74da52a3f2ba15d99fccf4eaccf01b3f0fdd3bad4045bdc83f002857aa12a9",
427
+ "svgSha256": "4769ddd2911c5526126d37ea98a74ffc4bca803830eb008137529ef6a27f4c19",
428
+ "width": 597
429
+ },
430
+ "warnings": []
431
+ },
432
+ {
433
+ "critiqueError": "GENERATION_FAILED",
434
+ "metrics": {
435
+ "aspectRatio": 1.3178036605657237,
436
+ "bytes": 16999,
437
+ "coverageRatio": 0.3946725995394881,
438
+ "pathCount": 1,
439
+ "strokePx": 41.37373737373738
440
+ },
441
+ "requestId": "sha256:157e48be96277220fa20584381117a70fbf6aa6cc50718daca0595e9707cb50c",
442
+ "round": 2,
443
+ "status": "candidate",
444
+ "svgSha256": "6af6db8802e461cdd1b712dd6add2d784e59b9aeda80566e12073107ff647298",
445
+ "vectorize": {
446
+ "alphaCutoff": 8,
447
+ "bytes": 16999,
448
+ "candidatesEvaluated": 1,
449
+ "format": "png",
450
+ "height": 792,
451
+ "inputBytes": 7801,
452
+ "outputMode": "color",
453
+ "pathCount": 1,
454
+ "profile": "balanced",
455
+ "provenance": {
456
+ "arch": "arm64",
457
+ "platform": "darwin",
458
+ "sharp": "0.35.3",
459
+ "sharpVersions": {
460
+ "aom": "3.14.1",
461
+ "archive": "3.8.8",
462
+ "cairo": "1.18.4",
463
+ "cgif": "0.5.3",
464
+ "exif": "0.6.26",
465
+ "expat": "2.8.2",
466
+ "ffi": "3.6.0",
467
+ "fontconfig": "2.18.1",
468
+ "freetype": "2.14.3",
469
+ "fribidi": "1.0.16",
470
+ "glib": "2.89.1",
471
+ "harfbuzz": "14.2.1",
472
+ "heif": "1.23.1",
473
+ "highway": "1.4.0",
474
+ "imagequant": "2.4.1",
475
+ "lcms": "2.19.1",
476
+ "mozjpeg": "0826579",
477
+ "pango": "1.58.0",
478
+ "pixman": "0.46.4",
479
+ "png": "1.6.58",
480
+ "proxy-libintl": "0.5",
481
+ "rsvg": "2.62.90",
482
+ "sharp": "0.35.3",
483
+ "tiff": "d01a94b",
484
+ "uhdr": "1acdbed",
485
+ "vips": "8.18.3",
486
+ "webp": "1.6.0",
487
+ "xml2": "2.15.3",
488
+ "zlib-ng": "2.3.3"
489
+ },
490
+ "vips": "8.18.3",
491
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
492
+ "vtracerSource": "official-release",
493
+ "vtracerVersion": "0.6.4"
494
+ },
495
+ "quality": {
496
+ "alphaRmse": 0.03487584,
497
+ "colorRmse": 0.02472496,
498
+ "outsideAlphaRatio": 0,
499
+ "sampleHeight": 512,
500
+ "sampleWidth": 389,
501
+ "supportRecall": 0.99356786
502
+ },
503
+ "receiptVersion": 1,
504
+ "representation": "color-paths",
505
+ "sourceSha256": "4e08b973192dc8f4dac1295965226a7c7c5480938f5e9f74792d9df8361f0ba1",
506
+ "svgSha256": "6af6db8802e461cdd1b712dd6add2d784e59b9aeda80566e12073107ff647298",
507
+ "width": 601
508
+ },
509
+ "warnings": []
510
+ },
511
+ {
512
+ "critiqueModel": "google/gemini-3-flash",
513
+ "metrics": {
514
+ "aspectRatio": 1.143418467583497,
515
+ "bytes": 22841,
516
+ "coverageRatio": 0.2212849128065947,
517
+ "pathCount": 4,
518
+ "strokePx": 19.353951890034363
519
+ },
520
+ "pass": false,
521
+ "problems": [
522
+ "The illustration depicts office binders or folders rather than books due to the rectangular labels on the spines.",
523
+ "Line weight is slightly inconsistent and wobbly at the corner intersections."
524
+ ],
525
+ "requestId": "sha256:eabb72542b858940d87d6763f94a20cb57bbb91ad9bde906ec6bf730a94c38ec",
526
+ "round": 1,
527
+ "score": 80,
528
+ "status": "candidate",
529
+ "svgSha256": "ed52c450e5f13fd7a7e53d6c95987bd69c8320550ad7b1d245552779c60f262d",
530
+ "vectorize": {
531
+ "alphaCutoff": 8,
532
+ "bytes": 22841,
533
+ "candidatesEvaluated": 2,
534
+ "format": "png",
535
+ "height": 582,
536
+ "inputBytes": 6575,
537
+ "outputMode": "color",
538
+ "pathCount": 4,
539
+ "profile": "balanced",
540
+ "provenance": {
541
+ "arch": "arm64",
542
+ "platform": "darwin",
543
+ "sharp": "0.35.3",
544
+ "sharpVersions": {
545
+ "aom": "3.14.1",
546
+ "archive": "3.8.8",
547
+ "cairo": "1.18.4",
548
+ "cgif": "0.5.3",
549
+ "exif": "0.6.26",
550
+ "expat": "2.8.2",
551
+ "ffi": "3.6.0",
552
+ "fontconfig": "2.18.1",
553
+ "freetype": "2.14.3",
554
+ "fribidi": "1.0.16",
555
+ "glib": "2.89.1",
556
+ "harfbuzz": "14.2.1",
557
+ "heif": "1.23.1",
558
+ "highway": "1.4.0",
559
+ "imagequant": "2.4.1",
560
+ "lcms": "2.19.1",
561
+ "mozjpeg": "0826579",
562
+ "pango": "1.58.0",
563
+ "pixman": "0.46.4",
564
+ "png": "1.6.58",
565
+ "proxy-libintl": "0.5",
566
+ "rsvg": "2.62.90",
567
+ "sharp": "0.35.3",
568
+ "tiff": "d01a94b",
569
+ "uhdr": "1acdbed",
570
+ "vips": "8.18.3",
571
+ "webp": "1.6.0",
572
+ "xml2": "2.15.3",
573
+ "zlib-ng": "2.3.3"
574
+ },
575
+ "vips": "8.18.3",
576
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
577
+ "vtracerSource": "official-release",
578
+ "vtracerVersion": "0.6.4"
579
+ },
580
+ "quality": {
581
+ "alphaRmse": 0.08042115,
582
+ "colorRmse": 0.05703582,
583
+ "outsideAlphaRatio": 0,
584
+ "sampleHeight": 512,
585
+ "sampleWidth": 448,
586
+ "supportRecall": 0.95668129
587
+ },
588
+ "receiptVersion": 1,
589
+ "representation": "color-paths",
590
+ "sourceSha256": "0ed4b403c8c4fea12d3b049e4eee521400636ab332e7cf429676c75e51ae35e0",
591
+ "svgSha256": "ed52c450e5f13fd7a7e53d6c95987bd69c8320550ad7b1d245552779c60f262d",
592
+ "width": 509
593
+ },
594
+ "warnings": []
595
+ },
596
+ {
597
+ "critiqueModel": "google/gemini-3-flash",
598
+ "metrics": {
599
+ "aspectRatio": 1.1254125412541254,
600
+ "bytes": 26084,
601
+ "coverageRatio": 0.16006116740706328,
602
+ "pathCount": 1,
603
+ "strokePx": 13.513196480938417
604
+ },
605
+ "pass": false,
606
+ "problems": [
607
+ "Line work is shaky and lacks uniform weight",
608
+ "There are visible gaps in the line structure",
609
+ "The illustration lacks the clean geometric precision required for a brand mark family",
610
+ "No filled planes are used to define the volume of the books",
611
+ "The curves on the spines are irregular and look like drawing errors"
612
+ ],
613
+ "requestId": "sha256:73bfb61e2d7b9b73e9b24c7f81935b7fbd98e1b08bcdc50fccf2e2105b7dd27d",
614
+ "round": 2,
615
+ "score": 35,
616
+ "status": "candidate",
617
+ "svgSha256": "dd709e6ca2de15b5e42933d2aeaecdefa5ffab6bc9b1f9e7793a45a0b91c35a0",
618
+ "vectorize": {
619
+ "alphaCutoff": 8,
620
+ "bytes": 26084,
621
+ "candidatesEvaluated": 2,
622
+ "format": "png",
623
+ "height": 682,
624
+ "inputBytes": 8548,
625
+ "outputMode": "color",
626
+ "pathCount": 1,
627
+ "profile": "balanced",
628
+ "provenance": {
629
+ "arch": "arm64",
630
+ "platform": "darwin",
631
+ "sharp": "0.35.3",
632
+ "sharpVersions": {
633
+ "aom": "3.14.1",
634
+ "archive": "3.8.8",
635
+ "cairo": "1.18.4",
636
+ "cgif": "0.5.3",
637
+ "exif": "0.6.26",
638
+ "expat": "2.8.2",
639
+ "ffi": "3.6.0",
640
+ "fontconfig": "2.18.1",
641
+ "freetype": "2.14.3",
642
+ "fribidi": "1.0.16",
643
+ "glib": "2.89.1",
644
+ "harfbuzz": "14.2.1",
645
+ "heif": "1.23.1",
646
+ "highway": "1.4.0",
647
+ "imagequant": "2.4.1",
648
+ "lcms": "2.19.1",
649
+ "mozjpeg": "0826579",
650
+ "pango": "1.58.0",
651
+ "pixman": "0.46.4",
652
+ "png": "1.6.58",
653
+ "proxy-libintl": "0.5",
654
+ "rsvg": "2.62.90",
655
+ "sharp": "0.35.3",
656
+ "tiff": "d01a94b",
657
+ "uhdr": "1acdbed",
658
+ "vips": "8.18.3",
659
+ "webp": "1.6.0",
660
+ "xml2": "2.15.3",
661
+ "zlib-ng": "2.3.3"
662
+ },
663
+ "vips": "8.18.3",
664
+ "vtracerSha256": "77e495bbe212448240387fba3b6d8bc62ba20ecfb6f3c22967e51600f1cc6e66",
665
+ "vtracerSource": "official-release",
666
+ "vtracerVersion": "0.6.4"
667
+ },
668
+ "quality": {
669
+ "alphaRmse": 0.06315985,
670
+ "colorRmse": 0.0443813,
671
+ "outsideAlphaRatio": 0,
672
+ "sampleHeight": 512,
673
+ "sampleWidth": 455,
674
+ "supportRecall": 0.9664522
675
+ },
676
+ "receiptVersion": 1,
677
+ "representation": "color-paths",
678
+ "sourceSha256": "49435e62d186c4c35c8760677e00f2605c74fa7461c4668dacad02e75be8abb8",
679
+ "svgSha256": "dd709e6ca2de15b5e42933d2aeaecdefa5ffab6bc9b1f9e7793a45a0b91c35a0",
680
+ "width": 606
681
+ },
682
+ "warnings": []
683
+ }
684
+ ],
685
+ "candidates": [
686
+ {
687
+ "metrics": {
688
+ "aspectRatio": 1.0190779014308426,
689
+ "bytes": 21617,
690
+ "coverageRatio": 0.3037979706787636,
691
+ "pathCount": 1,
692
+ "strokePx": 49.522620904836195
693
+ },
694
+ "round": 1,
695
+ "pass": false,
696
+ "score": 70,
697
+ "selected": false
698
+ },
699
+ {
700
+ "metrics": {
701
+ "aspectRatio": 1.2854609929078014,
702
+ "bytes": 17268,
703
+ "coverageRatio": 0.23265835167522622,
704
+ "pathCount": 1,
705
+ "strokePx": 45.19724137931034
706
+ },
707
+ "round": 2,
708
+ "pass": true,
709
+ "score": 100,
710
+ "selected": true
711
+ },
712
+ {
713
+ "metrics": {
714
+ "aspectRatio": 1.015358361774744,
715
+ "bytes": 19484,
716
+ "coverageRatio": 0.27468953451687844,
717
+ "pathCount": 3,
718
+ "strokePx": 43.02521008403362
719
+ },
720
+ "round": 1,
721
+ "pass": false,
722
+ "score": 70,
723
+ "selected": false
724
+ },
725
+ {
726
+ "metrics": {
727
+ "aspectRatio": 1.0364372469635628,
728
+ "bytes": 46045,
729
+ "coverageRatio": 0.42352149403958617,
730
+ "pathCount": 10,
731
+ "strokePx": 42.666666666666664
732
+ },
733
+ "round": 2,
734
+ "pass": false,
735
+ "score": 70,
736
+ "selected": false
737
+ },
738
+ {
739
+ "metrics": {
740
+ "aspectRatio": 1.1139028475711892,
741
+ "bytes": 26591,
742
+ "coverageRatio": 0.33554489238170804,
743
+ "pathCount": 3,
744
+ "strokePx": 49.275187969924815
745
+ },
746
+ "round": 1,
747
+ "pass": false,
748
+ "score": 60,
749
+ "selected": false
750
+ },
751
+ {
752
+ "metrics": {
753
+ "aspectRatio": 1.3178036605657237,
754
+ "bytes": 16999,
755
+ "coverageRatio": 0.3946725995394881,
756
+ "pathCount": 1,
757
+ "strokePx": 41.37373737373738
758
+ },
759
+ "round": 2,
760
+ "selected": false
761
+ },
762
+ {
763
+ "metrics": {
764
+ "aspectRatio": 1.143418467583497,
765
+ "bytes": 22841,
766
+ "coverageRatio": 0.2212849128065947,
767
+ "pathCount": 4,
768
+ "strokePx": 19.353951890034363
769
+ },
770
+ "round": 1,
771
+ "pass": false,
772
+ "score": 80,
773
+ "selected": false
774
+ },
775
+ {
776
+ "metrics": {
777
+ "aspectRatio": 1.1254125412541254,
778
+ "bytes": 26084,
779
+ "coverageRatio": 0.16006116740706328,
780
+ "pathCount": 1,
781
+ "strokePx": 13.513196480938417
782
+ },
783
+ "round": 2,
784
+ "pass": false,
785
+ "score": 35,
786
+ "selected": false
787
+ }
788
+ ],
789
+ "context": "card",
790
+ "metrics": {
791
+ "aspectRatio": 1.2854609929078014,
792
+ "bytes": 17268,
793
+ "coverageRatio": 0.23265835167522622,
794
+ "pathCount": 1,
795
+ "strokePx": 45.19724137931034
796
+ },
797
+ "outputPath": "/tmp/iconsets/act60-retry/chapter-compare.svg",
798
+ "purpose": "illustration",
799
+ "regenerated": 3,
800
+ "slug": "chapter-compare",
801
+ "subject": "two thick-spined books stacked side by side",
802
+ "svgSha256": "83ce0311112bf5574fc817a3d2075853abe501bac84ef99ac5fffe0882891268"
803
+ }
804
+ ],
805
+ "model": "recraft/recraft-v4.1-utility",
806
+ "name": "act60-retry",
807
+ "outputDir": "/tmp/iconsets/act60-retry",
808
+ "receiptVersion": 1,
809
+ "setCritiques": [
810
+ {
811
+ "familyProblems": [
812
+ "Inconsistent stroke weights: the calculator and briefcase arrow use significantly thinner lines than the other members, breaking the uniform medium-weight requirement.",
813
+ "Inconsistent ink density: the bar chart contains numerous small filled planes, violating the 'at most three large filled planes' rule, while the calculator lacks fills entirely.",
814
+ "Projection inconsistency: the calculator is rendered in a flat frontal view rather than the required isometric projection.",
815
+ "Tiny repeated detail: the bar chart contains too many small elements, making it appear much denser than the simpler icons like the books or clipboard."
816
+ ],
817
+ "members": [
818
+ {
819
+ "pass": true,
820
+ "problems": [],
821
+ "promptFix": "",
822
+ "slug": "chapter-compare"
823
+ }
824
+ ],
825
+ "pass": false,
826
+ "resolvedModel": "google/gemini-3-flash"
827
+ },
828
+ {
829
+ "familyProblems": [
830
+ "Inconsistent stroke weights: the calculator and briefcase arrow use significantly thinner lines than the other members, breaking the uniform medium-weight requirement.",
831
+ "Inconsistent ink density: the bar chart contains numerous small filled planes, violating the 'at most three large filled planes' rule, while the calculator lacks fills entirely.",
832
+ "Projection inconsistency: the calculator is rendered in a flat frontal view rather than the required isometric projection.",
833
+ "Tiny repeated detail: the bar chart contains too many small elements, making it appear much denser than the simpler icons like the books or clipboard."
834
+ ],
835
+ "members": [
836
+ {
837
+ "pass": true,
838
+ "problems": [],
839
+ "promptFix": "",
840
+ "slug": "chapter-compare"
841
+ }
842
+ ],
843
+ "pass": false,
844
+ "resolvedModel": "google/gemini-3-flash"
845
+ },
846
+ {
847
+ "familyProblems": [
848
+ "Inconsistent stroke weights: the calculator and briefcase arrow use significantly thinner lines than the other members, breaking the uniform medium-weight requirement.",
849
+ "Inconsistent ink density: the bar chart contains numerous small filled planes, violating the 'at most three large filled planes' rule, while the calculator lacks fills entirely.",
850
+ "Projection inconsistency: the calculator is rendered in a flat frontal view rather than the required isometric projection.",
851
+ "Tiny repeated detail: the bar chart contains too many small elements, making it appear much denser than the simpler icons like the books or clipboard."
852
+ ],
853
+ "members": [
854
+ {
855
+ "pass": true,
856
+ "problems": [],
857
+ "promptFix": "",
858
+ "slug": "chapter-compare"
859
+ }
860
+ ],
861
+ "pass": false,
862
+ "resolvedModel": "google/gemini-3-flash"
863
+ },
864
+ {
865
+ "familyProblems": [
866
+ "Inconsistent stroke weights: the calculator and briefcase arrow use significantly thinner lines than the other members, breaking the uniform medium-weight requirement.",
867
+ "Inconsistent ink density: the bar chart contains numerous small filled planes, violating the 'at most three large filled planes' rule, while the calculator lacks fills entirely.",
868
+ "Projection inconsistency: the calculator is rendered in a flat frontal view rather than the required isometric projection.",
869
+ "Tiny repeated detail: the bar chart contains too many small elements, making it appear much denser than the simpler icons like the books or clipboard."
870
+ ],
871
+ "members": [
872
+ {
873
+ "pass": true,
874
+ "problems": [],
875
+ "promptFix": "",
876
+ "slug": "chapter-compare"
877
+ }
878
+ ],
879
+ "pass": false,
880
+ "resolvedModel": "google/gemini-3-flash"
881
+ }
882
+ ],
883
+ "setRoundsUsed": 4,
884
+ "target": {
885
+ "coverageRatio": 0.24316644319843977,
886
+ "strokePx": 54.857142857142854
887
+ }
888
+ }