@ethlete/cli 3.0.0-next.23 → 3.0.0-next.24
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.
- package/CHANGELOG.md +48 -0
- package/design/contrast.ts +49 -0
- package/design/define-call.ts +5 -8
- package/design/define-part.ts +63 -1
- package/design/morph.ts +67 -0
- package/design/motion-runtime.ts +200 -0
- package/design/web/env.d.ts +6 -2
- package/design/web/frame.ts +39 -1
- package/package.json +2 -1
- package/src/lib/design/changed-parts.d.ts +4 -4
- package/src/lib/design/changed-parts.js +10 -6
- package/src/lib/design/changed-parts.js.map +1 -1
- package/src/lib/design/contact-sheet.d.ts +26 -13
- package/src/lib/design/contact-sheet.js +122 -40
- package/src/lib/design/contact-sheet.js.map +1 -1
- package/src/lib/design/design-command.js +20 -2
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/generated-stylesheets.d.ts +15 -0
- package/src/lib/design/generated-stylesheets.js +52 -0
- package/src/lib/design/generated-stylesheets.js.map +1 -0
- package/src/lib/design/inbox-command.d.ts +1 -0
- package/src/lib/design/inbox-command.js +15 -0
- package/src/lib/design/inbox-command.js.map +1 -1
- package/src/lib/design/merge-compare.d.ts +10 -0
- package/src/lib/design/merge-compare.js +17 -4
- package/src/lib/design/merge-compare.js.map +1 -1
- package/src/lib/design/paths.d.ts +11 -0
- package/src/lib/design/paths.js.map +1 -1
- package/src/lib/design/serve.js +74 -18
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/shot-command.d.ts +4 -4
- package/src/lib/design/shot-command.js +48 -40
- package/src/lib/design/shot-command.js.map +1 -1
- package/src/lib/design/shot.d.ts +14 -4
- package/src/lib/design/shot.js +71 -50
- package/src/lib/design/shot.js.map +1 -1
- package/src/lib/design/sketch-command.js +55 -24
- package/src/lib/design/sketch-command.js.map +1 -1
- package/src/lib/design/sketch-stylesheets.d.ts +7 -0
- package/src/lib/design/sketch-stylesheets.js +63 -0
- package/src/lib/design/sketch-stylesheets.js.map +1 -0
- package/src/lib/design/studio-api.d.ts +9 -6
- package/src/lib/design/studio-api.js +50 -16
- package/src/lib/design/studio-api.js.map +1 -1
- package/src/lib/design/system/check-system.js +8 -0
- package/src/lib/design/system/check-system.js.map +1 -1
- package/src/lib/design/system/comments/comment.d.ts +17 -0
- package/src/lib/design/system/comments/comment.js +35 -1
- package/src/lib/design/system/comments/comment.js.map +1 -1
- package/src/lib/design/system/comments/complete.js +4 -2
- package/src/lib/design/system/comments/complete.js.map +1 -1
- package/src/lib/design/system/complete-command.d.ts +9 -0
- package/src/lib/design/system/complete-command.js +64 -0
- package/src/lib/design/system/complete-command.js.map +1 -0
- package/src/lib/design/system/complete.d.ts +73 -0
- package/src/lib/design/system/complete.js +655 -0
- package/src/lib/design/system/complete.js.map +1 -0
- package/src/lib/design/system/contrast-check.d.ts +26 -0
- package/src/lib/design/system/contrast-check.js +153 -0
- package/src/lib/design/system/contrast-check.js.map +1 -0
- package/src/lib/design/system/imports.d.ts +28 -3
- package/src/lib/design/system/imports.js +84 -7
- package/src/lib/design/system/imports.js.map +1 -1
- package/src/lib/design/system/list-system.d.ts +11 -0
- package/src/lib/design/system/list-system.js +17 -1
- package/src/lib/design/system/list-system.js.map +1 -1
- package/src/lib/design/system/product-stylesheets.d.ts +3 -0
- package/src/lib/design/system/product-stylesheets.js +40 -0
- package/src/lib/design/system/product-stylesheets.js.map +1 -0
- package/src/lib/design/system/render-check.js +11 -3
- package/src/lib/design/system/render-check.js.map +1 -1
- package/src/lib/design/system/rules/canonical-class.d.ts +9 -0
- package/src/lib/design/system/rules/canonical-class.js +132 -0
- package/src/lib/design/system/rules/canonical-class.js.map +1 -0
- package/src/lib/design/system/rules/inline-svg.d.ts +7 -0
- package/src/lib/design/system/rules/inline-svg.js +28 -0
- package/src/lib/design/system/rules/inline-svg.js.map +1 -0
- package/src/lib/design/system/rules/motion.d.ts +4 -0
- package/src/lib/design/system/rules/motion.js +46 -2
- package/src/lib/design/system/rules/motion.js.map +1 -1
- package/src/lib/design/system/rules/utility-css.d.ts +11 -0
- package/src/lib/design/system/rules/utility-css.js +290 -0
- package/src/lib/design/system/rules/utility-css.js.map +1 -0
- package/src/lib/design/system/sketch/baseline.d.ts +3 -2
- package/src/lib/design/system/sketch/baseline.js +10 -4
- package/src/lib/design/system/sketch/baseline.js.map +1 -1
- package/src/lib/design/system/sketch/merge-preview.d.ts +4 -2
- package/src/lib/design/system/sketch/merge-preview.js +20 -3
- package/src/lib/design/system/sketch/merge-preview.js.map +1 -1
- package/src/lib/design/system/sketch/merge-shared.d.ts +42 -6
- package/src/lib/design/system/sketch/merge-shared.js +122 -24
- package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
- package/src/lib/design/system/sketch/merge.d.ts +3 -3
- package/src/lib/design/system/sketch/merge.js +54 -29
- package/src/lib/design/system/sketch/merge.js.map +1 -1
- package/src/lib/design/system/sketch/merged-parts.d.ts +7 -0
- package/src/lib/design/system/sketch/merged-parts.js +13 -1
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
- package/src/lib/design/system/sketch/no-visible-change.d.ts +4 -3
- package/src/lib/design/system/sketch/no-visible-change.js +50 -19
- package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
- package/src/lib/design/system/sketch/overlay.js +7 -2
- package/src/lib/design/system/sketch/overlay.js.map +1 -1
- package/src/lib/design/system/sketch/part-definition.d.ts +12 -0
- package/src/lib/design/system/sketch/part-definition.js +40 -1
- package/src/lib/design/system/sketch/part-definition.js.map +1 -1
- package/src/lib/design/system/sketch/sketch.d.ts +8 -3
- package/src/lib/design/system/sketch/sketch.js +76 -34
- package/src/lib/design/system/sketch/sketch.js.map +1 -1
- package/src/lib/design/system/sketch/unchanged-states.d.ts +10 -4
- package/src/lib/design/system/sketch/unchanged-states.js +37 -23
- package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
- package/src/lib/design/system/system-modules.d.ts +5 -1
- package/src/lib/design/system/system-modules.js +26 -8
- package/src/lib/design/system/system-modules.js.map +1 -1
- package/src/lib/design/system/system-tsconfig.js +2 -1
- package/src/lib/design/system/system-tsconfig.js.map +1 -1
- package/src/lib/design/thumb.d.ts +6 -2
- package/src/lib/design/thumb.js +36 -15
- package/src/lib/design/thumb.js.map +1 -1
- package/src/lib/design/variant-diff.d.ts +12 -10
- package/src/lib/design/variant-diff.js +14 -13
- package/src/lib/design/variant-diff.js.map +1 -1
- package/src/lib/design/warm-pages.d.ts +20 -0
- package/src/lib/design/warm-pages.js +78 -0
- package/src/lib/design/warm-pages.js.map +1 -0
- package/src/lib/update/commits.d.ts +9 -0
- package/src/lib/update/commits.js +15 -1
- package/src/lib/update/commits.js.map +1 -1
- package/src/lib/update/migration-manifest.d.ts +6 -0
- package/src/lib/update/migration-manifest.js +7 -0
- package/src/lib/update/migration-manifest.js.map +1 -1
- package/src/lib/update/migrations-command.js +1 -0
- package/src/lib/update/migrations-command.js.map +1 -1
- package/src/lib/update/run-migrations.d.ts +22 -0
- package/src/lib/update/run-migrations.js +60 -1
- package/src/lib/update/run-migrations.js.map +1 -1
- package/src/lib/update/update-command.d.ts +10 -0
- package/src/lib/update/update-command.js +28 -2
- package/src/lib/update/update-command.js.map +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addedPartsOf = exports.changedPartsOf = exports.redraws = exports.ALL_PARTS = void 0;
|
|
4
4
|
const path_1 = require("path");
|
|
5
|
+
const imports_1 = require("./system/imports");
|
|
5
6
|
const layers_1 = require("./system/layers");
|
|
6
7
|
const resolve_product_1 = require("./system/resolve-product");
|
|
7
8
|
const system_modules_1 = require("./system/system-modules");
|
|
@@ -68,10 +69,10 @@ const partFolderOf = (segments) => {
|
|
|
68
69
|
return layer && name && inside !== undefined && (0, layers_1.isLayer)(layer) ? `${layer}/${name}` : null;
|
|
69
70
|
};
|
|
70
71
|
/**
|
|
71
|
-
* The frames a file that came or went redraws: every part of the product whose part folder
|
|
72
|
-
* since an `@system/...` import anywhere in the product may now resolve to
|
|
73
|
-
* of the variant whose folder holds it. A file in no part folder redraws no
|
|
74
|
-
* that show an error.
|
|
72
|
+
* The frames a file that came or went redraws: every part of the product whose part folder or `shared/`
|
|
73
|
+
* holds it, since an `@system/...` or `@shared/...` import anywhere in the product may now resolve to
|
|
74
|
+
* another file, or the parts of the variant whose folder holds it. A file in no part folder redraws no
|
|
75
|
+
* part, only the frames that show an error.
|
|
75
76
|
*/
|
|
76
77
|
const addedPartsOf = (options) => {
|
|
77
78
|
var _a;
|
|
@@ -89,10 +90,13 @@ const addedPartsOf = (options) => {
|
|
|
89
90
|
const parts = everyPartOf(system, product).filter((drawn) => { var _a; return ((_a = drawn.sketch) === null || _a === void 0 ? void 0 : _a.target) === target && drawn.sketch.variant === variant; });
|
|
90
91
|
return parts.length > 0 ? { all: false, parts } : none;
|
|
91
92
|
}
|
|
92
|
-
return partFolderOf(rest)
|
|
93
|
+
return partFolderOf(rest) || rest[0] === imports_1.SHARED_FOLDER
|
|
94
|
+
? { all: false, parts: everyPartOf(system, product) }
|
|
95
|
+
: none;
|
|
93
96
|
}
|
|
94
97
|
const baseDir = baseDirs.find((dir) => file.startsWith(`${dir}${path_1.sep}`));
|
|
95
|
-
|
|
98
|
+
const inBase = baseDir ? (0, path_1.relative)(baseDir, file).split(path_1.sep) : [];
|
|
99
|
+
if (!baseDir || (!partFolderOf(inBase) && inBase[0] !== imports_1.SHARED_FOLDER))
|
|
96
100
|
return none;
|
|
97
101
|
return {
|
|
98
102
|
all: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changed-parts.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/changed-parts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"changed-parts.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/changed-parts.ts"],"names":[],"mappings":";;;AAAA,+BAA8C;AAE9C,8CAAiD;AACjD,4CAA0C;AAC1C,8DAAqD;AACrD,4DAMiC;AAWpB,QAAA,SAAS,GAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAEpD,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,EAAE,uBACtC,OAAA,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,mCAAI,IAAI,EAAE,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,mCAAI,IAAI,CAAC,CAAC,CAAA,EAAA,CAAC;AAE3G,wCAAwC;AACjC,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAE,KAAgB,EAAE,EAAE,CAC/D,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AADvE,QAAA,OAAO,WACgE;AAEpF,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAE,OAAe,EAA4B,EAAE,CAAC;IAC3F,IAAI;IACJ,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;CAClH,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAAiF,EAAE,EAAE;;IACzG,OAAA,CAAC,MAAA,MAAA,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAa,EAAE,CAAC,CAAC;QAC/F,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,IAAA,2BAAS,EAAC,IAAI,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC,CAAA;CAAA,CAAC;AAEN,MAAM,WAAW,GAAG,CAAC,MAAqB,EAAE,OAAe,EAAe,EAAE,CAC1E,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEjG,gHAAgH;AAChH,MAAM,gBAAgB,GAAG,CAAC,OAAoE,EAAe,EAAE;IAC7G,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE3C,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,GAAG,CAAC,KAAK,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAEhH,OAAO,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAE,EAAU,EAAoB,EAAE;;IAC7E,MAAM,OAAO,GAAG,IAAA,kCAAiB,EAAC,EAAE,CAAC,CAAC;IAEtC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,MAAM,GAAG,IAAA,iCAAgB,EAAC,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,0CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAEjG,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAA,2BAAS,EAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,cAAc,GAAG,CAAC,OAM9B,EAAe,EAAE;;IAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,WAChF,OAAA,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,cAAO,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,EAAA,CACzF,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI;QAClB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QACnF,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAA,EAAA,CAAC;KAChE,EAAE,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AACpD,CAAC,CAAC;AAvBW,QAAA,cAAc,kBAuBzB;AAEF,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAE,EAAE;IAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;IAEvC,OAAO,KAAK,IAAI,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7F,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAC,OAK5B,EAAE,EAAE;;IACH,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,IAAI,GAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;IAEpC,IAAI,OAAO,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,CAAA,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEzF,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,MAAK,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAA,EAAA,CAC/E,CAAC;YAEF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAyB,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,uBAAa;YACpD,CAAC,CAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAyB;YAC7E,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,UAAG,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,eAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,uBAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpF,OAAO;QACL,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAChD,CAAC;AAC1B,CAAC,CAAC;AAzCW,QAAA,YAAY,gBAyCvB"}
|
|
@@ -25,7 +25,7 @@ type Pixels = {
|
|
|
25
25
|
height: number;
|
|
26
26
|
data: Uint8ClampedArray;
|
|
27
27
|
};
|
|
28
|
-
/**
|
|
28
|
+
/** A rectangle of changed pixels, in pixels from the top left of the picture. */
|
|
29
29
|
export type ChangedBox = {
|
|
30
30
|
x: number;
|
|
31
31
|
y: number;
|
|
@@ -34,45 +34,58 @@ export type ChangedBox = {
|
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* `after` faded to grey with each pixel that differs from `before` in red, over the larger of both sizes, with the
|
|
37
|
-
* count of changed pixels and
|
|
38
|
-
* changed. Runs in a browser page through its source, so it may use nothing outside its own body.
|
|
37
|
+
* count of changed pixels and one box per group of them (16 pixel tiles that touch); a pixel only one of them covers
|
|
38
|
+
* counts as changed. Runs in a browser page through its source, so it may use nothing outside its own body.
|
|
39
39
|
*/
|
|
40
40
|
export declare function diffPixelsOf(before: Pixels, after: Pixels): {
|
|
41
41
|
width: number;
|
|
42
42
|
height: number;
|
|
43
43
|
data: Uint8ClampedArray<ArrayBuffer>;
|
|
44
44
|
changed: number;
|
|
45
|
-
|
|
45
|
+
boxes: {
|
|
46
46
|
x: number;
|
|
47
47
|
y: number;
|
|
48
48
|
width: number;
|
|
49
49
|
height: number;
|
|
50
|
-
}
|
|
50
|
+
}[];
|
|
51
51
|
};
|
|
52
|
+
/** The smallest box around every one of `boxes`, or `null` for none. */
|
|
53
|
+
export declare const boundsOf: (boxes: ChangedBox[]) => ChangedBox | null;
|
|
54
|
+
/**
|
|
55
|
+
* `boxes` with every two at most `gap` apart merged into one, top to bottom, then left to right. While more than
|
|
56
|
+
* `max` remain, the gap doubles.
|
|
57
|
+
*/
|
|
58
|
+
export declare const clusteredBoxesOf: (boxes: ChangedBox[], options: {
|
|
59
|
+
gap: number;
|
|
60
|
+
max?: number;
|
|
61
|
+
}) => ChangedBox[];
|
|
52
62
|
/** The width and height a PNG declares in its header. */
|
|
53
63
|
export declare const pngSizeOf: (png: Buffer) => {
|
|
54
64
|
width: number;
|
|
55
65
|
height: number;
|
|
56
66
|
};
|
|
57
67
|
/**
|
|
58
|
-
* One crop in CSS pixels
|
|
59
|
-
* CSS pixels on each side and kept inside the `frame` picture;
|
|
68
|
+
* One crop in CSS pixels per cluster of changed `boxes` (in picture pixels, `scale` per CSS pixel), each widened by
|
|
69
|
+
* `margin` CSS pixels on each side and kept inside the `frame` picture; crops that touch merge. Empty without a box.
|
|
60
70
|
*/
|
|
61
|
-
export declare const
|
|
62
|
-
boxes:
|
|
71
|
+
export declare const changedCropsOf: (options: {
|
|
72
|
+
boxes: ChangedBox[];
|
|
63
73
|
frame: {
|
|
64
74
|
width: number;
|
|
65
75
|
height: number;
|
|
66
76
|
};
|
|
67
77
|
scale?: number;
|
|
68
78
|
margin?: number;
|
|
69
|
-
}) => ChangedBox
|
|
70
|
-
/**
|
|
71
|
-
|
|
79
|
+
}) => ChangedBox[];
|
|
80
|
+
/**
|
|
81
|
+
* One box per cluster of the pixels `after` changes from `before`: groups closer than 16 pixels merge, and at most
|
|
82
|
+
* eight remain. Empty when both draw the same pixels.
|
|
83
|
+
*/
|
|
84
|
+
export declare const changedBoxesOf: (options: {
|
|
72
85
|
browser: Browser;
|
|
73
86
|
before: Buffer;
|
|
74
87
|
after: Buffer;
|
|
75
|
-
}) => Promise<ChangedBox
|
|
88
|
+
}) => Promise<ChangedBox[]>;
|
|
76
89
|
/** The page that lays each row of cells side by side, a label above every cell, the rows stacked. */
|
|
77
90
|
export declare const contactSheetHtml: (rows: SheetCell[][]) => string;
|
|
78
91
|
/** Draws the cells into one PNG in the given browser, and returns one line per diff cell with its pixel result. */
|
|
@@ -9,14 +9,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.contactSheetOf = exports.contactSheetHtml = exports.
|
|
12
|
+
exports.contactSheetOf = exports.contactSheetHtml = exports.changedBoxesOf = exports.changedCropsOf = exports.pngSizeOf = exports.clusteredBoxesOf = exports.boundsOf = void 0;
|
|
13
13
|
exports.diffPixelsOf = diffPixelsOf;
|
|
14
14
|
const SAME_PIXELS = 'no pixel change';
|
|
15
15
|
const SAME_PIXELS_OTHER_MARKUP = 'no pixel change, but the markup differs';
|
|
16
|
+
const CLUSTER_GAP = 16;
|
|
17
|
+
const MAX_BOXES = 8;
|
|
16
18
|
/**
|
|
17
19
|
* `after` faded to grey with each pixel that differs from `before` in red, over the larger of both sizes, with the
|
|
18
|
-
* count of changed pixels and
|
|
19
|
-
* changed. Runs in a browser page through its source, so it may use nothing outside its own body.
|
|
20
|
+
* count of changed pixels and one box per group of them (16 pixel tiles that touch); a pixel only one of them covers
|
|
21
|
+
* counts as changed. Runs in a browser page through its source, so it may use nothing outside its own body.
|
|
20
22
|
*/
|
|
21
23
|
function diffPixelsOf(before, after) {
|
|
22
24
|
const width = Math.max(before.width, after.width);
|
|
@@ -28,11 +30,11 @@ function diffPixelsOf(before, after) {
|
|
|
28
30
|
const out = new Uint32Array(data.buffer);
|
|
29
31
|
// Word layout is little-endian RGBA (red in the low byte), as on every platform a browser runs on.
|
|
30
32
|
const red = 0xff0000ff;
|
|
33
|
+
const tile = 16;
|
|
34
|
+
const columns = Math.ceil(width / tile);
|
|
35
|
+
const rows = Math.ceil(height / tile);
|
|
36
|
+
const tileBounds = new Int32Array(columns * rows * 4).fill(-1);
|
|
31
37
|
let changed = 0;
|
|
32
|
-
let left = width;
|
|
33
|
-
let top = height;
|
|
34
|
-
let right = -1;
|
|
35
|
-
let bottom = -1;
|
|
36
38
|
for (let y = 0; y < height; y++) {
|
|
37
39
|
const inBoth = y < before.height && y < after.height;
|
|
38
40
|
const commonWidth = inBoth ? Math.min(before.width, after.width) : 0;
|
|
@@ -46,44 +48,120 @@ function diffPixelsOf(before, after) {
|
|
|
46
48
|
else {
|
|
47
49
|
changed++;
|
|
48
50
|
out[index] = red;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
const at = (Math.floor(y / tile) * columns + Math.floor(x / tile)) * 4;
|
|
52
|
+
if (tileBounds[at + 2] < 0) {
|
|
53
|
+
tileBounds.set([x, y, x, y], at);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
tileBounds[at] = Math.min(tileBounds[at], x);
|
|
57
|
+
tileBounds[at + 2] = Math.max(tileBounds[at + 2], x);
|
|
58
|
+
tileBounds[at + 3] = y;
|
|
59
|
+
}
|
|
53
60
|
}
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
|
-
const
|
|
57
|
-
|
|
63
|
+
const boxes = [];
|
|
64
|
+
const seen = new Uint8Array(columns * rows);
|
|
65
|
+
const isChanged = (cell) => tileBounds[cell * 4 + 2] >= 0;
|
|
66
|
+
for (let start = 0; start < columns * rows; start++) {
|
|
67
|
+
if (seen[start] || !isChanged(start))
|
|
68
|
+
continue;
|
|
69
|
+
const stack = [start];
|
|
70
|
+
let [left, top, right, bottom] = [width, height, -1, -1];
|
|
71
|
+
seen[start] = 1;
|
|
72
|
+
while (stack.length > 0) {
|
|
73
|
+
const cell = stack.pop();
|
|
74
|
+
const column = cell % columns;
|
|
75
|
+
const row = (cell - column) / columns;
|
|
76
|
+
left = Math.min(left, tileBounds[cell * 4]);
|
|
77
|
+
top = Math.min(top, tileBounds[cell * 4 + 1]);
|
|
78
|
+
right = Math.max(right, tileBounds[cell * 4 + 2]);
|
|
79
|
+
bottom = Math.max(bottom, tileBounds[cell * 4 + 3]);
|
|
80
|
+
for (let y = Math.max(0, row - 1); y <= Math.min(rows - 1, row + 1); y++) {
|
|
81
|
+
for (let x = Math.max(0, column - 1); x <= Math.min(columns - 1, column + 1); x++) {
|
|
82
|
+
const next = y * columns + x;
|
|
83
|
+
if (!seen[next] && isChanged(next)) {
|
|
84
|
+
seen[next] = 1;
|
|
85
|
+
stack.push(next);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
boxes.push({ x: left, y: top, width: right - left + 1, height: bottom - top + 1 });
|
|
91
|
+
}
|
|
92
|
+
return { width, height, data, changed, boxes };
|
|
58
93
|
}
|
|
94
|
+
const unionOf = (a, b) => {
|
|
95
|
+
const x = Math.min(a.x, b.x);
|
|
96
|
+
const y = Math.min(a.y, b.y);
|
|
97
|
+
return {
|
|
98
|
+
x,
|
|
99
|
+
y,
|
|
100
|
+
width: Math.max(a.x + a.width, b.x + b.width) - x,
|
|
101
|
+
height: Math.max(a.y + a.height, b.y + b.height) - y,
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
/** The smallest box around every one of `boxes`, or `null` for none. */
|
|
105
|
+
const boundsOf = (boxes) => boxes.length === 0 ? null : boxes.reduce((all, box) => unionOf(all, box));
|
|
106
|
+
exports.boundsOf = boundsOf;
|
|
107
|
+
const isNear = ([a, b], gap) => a.x - gap <= b.x + b.width &&
|
|
108
|
+
b.x - gap <= a.x + a.width &&
|
|
109
|
+
a.y - gap <= b.y + b.height &&
|
|
110
|
+
b.y - gap <= a.y + a.height;
|
|
111
|
+
/**
|
|
112
|
+
* `boxes` with every two at most `gap` apart merged into one, top to bottom, then left to right. While more than
|
|
113
|
+
* `max` remain, the gap doubles.
|
|
114
|
+
*/
|
|
115
|
+
const clusteredBoxesOf = (boxes, options) => {
|
|
116
|
+
const { max = MAX_BOXES } = options;
|
|
117
|
+
const clusters = [...boxes];
|
|
118
|
+
let gap = options.gap;
|
|
119
|
+
let merged = true;
|
|
120
|
+
while (merged) {
|
|
121
|
+
merged = false;
|
|
122
|
+
for (let i = 0; i < clusters.length; i++) {
|
|
123
|
+
for (let j = clusters.length - 1; j > i; j--) {
|
|
124
|
+
if (isNear([clusters[i], clusters[j]], gap)) {
|
|
125
|
+
clusters[i] = unionOf(clusters[i], clusters[j]);
|
|
126
|
+
clusters.splice(j, 1);
|
|
127
|
+
merged = true;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (!merged && clusters.length > max) {
|
|
132
|
+
gap = Math.max(1, gap * 2);
|
|
133
|
+
merged = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return clusters.sort((a, b) => a.y - b.y || a.x - b.x);
|
|
137
|
+
};
|
|
138
|
+
exports.clusteredBoxesOf = clusteredBoxesOf;
|
|
59
139
|
// tsx (esbuild keepNames) wraps named inner functions in `__name(...)`, which a browser page does not define.
|
|
60
140
|
const diffSourceOf = () => `((__name) => ${diffPixelsOf.toString()})((fn) => fn)`;
|
|
61
141
|
/** The width and height a PNG declares in its header. */
|
|
62
142
|
const pngSizeOf = (png) => ({ width: png.readUInt32BE(16), height: png.readUInt32BE(20) });
|
|
63
143
|
exports.pngSizeOf = pngSizeOf;
|
|
64
144
|
/**
|
|
65
|
-
* One crop in CSS pixels
|
|
66
|
-
* CSS pixels on each side and kept inside the `frame` picture;
|
|
145
|
+
* One crop in CSS pixels per cluster of changed `boxes` (in picture pixels, `scale` per CSS pixel), each widened by
|
|
146
|
+
* `margin` CSS pixels on each side and kept inside the `frame` picture; crops that touch merge. Empty without a box.
|
|
67
147
|
*/
|
|
68
|
-
const
|
|
69
|
-
const { frame, scale = 1, margin = 16 } = options;
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
height: Math.max(1, Math.min(Math.ceil(frame.height / scale), bottom + margin) - y),
|
|
84
|
-
};
|
|
148
|
+
const changedCropsOf = (options) => {
|
|
149
|
+
const { boxes, frame, scale = 1, margin = 16 } = options;
|
|
150
|
+
const frameWidth = Math.ceil(frame.width / scale);
|
|
151
|
+
const frameHeight = Math.ceil(frame.height / scale);
|
|
152
|
+
const crops = boxes.map((box) => {
|
|
153
|
+
const x = Math.max(0, Math.floor(box.x / scale) - margin);
|
|
154
|
+
const y = Math.max(0, Math.floor(box.y / scale) - margin);
|
|
155
|
+
return {
|
|
156
|
+
x,
|
|
157
|
+
y,
|
|
158
|
+
width: Math.max(1, Math.min(frameWidth, Math.ceil((box.x + box.width) / scale) + margin) - x),
|
|
159
|
+
height: Math.max(1, Math.min(frameHeight, Math.ceil((box.y + box.height) / scale) + margin) - y),
|
|
160
|
+
};
|
|
161
|
+
});
|
|
162
|
+
return (0, exports.clusteredBoxesOf)(crops, { gap: 0 });
|
|
85
163
|
};
|
|
86
|
-
exports.
|
|
164
|
+
exports.changedCropsOf = changedCropsOf;
|
|
87
165
|
const drawDiffs = (diff) => `(async (diffPixelsOf) => {
|
|
88
166
|
const pixelsOf = async (src) => {
|
|
89
167
|
const image = new Image();
|
|
@@ -120,7 +198,7 @@ const drawDiffs = (diff) => `(async (diffPixelsOf) => {
|
|
|
120
198
|
}
|
|
121
199
|
return lines;
|
|
122
200
|
})(${diff})`;
|
|
123
|
-
const
|
|
201
|
+
const changedBoxesIn = (diff, urls) => `(async ([before, after]) => {
|
|
124
202
|
const pixelsOf = async (src) => {
|
|
125
203
|
const image = new Image();
|
|
126
204
|
image.src = src;
|
|
@@ -133,24 +211,28 @@ const changedBoxIn = (diff, urls) => `(async ([before, after]) => {
|
|
|
133
211
|
return context.getImageData(0, 0, canvas.width, canvas.height);
|
|
134
212
|
};
|
|
135
213
|
const [beforePixels, afterPixels] = await Promise.all([pixelsOf(before), pixelsOf(after)]);
|
|
136
|
-
return (${diff})(beforePixels, afterPixels).
|
|
214
|
+
return (${diff})(beforePixels, afterPixels).boxes;
|
|
137
215
|
})(${JSON.stringify(urls)})`;
|
|
138
|
-
/**
|
|
139
|
-
|
|
216
|
+
/**
|
|
217
|
+
* One box per cluster of the pixels `after` changes from `before`: groups closer than 16 pixels merge, and at most
|
|
218
|
+
* eight remain. Empty when both draw the same pixels.
|
|
219
|
+
*/
|
|
220
|
+
const changedBoxesOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
140
221
|
const { browser, before, after } = options;
|
|
141
222
|
if (before.equals(after))
|
|
142
|
-
return
|
|
223
|
+
return [];
|
|
143
224
|
const context = yield browser.newContext();
|
|
144
225
|
try {
|
|
145
226
|
const page = yield context.newPage();
|
|
146
227
|
const urls = [before, after].map((png) => `data:image/png;base64,${png.toString('base64')}`);
|
|
147
|
-
|
|
228
|
+
const groups = (yield page.evaluate(changedBoxesIn(diffSourceOf(), urls)));
|
|
229
|
+
return (0, exports.clusteredBoxesOf)(groups, { gap: CLUSTER_GAP });
|
|
148
230
|
}
|
|
149
231
|
finally {
|
|
150
232
|
yield context.close();
|
|
151
233
|
}
|
|
152
234
|
});
|
|
153
|
-
exports.
|
|
235
|
+
exports.changedBoxesOf = changedBoxesOf;
|
|
154
236
|
const escapeHtml = (text) => text.replace(/&/gu, '&').replace(/</gu, '<').replace(/>/gu, '>').replace(/"/gu, '"');
|
|
155
237
|
/** The page that lays each row of cells side by side, a label above every cell, the rows stacked. */
|
|
156
238
|
const contactSheetHtml = (rows) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-sheet.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/contact-sheet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contact-sheet.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/contact-sheet.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ const fs_1 = require("fs");
|
|
|
14
14
|
const path_1 = require("path");
|
|
15
15
|
const accept_command_1 = require("./system/accept-command");
|
|
16
16
|
const check_1 = require("./check");
|
|
17
|
+
const complete_command_1 = require("./system/complete-command");
|
|
17
18
|
const paths_1 = require("./paths");
|
|
18
19
|
const inbox_command_1 = require("./inbox-command");
|
|
19
20
|
const legacy_1 = require("./legacy");
|
|
@@ -67,10 +68,13 @@ const helpOf = (invocation) => [
|
|
|
67
68
|
`${invocation} status <slug> <${status_1.CALL_STATES.join('|')}>`,
|
|
68
69
|
' Record the state of a call for Ethlete Studio. new and check --call record theirs on their own.',
|
|
69
70
|
'',
|
|
70
|
-
`${invocation} sketch new <layer>/<name> --variants a,b --by <model id> [--like <layer>/<name>[:<variant>]] [--round <title>] [--note <text>] [--product <name>]`,
|
|
71
|
+
`${invocation} sketch new <layer>/<name> [<layer>/<name>…] --variants a,b --by <model id> [--like <layer>/<name>[:<variant>]] [--round <title>] [--note <text>] [--product <name>]`,
|
|
71
72
|
' Open a sketch on a part, new or existing, in progress. Each variant starts as a copy of the part, or of the part',
|
|
72
73
|
" --like names (a variant of its open sketch after the colon, with that sketch's shared/ folder).",
|
|
74
|
+
' Name several parts for one change across them: each variant holds every target, and ready, merge and the',
|
|
75
|
+
' commit take them together. Any other command finds the sketch by any of its targets.',
|
|
73
76
|
" Variants import code from the sketch's shared/ folder as @shared/<path>; a merge moves it into the target.",
|
|
77
|
+
" Any part imports the product's own shared/ folder as @shared/<path>; a sketch's file of the same path replaces it at merge.",
|
|
74
78
|
'',
|
|
75
79
|
`${invocation} sketch variant <layer>/<name> <variant> --from <variant> --by <model id> [--round <title> --note <why the running round lost>]`,
|
|
76
80
|
' Add a variant to the open sketch, as a copy of another, in the running round or a new one.',
|
|
@@ -84,7 +88,7 @@ const helpOf = (invocation) => [
|
|
|
84
88
|
'',
|
|
85
89
|
`${invocation} sketch merge <layer>/<name> [--note <reason>] --by <model id> | sketch discard <layer>/<name> --by <model id>`,
|
|
86
90
|
' Merge the variant the user picked, set the note and madeBy (its authors) on the target, then check and',
|
|
87
|
-
' restore the old files on failure. Or drop the sketch. Both
|
|
91
|
+
' restore the old files on failure. Or drop the sketch. Both resolve the addressed comments on its variants and mark the open ones addressed. Studio runs',
|
|
88
92
|
" both on the user's click, so an agent runs neither after a pick. Merge refuses without a pick,",
|
|
89
93
|
' and when a part the variant replaces changed in the product since the sketch was created.',
|
|
90
94
|
'',
|
|
@@ -96,6 +100,13 @@ const helpOf = (invocation) => [
|
|
|
96
100
|
' merged.json, so check stops warning of it, and logs who accepted it and why in accepted.json. Refuses an unknown',
|
|
97
101
|
' part, a part with an open sketch, and a part with no change outside a sketch.',
|
|
98
102
|
'',
|
|
103
|
+
`${invocation} ${complete_command_1.COMPLETE_USAGE}`,
|
|
104
|
+
' Exit 1 while a control the part declares in definePart({ controls }) lacks a drawn state or surface: hover and',
|
|
105
|
+
' active for pointer input, focus-visible for keyboard, and for a disclosure a collapsed state and its visible',
|
|
106
|
+
' body. A part that changed since its last merge or accept fails too, and so does a drawn control without a',
|
|
107
|
+
' data-et-control marker, or an element with a pointer cursor or :hover rule but no control role. Separate from',
|
|
108
|
+
' check and sketch ready: a round can be ready for comparison and still not complete for implementation.',
|
|
109
|
+
'',
|
|
99
110
|
`${invocation} ${part_command_1.PART_USAGE}`,
|
|
100
111
|
" Delete a part's folder and its merged.json entry, rewrite the product tsconfig paths, and resolve its comments.",
|
|
101
112
|
' Refuses a base part, a part another part imports, and a part with an open sketch.',
|
|
@@ -129,6 +140,9 @@ const helpOf = (invocation) => [
|
|
|
129
140
|
' Answer a comment thread as the agent. It then waits for the user until the user replies. --question marks a',
|
|
130
141
|
" reply that needs the user's answer; any other reply leaves the thread answered.",
|
|
131
142
|
'',
|
|
143
|
+
`${invocation} comment resolve-ended`,
|
|
144
|
+
' Resolve every addressed comment whose sketch is merged, discarded or replaced. Open comments stay open.',
|
|
145
|
+
'',
|
|
132
146
|
' sketch and comment take --product <name>; it may be left out when config.json declares one product.',
|
|
133
147
|
' inbox without --product covers every product.',
|
|
134
148
|
' --by is the exact model id of the agent that writes, e.g. claude-opus-5-5; every agent write needs it.',
|
|
@@ -208,6 +222,10 @@ const designCommand = (options) => __awaiter(void 0, void 0, void 0, function* (
|
|
|
208
222
|
const { target, rest } = splitCheckout(argv.slice(1), root);
|
|
209
223
|
return (0, accept_command_1.designAccept)({ target, argv: rest, invocation });
|
|
210
224
|
}
|
|
225
|
+
if (argv[0] === 'complete') {
|
|
226
|
+
const { target, rest } = splitCheckout(argv.slice(1), root);
|
|
227
|
+
return (0, complete_command_1.designComplete)({ target, argv: rest, invocation });
|
|
228
|
+
}
|
|
211
229
|
if (argv[0] === 'part') {
|
|
212
230
|
const { target, rest } = splitCheckout(argv.slice(1), root);
|
|
213
231
|
return (0, part_command_1.designPart)({ target, argv: rest, invocation });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-command.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/design-command.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAgC;AAChC,+BAA+B;AAC/B,4DAAqE;AACrE,mCAAsC;AACtC,mCAA2C;AAC3C,mDAA6D;AAC7D,qCAAsC;AACtC,yCAAqC;AACrC,uDAAkD;AAClD,mCAAsC;AACtC,6CAA2F;AAC3F,iDAAwD;AACxD,qDAAgF;AAChF,mCAAuC;AACvC,qCAAqD;AACrD,wDAA+D;AAC/D,4DAAuD;AAEvD,iGAAiG;AACjG,MAAM,aAAa,GAAG,CAAC,IAAc,EAAE,IAAY,EAAE,EAAE;;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAExE,OAAO,EAAE,MAAM,EAAE,IAAA,cAAO,EAAC,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,mCAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACtH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,UAAkB,EAAE,EAAE,CACpC;IACE,GAAG,UAAU,gCAAgC;IAC7C,iHAAiH;IACjH,gGAAgG;IAChG,EAAE;IACF,GAAG,UAAU,+EAA+E;IAC5F,mHAAmH;IACnH,sBAAsB;IACtB,EAAE;IACF,GAAG,UAAU,yBAAyB;IACtC,0GAA0G;IAC1G,8GAA8G;IAC9G,EAAE;IACF,GAAG,UAAU,mCAAmC;IAChD,4GAA4G;IAC5G,EAAE;IACF,GAAG,UAAU,iFAAiF;IAC9F,2GAA2G;IAC3G,qGAAqG;IACrG,EAAE;IACF,GAAG,UAAU,mFAAmF;IAChG,wFAAwF;IACxF,wDAAwD;IACxD,gHAAgH;IAChH,EAAE;IACF,GAAG,UAAU,mBAAmB;IAChC,gFAAgF;IAChF,qHAAqH;IACrH,EAAE;IACF,GAAG,UAAU,mBAAmB,oBAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;IACxD,mGAAmG;IACnG,EAAE;IACF,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"design-command.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/design-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DesignConfig } from './paths';
|
|
2
|
+
import { SketchVariant, SystemModules } from './system/system-modules';
|
|
3
|
+
/**
|
|
4
|
+
* Each stylesheet a product generates from a part (`generated` in its config) mapped to the output of the
|
|
5
|
+
* generator run against one sketch variant's own stylesheet of that part. Empty for a merged frame and for a
|
|
6
|
+
* variant that keeps the merged part stylesheet.
|
|
7
|
+
*/
|
|
8
|
+
export declare const createGeneratedStylesheets: (options: {
|
|
9
|
+
target: string;
|
|
10
|
+
config: DesignConfig;
|
|
11
|
+
system: SystemModules;
|
|
12
|
+
}) => (options: {
|
|
13
|
+
product: string;
|
|
14
|
+
sketch: SketchVariant | null;
|
|
15
|
+
}) => Promise<Map<string, string>>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createGeneratedStylesheets = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
const crypto_1 = require("crypto");
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const paths_1 = require("./paths");
|
|
10
|
+
/**
|
|
11
|
+
* Each stylesheet a product generates from a part (`generated` in its config) mapped to the output of the
|
|
12
|
+
* generator run against one sketch variant's own stylesheet of that part. Empty for a merged frame and for a
|
|
13
|
+
* variant that keeps the merged part stylesheet.
|
|
14
|
+
*/
|
|
15
|
+
const createGeneratedStylesheets = (options) => {
|
|
16
|
+
const { target, config, system } = options;
|
|
17
|
+
const runs = new Map();
|
|
18
|
+
const textOf = (file) => ((0, fs_1.existsSync)(file) ? (0, fs_1.readFileSync)(file, 'utf8') : null);
|
|
19
|
+
const generate = (entry, partCss) => {
|
|
20
|
+
const key = (0, crypto_1.createHash)('sha1')
|
|
21
|
+
.update(JSON.stringify([entry.command, entry.stylesheets, (0, fs_1.readFileSync)(partCss, 'utf8')]))
|
|
22
|
+
.digest('hex')
|
|
23
|
+
.slice(0, 16);
|
|
24
|
+
const known = runs.get(key);
|
|
25
|
+
if (known)
|
|
26
|
+
return known;
|
|
27
|
+
// Per process, so two servers of one checkout never read a folder the other is writing.
|
|
28
|
+
const out = (0, path_1.resolve)((0, paths_1.workRootOf)(target), 'generated', `${key}-${process.pid}`);
|
|
29
|
+
const [command = '', ...args] = entry.command;
|
|
30
|
+
const run = (0, util_1.promisify)(child_process_1.execFile)(command, [...args, '--part', partCss, '--out', out], { cwd: target }).then(() => out, (error) => {
|
|
31
|
+
throw new Error(`design-explore: \`${entry.command.join(' ')}\` failed for ${partCss}: ${error.stderr || error.message}`);
|
|
32
|
+
});
|
|
33
|
+
runs.set(key, run);
|
|
34
|
+
run.catch(() => runs.delete(key));
|
|
35
|
+
return run;
|
|
36
|
+
};
|
|
37
|
+
return (options) => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const { product, sketch } = options;
|
|
40
|
+
const entries = (sketch && ((_b = (_a = config.products) === null || _a === void 0 ? void 0 : _a[product]) === null || _b === void 0 ? void 0 : _b.generated)) || [];
|
|
41
|
+
return Promise.all(entries.map((entry) => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const merged = (_a = system.partOf({ product, part: entry.part })) === null || _a === void 0 ? void 0 : _a.css;
|
|
44
|
+
const drawn = (_b = system.partOf({ product, part: entry.part, sketch })) === null || _b === void 0 ? void 0 : _b.css;
|
|
45
|
+
if (!merged || !drawn || !(0, fs_1.existsSync)(drawn) || (0, fs_1.readFileSync)(drawn, 'utf8') === textOf(merged))
|
|
46
|
+
return [];
|
|
47
|
+
return generate(entry, drawn).then((out) => entry.stylesheets.map((stylesheet) => [(0, path_1.resolve)(target, stylesheet), (0, path_1.resolve)(out, stylesheet)]));
|
|
48
|
+
})).then((pairs) => new Map(pairs.flat()));
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.createGeneratedStylesheets = createGeneratedStylesheets;
|
|
52
|
+
//# sourceMappingURL=generated-stylesheets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-stylesheets.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/generated-stylesheets.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare const designInbox: (options: {
|
|
|
12
12
|
}) => number;
|
|
13
13
|
/**
|
|
14
14
|
* `et design comment …` writes a comment on a state of a part, as Studio does from the canvas.
|
|
15
|
+
* `et design comment resolve-ended` resolves the addressed comments of sketches that no longer exist.
|
|
15
16
|
* `et design comment reply <id> <text>` answers a comment thread as the agent; `--question` marks a reply that waits for the user's answer.
|
|
16
17
|
*/
|
|
17
18
|
export declare const designComment: (options: {
|