@12ui/design 0.2.77 → 0.2.79
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/SKILL.md +1 -1
- package/dist/cli-workspace-draw.d.ts +1 -1
- package/dist/cli-workspace-draw.d.ts.map +1 -1
- package/dist/cli-workspace-draw.js +3 -2
- package/dist/cli-workspace-draw.js.map +1 -1
- package/dist/mcp-slate-ui-copy.d.ts +6 -6
- package/dist/mcp-slate-ui-copy.d.ts.map +1 -1
- package/dist/mcp-slate-ui-copy.js +6 -5
- package/dist/mcp-slate-ui-copy.js.map +1 -1
- package/dist/mcp-slate-ui-locales/de-DE.js +2 -2
- package/dist/mcp-slate-ui-locales/de-DE.js.map +1 -1
- package/dist/mcp-slate-ui-locales/es-419.js +2 -2
- package/dist/mcp-slate-ui-locales/es-419.js.map +1 -1
- package/dist/mcp-slate-ui-locales/es-ES.js +2 -2
- package/dist/mcp-slate-ui-locales/es-ES.js.map +1 -1
- package/dist/mcp-slate-ui-locales/fr-FR.js +2 -2
- package/dist/mcp-slate-ui-locales/fr-FR.js.map +1 -1
- package/dist/mcp-slate-ui-locales/hi-IN.js +2 -2
- package/dist/mcp-slate-ui-locales/hi-IN.js.map +1 -1
- package/dist/mcp-slate-ui-locales/it-IT.js +2 -2
- package/dist/mcp-slate-ui-locales/it-IT.js.map +1 -1
- package/dist/mcp-slate-ui-locales/ja-JP.js +2 -2
- package/dist/mcp-slate-ui-locales/ja-JP.js.map +1 -1
- package/dist/mcp-slate-ui-locales/ko-KR.js +2 -2
- package/dist/mcp-slate-ui-locales/ko-KR.js.map +1 -1
- package/dist/mcp-slate-ui-locales/pt-BR.js +2 -2
- package/dist/mcp-slate-ui-locales/pt-BR.js.map +1 -1
- package/dist/mcp-slate-ui-locales/zh-CN.js +2 -2
- package/dist/mcp-slate-ui-locales/zh-CN.js.map +1 -1
- package/dist/mcp-slate-ui-locales/zh-TW.js +2 -2
- package/dist/mcp-slate-ui-locales/zh-TW.js.map +1 -1
- package/dist/mcp-slate-ui-script-more.d.ts +9 -5
- package/dist/mcp-slate-ui-script-more.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-more.js +15 -7
- package/dist/mcp-slate-ui-script-more.js.map +1 -1
- package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-remote.js +10 -2
- package/dist/mcp-slate-ui-script-remote.js.map +1 -1
- package/dist/mcp-slate-ui-script-stage.d.ts +10 -9
- package/dist/mcp-slate-ui-script-stage.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-stage.js +18 -16
- package/dist/mcp-slate-ui-script-stage.js.map +1 -1
- package/dist/mcp-slate-ui-styles-dialog.d.ts +3 -2
- package/dist/mcp-slate-ui-styles-dialog.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles-dialog.js +14 -6
- package/dist/mcp-slate-ui-styles-dialog.js.map +1 -1
- package/dist/mcp-slate-ui-styles-stage.d.ts +9 -6
- package/dist/mcp-slate-ui-styles-stage.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles-stage.js +28 -21
- package/dist/mcp-slate-ui-styles-stage.js.map +1 -1
- package/dist/slate-image-executor.d.ts +10 -2
- package/dist/slate-image-executor.d.ts.map +1 -1
- package/dist/slate-image-executor.js +55 -12
- package/dist/slate-image-executor.js.map +1 -1
- package/dist/slate-round-prompt.d.ts +15 -3
- package/dist/slate-round-prompt.d.ts.map +1 -1
- package/dist/slate-round-prompt.js +14 -5
- package/dist/slate-round-prompt.js.map +1 -1
- package/dist/slate-workspace-types.d.ts +1 -1
- package/dist/slate-workspace-types.d.ts.map +1 -1
- package/dist/workspace-draw-client.d.ts +16 -4
- package/dist/workspace-draw-client.d.ts.map +1 -1
- package/dist/workspace-draw-client.js +28 -4
- package/dist/workspace-draw-client.js.map +1 -1
- package/dist/workspace-draw-messages.d.ts +8 -1
- package/dist/workspace-draw-messages.d.ts.map +1 -1
- package/dist/workspace-draw-messages.js +7 -2
- package/dist/workspace-draw-messages.js.map +1 -1
- package/dist/workspace-draw-run.d.ts.map +1 -1
- package/dist/workspace-draw-run.js +28 -8
- package/dist/workspace-draw-run.js.map +1 -1
- package/dist/workspace-draw-types.d.ts +1 -0
- package/dist/workspace-draw-types.d.ts.map +1 -1
- package/dist/workspace-draw-types.js +1 -0
- package/dist/workspace-draw-types.js.map +1 -1
- package/dist/workspace-runner-children.d.ts +11 -0
- package/dist/workspace-runner-children.d.ts.map +1 -1
- package/dist/workspace-runner-children.js +27 -0
- package/dist/workspace-runner-children.js.map +1 -1
- package/dist/workspace-runner-client.d.ts +2 -0
- package/dist/workspace-runner-client.d.ts.map +1 -1
- package/dist/workspace-runner-client.js +11 -2
- package/dist/workspace-runner-client.js.map +1 -1
- package/dist/workspace-runner-main.d.ts.map +1 -1
- package/dist/workspace-runner-main.js +38 -10
- package/dist/workspace-runner-main.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +1 -1
- package/runtime/codex-conversion/src/images/native-frame.mjs +103 -0
- package/runtime/codex-conversion/src/images/native.mjs +11 -3
- package/runtime/codex-conversion/src/run-store.mjs +21 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../src/mcp-slate-ui-locales/zh-CN.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAoB;IACpC,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,8BAA8B;IACvC,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,OAAO;IACxB,gBAAgB,EAAE,OAAO;IACzB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,eAAe;IAChC,kBAAkB,EAAE,gBAAgB;IACpC,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,YAAY;IAC3B,qBAAqB,EAAE,gBAAgB;IACvC,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,WAAW;IAC9B,qBAAqB,EAAE,gBAAgB;IACvC,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,OAAO;IACrB,gBAAgB,EAAE,8BAA8B;IAChD,WAAW,EAAE,kBAAkB;IAC/B,eAAe,EAAE,OAAO;IACxB,gBAAgB,EAAE,wBAAwB;IAC1C,mBAAmB,EAAE,cAAc;IACnC,kBAAkB,EAAE,qBAAqB;IACzC,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,uEAAuE;IACpF,cAAc,EAAE,0BAA0B;IAC1C,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,yBAAyB;IAC5C,UAAU,EAAE,6BAA6B;IACzC,eAAe,EAAE,qBAAqB;IACtC,aAAa,EAAE,wCAAwC;IACvD,YAAY,EAAE,QAAQ;IACtB,mBAAmB,EAAE,2BAA2B;IAChD,YAAY,EAAE,yBAAyB;IACvC,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB,WAAW,EAAE,0BAA0B;IACvC,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,kBAAkB;IACjC,kBAAkB,EAAE,MAAM;IAC1B,wBAAwB,EAAE,UAAU;IACpC,kBAAkB,EAAE,sBAAsB;IAC1C,sBAAsB,EAAE,kBAAkB;IAC1C,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,iCAAiC;IAC7C,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE
|
|
1
|
+
{"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../src/mcp-slate-ui-locales/zh-CN.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,8 +75,8 @@ export const ZH_TW = {
|
|
|
75
75
|
"eightAtMost": "最多八張。",
|
|
76
76
|
"searchFailed": "搜尋失敗:{message}",
|
|
77
77
|
"tryAgain": "請在 {n, plural, other {# 秒}}後再試一次。",
|
|
78
|
-
"queryFrom": "
|
|
79
|
-
"queryNewestOthers": "
|
|
78
|
+
"queryFrom": "{count, plural, other {第 {rounds} 輪}}使用的搜尋。",
|
|
79
|
+
"queryNewestOthers": "{count, plural, other {第 {rounds} 輪}}使用的搜尋。{otherCount, plural, other {第 {others} 輪}}使用了其他搜尋。",
|
|
80
80
|
"queryLastSearch": "你上一次的搜尋。",
|
|
81
81
|
"queryCut": "搜尋只會採用前 {n} 個字元。",
|
|
82
82
|
"resultsMax": "{n, plural, other {# 筆結果}},為單次搜尋的上限。",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-TW.js","sourceRoot":"","sources":["../../src/mcp-slate-ui-locales/zh-TW.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAoB;IACpC,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,8BAA8B;IACvC,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,OAAO;IACxB,gBAAgB,EAAE,OAAO;IACzB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,eAAe;IAChC,kBAAkB,EAAE,eAAe;IACnC,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,eAAe;IAC9B,qBAAqB,EAAE,eAAe;IACtC,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,WAAW;IAC9B,qBAAqB,EAAE,cAAc;IACrC,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,KAAK;IACnB,gBAAgB,EAAE,6BAA6B;IAC/C,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,MAAM;IACvB,gBAAgB,EAAE,sBAAsB;IACxC,mBAAmB,EAAE,cAAc;IACnC,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,qEAAqE;IAClF,cAAc,EAAE,yBAAyB;IACzC,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,yBAAyB;IAC5C,UAAU,EAAE,4BAA4B;IACxC,eAAe,EAAE,0BAA0B;IAC3C,aAAa,EAAE,uCAAuC;IACtD,YAAY,EAAE,QAAQ;IACtB,mBAAmB,EAAE,2BAA2B;IAChD,YAAY,EAAE,4BAA4B;IAC1C,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB,WAAW,EAAE,wBAAwB;IACrC,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,oBAAoB;IACnC,kBAAkB,EAAE,MAAM;IAC1B,wBAAwB,EAAE,UAAU;IACpC,kBAAkB,EAAE,mBAAmB;IACvC,sBAAsB,EAAE,mBAAmB;IAC3C,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,mCAAmC;IAC/C,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"zh-TW.js","sourceRoot":"","sources":["../../src/mcp-slate-ui-locales/zh-TW.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Generate more:
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Generate more: a dashed tile with a plus and the words Generate more, and
|
|
3
|
+
* the panel it opens directly below it. In the card it is the last tile of the
|
|
4
|
+
* strip, whose thumbnails wrap rather than scroll sideways, and the panel
|
|
5
|
+
* opens below the strip; in the workspace it is a slim bar on top of the
|
|
6
|
+
* selection, before the newest round in the column's flow (rounds are newest
|
|
7
|
+
* first, so it sits where the next round will land), and the panel opens under
|
|
8
|
+
* the bar. Either way it is in view without a scroll from where the thumbnails
|
|
9
|
+
* rest. The panel is the only way to start a round, and it says what it will
|
|
10
|
+
* do:
|
|
7
11
|
*
|
|
8
12
|
* - a heading and one helper line that follows the state (fresh references,
|
|
9
13
|
* the selected inspiration, or close to the shown design);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-script-more.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-more.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-script-more.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-more.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,aAAa,QAqQzB,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Generate more:
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Generate more: a dashed tile with a plus and the words Generate more, and
|
|
3
|
+
* the panel it opens directly below it. In the card it is the last tile of the
|
|
4
|
+
* strip, whose thumbnails wrap rather than scroll sideways, and the panel
|
|
5
|
+
* opens below the strip; in the workspace it is a slim bar on top of the
|
|
6
|
+
* selection, before the newest round in the column's flow (rounds are newest
|
|
7
|
+
* first, so it sits where the next round will land), and the panel opens under
|
|
8
|
+
* the bar. Either way it is in view without a scroll from where the thumbnails
|
|
9
|
+
* rest. The panel is the only way to start a round, and it says what it will
|
|
10
|
+
* do:
|
|
7
11
|
*
|
|
8
12
|
* - a heading and one helper line that follows the state (fresh references,
|
|
9
13
|
* the selected inspiration, or close to the shown design);
|
|
@@ -38,7 +42,7 @@ export const SLATE_UI_MORE = String.raw `
|
|
|
38
42
|
return (!!state.view && runningOps().some(function (o) { return o.kind === "round"; })) || !!(state.more && state.more.committing);
|
|
39
43
|
}
|
|
40
44
|
|
|
41
|
-
// One tile per
|
|
45
|
+
// One tile per place: the card's strip and the workspace's selection each build their own.
|
|
42
46
|
function moreTile() {
|
|
43
47
|
var b = button("", "moretile", toggleMore);
|
|
44
48
|
b.setAttribute("aria-label", t("generateMore"));
|
|
@@ -147,7 +151,11 @@ export const SLATE_UI_MORE = String.raw `
|
|
|
147
151
|
note.setAttribute("placeholder", t("moreNotePlaceholder"));
|
|
148
152
|
note.setAttribute("aria-label", t("moreNotePlaceholder"));
|
|
149
153
|
note.addEventListener("input", function () { m.note = note.value; });
|
|
150
|
-
|
|
154
|
+
// The wrapper's hidden twin of the placeholder gives the field the height its words need at this width.
|
|
155
|
+
var noteWrap = el("div", "notewrap");
|
|
156
|
+
noteWrap.setAttribute("data-placeholder", t("moreNotePlaceholder"));
|
|
157
|
+
noteWrap.appendChild(note);
|
|
158
|
+
box.appendChild(noteWrap);
|
|
151
159
|
var row = el("div", "morerow");
|
|
152
160
|
var seg = el("div", "seg");
|
|
153
161
|
seg.setAttribute("role", "radiogroup");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-script-more.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-more.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-script-more.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-more.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqQtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-script-remote.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-script-remote.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,eAAe,QA8J3B,CAAC"}
|
|
@@ -58,15 +58,21 @@ export const SLATE_UI_REMOTE = String.raw `
|
|
|
58
58
|
// agent is not told: the runner claims the request within seconds and the op's phase turns to "drawing". The agent
|
|
59
59
|
// is told after all, with the same message, when the request is still the agent's ("agent") once RUNNER_GRACE_MS
|
|
60
60
|
// has passed, or when a claimed request goes back to the agent because the runner's lease lapsed. Each check reads
|
|
61
|
-
// the status itself, so a card the host hides (no polling) still decides on fresh state.
|
|
61
|
+
// the status itself, so a card the host hides (no polling) still decides on fresh state. A round that waits on the
|
|
62
|
+
// person (its round carries a pause) is nobody's to draw yet: no runner may claim it, so the screen keeps watching
|
|
63
|
+
// and tells nobody, however long the person takes; once it goes on, the runner gets its grace again from then.
|
|
62
64
|
var RUNNER_GRACE_MS = 20000;
|
|
63
65
|
var RUNNER_RECHECK_MS = 10000;
|
|
64
66
|
var runnerWatch = {};
|
|
65
67
|
function remoteAfterRun(action, opId, runner) {
|
|
66
68
|
if (!(runner && runner.alive === true)) { remoteTellRun(action, opId); return; }
|
|
67
|
-
runnerWatch[opId] = { action: action };
|
|
69
|
+
runnerWatch[opId] = { action: action, waited: false };
|
|
68
70
|
setTimeout(function () { runnerCheck(opId); }, RUNNER_GRACE_MS);
|
|
69
71
|
}
|
|
72
|
+
function opWaitsOnPerson(op) {
|
|
73
|
+
var round = op.kind === "round" ? roundOfOp(op) : null;
|
|
74
|
+
return !!(round && round.pause);
|
|
75
|
+
}
|
|
70
76
|
function runnerCheck(opId) {
|
|
71
77
|
if (!runnerWatch[opId] || !state.view) return;
|
|
72
78
|
callTool(TOOLS.status, { runDir: state.view.runDir, since: state.view.stamp }).then(function (result) {
|
|
@@ -80,6 +86,8 @@ export const SLATE_UI_REMOTE = String.raw `
|
|
|
80
86
|
var op = state.view.ops.filter(function (o) { return o.opId === opId; })[0];
|
|
81
87
|
if (!op || op.state !== "running") { delete runnerWatch[opId]; return; }
|
|
82
88
|
if (op.phase === "drawing") { setTimeout(function () { runnerCheck(opId); }, RUNNER_RECHECK_MS); return; }
|
|
89
|
+
if (opWaitsOnPerson(op)) { watch.waited = true; setTimeout(function () { runnerCheck(opId); }, RUNNER_RECHECK_MS); return; }
|
|
90
|
+
if (watch.waited) { watch.waited = false; setTimeout(function () { runnerCheck(opId); }, RUNNER_GRACE_MS); return; }
|
|
83
91
|
delete runnerWatch[opId];
|
|
84
92
|
remoteTellRun(watch.action, opId);
|
|
85
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-script-remote.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-script-remote.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8JxC,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The fullscreen workspace: on the left the selection (
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
2
|
+
* The fullscreen workspace: on the left the selection (the Generate more tile
|
|
3
|
+
* on top, where the next round will land, its panel under it, then compact
|
|
4
|
+
* thumbnails grouped by round, newest first, each option with its versions as
|
|
5
|
+
* chips; one column that scrolls as a whole), in the middle one large image,
|
|
6
|
+
* and under it one row of actions at the right: Edit, Branch and Convert, then
|
|
7
|
+
* Select (primary) at the far right. Nothing else shows until a button is
|
|
8
|
+
* clicked; the dialogs live in mcp-slate-ui-script-dialog.ts. One band above
|
|
9
|
+
* the image says what is running (on the local plugin; on the hosted server
|
|
10
|
+
* the person's agent says it), stopped or failed, with Resume when the work
|
|
11
|
+
* can resume. Mounted only in fullscreen.
|
|
11
12
|
*/
|
|
12
13
|
export declare const SLATE_UI_STAGE: string;
|
|
13
14
|
//# sourceMappingURL=mcp-slate-ui-script-stage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-script-stage.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-stage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-script-stage.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,QAoL1B,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The fullscreen workspace: on the left the selection (
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
2
|
+
* The fullscreen workspace: on the left the selection (the Generate more tile
|
|
3
|
+
* on top, where the next round will land, its panel under it, then compact
|
|
4
|
+
* thumbnails grouped by round, newest first, each option with its versions as
|
|
5
|
+
* chips; one column that scrolls as a whole), in the middle one large image,
|
|
6
|
+
* and under it one row of actions at the right: Edit, Branch and Convert, then
|
|
7
|
+
* Select (primary) at the far right. Nothing else shows until a button is
|
|
8
|
+
* clicked; the dialogs live in mcp-slate-ui-script-dialog.ts. One band above
|
|
9
|
+
* the image says what is running (on the local plugin; on the hosted server
|
|
10
|
+
* the person's agent says it), stopped or failed, with Resume when the work
|
|
11
|
+
* can resume. Mounted only in fullscreen.
|
|
11
12
|
*/
|
|
12
13
|
export const SLATE_UI_STAGE = String.raw `
|
|
13
14
|
var stageBuilt = false;
|
|
@@ -61,10 +62,15 @@ export const SLATE_UI_STAGE = String.raw `
|
|
|
61
62
|
main.appendChild(stageEls.hero);
|
|
62
63
|
main.appendChild(row);
|
|
63
64
|
main.appendChild(stageEls.status);
|
|
65
|
+
// Generate more tops the selection: rounds are newest first, so it sits where the next round will appear, in the
|
|
66
|
+
// column's own flow (it scrolls with the rounds and never lies over one), and its panel opens directly under it.
|
|
67
|
+
stageEls.moreSlot = el("div", "moreslot");
|
|
68
|
+
stageEls.moreSlot.appendChild(moreTile());
|
|
64
69
|
stageEls.more = el("div", "morehost");
|
|
65
70
|
var selection = el("div", "selection");
|
|
66
|
-
selection.appendChild(stageEls.
|
|
71
|
+
selection.appendChild(stageEls.moreSlot);
|
|
67
72
|
selection.appendChild(stageEls.more);
|
|
73
|
+
selection.appendChild(stageEls.rail);
|
|
68
74
|
stageEls.body.appendChild(selection);
|
|
69
75
|
stageEls.body.appendChild(main);
|
|
70
76
|
stageEls.inspiration = el("div", "inspiration hidden");
|
|
@@ -116,12 +122,6 @@ export const SLATE_UI_STAGE = String.raw `
|
|
|
116
122
|
section.appendChild(list);
|
|
117
123
|
rail.appendChild(section);
|
|
118
124
|
});
|
|
119
|
-
// The Generate more tile is one more tile of the newest round's columns and ratio, at the end of the selection.
|
|
120
|
-
var slot = el("div", "moreslot");
|
|
121
|
-
var newest = orderedCandidates()[0];
|
|
122
|
-
if (newest) setShape(slot, ratioOf(newest));
|
|
123
|
-
slot.appendChild(moreTile());
|
|
124
|
-
rail.appendChild(slot);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
// ---- the band: what is running, stopped or failed ----
|
|
@@ -167,6 +167,8 @@ export const SLATE_UI_STAGE = String.raw `
|
|
|
167
167
|
if (!onDesigns) { renderInspiration(stageEls.inspiration, "stage"); return; }
|
|
168
168
|
var c = selectedCandidate();
|
|
169
169
|
var sel = selectedVersion();
|
|
170
|
+
// With no option there is nothing to draw more of: no tile (openMore refuses too).
|
|
171
|
+
stageEls.moreSlot.classList.toggle("hidden", v.candidates.length === 0);
|
|
170
172
|
if (v.candidates.length === 0) {
|
|
171
173
|
stageEls.rail.textContent = "";
|
|
172
174
|
stageEls.rail.__sig = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-script-stage.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-stage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-script-stage.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoLvC,CAAC"}
|
|
@@ -8,8 +8,9 @@ export declare const SLATE_UI_DIALOG_STYLES: string;
|
|
|
8
8
|
/**
|
|
9
9
|
* The Generate more tile and its panel. The tile is quiet but findable: a
|
|
10
10
|
* dashed border in the secondary text colour, a plus and the words "Generate
|
|
11
|
-
* more", no fill
|
|
12
|
-
*
|
|
11
|
+
* more", no fill. In the card's strip it is one more tile of the thumbnails' grid, as wide as a column and with the
|
|
12
|
+
* newest round's ratio; in the workspace it is a slim bar on top of the selection (mcp-slate-ui-styles-stage.ts).
|
|
13
|
+
* The panel is one bordered block under the tile:
|
|
13
14
|
* heading, one helper line, the "Based on" switch, the selected inspiration as
|
|
14
15
|
* small chips, a note, the count and the two buttons. In the card, the script
|
|
15
16
|
* shortens the large image by the panel's height while it is open (an inline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-styles-dialog.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-dialog.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAqBJ,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-styles-dialog.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-dialog.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAqBJ,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,QA6ChC,CAAC"}
|
|
@@ -30,8 +30,9 @@ ${SLATE_UI_INSPIRATION_STYLES}`;
|
|
|
30
30
|
/**
|
|
31
31
|
* The Generate more tile and its panel. The tile is quiet but findable: a
|
|
32
32
|
* dashed border in the secondary text colour, a plus and the words "Generate
|
|
33
|
-
* more", no fill
|
|
34
|
-
*
|
|
33
|
+
* more", no fill. In the card's strip it is one more tile of the thumbnails' grid, as wide as a column and with the
|
|
34
|
+
* newest round's ratio; in the workspace it is a slim bar on top of the selection (mcp-slate-ui-styles-stage.ts).
|
|
35
|
+
* The panel is one bordered block under the tile:
|
|
35
36
|
* heading, one helper line, the "Based on" switch, the selected inspiration as
|
|
36
37
|
* small chips, a note, the count and the two buttons. In the card, the script
|
|
37
38
|
* shortens the large image by the panel's height while it is open (an inline
|
|
@@ -41,15 +42,17 @@ export const SLATE_UI_MORE_STYLES = String.raw `
|
|
|
41
42
|
button.moretile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; flex: none; padding: 0; border: 1px dashed var(--text2); border-radius: 6px; background: none; color: var(--text2); font-size: 12px; font-weight: 500; line-height: 1.2; }
|
|
42
43
|
button.moretile:hover:not(:disabled), button.moretile[aria-expanded="true"] { color: var(--text); border-color: var(--text); }
|
|
43
44
|
button.moretile:disabled { opacity: .35; }
|
|
44
|
-
.strip .moretile
|
|
45
|
+
.strip .moretile { width: 100%; aspect-ratio: var(--ar, 1.5); align-self: start; }
|
|
45
46
|
.morepanel { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius); }
|
|
46
47
|
#more:not(:empty) { padding-top: 10px; }
|
|
47
48
|
#card .hero.folded { display: none; }
|
|
48
49
|
.morehead { margin: 0; font-size: 13px; font-weight: 600; }
|
|
49
|
-
|
|
50
|
+
/* The switch drops under its words when the panel is too narrow for both (the workspace's 168 px column), so no word of
|
|
51
|
+
"Based on A" breaks mid-word. */
|
|
52
|
+
.moreswitch { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-width: 0; cursor: pointer; }
|
|
50
53
|
.morethumb { display: block; flex: none; width: 40px; height: 40px; border-radius: 4px; background: var(--bg3); object-fit: contain; object-position: center; }
|
|
51
|
-
.moreswitchtext { flex: 1 1
|
|
52
|
-
.moreswitch input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: none; position: relative; width: 36px; height: 20px; margin: 0; border: 1px solid var(--border); border-radius: 999px; background: var(--bg3); cursor: pointer; }
|
|
54
|
+
.moreswitchtext { flex: 1 1 6em; min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
|
|
55
|
+
.moreswitch input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: none; position: relative; width: 36px; height: 20px; margin: 0 0 0 auto; border: 1px solid var(--border); border-radius: 999px; background: var(--bg3); cursor: pointer; }
|
|
53
56
|
.moreswitch input[type="checkbox"]::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--text2); transition: transform .12s; }
|
|
54
57
|
.moreswitch input[type="checkbox"]:checked { background: var(--inverse); border-color: var(--inverse); }
|
|
55
58
|
.moreswitch input[type="checkbox"]:checked::after { transform: translateX(16px); background: var(--inverse-text); }
|
|
@@ -61,6 +64,11 @@ export const SLATE_UI_MORE_STYLES = String.raw `
|
|
|
61
64
|
.refchip { position: relative; flex: none; width: 48px; height: 48px; }
|
|
62
65
|
.refchipimg { display: block; width: 100%; height: 100%; border-radius: 4px; background: var(--bg3); object-fit: contain; object-position: center; }
|
|
63
66
|
button.refchipx { position: absolute; top: -6px; right: -6px; display: grid; place-items: center; width: 20px; height: 20px; padding: 0; border-radius: 50%; background: var(--inverse); color: var(--inverse-text); border-color: var(--bg); }
|
|
67
|
+
/* The field is as tall as its placeholder needs at this width (a hidden twin of the words sets the row's height, in the
|
|
68
|
+
textarea's own font and padding), so a narrow column never cuts the placeholder off. */
|
|
69
|
+
.notewrap { display: grid; min-width: 0; }
|
|
70
|
+
.notewrap::after { content: attr(data-placeholder) "\200b"; grid-area: 1 / 1; visibility: hidden; padding: 9px 11px; font: inherit; white-space: pre-wrap; overflow-wrap: break-word; pointer-events: none; }
|
|
71
|
+
.notewrap textarea { grid-area: 1 / 1; }
|
|
64
72
|
.morepanel textarea { width: 100%; min-width: 0; padding: 8px 10px; font: inherit; color: var(--text); background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); resize: vertical; }
|
|
65
73
|
.morepanel textarea:focus-visible { outline: 2px solid var(--ring); outline-offset: 1px; }
|
|
66
74
|
.morerow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-styles-dialog.js","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;EAqB9C,2BAA2B,EAAE,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-styles-dialog.js","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;EAqB9C,2BAA2B,EAAE,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C7C,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The fullscreen workspace: the selection on the left, one large image with
|
|
3
|
-
* its band and action row in the middle. The Generate more tile
|
|
4
|
-
* selection
|
|
5
|
-
*
|
|
3
|
+
* its band and action row in the middle. The Generate more tile tops the
|
|
4
|
+
* selection, a slim bar as wide as the thumbnails (rounds are newest first, so
|
|
5
|
+
* it sits where the next round will land), and its panel opens under it, both
|
|
6
|
+
* in the column's own flow: the column scrolls as one, the tile in reach at
|
|
7
|
+
* its top, and nothing is pinned over a thumbnail. Fluid at any width
|
|
8
|
+
* (`min-width: 0` on every grid and flex parent).
|
|
6
9
|
*
|
|
7
10
|
* The selection lists every round, each as a grid of equal columns no narrower
|
|
8
11
|
* than --thumb-rail times the square root of the round's picture ratio (see
|
|
@@ -11,9 +14,9 @@
|
|
|
11
14
|
* desktop app's default 708 px tab (one tile across); 320 px from 900px (one
|
|
12
15
|
* 3:2 tile across, two 2:3 ones); 472 px from 1400px (two 3:2 tiles across,
|
|
13
16
|
* three 2:3 ones). Below 640px the selection sits above the image, its rows
|
|
14
|
-
* wrapping at the window's width and the
|
|
15
|
-
* under half the window's height (the Generate more
|
|
16
|
-
* box); nothing scrolls sideways.
|
|
17
|
+
* wrapping at the window's width and the rounds scrolling down inside a box
|
|
18
|
+
* under half the window's height (the Generate more tile and its panel sit
|
|
19
|
+
* above that box, at full height); nothing scrolls sideways.
|
|
17
20
|
*
|
|
18
21
|
* The action row is right-aligned and as wide as the picture (--ar is set by
|
|
19
22
|
* the script on the shared parent), so Select, last, ends at the picture's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-styles-stage.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-stage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-styles-stage.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,qBAAqB,QAwDjC,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The fullscreen workspace: the selection on the left, one large image with
|
|
3
|
-
* its band and action row in the middle. The Generate more tile
|
|
4
|
-
* selection
|
|
5
|
-
*
|
|
3
|
+
* its band and action row in the middle. The Generate more tile tops the
|
|
4
|
+
* selection, a slim bar as wide as the thumbnails (rounds are newest first, so
|
|
5
|
+
* it sits where the next round will land), and its panel opens under it, both
|
|
6
|
+
* in the column's own flow: the column scrolls as one, the tile in reach at
|
|
7
|
+
* its top, and nothing is pinned over a thumbnail. Fluid at any width
|
|
8
|
+
* (`min-width: 0` on every grid and flex parent).
|
|
6
9
|
*
|
|
7
10
|
* The selection lists every round, each as a grid of equal columns no narrower
|
|
8
11
|
* than --thumb-rail times the square root of the round's picture ratio (see
|
|
@@ -11,9 +14,9 @@
|
|
|
11
14
|
* desktop app's default 708 px tab (one tile across); 320 px from 900px (one
|
|
12
15
|
* 3:2 tile across, two 2:3 ones); 472 px from 1400px (two 3:2 tiles across,
|
|
13
16
|
* three 2:3 ones). Below 640px the selection sits above the image, its rows
|
|
14
|
-
* wrapping at the window's width and the
|
|
15
|
-
* under half the window's height (the Generate more
|
|
16
|
-
* box); nothing scrolls sideways.
|
|
17
|
+
* wrapping at the window's width and the rounds scrolling down inside a box
|
|
18
|
+
* under half the window's height (the Generate more tile and its panel sit
|
|
19
|
+
* above that box, at full height); nothing scrolls sideways.
|
|
17
20
|
*
|
|
18
21
|
* The action row is right-aligned and as wide as the picture (--ar is set by
|
|
19
22
|
* the script on the shared parent), so Select, last, ends at the picture's
|
|
@@ -24,21 +27,24 @@ export const SLATE_UI_STAGE_STYLES = String.raw `
|
|
|
24
27
|
#stage.hidden { display: none !important; }
|
|
25
28
|
.stagehead { display: flex; align-items: center; gap: 12px; min-width: 0; }
|
|
26
29
|
.stagebody { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 16px; min-width: 0; align-items: start; }
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
/* The selection is one column that scrolls as a whole: the Generate more tile, its panel when open, then the rounds.
|
|
31
|
+
Nothing is pinned over it, so every tile shows whole when it is scrolled into view. The padding is room for a
|
|
32
|
+
tile's ring and focus outline, which the scrolling column would otherwise cut. */
|
|
33
|
+
.selection { min-width: 0; display: flex; flex-direction: column; gap: 10px; max-height: calc(100vh - 96px); overflow-y: auto; padding: 6px; }
|
|
34
|
+
.rail { flex: none; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
|
|
35
|
+
.moreslot, .morehost { flex: none; min-width: 0; }
|
|
36
|
+
/* The panel keeps the column's whole width, reaching out over its side padding: a narrow column has little room. */
|
|
37
|
+
.morehost { margin: 0 -6px; }
|
|
30
38
|
.morehost:empty { display: none; }
|
|
39
|
+
/* The tile here is a slim bar as wide as the thumbnails: the plus and the words on one line, wrapping when a language
|
|
40
|
+
needs it, so it costs one row rather than a thumbnail's height and leaves no half-empty row of the grid. */
|
|
41
|
+
.moreslot .moretile { flex-direction: row; gap: 8px; width: 100%; min-height: 40px; padding: 8px 12px; font-size: 13px; text-align: center; }
|
|
42
|
+
.moreslot .moretile svg { flex: none; width: 18px; height: 18px; }
|
|
43
|
+
.moreslot .moretile span { min-width: 0; overflow-wrap: anywhere; }
|
|
31
44
|
.round { min-width: 0; }
|
|
32
45
|
.roundhead { font-size: 13px; font-weight: 600; margin: 0 0 6px; }
|
|
33
|
-
/* Each round's options
|
|
34
|
-
.options
|
|
35
|
-
.options { list-style: none; margin: 0; padding: 0; }
|
|
36
|
-
/* The tile sticks to the list's bottom edge: its row reaches down over the list's padding (the 6 px under it) and out
|
|
37
|
-
over the padding at each side, so no sliver of a tile scrolled under it, nor of its selection ring or focus
|
|
38
|
-
outline (painted in that padding), shows below or beside it; its top edge fades, so a tile passing under it is
|
|
39
|
-
not cut by a hard line. */
|
|
40
|
-
.moreslot { position: sticky; bottom: -6px; margin: 0 -6px; padding: 4px 6px 10px; background: var(--bg); }
|
|
41
|
-
.moreslot::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 8px; background: linear-gradient(to bottom, transparent, var(--bg)); pointer-events: none; }
|
|
46
|
+
/* Each round's options share the columns of the selection's grid. */
|
|
47
|
+
.options { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(var(--thumb-rail) * var(--shape, 1))), 1fr)); gap: 10px 8px; list-style: none; margin: 0; padding: 0; }
|
|
42
48
|
.option { min-width: 0; }
|
|
43
49
|
.chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
|
|
44
50
|
.chip { padding: 1px 7px; font-size: 11px; font-weight: 500; }
|
|
@@ -66,9 +72,10 @@ export const SLATE_UI_STAGE_STYLES = String.raw `
|
|
|
66
72
|
}
|
|
67
73
|
@media (max-width: 639px) {
|
|
68
74
|
.stagebody { grid-template-columns: minmax(0, 1fr); }
|
|
69
|
-
/* The
|
|
70
|
-
|
|
71
|
-
.
|
|
75
|
+
/* The rounds scroll down inside a box under half the window, reaching out over the column's side padding so their
|
|
76
|
+
tiles line up with the Generate more tile above them; the tile and its panel stay above the box at full height. */
|
|
77
|
+
.selection { max-height: none; overflow: visible; padding: 0 6px; }
|
|
78
|
+
.rail { max-height: 45vh; overflow-y: auto; margin: 0 -6px; padding: 6px; }
|
|
72
79
|
#stage .main { --cap: 60vh; }
|
|
73
80
|
}
|
|
74
81
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-slate-ui-styles-stage.js","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-stage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-styles-stage.js","sourceRoot":"","sources":["../src/mcp-slate-ui-styles-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD9C,CAAC"}
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
* already produced an image returns it without another call, and an id whose
|
|
11
11
|
* call died after dispatch is recovered from its own rollout or refused, never
|
|
12
12
|
* dispatched twice. The runner names calls `slate-<opId>-<slot>` and
|
|
13
|
-
* `slate-<opId>`, so a resumed op replays the same ids.
|
|
13
|
+
* `slate-<opId>`, so a resumed op replays the same ids. An image an id received
|
|
14
|
+
* under an earlier release's identity is not lost to that release's change
|
|
15
|
+
* (`adoptEarlier`).
|
|
14
16
|
*/
|
|
15
17
|
export type SlateImageCall = {
|
|
16
18
|
callId: string;
|
|
@@ -18,12 +20,18 @@ export type SlateImageCall = {
|
|
|
18
20
|
prompt: string;
|
|
19
21
|
/** Attached images in order; the first is the primary. */
|
|
20
22
|
images: Buffer[];
|
|
21
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The frame the result is fitted to, never stretched (`aspect-preserving-lanczos3`, codex-conversion's
|
|
25
|
+
* native-frame.mjs): one scale on both axes, cropped only where the cut strips are blank, else padded with the
|
|
26
|
+
* image's own edge colour.
|
|
27
|
+
*/
|
|
22
28
|
expected: {
|
|
23
29
|
width: number;
|
|
24
30
|
height: number;
|
|
25
31
|
};
|
|
26
32
|
};
|
|
33
|
+
/** How the call's image meets its frame: by one scale on both axes, never a stretch. */
|
|
34
|
+
export declare const SLATE_IMAGE_NORMALIZATION = "aspect-preserving-lanczos3";
|
|
27
35
|
export type SlateImageResult = {
|
|
28
36
|
png: Buffer;
|
|
29
37
|
reused: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate-image-executor.d.ts","sourceRoot":"","sources":["../src/slate-image-executor.ts"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"slate-image-executor.d.ts","sourceRoot":"","sources":["../src/slate-image-executor.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,+BAA+B,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAAE,CAAC;AAEnG,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,QAAc,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D,CAAC;AA2DF,eAAO,MAAM,yBAAyB,GAAI,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;CAAE,KAAG,kBA4CjI,CAAC"}
|