@ethlete/cli 3.0.0-next.25 → 3.0.0-next.26

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 (140) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/design/define-call.ts +29 -3
  3. package/design/define-part.ts +15 -1
  4. package/design/logo-sheet.ts +52 -0
  5. package/design/motion-drive.ts +215 -0
  6. package/design/motion-runtime.ts +14 -2
  7. package/design/motion-tokens.ts +177 -0
  8. package/design/web/frame-fill.ts +4 -0
  9. package/design/web/frame-scheme.ts +44 -0
  10. package/design/web/frame.ts +122 -29
  11. package/package.json +1 -1
  12. package/src/lib/design/calls-tsconfig.d.ts +2 -0
  13. package/src/lib/design/calls-tsconfig.js +10 -3
  14. package/src/lib/design/calls-tsconfig.js.map +1 -1
  15. package/src/lib/design/check.d.ts +1 -0
  16. package/src/lib/design/check.js +62 -6
  17. package/src/lib/design/check.js.map +1 -1
  18. package/src/lib/design/contact-sheet.d.ts +9 -0
  19. package/src/lib/design/contact-sheet.js +38 -4
  20. package/src/lib/design/contact-sheet.js.map +1 -1
  21. package/src/lib/design/design-command.js +27 -8
  22. package/src/lib/design/design-command.js.map +1 -1
  23. package/src/lib/design/draw-ledger.d.ts +36 -0
  24. package/src/lib/design/draw-ledger.js +52 -0
  25. package/src/lib/design/draw-ledger.js.map +1 -0
  26. package/src/lib/design/mcp-command.d.ts +23 -2
  27. package/src/lib/design/mcp-command.js +105 -10
  28. package/src/lib/design/mcp-command.js.map +1 -1
  29. package/src/lib/design/motion-command.js +9 -15
  30. package/src/lib/design/motion-command.js.map +1 -1
  31. package/src/lib/design/paths.d.ts +14 -0
  32. package/src/lib/design/paths.js +50 -1
  33. package/src/lib/design/paths.js.map +1 -1
  34. package/src/lib/design/render-packages.d.ts +5 -0
  35. package/src/lib/design/render-packages.js +6 -1
  36. package/src/lib/design/render-packages.js.map +1 -1
  37. package/src/lib/design/render-worker.js +1 -0
  38. package/src/lib/design/render-worker.js.map +1 -1
  39. package/src/lib/design/serve.d.ts +2 -2
  40. package/src/lib/design/serve.js +158 -19
  41. package/src/lib/design/serve.js.map +1 -1
  42. package/src/lib/design/shot-command.d.ts +5 -2
  43. package/src/lib/design/shot-command.js +18 -16
  44. package/src/lib/design/shot-command.js.map +1 -1
  45. package/src/lib/design/shot-store.d.ts +24 -0
  46. package/src/lib/design/shot-store.js +120 -0
  47. package/src/lib/design/shot-store.js.map +1 -0
  48. package/src/lib/design/shot.d.ts +21 -1
  49. package/src/lib/design/shot.js +118 -31
  50. package/src/lib/design/shot.js.map +1 -1
  51. package/src/lib/design/sketch-command.js +121 -37
  52. package/src/lib/design/sketch-command.js.map +1 -1
  53. package/src/lib/design/ssr-shims.d.ts +2 -0
  54. package/src/lib/design/ssr-shims.js +12 -1
  55. package/src/lib/design/ssr-shims.js.map +1 -1
  56. package/src/lib/design/studio-api.d.ts +12 -0
  57. package/src/lib/design/studio-api.js +68 -2
  58. package/src/lib/design/studio-api.js.map +1 -1
  59. package/src/lib/design/system/check-system.d.ts +6 -2
  60. package/src/lib/design/system/check-system.js +102 -20
  61. package/src/lib/design/system/check-system.js.map +1 -1
  62. package/src/lib/design/system/colour.d.ts +4 -1
  63. package/src/lib/design/system/colour.js +54 -2
  64. package/src/lib/design/system/colour.js.map +1 -1
  65. package/src/lib/design/system/complete-command.js +6 -2
  66. package/src/lib/design/system/complete-command.js.map +1 -1
  67. package/src/lib/design/system/complete.d.ts +67 -2
  68. package/src/lib/design/system/complete.js +227 -53
  69. package/src/lib/design/system/complete.js.map +1 -1
  70. package/src/lib/design/system/contrast-check.d.ts +6 -1
  71. package/src/lib/design/system/contrast-check.js +167 -12
  72. package/src/lib/design/system/contrast-check.js.map +1 -1
  73. package/src/lib/design/system/drawn-open-points.d.ts +16 -0
  74. package/src/lib/design/system/drawn-open-points.js +43 -0
  75. package/src/lib/design/system/drawn-open-points.js.map +1 -0
  76. package/src/lib/design/system/list-system.d.ts +4 -1
  77. package/src/lib/design/system/list-system.js +2 -1
  78. package/src/lib/design/system/list-system.js.map +1 -1
  79. package/src/lib/design/system/open-points.d.ts +101 -0
  80. package/src/lib/design/system/open-points.js +156 -0
  81. package/src/lib/design/system/open-points.js.map +1 -0
  82. package/src/lib/design/system/part-ready.d.ts +52 -0
  83. package/src/lib/design/system/part-ready.js +101 -0
  84. package/src/lib/design/system/part-ready.js.map +1 -0
  85. package/src/lib/design/system/read-open-points.d.ts +27 -0
  86. package/src/lib/design/system/read-open-points.js +81 -0
  87. package/src/lib/design/system/read-open-points.js.map +1 -0
  88. package/src/lib/design/system/ready-command.d.ts +7 -0
  89. package/src/lib/design/system/ready-command.js +65 -0
  90. package/src/lib/design/system/ready-command.js.map +1 -0
  91. package/src/lib/design/system/render-check.d.ts +2 -0
  92. package/src/lib/design/system/render-check.js +197 -31
  93. package/src/lib/design/system/render-check.js.map +1 -1
  94. package/src/lib/design/system/resolve-product.d.ts +2 -1
  95. package/src/lib/design/system/resolve-product.js +20 -3
  96. package/src/lib/design/system/resolve-product.js.map +1 -1
  97. package/src/lib/design/system/rules/implements.d.ts +7 -0
  98. package/src/lib/design/system/rules/implements.js +43 -0
  99. package/src/lib/design/system/rules/implements.js.map +1 -0
  100. package/src/lib/design/system/rules/motion.d.ts +2 -0
  101. package/src/lib/design/system/rules/motion.js +26 -1
  102. package/src/lib/design/system/rules/motion.js.map +1 -1
  103. package/src/lib/design/system/rules/option-values.d.ts +15 -0
  104. package/src/lib/design/system/rules/option-values.js +145 -0
  105. package/src/lib/design/system/rules/option-values.js.map +1 -0
  106. package/src/lib/design/system/rules/stale-replace.js +41 -3
  107. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  108. package/src/lib/design/system/sketch/baseline.d.ts +11 -2
  109. package/src/lib/design/system/sketch/baseline.js +4 -2
  110. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  111. package/src/lib/design/system/sketch/check-sketches.d.ts +1 -0
  112. package/src/lib/design/system/sketch/check-sketches.js +4 -2
  113. package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
  114. package/src/lib/design/system/sketch/merge.js +32 -0
  115. package/src/lib/design/system/sketch/merge.js.map +1 -1
  116. package/src/lib/design/system/sketch/merged-parts.d.ts +1 -1
  117. package/src/lib/design/system/sketch/merged-parts.js +1 -1
  118. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  119. package/src/lib/design/system/sketch/part-definition.d.ts +36 -0
  120. package/src/lib/design/system/sketch/part-definition.js +56 -2
  121. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  122. package/src/lib/design/system/sketch/sketch.d.ts +15 -0
  123. package/src/lib/design/system/sketch/sketch.js +65 -27
  124. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  125. package/src/lib/design/system/sketch/unchanged-states.d.ts +4 -1
  126. package/src/lib/design/system/sketch/unchanged-states.js +9 -5
  127. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  128. package/src/lib/design/system/sketch/unused-closure.js +12 -2
  129. package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
  130. package/src/lib/design/system/sketch/unused-files.d.ts +1 -1
  131. package/src/lib/design/system/sketch/unused-files.js +6 -3
  132. package/src/lib/design/system/sketch/unused-files.js.map +1 -1
  133. package/src/lib/design/system/system-tsconfig.js +2 -2
  134. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  135. package/src/lib/design/system/ts-source.d.ts +3 -0
  136. package/src/lib/design/system/ts-source.js +21 -4
  137. package/src/lib/design/system/ts-source.js.map +1 -1
  138. package/src/lib/design/thumb.d.ts +31 -4
  139. package/src/lib/design/thumb.js +105 -40
  140. package/src/lib/design/thumb.js.map +1 -1
