@ethlete/cli 3.0.0-next.21 → 3.0.0-next.23

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 (340) hide show
  1. package/CHANGELOG.md +198 -0
  2. package/design/assets.d.ts +9 -0
  3. package/design/define-call.ts +20 -11
  4. package/design/define-part.ts +102 -0
  5. package/design/embed-page.ts +70 -0
  6. package/design/interaction-rows.ts +32 -0
  7. package/design/mark-part.ts +66 -0
  8. package/design/svg-asset.ts +36 -0
  9. package/design/systems/config.json +10 -0
  10. package/design/systems/ethlete-components/components/button/button.ts +18 -0
  11. package/design/web/env.d.ts +20 -0
  12. package/design/web/frame.ts +173 -41
  13. package/design/wireframe-kit.ts +386 -0
  14. package/package.json +4 -2
  15. package/playwright/failure-reporter.d.ts +2 -0
  16. package/playwright/failure-reporter.js +1 -0
  17. package/src/index.js.map +1 -1
  18. package/src/lib/api/api-command.js.map +1 -1
  19. package/src/lib/api/api-context.js.map +1 -1
  20. package/src/lib/api/api-state.js.map +1 -1
  21. package/src/lib/api/auth-hint.js.map +1 -1
  22. package/src/lib/api/clear.js.map +1 -1
  23. package/src/lib/api/clone.js.map +1 -1
  24. package/src/lib/api/compose.js.map +1 -1
  25. package/src/lib/api/definition.js.map +1 -1
  26. package/src/lib/api/doctor.js.map +1 -1
  27. package/src/lib/api/fingerprint.js.map +1 -1
  28. package/src/lib/api/git.js.map +1 -1
  29. package/src/lib/api/help.js.map +1 -1
  30. package/src/lib/api/index.js.map +1 -1
  31. package/src/lib/api/load-definitions.js.map +1 -1
  32. package/src/lib/api/lock.js.map +1 -1
  33. package/src/lib/api/parse-argv.js.map +1 -1
  34. package/src/lib/api/ports.js.map +1 -1
  35. package/src/lib/api/resolve-checkout.js.map +1 -1
  36. package/src/lib/api/run-locked.js.map +1 -1
  37. package/src/lib/api/run-ready.js.map +1 -1
  38. package/src/lib/api/run-snapshot.js.map +1 -1
  39. package/src/lib/api/run-status.js.map +1 -1
  40. package/src/lib/api/run.js.map +1 -1
  41. package/src/lib/api/seeds.js.map +1 -1
  42. package/src/lib/api/setup.js.map +1 -1
  43. package/src/lib/api/snapshot.js.map +1 -1
  44. package/src/lib/api/state.js.map +1 -1
  45. package/src/lib/api/suggest.js.map +1 -1
  46. package/src/lib/api/validate-definition.js.map +1 -1
  47. package/src/lib/auth/auth-command.js.map +1 -1
  48. package/src/lib/auth/composer-auth.js.map +1 -1
  49. package/src/lib/auth/composer-repositories.js.map +1 -1
  50. package/src/lib/auth/gitlab-token.js.map +1 -1
  51. package/src/lib/auth/index.js.map +1 -1
  52. package/src/lib/config/diagnose.js.map +1 -1
  53. package/src/lib/config/index.js.map +1 -1
  54. package/src/lib/config/local-config.js.map +1 -1
  55. package/src/lib/design/asset-shot.d.ts +26 -0
  56. package/src/lib/design/asset-shot.js +191 -0
  57. package/src/lib/design/asset-shot.js.map +1 -0
  58. package/src/lib/design/browser.js.map +1 -1
  59. package/src/lib/design/calls-tsconfig.d.ts +14 -1
  60. package/src/lib/design/calls-tsconfig.js +23 -18
  61. package/src/lib/design/calls-tsconfig.js.map +1 -1
  62. package/src/lib/design/calls.d.ts +28 -0
  63. package/src/lib/design/calls.js +58 -0
  64. package/src/lib/design/calls.js.map +1 -0
  65. package/src/lib/design/changed-parts.d.ts +51 -0
  66. package/src/lib/design/changed-parts.js +103 -0
  67. package/src/lib/design/changed-parts.js.map +1 -0
  68. package/src/lib/design/check.js +53 -54
  69. package/src/lib/design/check.js.map +1 -1
  70. package/src/lib/design/contact-sheet.d.ts +86 -0
  71. package/src/lib/design/contact-sheet.js +197 -0
  72. package/src/lib/design/contact-sheet.js.map +1 -0
  73. package/src/lib/design/design-command.js +167 -6
  74. package/src/lib/design/design-command.js.map +1 -1
  75. package/src/lib/design/force-interactions.d.ts +13 -0
  76. package/src/lib/design/force-interactions.js +75 -0
  77. package/src/lib/design/force-interactions.js.map +1 -0
  78. package/src/lib/design/inbox-command.d.ts +21 -0
  79. package/src/lib/design/inbox-command.js +156 -0
  80. package/src/lib/design/inbox-command.js.map +1 -0
  81. package/src/lib/design/index.js.map +1 -1
  82. package/src/lib/design/json-layout.d.ts +5 -0
  83. package/src/lib/design/json-layout.js +41 -0
  84. package/src/lib/design/json-layout.js.map +1 -0
  85. package/src/lib/design/legacy.d.ts +7 -0
  86. package/src/lib/design/legacy.js +23 -8
  87. package/src/lib/design/legacy.js.map +1 -1
  88. package/src/lib/design/merge-compare.d.ts +57 -0
  89. package/src/lib/design/merge-compare.js +80 -0
  90. package/src/lib/design/merge-compare.js.map +1 -0
  91. package/src/lib/design/missing-package.js.map +1 -1
  92. package/src/lib/design/new-call.js.map +1 -1
  93. package/src/lib/design/part-marks.d.ts +12 -0
  94. package/src/lib/design/part-marks.js +38 -0
  95. package/src/lib/design/part-marks.js.map +1 -0
  96. package/src/lib/design/paths.d.ts +35 -2
  97. package/src/lib/design/paths.js +62 -4
  98. package/src/lib/design/paths.js.map +1 -1
  99. package/src/lib/design/product-command.d.ts +38 -0
  100. package/src/lib/design/product-command.js +158 -0
  101. package/src/lib/design/product-command.js.map +1 -0
  102. package/src/lib/design/ready-shots.d.ts +13 -0
  103. package/src/lib/design/ready-shots.js +55 -0
  104. package/src/lib/design/ready-shots.js.map +1 -0
  105. package/src/lib/design/render-fields.js.map +1 -1
  106. package/src/lib/design/render-packages.js.map +1 -1
  107. package/src/lib/design/render-worker.js.map +1 -1
  108. package/src/lib/design/render.d.ts +11 -2
  109. package/src/lib/design/render.js +60 -15
  110. package/src/lib/design/render.js.map +1 -1
  111. package/src/lib/design/serve.d.ts +17 -0
  112. package/src/lib/design/serve.js +487 -103
  113. package/src/lib/design/serve.js.map +1 -1
  114. package/src/lib/design/shot-command.d.ts +100 -0
  115. package/src/lib/design/shot-command.js +453 -0
  116. package/src/lib/design/shot-command.js.map +1 -0
  117. package/src/lib/design/shot.d.ts +97 -0
  118. package/src/lib/design/shot.js +346 -0
  119. package/src/lib/design/shot.js.map +1 -0
  120. package/src/lib/design/sketch-at.d.ts +16 -0
  121. package/src/lib/design/sketch-at.js +34 -0
  122. package/src/lib/design/sketch-at.js.map +1 -0
  123. package/src/lib/design/sketch-command.d.ts +15 -0
  124. package/src/lib/design/sketch-command.js +618 -0
  125. package/src/lib/design/sketch-command.js.map +1 -0
  126. package/src/lib/design/ssr-shims.js.map +1 -1
  127. package/src/lib/design/stamp.js.map +1 -1
  128. package/src/lib/design/status.d.ts +2 -2
  129. package/src/lib/design/status.js +2 -2
  130. package/src/lib/design/status.js.map +1 -1
  131. package/src/lib/design/studio-api.d.ts +112 -0
  132. package/src/lib/design/studio-api.js +489 -0
  133. package/src/lib/design/studio-api.js.map +1 -0
  134. package/src/lib/design/system/accept-command.d.ts +7 -0
  135. package/src/lib/design/system/accept-command.js +55 -0
  136. package/src/lib/design/system/accept-command.js.map +1 -0
  137. package/src/lib/design/system/assets.d.ts +34 -0
  138. package/src/lib/design/system/assets.js +64 -0
  139. package/src/lib/design/system/assets.js.map +1 -0
  140. package/src/lib/design/system/base.d.ts +33 -0
  141. package/src/lib/design/system/base.js +49 -0
  142. package/src/lib/design/system/base.js.map +1 -0
  143. package/src/lib/design/system/check-system.d.ts +23 -0
  144. package/src/lib/design/system/check-system.js +151 -0
  145. package/src/lib/design/system/check-system.js.map +1 -0
  146. package/src/lib/design/system/colour.d.ts +2 -0
  147. package/src/lib/design/system/colour.js +9 -0
  148. package/src/lib/design/system/colour.js.map +1 -0
  149. package/src/lib/design/system/comments/comment.d.ts +196 -0
  150. package/src/lib/design/system/comments/comment.js +332 -0
  151. package/src/lib/design/system/comments/comment.js.map +1 -0
  152. package/src/lib/design/system/comments/complete.d.ts +15 -0
  153. package/src/lib/design/system/comments/complete.js +63 -0
  154. package/src/lib/design/system/comments/complete.js.map +1 -0
  155. package/src/lib/design/system/comments/inbox.d.ts +49 -0
  156. package/src/lib/design/system/comments/inbox.js +100 -0
  157. package/src/lib/design/system/comments/inbox.js.map +1 -0
  158. package/src/lib/design/system/css-source.d.ts +12 -0
  159. package/src/lib/design/system/css-source.js +39 -0
  160. package/src/lib/design/system/css-source.js.map +1 -0
  161. package/src/lib/design/system/flows/flow.d.ts +66 -0
  162. package/src/lib/design/system/flows/flow.js +157 -0
  163. package/src/lib/design/system/flows/flow.js.map +1 -0
  164. package/src/lib/design/system/imports.d.ts +70 -0
  165. package/src/lib/design/system/imports.js +159 -0
  166. package/src/lib/design/system/imports.js.map +1 -0
  167. package/src/lib/design/system/kit.d.ts +4 -0
  168. package/src/lib/design/system/kit.js +51 -0
  169. package/src/lib/design/system/kit.js.map +1 -0
  170. package/src/lib/design/system/layers.d.ts +9 -0
  171. package/src/lib/design/system/layers.js +16 -0
  172. package/src/lib/design/system/layers.js.map +1 -0
  173. package/src/lib/design/system/list-system.d.ts +104 -0
  174. package/src/lib/design/system/list-system.js +212 -0
  175. package/src/lib/design/system/list-system.js.map +1 -0
  176. package/src/lib/design/system/notes/note.d.ts +53 -0
  177. package/src/lib/design/system/notes/note.js +116 -0
  178. package/src/lib/design/system/notes/note.js.map +1 -0
  179. package/src/lib/design/system/part-command.d.ts +7 -0
  180. package/src/lib/design/system/part-command.js +134 -0
  181. package/src/lib/design/system/part-command.js.map +1 -0
  182. package/src/lib/design/system/problem.d.ts +5 -0
  183. package/src/lib/design/system/problem.js +3 -0
  184. package/src/lib/design/system/problem.js.map +1 -0
  185. package/src/lib/design/system/product.d.ts +18 -0
  186. package/src/lib/design/system/product.js +35 -0
  187. package/src/lib/design/system/product.js.map +1 -0
  188. package/src/lib/design/system/render-check.d.ts +45 -0
  189. package/src/lib/design/system/render-check.js +427 -0
  190. package/src/lib/design/system/render-check.js.map +1 -0
  191. package/src/lib/design/system/resolve-product.d.ts +32 -0
  192. package/src/lib/design/system/resolve-product.js +62 -0
  193. package/src/lib/design/system/resolve-product.js.map +1 -0
  194. package/src/lib/design/system/rules/component-copy.d.ts +7 -0
  195. package/src/lib/design/system/rules/component-copy.js +53 -0
  196. package/src/lib/design/system/rules/component-copy.js.map +1 -0
  197. package/src/lib/design/system/rules/flow.d.ts +8 -0
  198. package/src/lib/design/system/rules/flow.js +60 -0
  199. package/src/lib/design/system/rules/flow.js.map +1 -0
  200. package/src/lib/design/system/rules/hard-coded-colour.d.ts +7 -0
  201. package/src/lib/design/system/rules/hard-coded-colour.js +27 -0
  202. package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -0
  203. package/src/lib/design/system/rules/interactions.d.ts +4 -0
  204. package/src/lib/design/system/rules/interactions.js +16 -0
  205. package/src/lib/design/system/rules/interactions.js.map +1 -0
  206. package/src/lib/design/system/rules/kit-outside-pages.d.ts +4 -0
  207. package/src/lib/design/system/rules/kit-outside-pages.js +14 -0
  208. package/src/lib/design/system/rules/kit-outside-pages.js.map +1 -0
  209. package/src/lib/design/system/rules/motion.d.ts +4 -0
  210. package/src/lib/design/system/rules/motion.js +13 -0
  211. package/src/lib/design/system/rules/motion.js.map +1 -0
  212. package/src/lib/design/system/rules/stale-comment.d.ts +8 -0
  213. package/src/lib/design/system/rules/stale-comment.js +51 -0
  214. package/src/lib/design/system/rules/stale-comment.js.map +1 -0
  215. package/src/lib/design/system/rules/stale-replace.d.ts +4 -0
  216. package/src/lib/design/system/rules/stale-replace.js +65 -0
  217. package/src/lib/design/system/rules/stale-replace.js.map +1 -0
  218. package/src/lib/design/system/rules/svg-asset.d.ts +6 -0
  219. package/src/lib/design/system/rules/svg-asset.js +30 -0
  220. package/src/lib/design/system/rules/svg-asset.js.map +1 -0
  221. package/src/lib/design/system/rules/token-selectors.d.ts +3 -0
  222. package/src/lib/design/system/rules/token-selectors.js +87 -0
  223. package/src/lib/design/system/rules/token-selectors.js.map +1 -0
  224. package/src/lib/design/system/rules/undefined-token.d.ts +8 -0
  225. package/src/lib/design/system/rules/undefined-token.js +103 -0
  226. package/src/lib/design/system/rules/undefined-token.js.map +1 -0
  227. package/src/lib/design/system/rules/unused-shared-export.d.ts +18 -0
  228. package/src/lib/design/system/rules/unused-shared-export.js +60 -0
  229. package/src/lib/design/system/rules/unused-shared-export.js.map +1 -0
  230. package/src/lib/design/system/rules/upward-dependency.d.ts +4 -0
  231. package/src/lib/design/system/rules/upward-dependency.js +17 -0
  232. package/src/lib/design/system/rules/upward-dependency.js.map +1 -0
  233. package/src/lib/design/system/rules/widths.d.ts +4 -0
  234. package/src/lib/design/system/rules/widths.js +14 -0
  235. package/src/lib/design/system/rules/widths.js.map +1 -0
  236. package/src/lib/design/system/sketch/baseline.d.ts +38 -0
  237. package/src/lib/design/system/sketch/baseline.js +66 -0
  238. package/src/lib/design/system/sketch/baseline.js.map +1 -0
  239. package/src/lib/design/system/sketch/check-format.d.ts +17 -0
  240. package/src/lib/design/system/sketch/check-format.js +56 -0
  241. package/src/lib/design/system/sketch/check-format.js.map +1 -0
  242. package/src/lib/design/system/sketch/check-sketches.d.ts +38 -0
  243. package/src/lib/design/system/sketch/check-sketches.js +104 -0
  244. package/src/lib/design/system/sketch/check-sketches.js.map +1 -0
  245. package/src/lib/design/system/sketch/cli-args.d.ts +26 -0
  246. package/src/lib/design/system/sketch/cli-args.js +63 -0
  247. package/src/lib/design/system/sketch/cli-args.js.map +1 -0
  248. package/src/lib/design/system/sketch/duplicate-class.d.ts +14 -0
  249. package/src/lib/design/system/sketch/duplicate-class.js +57 -0
  250. package/src/lib/design/system/sketch/duplicate-class.js.map +1 -0
  251. package/src/lib/design/system/sketch/merge-preview.d.ts +15 -0
  252. package/src/lib/design/system/sketch/merge-preview.js +43 -0
  253. package/src/lib/design/system/sketch/merge-preview.js.map +1 -0
  254. package/src/lib/design/system/sketch/merge-shared.d.ts +25 -0
  255. package/src/lib/design/system/sketch/merge-shared.js +53 -0
  256. package/src/lib/design/system/sketch/merge-shared.js.map +1 -0
  257. package/src/lib/design/system/sketch/merge.d.ts +31 -0
  258. package/src/lib/design/system/sketch/merge.js +148 -0
  259. package/src/lib/design/system/sketch/merge.js.map +1 -0
  260. package/src/lib/design/system/sketch/merged-parts.d.ts +59 -0
  261. package/src/lib/design/system/sketch/merged-parts.js +134 -0
  262. package/src/lib/design/system/sketch/merged-parts.js.map +1 -0
  263. package/src/lib/design/system/sketch/no-visible-change.d.ts +15 -0
  264. package/src/lib/design/system/sketch/no-visible-change.js +70 -0
  265. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -0
  266. package/src/lib/design/system/sketch/overlay.d.ts +20 -0
  267. package/src/lib/design/system/sketch/overlay.js +38 -0
  268. package/src/lib/design/system/sketch/overlay.js.map +1 -0
  269. package/src/lib/design/system/sketch/part-definition.d.ts +31 -0
  270. package/src/lib/design/system/sketch/part-definition.js +157 -0
  271. package/src/lib/design/system/sketch/part-definition.js.map +1 -0
  272. package/src/lib/design/system/sketch/shared-class.d.ts +9 -0
  273. package/src/lib/design/system/sketch/shared-class.js +65 -0
  274. package/src/lib/design/system/sketch/shared-class.js.map +1 -0
  275. package/src/lib/design/system/sketch/sketch.d.ts +267 -0
  276. package/src/lib/design/system/sketch/sketch.js +568 -0
  277. package/src/lib/design/system/sketch/sketch.js.map +1 -0
  278. package/src/lib/design/system/sketch/unchanged-states.d.ts +23 -0
  279. package/src/lib/design/system/sketch/unchanged-states.js +144 -0
  280. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -0
  281. package/src/lib/design/system/sketch/unused-files.d.ts +10 -0
  282. package/src/lib/design/system/sketch/unused-files.js +56 -0
  283. package/src/lib/design/system/sketch/unused-files.js.map +1 -0
  284. package/src/lib/design/system/system-command.d.ts +9 -0
  285. package/src/lib/design/system/system-command.js +56 -0
  286. package/src/lib/design/system/system-command.js.map +1 -0
  287. package/src/lib/design/system/system-modules.d.ts +58 -0
  288. package/src/lib/design/system/system-modules.js +189 -0
  289. package/src/lib/design/system/system-modules.js.map +1 -0
  290. package/src/lib/design/system/system-tsconfig.d.ts +26 -0
  291. package/src/lib/design/system/system-tsconfig.js +68 -0
  292. package/src/lib/design/system/system-tsconfig.js.map +1 -0
  293. package/src/lib/design/system/ts-source.d.ts +13 -0
  294. package/src/lib/design/system/ts-source.js +108 -0
  295. package/src/lib/design/system/ts-source.js.map +1 -0
  296. package/src/lib/design/system-use.js.map +1 -1
  297. package/src/lib/design/thumb.d.ts +48 -4
  298. package/src/lib/design/thumb.js +127 -37
  299. package/src/lib/design/thumb.js.map +1 -1
  300. package/src/lib/design/typecheck.d.ts +29 -0
  301. package/src/lib/design/typecheck.js +77 -0
  302. package/src/lib/design/typecheck.js.map +1 -0
  303. package/src/lib/design/variant-diff.d.ts +64 -0
  304. package/src/lib/design/variant-diff.js +92 -0
  305. package/src/lib/design/variant-diff.js.map +1 -0
  306. package/src/lib/design/vite-paths.d.ts +2 -0
  307. package/src/lib/design/vite-paths.js +10 -1
  308. package/src/lib/design/vite-paths.js.map +1 -1
  309. package/src/lib/doctor/doctor-command.js.map +1 -1
  310. package/src/lib/doctor/index.js.map +1 -1
  311. package/src/lib/index.js.map +1 -1
  312. package/src/lib/invocation.js +6 -2
  313. package/src/lib/invocation.js.map +1 -1
  314. package/src/lib/playwright/failure-reporter.d.ts +35 -0
  315. package/src/lib/playwright/failure-reporter.js +66 -0
  316. package/src/lib/playwright/failure-reporter.js.map +1 -0
  317. package/src/lib/release.js.map +1 -1
  318. package/src/lib/update/agent-rules-sync.js.map +1 -1
  319. package/src/lib/update/agent-setup.js.map +1 -1
  320. package/src/lib/update/ai.js.map +1 -1
  321. package/src/lib/update/args.js.map +1 -1
  322. package/src/lib/update/available-migrations.js.map +1 -1
  323. package/src/lib/update/commits.js.map +1 -1
  324. package/src/lib/update/gitignore.js.map +1 -1
  325. package/src/lib/update/index.js.map +1 -1
  326. package/src/lib/update/migration-manifest.js.map +1 -1
  327. package/src/lib/update/migration-record.js.map +1 -1
  328. package/src/lib/update/migrations-command.js.map +1 -1
  329. package/src/lib/update/package-manager.d.ts +1 -1
  330. package/src/lib/update/package-manager.js.map +1 -1
  331. package/src/lib/update/packages.js.map +1 -1
  332. package/src/lib/update/pending.js.map +1 -1
  333. package/src/lib/update/plan.js.map +1 -1
  334. package/src/lib/update/registry.js.map +1 -1
  335. package/src/lib/update/run-migrations.js.map +1 -1
  336. package/src/lib/update/scan.js.map +1 -1
  337. package/src/lib/update/semver.js.map +1 -1
  338. package/src/lib/update/tasks.js.map +1 -1
  339. package/src/lib/update/update-command.js.map +1 -1
  340. package/src/lib/utils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { SheetCell } from './contact-sheet';
2
+ import { DesignConfig } from './paths';
3
+ import { ResolvedProduct } from './system/resolve-product';
4
+ import { Sketch } from './system/sketch/sketch';
5
+ import { PartAddress } from './shot';
6
+ import { ListedGrid } from './system/list-system';
7
+ import { SketchVariant } from './system/system-modules';
8
+ import { BoxOf } from './variant-diff';
9
+ export declare const SHOT_USAGE: string;
10
+ type Axis = {
11
+ label: string;
12
+ sketch: SketchVariant | null;
13
+ };
14
+ type Plan = {
15
+ label: string;
16
+ address: PartAddress;
17
+ absent?: true;
18
+ };
19
+ export declare const NEW_STATE_NOTE = "New state - no merged version";
20
+ /**
21
+ * The sheet with a row after each variant row that marks, per state, the pixels the variant changes from the merged
22
+ * row; headed by a note that the part is new when there is no merged row. A cell of `props` at the place of a variant
23
+ * cell is the merged part drawn with that variant's state props, and replaces the merged cell in the comparison. A row
24
+ * with a grid in `grids` is laid out by it, each grid row followed by its diff row.
25
+ */
26
+ export declare const withDiffRows: (options: {
27
+ rows: Axis[];
28
+ plan: Plan[][];
29
+ sheet: SheetCell[][];
30
+ props?: SheetCell[][];
31
+ grids?: (ListedGrid | undefined)[];
32
+ }) => SheetCell[][];
33
+ /**
34
+ * Rows of cells: one row per variant when `variants` is set, else one row; one column per state when `states` is set,
35
+ * or per state of `only` in its order.
36
+ * Without a width or a preset in `base`, a row is drawn at the width `widthOf` gives for it.
37
+ */
38
+ export declare const planOf: (options: {
39
+ base: Omit<PartAddress, "state" | "sketch">;
40
+ rows: Axis[];
41
+ statesOf: (axis: Axis) => string[];
42
+ widthOf?: (axis: Axis) => number | null;
43
+ states: boolean;
44
+ state: string | null;
45
+ only?: string[];
46
+ }) => Plan[][];
47
+ /** One sheet row per row of the part's grid, after a row of the states the grid leaves out. */
48
+ export declare const gridRowsOf: (row: Plan[], grid: ListedGrid) => Plan[][];
49
+ export declare const rowsOf: (options: {
50
+ part: string;
51
+ variants: string[] | null;
52
+ merged: boolean;
53
+ rejected?: string[];
54
+ }) => Axis[];
55
+ /**
56
+ * The variants of a sketch that a shot draws: all of them, or only those in the named rounds and among the named
57
+ * variants. A string names a round or a variant the sketch does not have, or says that none is left.
58
+ */
59
+ export declare const shownVariantsOf: (options: {
60
+ sketch: Pick<Sketch, "variants" | "rounds" | "variantInfo">;
61
+ rounds: string[];
62
+ variants: string[];
63
+ }) => string[] | string;
64
+ /** The diff lines of the sheet, a line per new state, and the PNG path last. */
65
+ export declare const shotReportOf: (options: {
66
+ out: string;
67
+ diffs: string[];
68
+ sheet: SheetCell[][];
69
+ }) => string[];
70
+ /**
71
+ * The product a shot draws: the one `--product` names or the only one the config declares, else the only product
72
+ * with an open sketch on the part, else the only product with the part.
73
+ */
74
+ export declare const shotProductOf: (options: {
75
+ target: string;
76
+ config: DesignConfig;
77
+ asked: string | undefined;
78
+ part: string;
79
+ }) => ResolvedProduct | string;
80
+ /**
81
+ * The crop around every pixel a variant cell changes from the merged cell of its state, in CSS pixels inside the
82
+ * largest picture, or `null` when no variant changes a pixel.
83
+ */
84
+ export declare const changedCropIn: (options: {
85
+ plan: Plan[][];
86
+ sheet: SheetCell[][];
87
+ mergedIndex: number;
88
+ boxOf: BoxOf;
89
+ scale: number;
90
+ }) => Promise<import("./contact-sheet").ChangedBox | null>;
91
+ /**
92
+ * `et design shot <layer>/<name> --states [--variants]` draws every state of a part, and with `--variants`
93
+ * every variant of its open sketch too, into one contact sheet PNG, and prints where it wrote it.
94
+ */
95
+ export declare const designShot: (options: {
96
+ target: string;
97
+ argv: string[];
98
+ invocation: string;
99
+ }) => Promise<0 | 1 | 2>;
100
+ export {};
@@ -0,0 +1,453 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.designShot = exports.changedCropIn = exports.shotProductOf = exports.shotReportOf = exports.shownVariantsOf = exports.rowsOf = exports.gridRowsOf = exports.planOf = exports.withDiffRows = exports.NEW_STATE_NOTE = exports.SHOT_USAGE = void 0;
13
+ const fs_1 = require("fs");
14
+ const path_1 = require("path");
15
+ const contact_sheet_1 = require("./contact-sheet");
16
+ const cli_args_1 = require("./system/sketch/cli-args");
17
+ const serve_1 = require("./serve");
18
+ const paths_1 = require("./paths");
19
+ const force_interactions_1 = require("./force-interactions");
20
+ const sketch_at_1 = require("./sketch-at");
21
+ const product_1 = require("./system/product");
22
+ const sketch_1 = require("./system/sketch/sketch");
23
+ const shot_1 = require("./shot");
24
+ const list_system_1 = require("./system/list-system");
25
+ const system_modules_1 = require("./system/system-modules");
26
+ const thumb_1 = require("./thumb");
27
+ exports.SHOT_USAGE = `shot <layer>/<name> --states [--variants [--round <key>[,<key>...]] [--variant <name>[,<name>...]] [--at <commit>] [--diff-props]] [--state <name>[,<name>...]] [--interaction <${force_interactions_1.INTERACTIONS.join('|')}>] [--preset <preset> | --width <px>] [--scale <1-4>] [--crop <x,y,width,height> | --crop changed] [--product <name>] [--surface <name>] [--color <name>] [--out <file>]`;
28
+ exports.NEW_STATE_NOTE = 'New state - no merged version';
29
+ /**
30
+ * The sheet with a row after each variant row that marks, per state, the pixels the variant changes from the merged
31
+ * row; headed by a note that the part is new when there is no merged row. A cell of `props` at the place of a variant
32
+ * cell is the merged part drawn with that variant's state props, and replaces the merged cell in the comparison. A row
33
+ * with a grid in `grids` is laid out by it, each grid row followed by its diff row.
34
+ */
35
+ const withDiffRows = (options) => {
36
+ var _a, _b;
37
+ const { rows, plan, sheet, props, grids } = options;
38
+ const mergedIndex = rows.findIndex((axis) => axis.sketch === null);
39
+ const compares = mergedIndex !== -1 && rows.length > 1;
40
+ const mergedStates = new Set(((_a = plan[mergedIndex]) !== null && _a !== void 0 ? _a : []).flatMap((entry) => (entry.absent ? [] : [entry.address.state])));
41
+ const merged = new Map(((_b = plan[mergedIndex]) !== null && _b !== void 0 ? _b : []).flatMap((entry, index) => {
42
+ var _a;
43
+ const cell = (_a = sheet[mergedIndex]) === null || _a === void 0 ? void 0 : _a[index];
44
+ return cell && 'png' in cell ? [[entry.address.state, cell]] : [];
45
+ }));
46
+ const diffOf = (rowIndex, index) => {
47
+ var _a, _b, _c, _d, _e;
48
+ const cell = (_a = sheet[rowIndex]) === null || _a === void 0 ? void 0 : _a[index];
49
+ const state = (_d = (_c = (_b = plan[rowIndex]) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.address.state) !== null && _d !== void 0 ? _d : '';
50
+ const before = merged.get(state);
51
+ if (!cell || !('png' in cell))
52
+ return null;
53
+ if (!mergedStates.has(state))
54
+ return { label: `${cell.label} vs merged`, note: 'new state' };
55
+ const own = (_e = props === null || props === void 0 ? void 0 : props[rowIndex]) === null || _e === void 0 ? void 0 : _e[index];
56
+ if (own) {
57
+ const label = `${cell.label} vs merged with its props`;
58
+ if ('png' in own)
59
+ return { label, before: own.png, after: cell.png, over: cell.label };
60
+ return { label, note: 'error' in own ? own.error : 'not drawn' };
61
+ }
62
+ if (!before)
63
+ return null;
64
+ const markupDiffers = before.markup !== undefined && cell.markup !== undefined && before.markup !== cell.markup;
65
+ return Object.assign({ label: `${cell.label} vs merged`, before: before.png, after: cell.png, over: cell.label }, (markupDiffers ? { markupDiffers } : {}));
66
+ };
67
+ const laidOut = sheet.flatMap((row, rowIndex) => {
68
+ var _a;
69
+ const grid = grids === null || grids === void 0 ? void 0 : grids[rowIndex];
70
+ const cells = (_a = plan[rowIndex]) !== null && _a !== void 0 ? _a : [];
71
+ const groups = grid
72
+ ? (0, exports.gridRowsOf)(cells, grid).map((group) => group.map((cell) => cells.indexOf(cell)))
73
+ : [row.map((_, index) => index)];
74
+ return groups.flatMap((group) => {
75
+ const drawn = group.flatMap((index) => (row[index] ? [row[index]] : []));
76
+ const diffs = compares && rowIndex !== mergedIndex
77
+ ? group.flatMap((index) => {
78
+ const diff = diffOf(rowIndex, index);
79
+ return diff ? [diff] : [];
80
+ })
81
+ : [];
82
+ return diffs.length > 0 ? [drawn, diffs] : [drawn];
83
+ });
84
+ });
85
+ return mergedIndex === -1 ? [[{ label: 'merged', note: 'new part, nothing to compare with' }], ...laidOut] : laidOut;
86
+ };
87
+ exports.withDiffRows = withDiffRows;
88
+ /**
89
+ * Rows of cells: one row per variant when `variants` is set, else one row; one column per state when `states` is set,
90
+ * or per state of `only` in its order.
91
+ * Without a width or a preset in `base`, a row is drawn at the width `widthOf` gives for it.
92
+ */
93
+ const planOf = (options) => {
94
+ const { base, rows, statesOf, widthOf, states, state, only } = options;
95
+ const all = [...new Set(rows.flatMap(statesOf))];
96
+ const columns = states ? (only ? only.filter((name) => all.includes(name)) : all) : [state !== null && state !== void 0 ? state : ''];
97
+ return rows.map((axis) => {
98
+ var _a, _b;
99
+ const own = statesOf(axis);
100
+ const width = (_a = base.width) !== null && _a !== void 0 ? _a : (base.preset ? null : ((_b = widthOf === null || widthOf === void 0 ? void 0 : widthOf(axis)) !== null && _b !== void 0 ? _b : null));
101
+ return columns.flatMap((column) => {
102
+ var _a;
103
+ const name = states ? column : ((_a = state !== null && state !== void 0 ? state : own[0]) !== null && _a !== void 0 ? _a : '');
104
+ if (states && !own.includes(name))
105
+ return [];
106
+ const absent = !states && state !== null && axis.sketch === null && !own.includes(name) && all.includes(name);
107
+ return [
108
+ Object.assign({ label: [axis.label, states || axis.sketch === null ? name : ''].filter(Boolean).join(' / '), address: Object.assign(Object.assign({}, base), { width, state: name, sketch: axis.sketch }) }, (absent ? { absent: true } : {})),
109
+ ];
110
+ });
111
+ });
112
+ };
113
+ exports.planOf = planOf;
114
+ /** One sheet row per row of the part's grid, after a row of the states the grid leaves out. */
115
+ const gridRowsOf = (row, grid) => {
116
+ const byState = new Map(row.map((cell) => [cell.address.state, cell]));
117
+ const gridded = new Set(grid.cells.map((cell) => cell.state));
118
+ const rest = row.filter((cell) => !gridded.has(cell.address.state));
119
+ const rows = grid.rows.map((name) => grid.columns.flatMap((column) => {
120
+ var _a;
121
+ const state = (_a = grid.cells.find((cell) => cell.row === name && cell.column === column)) === null || _a === void 0 ? void 0 : _a.state;
122
+ const cell = state === undefined ? undefined : byState.get(state);
123
+ return cell ? [cell] : [];
124
+ }));
125
+ return [rest, ...rows].filter((cells) => cells.length > 0);
126
+ };
127
+ exports.gridRowsOf = gridRowsOf;
128
+ const rowsOf = (options) => {
129
+ const { part, variants, merged, rejected = [] } = options;
130
+ if (!variants)
131
+ return [{ label: '', sketch: null }];
132
+ return [
133
+ ...(merged ? [{ label: 'merged', sketch: null }] : []),
134
+ ...variants.map((variant) => ({
135
+ label: rejected.includes(variant) ? `${variant} rejected` : variant,
136
+ sketch: { target: part, variant },
137
+ })),
138
+ ];
139
+ };
140
+ exports.rowsOf = rowsOf;
141
+ /**
142
+ * The variants of a sketch that a shot draws: all of them, or only those in the named rounds and among the named
143
+ * variants. A string names a round or a variant the sketch does not have, or says that none is left.
144
+ */
145
+ const shownVariantsOf = (options) => {
146
+ const { sketch, rounds, variants } = options;
147
+ const known = sketch.rounds.map((round) => round.key);
148
+ const unknownRounds = rounds.filter((key) => !known.includes(key));
149
+ const unknownVariants = variants.filter((name) => !sketch.variants.includes(name));
150
+ if (unknownRounds.length > 0)
151
+ return `no round ${unknownRounds.join(', ')} (rounds: ${known.join(', ')})`;
152
+ if (unknownVariants.length > 0)
153
+ return `no variant ${unknownVariants.join(', ')} (variants: ${sketch.variants.join(', ')})`;
154
+ const shown = sketch.variants.filter((name) => {
155
+ var _a, _b;
156
+ return (rounds.length === 0 || rounds.includes((_b = (_a = sketch.variantInfo[name]) === null || _a === void 0 ? void 0 : _a.round) !== null && _b !== void 0 ? _b : '')) &&
157
+ (variants.length === 0 || variants.includes(name));
158
+ });
159
+ return shown.length > 0 ? shown : `no variant is in round ${rounds.join(', ')} and named ${variants.join(', ')}`;
160
+ };
161
+ exports.shownVariantsOf = shownVariantsOf;
162
+ /** The diff lines of the sheet, a line per new state, and the PNG path last. */
163
+ const shotReportOf = (options) => [
164
+ ...options.diffs,
165
+ ...options.sheet.flatMap((row) => row.flatMap((cell) => ('note' in cell && cell.label.includes(' vs merged') ? [`${cell.label}: ${cell.note}`] : []))),
166
+ options.out,
167
+ ];
168
+ exports.shotReportOf = shotReportOf;
169
+ /**
170
+ * The product a shot draws: the one `--product` names or the only one the config declares, else the only product
171
+ * with an open sketch on the part, else the only product with the part.
172
+ */
173
+ const shotProductOf = (options) => {
174
+ var _a;
175
+ const { target, config, asked, part } = options;
176
+ const declared = Object.keys((_a = config.products) !== null && _a !== void 0 ? _a : {});
177
+ const parsed = (0, sketch_1.parseTarget)(part);
178
+ if (asked !== undefined || declared.length < 2 || typeof parsed === 'string')
179
+ return (0, cli_args_1.oneProductOf)({ target, config, asked });
180
+ const sketched = declared.filter((product) => (0, sketch_1.findSketch)({ productDir: (0, product_1.productDirOf)({ target, product }), product, sketch: parsed }) !== null);
181
+ const system = (0, system_modules_1.createSystemModules)({ target, config });
182
+ const holders = sketched.length > 0 ? sketched : declared.filter((product) => system.partOf({ product, part }));
183
+ return (0, cli_args_1.oneProductOf)({ target, config, asked: holders.length === 1 ? holders[0] : undefined });
184
+ };
185
+ exports.shotProductOf = shotProductOf;
186
+ const CROP_CHANGED = 'changed';
187
+ /**
188
+ * The crop around every pixel a variant cell changes from the merged cell of its state, in CSS pixels inside the
189
+ * largest picture, or `null` when no variant changes a pixel.
190
+ */
191
+ const changedCropIn = (options) => __awaiter(void 0, void 0, void 0, function* () {
192
+ var _a;
193
+ const { plan, sheet, mergedIndex, boxOf, scale } = options;
194
+ const pngs = sheet.flatMap((row) => row.flatMap((cell) => ('png' in cell ? [cell.png] : [])));
195
+ const merged = new Map(((_a = plan[mergedIndex]) !== null && _a !== void 0 ? _a : []).flatMap((entry, index) => {
196
+ var _a;
197
+ const cell = (_a = sheet[mergedIndex]) === null || _a === void 0 ? void 0 : _a[index];
198
+ return cell && 'png' in cell ? [[entry.address.state, cell.png]] : [];
199
+ }));
200
+ const pairs = sheet.flatMap((row, rowIndex) => rowIndex === mergedIndex
201
+ ? []
202
+ : row.flatMap((cell, index) => {
203
+ var _a, _b, _c;
204
+ const before = merged.get((_c = (_b = (_a = plan[rowIndex]) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.address.state) !== null && _c !== void 0 ? _c : '');
205
+ return before && 'png' in cell ? [[before, cell.png]] : [];
206
+ }));
207
+ if (pngs.length === 0)
208
+ return null;
209
+ const sizes = pngs.map(contact_sheet_1.pngSizeOf);
210
+ const boxes = yield Promise.all(pairs.map(([before, after]) => boxOf(before, after)));
211
+ return (0, contact_sheet_1.changedCropOf)({
212
+ boxes,
213
+ frame: {
214
+ width: Math.max(...sizes.map((size) => size.width)),
215
+ height: Math.max(...sizes.map((size) => size.height)),
216
+ },
217
+ scale,
218
+ });
219
+ });
220
+ exports.changedCropIn = changedCropIn;
221
+ const stringsOf = (states) => (states && typeof states === 'object' ? Object.keys(states) : []);
222
+ /**
223
+ * `et design shot <layer>/<name> --states [--variants]` draws every state of a part, and with `--variants`
224
+ * every variant of its open sketch too, into one contact sheet PNG, and prints where it wrote it.
225
+ */
226
+ const designShot = (options) => __awaiter(void 0, void 0, void 0, function* () {
227
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
228
+ const { target, argv, invocation } = options;
229
+ const args = (0, cli_args_1.argsOf)(argv, [
230
+ '--product',
231
+ '--at',
232
+ '--round',
233
+ '--variant',
234
+ '--state',
235
+ '--interaction',
236
+ '--preset',
237
+ '--width',
238
+ '--scale',
239
+ '--crop',
240
+ '--surface',
241
+ '--color',
242
+ '--out',
243
+ ]);
244
+ const usage = `usage: ${invocation} ${exports.SHOT_USAGE}`;
245
+ if (typeof args === 'string') {
246
+ console.error(`${args}\n${usage}`);
247
+ return 2;
248
+ }
249
+ const [part, ...extra] = args.positional;
250
+ const asked = (_b = (_a = args.values['--state']) === null || _a === void 0 ? void 0 : _a.split(',').filter(Boolean)) !== null && _b !== void 0 ? _b : [];
251
+ const states = args.flags.has('--states') || asked.length > 1;
252
+ const variants = args.flags.has('--variants');
253
+ const diffProps = args.flags.has('--diff-props');
254
+ const onlyRounds = (_d = (_c = args.values['--round']) === null || _c === void 0 ? void 0 : _c.split(',').filter(Boolean)) !== null && _d !== void 0 ? _d : [];
255
+ const onlyVariants = (_f = (_e = args.values['--variant']) === null || _e === void 0 ? void 0 : _e.split(',').filter(Boolean)) !== null && _f !== void 0 ? _f : [];
256
+ const width = args.values['--width'] === undefined ? null : Number(args.values['--width']);
257
+ const preset = (_g = args.values['--preset']) !== null && _g !== void 0 ? _g : null;
258
+ const scale = Number((_h = args.values['--scale']) !== null && _h !== void 0 ? _h : 1);
259
+ const interaction = (_j = args.values['--interaction']) !== null && _j !== void 0 ? _j : null;
260
+ const cropChanged = args.values['--crop'] === CROP_CHANGED;
261
+ if (!part ||
262
+ extra.length > 0 ||
263
+ (!states && !variants) ||
264
+ ((args.values['--at'] !== undefined || diffProps || onlyRounds.length > 0 || onlyVariants.length > 0) &&
265
+ !variants) ||
266
+ (width !== null && !(Number.isInteger(width) && width > 0)) ||
267
+ (preset && width) ||
268
+ !(Number.isInteger(scale) && scale >= 1 && scale <= 4) ||
269
+ (cropChanged ? !variants : (0, shot_1.cropOf)(args.values['--crop']) === undefined) ||
270
+ (interaction !== null && !force_interactions_1.INTERACTIONS.includes(interaction))) {
271
+ console.error(usage);
272
+ return 2;
273
+ }
274
+ const config = (0, cli_args_1.configOf)(target);
275
+ if (typeof config === 'string') {
276
+ console.error(config);
277
+ return 1;
278
+ }
279
+ const resolved = (0, exports.shotProductOf)({ target, config, asked: args.values['--product'], part });
280
+ if (typeof resolved === 'string') {
281
+ console.error(resolved);
282
+ return 1;
283
+ }
284
+ const product = resolved.name;
285
+ const at = args.values['--at'];
286
+ let sketchesRoot;
287
+ if (at !== undefined) {
288
+ const sketchTarget = (0, sketch_1.parseTarget)(part);
289
+ const productDir = (_k = (0, system_modules_1.createSystemModules)({ target, config }).productOf(product)) === null || _k === void 0 ? void 0 : _k.dir;
290
+ if (typeof sketchTarget === 'string' || !productDir) {
291
+ console.error(`design-explore: --at needs a <layer>/<name> part of a known product`);
292
+ return 1;
293
+ }
294
+ const extracted = (0, sketch_at_1.extractSketchAt)({
295
+ target,
296
+ productDir,
297
+ sketch: sketchTarget,
298
+ commit: at,
299
+ dest: (0, path_1.resolve)((0, paths_1.workRootOf)(target), 'at', `${product}-${at.replace(/[^\w.-]/gu, '_')}`),
300
+ });
301
+ if ('problem' in extracted) {
302
+ console.error(`design-explore: ${extracted.problem}`);
303
+ return 1;
304
+ }
305
+ sketchesRoot = extracted.root;
306
+ }
307
+ const system = (0, system_modules_1.createSystemModules)({ target, config, sketchesRoot });
308
+ const sketch = system.sketchesOf(product).find((found) => found.target === part);
309
+ if (variants && !(sketch === null || sketch === void 0 ? void 0 : sketch.variants.length)) {
310
+ console.error(`design-explore: ${part} has no open sketch in product "${product}"`);
311
+ return 1;
312
+ }
313
+ const shownVariants = variants && sketch ? (0, exports.shownVariantsOf)({ sketch, rounds: onlyRounds, variants: onlyVariants }) : null;
314
+ if (typeof shownVariants === 'string') {
315
+ console.error(`design-explore: ${part} has ${shownVariants}`);
316
+ return 1;
317
+ }
318
+ const rows = (0, exports.rowsOf)({
319
+ part,
320
+ variants: shownVariants,
321
+ merged: Boolean(system.partOf({ product, part })),
322
+ rejected: sketch === null || sketch === void 0 ? void 0 : sketch.variants.filter((variant) => (0, sketch_1.rejectionOf)(sketch, variant)),
323
+ });
324
+ if (!system.partOf({ product, part }) && !sketch) {
325
+ console.error(`design-explore: product "${product}" has no part "${part}"`);
326
+ return 1;
327
+ }
328
+ if (cropChanged && !system.partOf({ product, part })) {
329
+ console.error(`design-explore: --crop changed compares the variants with the merged part, and ${part} is new in product "${product}"`);
330
+ return 2;
331
+ }
332
+ const queue = (0, thumb_1.createDrawQueue)({ target });
333
+ const server = yield (0, serve_1.createDesignServer)({ target, config, listen: true, port: 0, sketchesRoot });
334
+ try {
335
+ yield server.listen();
336
+ const { port } = (_l = server.httpServer) === null || _l === void 0 ? void 0 : _l.address();
337
+ const loaded = new Map();
338
+ const widths = new Map();
339
+ const grids = new Map();
340
+ for (const axis of rows) {
341
+ const found = system.partOf({ product, part, sketch: axis.sketch });
342
+ if (!found)
343
+ continue;
344
+ const module = (yield server.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file: found.file, product, sketch: axis.sketch })));
345
+ const names = stringsOf((_m = module.default) === null || _m === void 0 ? void 0 : _m.states);
346
+ const first = Array.isArray((_o = module.default) === null || _o === void 0 ? void 0 : _o.widths) ? module.default.widths[0] : undefined;
347
+ loaded.set(axis, names);
348
+ if (typeof first === 'number' && Number.isInteger(first) && first > 0)
349
+ widths.set(axis, first);
350
+ grids.set(axis, (0, list_system_1.gridOf)((_p = module.default) === null || _p === void 0 ? void 0 : _p.grid, names).grid);
351
+ }
352
+ const known = [...new Set([...loaded.values()].flat())];
353
+ const unknown = asked.filter((name) => !known.includes(name));
354
+ if (unknown.length > 0) {
355
+ console.error(`design-explore: ${part} has no state ${unknown.join(', ')} (states: ${known.join(', ')})`);
356
+ return 1;
357
+ }
358
+ const isPage = part.startsWith('pages/');
359
+ const presets = (_r = (_q = system.productOf(product)) === null || _q === void 0 ? void 0 : _q.presets) !== null && _r !== void 0 ? _r : {};
360
+ const chosenPreset = preset !== null && preset !== void 0 ? preset : (isPage ? ((_s = Object.keys(presets)[0]) !== null && _s !== void 0 ? _s : null) : null);
361
+ const params = new URLSearchParams();
362
+ for (const name of ['surface', 'color', 'scale']) {
363
+ const value = args.values[`--${name}`];
364
+ if (value)
365
+ params.set(name, value);
366
+ }
367
+ if (args.values['--crop'] && !cropChanged)
368
+ params.set('clip', args.values['--crop']);
369
+ const plan = (0, exports.planOf)({
370
+ base: { product, part, preset: chosenPreset, width, interaction },
371
+ rows,
372
+ statesOf: (axis) => { var _a; return (_a = loaded.get(axis)) !== null && _a !== void 0 ? _a : []; },
373
+ widthOf: (axis) => { var _a; return (isPage ? null : ((_a = widths.get(axis)) !== null && _a !== void 0 ? _a : null)); },
374
+ states,
375
+ state: (_t = asked[0]) !== null && _t !== void 0 ? _t : null,
376
+ only: states && asked.length > 0 ? asked : undefined,
377
+ });
378
+ const shooter = (0, shot_1.createPartShooter)({ target, base: `http://localhost:${port}`, system });
379
+ try {
380
+ const shoot = ({ label, address, absent }) => absent
381
+ ? Promise.resolve({ label, note: exports.NEW_STATE_NOTE })
382
+ : shooter.pictureOf(Object.assign(Object.assign({}, address), { params })).then(({ png, markup }) => (Object.assign({ label, png }, (markup === undefined ? {} : { markup }))), (error) => ({ label, error: error instanceof Error ? error.message : String(error) }));
383
+ const shootAll = () => __awaiter(void 0, void 0, void 0, function* () {
384
+ const drawn = [];
385
+ for (const row of plan) {
386
+ const cells = [];
387
+ for (const entry of row)
388
+ cells.push(yield shoot(entry));
389
+ drawn.push(cells);
390
+ }
391
+ return drawn;
392
+ });
393
+ let sheet = yield shootAll();
394
+ const mergedIndex = rows.findIndex((axis) => axis.sketch === null);
395
+ if (cropChanged) {
396
+ const crop = yield (0, exports.changedCropIn)({ plan, sheet, mergedIndex, boxOf: shooter.changedBoxOf, scale });
397
+ if (crop) {
398
+ params.set('clip', `${crop.x},${crop.y},${crop.width},${crop.height}`);
399
+ console.log(`crop ${crop.x},${crop.y},${crop.width},${crop.height} (changed bounds)`);
400
+ sheet = yield shootAll();
401
+ }
402
+ else {
403
+ console.log('crop changed: no variant changes a pixel of the merged part, so the full frame is drawn');
404
+ }
405
+ }
406
+ const mergedStates = new Set((_u = plan[mergedIndex]) === null || _u === void 0 ? void 0 : _u.flatMap((cell) => (cell.absent ? [] : [cell.address.state])));
407
+ const props = [];
408
+ for (const row of diffProps ? plan : []) {
409
+ const cells = [];
410
+ for (const { label, address } of row) {
411
+ cells.push(address.sketch && mergedStates.has(address.state)
412
+ ? yield shoot({ label, address: Object.assign(Object.assign({}, address), { sketch: null, props: address.sketch }) })
413
+ : { label, note: '' });
414
+ }
415
+ props.push(cells);
416
+ }
417
+ if (sheet.every((row) => row.length === 0)) {
418
+ console.error(`design-explore: ${part} has no state to draw`);
419
+ return 1;
420
+ }
421
+ const shown = (0, exports.withDiffRows)({
422
+ rows,
423
+ plan,
424
+ sheet,
425
+ props: diffProps ? props : undefined,
426
+ grids: rows.map((axis) => (states ? grids.get(axis) : undefined)),
427
+ });
428
+ const { png, diffs } = yield queue.run((browser) => (0, contact_sheet_1.contactSheetOf)({ browser, rows: shown }));
429
+ const out = (0, path_1.resolve)(target, (_v = args.values['--out']) !== null && _v !== void 0 ? _v : `${(0, paths_1.workRootOf)(target)}/shots/${product}-${part.replace('/', '-')}.png`);
430
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(out), { recursive: true });
431
+ (0, fs_1.writeFileSync)(out, png);
432
+ for (const line of (0, exports.shotReportOf)({ out, diffs, sheet: shown }))
433
+ console.log(line);
434
+ return 0;
435
+ }
436
+ finally {
437
+ yield shooter.close();
438
+ }
439
+ }
440
+ catch (error) {
441
+ if (error instanceof thumb_1.ThumbUnavailableError) {
442
+ console.error(error.message);
443
+ return 1;
444
+ }
445
+ throw error;
446
+ }
447
+ finally {
448
+ yield queue.close();
449
+ yield server.close();
450
+ }
451
+ });
452
+ exports.designShot = designShot;
453
+ //# sourceMappingURL=shot-command.js.map