@@ -9,8 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createPartShooter = exports.partFrameOf = exports.dependentIdsOf = exports.stylesheetImportsPlugin = exports.viewportOf = exports.cropOf = exports.SHOT_PATH = void 0;
12
+ exports.createPartShooter = exports.partFrameOf = exports.dependencyFilesOf = exports.dependentIdsOf = exports.stylesheetImportsPlugin = exports.viewportOf = exports.cropOf = exports.drawParamsOf = exports.isSchemeFlag = exports.SHOT_PATH = void 0;
13
13
  const crypto_1 = require("crypto");
14
+ const path_1 = require("path");
14
15
  const contact_sheet_1 = require("./contact-sheet");
15
16
  const changed_parts_1 = require("./changed-parts");
16
17
  const system_modules_1 = require("./system/system-modules");
@@ -23,10 +24,41 @@ const isPositiveWhole = (pixels) => Number.isInteger(pixels) && pixels > 0;
23
24
  const VIEWPORT_HEIGHT = 800;
24
25
  const MAX_SCALE = 4;
25
26
  const scaleOf = (params) => { var _a; return Number((_a = params.get('scale')) !== null && _a !== void 0 ? _a : 1); };
27
+ const viewOf = (raw) => (raw !== null && isPositiveWhole(Number(raw)) ? Number(raw) : null);
28
+ const wantOf = (params, response) => {
29
+ const withdraws = new Set();
30
+ const rank = params.get('rank');
31
+ let hungUp = false;
32
+ response.once('close', () => {
33
+ hungUp = !response.writableFinished;
34
+ if (hungUp)
35
+ withdraws.forEach((withdraw) => withdraw());
36
+ });
37
+ return {
38
+ priority: params.get('priority') === 'low' ? 'low' : 'high',
39
+ view: viewOf(params.get('view')),
40
+ rank: rank === 'active' || rank === 'visible' ? rank : null,
41
+ onWithdraw: (withdraw) => (hungUp ? withdraw() : withdraws.add(withdraw)),
42
+ };
43
+ };
26
44
  const schemeOf = (params) => {
27
45
  const scheme = params.get('scheme');
28
46
  return scheme === 'dark' || scheme === 'light' ? scheme : null;
29
47
  };
48
+ /** Whether a `--scheme` value is absent or one the frame pins. */
49
+ const isSchemeFlag = (value) => value === undefined || value === 'light' || value === 'dark';
50
+ exports.isSchemeFlag = isSchemeFlag;
51
+ /** The frame params of the `--surface`, `--color`, `--scheme` and `--scale` flags of a shot command. */
52
+ const drawParamsOf = (values) => {
53
+ const params = new URLSearchParams();
54
+ for (const name of ['surface', 'color', 'scheme', 'scale']) {
55
+ const value = values[`--${name}`];
56
+ if (value)
57
+ params.set(name, value);
58
+ }
59
+ return params;
60
+ };
61
+ exports.drawParamsOf = drawParamsOf;
30
62
  const isScale = (scale) => Number.isInteger(scale) && scale >= 1 && scale <= MAX_SCALE;
31
63
  /** The `x,y,width,height` crop of a picture in CSS pixels, `null` without one, `undefined` for a malformed one. */
32
64
  const cropOf = (raw) => {
@@ -98,6 +130,24 @@ const dependentIdsOf = (modules, imports = new Map()) => {
98
130
  return [...seen].flatMap((module) => (module.id ? [module.id] : []));
99
131
  };
100
132
  exports.dependentIdsOf = dependentIdsOf;
133
+ /**
134
+ * The files of the given modules and of every module they import, directly or not: the reverse of
135
+ * `dependentIdsOf`, so a Tailwind source a stylesheet only scans is not among them.
136
+ */
137
+ const dependencyFilesOf = (modules, imports = new Map()) => {
138
+ const seen = new Set();
139
+ const open = [...modules];
140
+ for (let next = open.pop(); next; next = open.pop()) {
141
+ if (seen.has(next))
142
+ continue;
143
+ seen.add(next);
144
+ const importer = next;
145
+ open.push(...[...next.importedModules].filter((module) => !isTailwindSourceOf({ imports, module, importer })));
146
+ }
147
+ return [...seen].flatMap((module) => (module.file && (0, path_1.isAbsolute)(module.file) ? [module.file] : []));
148
+ };
149
+ exports.dependencyFilesOf = dependencyFilesOf;
150
+ const SHOT_OPTIONS = { type: 'png', fullPage: true, omitBackground: true, timeout: thumb_1.DRAW_TIMEOUT_MS };
101
151
  /** The frame query, viewport and cache key that draw one state of a part, or why the part cannot be drawn. */
102
152
  const partFrameOf = (options) => {
103
153
  var _a, _b;
@@ -139,9 +189,10 @@ exports.partFrameOf = partFrameOf;
139
189
  * and theme until a change redraws its part.
140
190
  */
141
191
  const createPartShooter = (options) => {
142
- const { system, statesOf } = options;
192
+ var _a;
193
+ const { system, statesOf, store } = options;
143
194
  const baseOf = () => (typeof options.base === 'function' ? options.base() : options.base);
144
- const drawQueue = (0, thumb_1.createDrawQueue)(options);
195
+ const drawQueue = (_a = options.queue) !== null && _a !== void 0 ? _a : (0, thumb_1.createDrawQueue)(options);
145
196
  const warmPages = (0, warm_pages_1.createWarmPages)();
146
197
  const cache = new Map();
147
198
  const motions = new Map();
@@ -164,26 +215,29 @@ const createPartShooter = (options) => {
164
215
  }
165
216
  const marks = yield page.evaluate(marksIn(frame.clip));
166
217
  const root = page.locator('#root');
218
+ const rootBox = frame.clip ? yield root.boundingBox() : null;
167
219
  if (frame.clip) {
168
- const box = yield root.boundingBox();
220
+ const box = rootBox;
169
221
  if (!box || box.width === 0 || box.height === 0)
170
222
  throw new thumb_1.ShotUnprocessableError('design-explore: part root has zero size - give an element that fills its container a min-height');
171
223
  }
172
- const origin = frame.crop && frame.clip ? yield root.boundingBox() : null;
224
+ const origin = frame.crop && frame.clip ? rootBox : null;
173
225
  const crop = frame.crop && Object.assign(Object.assign({}, frame.crop), { x: frame.crop.x + ((_a = origin === null || origin === void 0 ? void 0 : origin.x) !== null && _a !== void 0 ? _a : 0), y: frame.crop.y + ((_b = origin === null || origin === void 0 ? void 0 : origin.y) !== null && _b !== void 0 ? _b : 0) });
174
226
  const png = yield (crop
175
- ? page.screenshot({ type: 'png', fullPage: true, clip: crop, timeout: thumb_1.DRAW_TIMEOUT_MS })
176
- : frame.clip
177
- ? root.screenshot({ type: 'png', timeout: thumb_1.DRAW_TIMEOUT_MS })
178
- : page.screenshot({ fullPage: true, type: 'png', timeout: thumb_1.DRAW_TIMEOUT_MS })).catch((error) => {
227
+ ? page.screenshot(Object.assign(Object.assign({}, SHOT_OPTIONS), { clip: crop }))
228
+ : rootBox
229
+ ? page.screenshot(Object.assign(Object.assign({}, SHOT_OPTIONS), { clip: rootBox }))
230
+ : page.screenshot(SHOT_OPTIONS)).catch((error) => {
179
231
  const message = error instanceof Error ? error.message : String(error);
180
232
  if (error instanceof Error && error.name === 'TimeoutError')
181
233
  throw new thumb_1.ShotTimeoutError(`design-explore: the screenshot timed out after ${thumb_1.DRAW_TIMEOUT_MS} ms: ${message}`);
182
234
  throw new thumb_1.ShotUnprocessableError(`design-explore: the screenshot failed: ${message}`);
183
235
  });
184
236
  const failure = yield page.evaluate("document.documentElement.getAttribute('data-et-error')");
185
- if (typeof failure === 'string')
186
- throw new thumb_1.ShotFailedError(failure, png);
237
+ if (typeof failure === 'string') {
238
+ const missing = yield page.evaluate("document.documentElement.getAttribute('data-et-missing')");
239
+ throw typeof missing === 'string' ? new thumb_1.ThumbMissingError(failure) : new thumb_1.ShotFailedError(failure, png);
240
+ }
187
241
  const markup = yield page.evaluate("document.getElementById('root')?.innerHTML ?? null");
188
242
  return Object.assign({ png, marks: Array.isArray(marks) ? marks : [] }, (typeof markup === 'string' ? { markup } : {}));
189
243
  }));
@@ -196,7 +250,7 @@ const createPartShooter = (options) => {
196
250
  });
197
251
  };
198
252
  const cached = (options) => {
199
- var _a;
253
+ var _a, _b, _c, _d;
200
254
  const theme = themeOf(options.params);
201
255
  const scale = scaleOf(options.params);
202
256
  const crop = (_a = (0, exports.cropOf)(options.params.get('clip'))) !== null && _a !== void 0 ? _a : null;
@@ -204,10 +258,18 @@ const createPartShooter = (options) => {
204
258
  const key = JSON.stringify([...options.key, theme.surface, theme.color, theme.fill, scale, crop, scheme]);
205
259
  const kept = options.fresh ? undefined : cache.get(key);
206
260
  if (kept) {
207
- if (options.priority === 'high')
208
- drawQueue.hurry(kept.shot);
261
+ (_b = options.onSource) === null || _b === void 0 ? void 0 : _b.call(options, 'memory');
262
+ drawQueue.join(kept.shot, options.want);
209
263
  return kept.shot;
210
264
  }
265
+ const stored = !options.fresh && options.address ? store === null || store === void 0 ? void 0 : store.read(key, options.address) : null;
266
+ if (stored) {
267
+ (_c = options.onSource) === null || _c === void 0 ? void 0 : _c.call(options, 'disk');
268
+ const shot = Promise.resolve(stored);
269
+ cache.set(key, { drawn: options.drawn, shot });
270
+ return shot;
271
+ }
272
+ (_d = options.onSource) === null || _d === void 0 ? void 0 : _d.call(options, 'drawn');
211
273
  if (theme.surface)
212
274
  options.search.set('surface', theme.surface);
213
275
  if (theme.color)
@@ -215,44 +277,59 @@ const createPartShooter = (options) => {
215
277
  if (theme.fill)
216
278
  options.search.set('fill', theme.fill);
217
279
  const search = options.search.toString();
218
- const shot = drawQueue.run((browser) => { var _a; return draw(browser, { search, size: options.size, clip: (_a = options.clip) !== null && _a !== void 0 ? _a : false, scale, crop, scheme }); }, options.priority);
280
+ const shot = drawQueue.run((browser) => {
281
+ var _a, _b;
282
+ const gone = (_a = options.gone) === null || _a === void 0 ? void 0 : _a.call(options);
283
+ return gone
284
+ ? Promise.reject(gone)
285
+ : draw(browser, { search, size: options.size, clip: (_b = options.clip) !== null && _b !== void 0 ? _b : false, scale, crop, scheme });
286
+ }, options.want);
287
+ const { address } = options;
219
288
  cache.set(key, { drawn: options.drawn, shot });
220
- shot.catch(() => { var _a; return ((_a = cache.get(key)) === null || _a === void 0 ? void 0 : _a.shot) === shot && cache.delete(key); });
289
+ shot.then((picture) => { var _a; return address && ((_a = cache.get(key)) === null || _a === void 0 ? void 0 : _a.shot) === shot && (store === null || store === void 0 ? void 0 : store.write(key, { address, picture })); }, () => { var _a; return ((_a = cache.get(key)) === null || _a === void 0 ? void 0 : _a.shot) === shot && cache.delete(key); });
221
290
  return shot;
222
291
  };
223
292
  const partShotOf = (options) => {
224
- var _a;
225
293
  const frame = (0, exports.partFrameOf)(Object.assign({ system }, options));
226
294
  if (frame instanceof thumb_1.ThumbMissingError)
227
295
  return Promise.reject(frame);
228
- const draw = () => cached(Object.assign(Object.assign({}, frame), { params: options.params, priority: options.priority, fresh: options.fresh }));
296
+ const gone = () => {
297
+ const now = (0, exports.partFrameOf)(Object.assign({ system }, options));
298
+ return now instanceof thumb_1.ThumbMissingError ? now : null;
299
+ };
300
+ const { product, part, sketch, props } = options;
301
+ const address = { product, part, sketch, props: props !== null && props !== void 0 ? props : null };
302
+ const draw = () => cached(Object.assign(Object.assign({}, frame), { params: options.params, want: options.want, fresh: options.fresh, gone,
303
+ address, onSource: options.onSource }));
229
304
  if (!statesOf)
230
305
  return draw();
231
- const { product, part, state } = options;
232
- const sketch = (_a = options.props) !== null && _a !== void 0 ? _a : options.sketch;
233
- return statesOf({ product, part, sketch }).then((names) => {
306
+ const { state } = options;
307
+ const statesFrom = props !== null && props !== void 0 ? props : sketch;
308
+ return statesOf({ product, part, sketch: statesFrom }).then((names) => {
234
309
  if (!names || names.includes(state))
235
310
  return draw();
236
- const holder = sketch ? `variant "${sketch.variant}" of ${sketch.target}` : `the merged part ${part}`;
311
+ const holder = statesFrom ? `variant "${statesFrom.variant}" of ${statesFrom.target}` : `the merged part ${part}`;
237
312
  throw new thumb_1.ThumbMissingError(`design-explore: state "${state}" is not in ${holder} - it has: ${names.join(', ') || 'no states'}`);
238
313
  });
239
314
  };
240
315
  const callShotOf = (options) => {
241
- const { slug, variant, width, params, priority } = options;
316
+ const { slug, variant, width, params, want, onSource } = options;
242
317
  return cached({
243
318
  key: ['call', slug, variant, width],
244
319
  drawn: { slug },
245
320
  search: new URLSearchParams({ call: slug, variant }),
246
321
  params,
247
322
  size: { width },
248
- priority,
323
+ want,
324
+ onSource,
249
325
  });
250
326
  };
251
327
  return {
252
328
  middleware: (request, response) => {
253
329
  var _a, _b, _c;
254
330
  const params = new URL((_a = request.url) !== null && _a !== void 0 ? _a : '', 'http://localhost').searchParams;
255
- const priority = params.get('priority') === 'low' ? 'low' : 'high';
331
+ const want = wantOf(params, response);
332
+ const onSource = (source) => response.setHeader('x-design-shot', source);
256
333
  if (!isScale(scaleOf(params))) {
257
334
  (0, thumb_1.send)(response, {
258
335
  status: 400,
@@ -280,7 +357,7 @@ const createPartShooter = (options) => {
280
357
  });
281
358
  return;
282
359
  }
283
- (0, thumb_1.sendShot)(response, callShotOf({ slug, variant, width: pixels, params, priority }).then((picture) => picture.png));
360
+ (0, thumb_1.sendShot)(response, (0, thumb_1.noteFailure)(callShotOf({ slug, variant, width: pixels, params, want, onSource }).then((picture) => picture.png), (failure) => { var _a; return (_a = options.ledger) === null || _a === void 0 ? void 0 : _a.fail(Object.assign({ part: slug, state: variant }, failure)); }));
284
361
  return;
285
362
  }
286
363
  const [part, state, preset] = ['part', 'state', 'preset'].map((name) => params.get(name));
@@ -317,7 +394,7 @@ const createPartShooter = (options) => {
317
394
  });
318
395
  return;
319
396
  }
320
- (0, thumb_1.sendShot)(response, partShotOf({
397
+ (0, thumb_1.sendShot)(response, (0, thumb_1.noteFailure)(partShotOf({
321
398
  product,
322
399
  part,
323
400
  state,
@@ -326,14 +403,18 @@ const createPartShooter = (options) => {
326
403
  sketch: sketchVariant,
327
404
  interaction: params.get('interaction'),
328
405
  params,
329
- priority,
330
- }).then((picture) => picture.png));
406
+ want,
407
+ onSource,
408
+ }).then((picture) => picture.png), (failure) => {
409
+ var _a;
410
+ return (_a = options.ledger) === null || _a === void 0 ? void 0 : _a.fail(Object.assign(Object.assign({ part: `${product}/${part}`, state }, failure), { sketch: sketchVariant && Object.assign({ product }, sketchVariant) }));
411
+ }));
331
412
  },
332
413
  /**
333
414
  * Draws one state of a part as `partShotOf` does for the middleware, with the part roots it holds,
334
415
  * ahead of every shot asked with `priority=low`.
335
416
  */
336
- pictureOf: (options) => partShotOf(Object.assign(Object.assign({}, options), { priority: 'high' })),
417
+ pictureOf: (options) => partShotOf(Object.assign(Object.assign({}, options), { want: { priority: 'high' } })),
337
418
  /**
338
419
  * Draws `motion` of a part from its `from` state, `address.state`, at each keyframe time, with the motion's tracks;
339
420
  * `mode` picks `prefers-reduced-motion`. Kept until a change redraws the part. With `flowTo`, `motion` names a flow
@@ -400,8 +481,10 @@ const createPartShooter = (options) => {
400
481
  /** Drops the pictures of the parts `change` redraws. */
401
482
  forget: (change) => {
402
483
  for (const [key, { drawn }] of cache) {
403
- if ('part' in drawn && (0, changed_parts_1.redraws)(change, drawn.part))
484
+ if ('part' in drawn && (0, changed_parts_1.redraws)(change, drawn.part)) {
404
485
  cache.delete(key);
486
+ store === null || store === void 0 ? void 0 : store.drop(key);
487
+ }
405
488
  }
406
489
  for (const [key, { drawn }] of motions) {
407
490
  if ('part' in drawn && (0, changed_parts_1.redraws)(change, drawn.part))
@@ -416,6 +499,10 @@ const createPartShooter = (options) => {
416
499
  }
417
500
  },
418
501
  clear: () => {
502
+ for (const [key, { drawn }] of cache) {
503
+ if ('part' in drawn)
504
+ store === null || store === void 0 ? void 0 : store.drop(key);
505
+ }
419
506
  cache.clear();
420
507
  motions.clear();
421
508
  },
@@ -1 +1 @@
1
- {"version":3,"file":"shot.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/shot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shot.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/shot.ts"],"names":[],"mappings":"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"}