@coralai/sps-cli 0.65.74 → 0.65.75
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/dist/commands/artCommand.d.ts.map +1 -1
- package/dist/commands/artCommand.js +13 -3
- package/dist/commands/artCommand.js.map +1 -1
- package/dist/console/index.d.ts.map +1 -1
- package/dist/console/index.js +2 -0
- package/dist/console/index.js.map +1 -1
- package/dist/console/lib/artPaths.d.ts +29 -0
- package/dist/console/lib/artPaths.d.ts.map +1 -0
- package/dist/console/lib/artPaths.js +162 -0
- package/dist/console/lib/artPaths.js.map +1 -0
- package/dist/console/routes/art.d.ts +3 -0
- package/dist/console/routes/art.d.ts.map +1 -0
- package/dist/console/routes/art.js +337 -0
- package/dist/console/routes/art.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artCommand.d.ts","sourceRoot":"","sources":["../../src/commands/artCommand.ts"],"names":[],"mappings":"AAoBA,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgCrC,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"artCommand.d.ts","sourceRoot":"","sources":["../../src/commands/artCommand.ts"],"names":[],"mappings":"AAoBA,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgCrC,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAiPf"}
|
|
@@ -141,11 +141,21 @@ export async function executeArtCommand(sub, _project, _positionals, flags) {
|
|
|
141
141
|
opts.frameMaxHeight = fmh;
|
|
142
142
|
const packed = await packSheet(readFileSync(inPath), cols, rows, opts);
|
|
143
143
|
const out = outPath(flags, inPath);
|
|
144
|
+
const id = str(flags, 'id');
|
|
145
|
+
const dir = id ? (str(flags, 'assets-dir') ?? resolve(out, '..')) : undefined;
|
|
146
|
+
// 🔴 atlas 的 `meta.image` 是从 **`--id`** 推的(`${id}.png`),不是从图的实际落点推的。
|
|
147
|
+
// 原设计里 id 就是路径(studio 侧 assetPath 把扩展名钉死成 .png,写图与写 atlas 共用同一个
|
|
148
|
+
// id),所以两者恒等。**是 CLI 面加了一个与 `--id` 解耦的 `--out` 之后才拆开的** ——
|
|
149
|
+
// 一个身兼三职的参数(帧名前缀 / 引用的图名 / 落盘路径),`--out` 只接管了第三职。
|
|
150
|
+
// 不自洽时:atlas 结构合法、坐标自洽、加载器报「找不到图」—— 最难归因的一种。
|
|
151
|
+
// 所以**先断言再落盘**:宁可什么都不写,也不写出一个指向空气的 atlas。
|
|
152
|
+
if (id && dir && resolve(dir, `${id}.png`) !== out) {
|
|
153
|
+
throw new Error(`--out 与 --id 不自洽:图会落在 ${out},而 atlas 的 meta.image 会写 ${resolve(dir, `${id}.png`)}。` +
|
|
154
|
+
'二者必须是同一个文件(atlas 里的图名由 --id 推出)。');
|
|
155
|
+
}
|
|
144
156
|
writeFileSync(out, packed.buf);
|
|
145
157
|
let atlas;
|
|
146
|
-
|
|
147
|
-
if (id) {
|
|
148
|
-
const dir = str(flags, 'assets-dir') ?? resolve(out, '..');
|
|
158
|
+
if (id && dir) {
|
|
149
159
|
writeAtlasJson(dir, id, packed);
|
|
150
160
|
atlas = resolve(dir, `${id}.json`);
|
|
151
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artCommand.js","sourceRoot":"","sources":["../../src/commands/artCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,GAAG,GAAG,CAAC,CAAQ,EAAE,CAAS,EAAsB,EAAE;IACtD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC,CAAC;AACF,MAAM,GAAG,GAAG,CAAC,CAAQ,EAAE,CAAS,EAAsB,EAAE;IACtD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC;AACF,MAAM,IAAI,GAAG,CAAC,CAAQ,EAAE,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;AAEhF,oCAAoC;AACpC,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AACF,uCAAuC;AACvC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAQ,EAAE;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,SAAS,SAAS,CAAC,KAAY;IAC7B,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AACD,6BAA6B;AAC7B,SAAS,OAAO,CAAC,KAAY,EAAE,KAAa;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAuB,EACvB,QAA4B,EAC5B,YAAsB,EACtB,KAAY;IAEZ,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC;YACZ,4DAA4D;YAC5D,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM,IAAI,GAA6C,EAAE,CAAC;gBAC1D,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxD,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,+CAA+C;YAC/C,mDAAmD;YACnD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpD,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAClE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACpG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,0CAA0C;YAC1C,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAC1F,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjG,qCAAqC;gBACrC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,WAAW,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC5H,OAAO;YACT,CAAC;YAED,mEAAmE;YACnE,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;gBAClE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvE,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC;oBAC3C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACxB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC9C,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,sDAAsD;gBACtD,IAAI,CAAC;oBACH,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;oBACvB,cAAc,EAAE,IAAI,GAAG,IAAI;oBAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,mEAAmE;YACnE,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAChE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAgD;oBACxD,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,MAAM;iBAC3D,CAAC;gBACF,4CAA4C;gBAC5C,0CAA0C;gBAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBAC3C,IAAI,GAAG,KAAK,SAAS;oBAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,KAAyB,CAAC;gBAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5B,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC3D,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBAChC,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,CAAC;oBACH,EAAE,EAAE,IAAI;oBACR,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;oBAC5B,cAAc,EAAE,IAAI,GAAG,IAAI;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,4DAA4D;YAC5D,0CAA0C;YAC1C,8CAA8C;YAC9C,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC;gBAC3C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBACrE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;oBAChC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACnC,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpJ,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;oBACvE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,EAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5H,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzD,MAAM,IAAI,GAAkE,EAAE,CAAC;oBAC/E,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;oBACtC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBACvC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC7B,IAAI,EAAE,KAAK,SAAS;wBAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBAC5C,IAAI,EAAE,KAAK,SAAS;wBAAE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBAC7C,IAAI,EAAE,KAAK,SAAS;wBAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACrC,MAAM,OAAO,GAAa,EAAE,CAAC;oBAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,CAAC;wBACpF,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC7F,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,mEAAmE;YACnE,qDAAqD;YACrD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC9F,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,CAAC,OAAO;oBAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,wDAAwD;YACxD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC9C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAC1E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAClE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBAChC,MAAM,GAAG,GAA4B;oBACnC,EAAE,EAAE,IAAI;oBACR,KAAK;oBACL,MAAM;oBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;oBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;oBAChC,kBAAkB,EAAE,MAAM,kBAAkB,CAAC,GAAG,CAAC;iBAClD,CAAC;gBACF,6DAA6D;gBAC7D,4DAA4D;gBAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACxC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC/C,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;oBACjC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;oBACnC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC1F,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChG,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO;YACT,CAAC;YAED;gBACE,IAAI,CACF,iBAAiB;oBACf,2EAA2E;oBAC3E,yFAAyF;oBACzF,+EAA+E;oBAC/E,sFAAsF;oBACtF,8FAA8F;oBAC9F,mGAAmG;oBACnG,4DAA4D;oBAC5D,oEAAoE;oBACpE,oFAAoF;oBACpF,gFAAgF;oBAChF,oDAAoD,CACvD,CAAC;gBACF,IAAI,GAAG;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC9B,OAAO;QACX,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"artCommand.js","sourceRoot":"","sources":["../../src/commands/artCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAuChD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AA2BD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAkS9B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAwC1D"}
|
package/dist/console/index.js
CHANGED
|
@@ -39,6 +39,7 @@ import { createProjectConfigRoute } from './routes/projectConfig.js';
|
|
|
39
39
|
import { createAuditRoute } from './routes/audit.js';
|
|
40
40
|
import { createProcessesRoute } from './routes/processes.js';
|
|
41
41
|
import { createGenRoute } from './routes/gen.js';
|
|
42
|
+
import { createArtRoute } from './routes/art.js';
|
|
42
43
|
import { createChannelsRoute } from './routes/channels.js';
|
|
43
44
|
import { createSubagentRoute } from './routes/subagent.js';
|
|
44
45
|
import { createTtsRoute } from './routes/tts.js';
|
|
@@ -190,6 +191,7 @@ export async function startConsoleServer(opts) {
|
|
|
190
191
|
app.route('/api/prompts', createPromptsRoute(services.prompts, services.agentGen));
|
|
191
192
|
app.route('/api/gen', createGenRoute(services.agentGen));
|
|
192
193
|
app.route('/api/subagent', createSubagentRoute());
|
|
194
|
+
app.route('/api/art', createArtRoute());
|
|
193
195
|
app.route('/api/system', createSystemRoute(services.system));
|
|
194
196
|
app.route('/api/memory', createMemoryRoute(services.memory));
|
|
195
197
|
app.route('/api/providers', createProvidersRoute());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `p` 是否在 `root` 之内(含 root 自身)。
|
|
3
|
+
*
|
|
4
|
+
* 🔴 **必须比到分隔符**:裸 `startsWith(root)` 会把 `<root>-old` 当成 root 内
|
|
5
|
+
* (studio 的 assertSharedWorkspace 测试里就有这个前缀陷阱,这里用同一判据)。
|
|
6
|
+
*/
|
|
7
|
+
export declare function isUnderRoot(p: string, root: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 输入路径:绝对 + 存在 + 是文件 + 不超尺寸护栏。**不设根围栏**(见模块头)。
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveInputPath(raw: string, field?: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* 输出路径:绝对 + **在工作区根内** + 父目录已存在。
|
|
14
|
+
*
|
|
15
|
+
* 🔴 **不 mkdir**。out 的父目录由调用方创建并保证可写 —— 否则"谁该建目录"
|
|
16
|
+
* 会变成下一个 EACCES 归因问题(studio 明确提的条件)。
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveOutputPath(raw: string, field?: string): string;
|
|
19
|
+
/** 输出目录:绝对 + 在工作区根内 + **已存在的目录**(同样不 mkdir)。 */
|
|
20
|
+
export declare function resolveOutputDir(raw: string, field?: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* manifest 路径:绝对 + **在工作区根内** + 存在。
|
|
23
|
+
*
|
|
24
|
+
* 🔴 围它的理由和写围栏不同:manifest 是**唯一按非图片解析的入参**,
|
|
25
|
+
* 而 `JSON.parse` 失败的消息**会带原文片段** —— 不围 + 透传异常 = 任意文件内容读取。
|
|
26
|
+
* (manifest 本来就在游戏 repo 里,也就是工作区树内,所以围它零代价。)
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveManifestPath(raw: string, field?: string): string;
|
|
29
|
+
//# sourceMappingURL=artPaths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artPaths.d.ts","sourceRoot":"","sources":["../../../src/console/lib/artPaths.ts"],"names":[],"mappings":"AAuCA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5D;AA6BD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,MAAM,CAuBlE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAQ,GAAG,MAAM,CAepE;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,MAAM,CActE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAa,GAAG,MAAM,CAY3E"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module console/lib/artPaths
|
|
3
|
+
* @description HTTP 面的路径校验与**写围栏**。设计见 docs/design/art-http-surface.md §5。
|
|
4
|
+
* @layer console
|
|
5
|
+
*
|
|
6
|
+
* 🔴 **为什么需要围栏(这是档B 引进的,不是既有缺陷):**
|
|
7
|
+
* CLI 以**调用者自己的身份**跑,写不到调用者本来就写不到的地方 —— 没有提升。
|
|
8
|
+
* HTTP 面不同:sps 以**服务账户**跑,而"调用方给路径"是协议的一部分 ——
|
|
9
|
+
* 于是任何通过鉴权的调用方,就此拿到了「让 sps 往它给的任意路径写文件」的能力,
|
|
10
|
+
* 包括 sps 自己的 `~/.coral`(skills 真源 / 会话状态 / service-keys.env 所在目录)。
|
|
11
|
+
*
|
|
12
|
+
* 🔴 **写围栏 ≠ studio 的 assertSharedWorkspace,两道门职责不同:**
|
|
13
|
+
* 客户端那道管**早失败、好错误**(它知道 repoDir 怎么算的,判据在它那儿最准);
|
|
14
|
+
* 服务端这道管**安全边界**(服务端永远不能信任客户端的自我约束)。
|
|
15
|
+
* **别让任何一方拿"对面已经查了"当跳过的理由** —— 去掉客户端那道只是错误难归因,
|
|
16
|
+
* 去掉服务端这道是**鉴权即任意写**。
|
|
17
|
+
*
|
|
18
|
+
* 🔴 **读与写故意不对称**(不是遗漏):
|
|
19
|
+
* 写限死在工作区根内;读**不设根限制** —— 因为 studio 的资源库在
|
|
20
|
+
* `~/.coral/<产品>/users/<uid>/resources`(**工作区树之外,且 sps 只读不可写**),
|
|
21
|
+
* 档B 对那条路正是"进得去、出不来"。把读也围起来会直接堵死路径②。
|
|
22
|
+
*
|
|
23
|
+
* ⚠️ **读不围的前提**:所有算子都把输入**当图片解析**,解析不了就报错,
|
|
24
|
+
* 错误消息不含文件内容(sharp 只说"unsupported image format")。
|
|
25
|
+
* **这个前提只要有一个算子破了就不成立** —— `manifest` 就是破了它的那个
|
|
26
|
+
* (`JSON.parse` 失败的消息**会带原文片段**),所以 manifest **单独围起来**、
|
|
27
|
+
* 且解析失败**不透传原始异常消息**。将来若再加读非图片的入参,**必须同样处理**。
|
|
28
|
+
*/
|
|
29
|
+
import { existsSync, realpathSync, statSync } from 'node:fs';
|
|
30
|
+
import { dirname, isAbsolute, join, resolve, sep } from 'node:path';
|
|
31
|
+
import { domainError } from '../../shared/errors.js';
|
|
32
|
+
import { workspacesRoot } from '../../core/workspacePaths.js';
|
|
33
|
+
/**
|
|
34
|
+
* 输入文件大小上限。**不是业务约束,是可用性护栏**:
|
|
35
|
+
* 入参是调用方给的任意路径,不设限则 `readFileSync` 一个巨大文件即可把进程打爆。
|
|
36
|
+
*/
|
|
37
|
+
const MAX_INPUT_BYTES = 64 * 1024 * 1024;
|
|
38
|
+
/**
|
|
39
|
+
* `p` 是否在 `root` 之内(含 root 自身)。
|
|
40
|
+
*
|
|
41
|
+
* 🔴 **必须比到分隔符**:裸 `startsWith(root)` 会把 `<root>-old` 当成 root 内
|
|
42
|
+
* (studio 的 assertSharedWorkspace 测试里就有这个前缀陷阱,这里用同一判据)。
|
|
43
|
+
*/
|
|
44
|
+
export function isUnderRoot(p, root) {
|
|
45
|
+
const r = resolve(root);
|
|
46
|
+
const t = resolve(p);
|
|
47
|
+
return t === r || t.startsWith(r + sep);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 把路径解析到**真实位置**再判围栏 —— 否则一个软链就绕出去了。
|
|
51
|
+
* 目标可能尚不存在(输出文件),故解析其**父目录**的 realpath 再拼回文件名。
|
|
52
|
+
*/
|
|
53
|
+
function realResolve(p) {
|
|
54
|
+
const abs = resolve(p);
|
|
55
|
+
try {
|
|
56
|
+
return realpathSync(abs);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// 目标不存在 → 退而解析父目录(父目录也不存在时原样返回,由调用方的存在性检查报错)
|
|
60
|
+
try {
|
|
61
|
+
return join(realpathSync(dirname(abs)), abs.slice(dirname(abs).length + 1));
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return abs;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function requireAbsolute(raw, field) {
|
|
69
|
+
if (!isAbsolute(raw)) {
|
|
70
|
+
throw domainError('validation', 'PATH_NOT_ABSOLUTE', `${field} 必须是绝对路径:${raw}`, {
|
|
71
|
+
details: { field, path: raw },
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return raw;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 输入路径:绝对 + 存在 + 是文件 + 不超尺寸护栏。**不设根围栏**(见模块头)。
|
|
78
|
+
*/
|
|
79
|
+
export function resolveInputPath(raw, field = 'in') {
|
|
80
|
+
const p = realResolve(requireAbsolute(raw, field));
|
|
81
|
+
let st;
|
|
82
|
+
try {
|
|
83
|
+
st = statSync(p);
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
const errno = e.code;
|
|
87
|
+
if (errno === 'EACCES') {
|
|
88
|
+
throw domainError('validation', 'PATH_NOT_ACCESSIBLE', `${field} 不可读:${p}`, {
|
|
89
|
+
details: { field, path: p, errno, syscall: e.syscall },
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
throw domainError('validation', 'INPUT_NOT_FOUND', `${field} 不存在:${p}`, { details: { field, path: p } });
|
|
93
|
+
}
|
|
94
|
+
if (!st.isFile()) {
|
|
95
|
+
throw domainError('validation', 'INPUT_NOT_FOUND', `${field} 不是文件:${p}`, { details: { field, path: p } });
|
|
96
|
+
}
|
|
97
|
+
if (st.size > MAX_INPUT_BYTES) {
|
|
98
|
+
throw domainError('validation', 'INPUT_TOO_LARGE', `${field} 超过 ${MAX_INPUT_BYTES} 字节:${st.size}`, {
|
|
99
|
+
details: { field, path: p, bytes: st.size, limit: MAX_INPUT_BYTES },
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
return p;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 输出路径:绝对 + **在工作区根内** + 父目录已存在。
|
|
106
|
+
*
|
|
107
|
+
* 🔴 **不 mkdir**。out 的父目录由调用方创建并保证可写 —— 否则"谁该建目录"
|
|
108
|
+
* 会变成下一个 EACCES 归因问题(studio 明确提的条件)。
|
|
109
|
+
*/
|
|
110
|
+
export function resolveOutputPath(raw, field = 'out') {
|
|
111
|
+
const p = realResolve(requireAbsolute(raw, field));
|
|
112
|
+
const root = workspacesRoot();
|
|
113
|
+
if (!isUnderRoot(p, root)) {
|
|
114
|
+
throw domainError('validation', 'PATH_OUTSIDE_ROOT', `${field} 不在工作区根内:${p}`, {
|
|
115
|
+
details: { field, path: p, root },
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
const parent = dirname(p);
|
|
119
|
+
if (!existsSync(parent)) {
|
|
120
|
+
throw domainError('validation', 'OUT_DIR_MISSING', `${field} 的父目录不存在(sps 不建目录):${parent}`, {
|
|
121
|
+
details: { field, path: p, dir: parent },
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
return p;
|
|
125
|
+
}
|
|
126
|
+
/** 输出目录:绝对 + 在工作区根内 + **已存在的目录**(同样不 mkdir)。 */
|
|
127
|
+
export function resolveOutputDir(raw, field = 'outDir') {
|
|
128
|
+
const p = realResolve(requireAbsolute(raw, field));
|
|
129
|
+
const root = workspacesRoot();
|
|
130
|
+
if (!isUnderRoot(p, root)) {
|
|
131
|
+
throw domainError('validation', 'PATH_OUTSIDE_ROOT', `${field} 不在工作区根内:${p}`, {
|
|
132
|
+
details: { field, path: p, root },
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
if (!existsSync(p) || !statSync(p).isDirectory()) {
|
|
136
|
+
throw domainError('validation', 'OUT_DIR_MISSING', `${field} 不是已存在的目录(sps 不建目录):${p}`, {
|
|
137
|
+
details: { field, path: p },
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return p;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* manifest 路径:绝对 + **在工作区根内** + 存在。
|
|
144
|
+
*
|
|
145
|
+
* 🔴 围它的理由和写围栏不同:manifest 是**唯一按非图片解析的入参**,
|
|
146
|
+
* 而 `JSON.parse` 失败的消息**会带原文片段** —— 不围 + 透传异常 = 任意文件内容读取。
|
|
147
|
+
* (manifest 本来就在游戏 repo 里,也就是工作区树内,所以围它零代价。)
|
|
148
|
+
*/
|
|
149
|
+
export function resolveManifestPath(raw, field = 'manifest') {
|
|
150
|
+
const p = realResolve(requireAbsolute(raw, field));
|
|
151
|
+
const root = workspacesRoot();
|
|
152
|
+
if (!isUnderRoot(p, root)) {
|
|
153
|
+
throw domainError('validation', 'PATH_OUTSIDE_ROOT', `${field} 不在工作区根内:${p}`, {
|
|
154
|
+
details: { field, path: p, root },
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
if (!existsSync(p)) {
|
|
158
|
+
throw domainError('validation', 'MANIFEST_MISSING', `manifest 不存在:${p}`, { details: { field, path: p } });
|
|
159
|
+
}
|
|
160
|
+
return p;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=artPaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artPaths.js","sourceRoot":"","sources":["../../../src/console/lib/artPaths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art.d.ts","sourceRoot":"","sources":["../../../src/console/routes/art.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA6E5B,wBAAgB,cAAc,IAAI,IAAI,CA0QrC"}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module console/routes/art
|
|
3
|
+
* @description `/api/art/*` —— 美术算子 HTTP 面(路径进路径出)。契约见 docs/design/art-http-surface.md。
|
|
4
|
+
* @layer console
|
|
5
|
+
*
|
|
6
|
+
* 🔴 **本文件是适配层,不是算法。** 算法在 `providers/art/{pixels,sheet,atlas,frames}.ts`,
|
|
7
|
+
* 由 coral-studio 整段移交,**按只读对待**。这里与 `commands/artCommand.ts` 是**并列的两个适配器**
|
|
8
|
+
* (CLI 面 / HTTP 面),共用同一批算子。
|
|
9
|
+
*
|
|
10
|
+
* 边界(约束来自 studio,见设计文档 §1):
|
|
11
|
+
* - **不认识"资源 id"**,只认路径;**不记计量**(算法调用不是模型调用);**无进程内状态**。
|
|
12
|
+
* - 台账(索引 / 缩略图 / DB / undo / 配额)全部留 studio。
|
|
13
|
+
* ⚠️ 判别式:哪天有人提「让 sps 记住上次结果好做 undo」,就是这条线被破的信号。
|
|
14
|
+
*
|
|
15
|
+
* 🔴 **`in`/`out` 一律当不透明路径**:不解析、不从中推断产品/租户/用户、不 mkdir。
|
|
16
|
+
* 资源库根目前叫 `game-platform`(废弃的旧产品名),改名是排着的事 ——
|
|
17
|
+
* 只要这里不 `split('/')` 去认产品名,改名那天**一行都不用动**。
|
|
18
|
+
*
|
|
19
|
+
* 成功响应 = CLI stdout 的 JSON(含 `ok:true`),**错误走 problem-json**(附录 A.5)——
|
|
20
|
+
* 这是唯一一处故意不一致:sps 的 HTTP 契约只有一种错误形状,为 art 开第二种代价更大。
|
|
21
|
+
*/
|
|
22
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
23
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
24
|
+
import { Hono } from 'hono';
|
|
25
|
+
import { domainError, toHttpStatus, toProblemJson } from '../../shared/errors.js';
|
|
26
|
+
import { resolveInputPath, resolveManifestPath, resolveOutputDir, resolveOutputPath } from '../lib/artPaths.js';
|
|
27
|
+
function isDomainError(e) {
|
|
28
|
+
return typeof e === 'object' && e !== null && 'kind' in e && 'code' in e && 'message' in e;
|
|
29
|
+
}
|
|
30
|
+
const invalid = (code, msg, details) => domainError('validation', code, msg, details ? { details } : {});
|
|
31
|
+
function str(b, k) {
|
|
32
|
+
const v = b[k];
|
|
33
|
+
return typeof v === 'string' && v.trim() !== '' ? v.trim() : undefined;
|
|
34
|
+
}
|
|
35
|
+
function reqStr(b, k) {
|
|
36
|
+
const v = str(b, k);
|
|
37
|
+
if (!v)
|
|
38
|
+
throw invalid('FIELD_REQUIRED', `缺必填字段 ${k}`, { field: k });
|
|
39
|
+
return v;
|
|
40
|
+
}
|
|
41
|
+
function num(b, k) {
|
|
42
|
+
const v = b[k];
|
|
43
|
+
if (v === undefined || v === null)
|
|
44
|
+
return undefined;
|
|
45
|
+
const n = typeof v === 'number' ? v : Number(v);
|
|
46
|
+
if (!Number.isFinite(n))
|
|
47
|
+
throw invalid('FIELD_INVALID', `${k} 不是数字:${String(v)}`, { field: k });
|
|
48
|
+
return n;
|
|
49
|
+
}
|
|
50
|
+
function reqNum(b, k) {
|
|
51
|
+
const n = num(b, k);
|
|
52
|
+
if (n === undefined)
|
|
53
|
+
throw invalid('FIELD_REQUIRED', `缺必填字段 ${k}`, { field: k });
|
|
54
|
+
return n;
|
|
55
|
+
}
|
|
56
|
+
function bool(b, k) {
|
|
57
|
+
return b[k] === true || b[k] === 'true';
|
|
58
|
+
}
|
|
59
|
+
/** `out` 省略 = 原地覆盖 `in`(同 CLI)。**但仍要过写围栏** —— 原地覆盖也是写。 */
|
|
60
|
+
function outOf(b, inPath) {
|
|
61
|
+
const raw = str(b, 'out');
|
|
62
|
+
return resolveOutputPath(raw ?? inPath, 'out');
|
|
63
|
+
}
|
|
64
|
+
/** 统一的 body 解析 + 错误翻译。算子异常按"输入的错 vs 我们的错"分流。 */
|
|
65
|
+
async function run(c, fn) {
|
|
66
|
+
let body;
|
|
67
|
+
try {
|
|
68
|
+
body = (await c.req.json());
|
|
69
|
+
if (typeof body !== 'object' || body === null)
|
|
70
|
+
throw new Error('not an object');
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return c.json(toProblemJson(invalid('BODY_INVALID', '请求体必须是 JSON 对象')), 422);
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
return c.json({ ok: true, ...(await fn(body)) });
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
if (isDomainError(e))
|
|
80
|
+
return c.json(toProblemJson(e), toHttpStatus(e));
|
|
81
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
82
|
+
// 🔴 EACCES 是 422 不是 500:可操作的修法在调用方那边(换一个共享树内的路径)。
|
|
83
|
+
// 回 500 会被读成「sps 坏了」—— 那正是我们要防的误归因。
|
|
84
|
+
const errno = e.code;
|
|
85
|
+
if (errno === 'EACCES' || errno === 'EPERM' || errno === 'EROFS') {
|
|
86
|
+
const de = domainError('validation', 'PATH_NOT_ACCESSIBLE', `路径不可写:${msg}`, {
|
|
87
|
+
details: { errno, syscall: e.syscall, path: e.path },
|
|
88
|
+
});
|
|
89
|
+
return c.json(toProblemJson(de), 422);
|
|
90
|
+
}
|
|
91
|
+
// rembg 是独立 HTTP 服务 → 它不通是 external(502),不是我们内部错。
|
|
92
|
+
if (/rembg/i.test(msg)) {
|
|
93
|
+
const de = domainError('external', 'REMBG_UNAVAILABLE', msg);
|
|
94
|
+
return c.json(toProblemJson(de), 502);
|
|
95
|
+
}
|
|
96
|
+
return c.json(toProblemJson(domainError('internal', 'ART_FAILED', msg)), 500);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export function createArtRoute() {
|
|
100
|
+
const app = new Hono();
|
|
101
|
+
app.post('/chroma-key', (c) => run(c, async (b) => {
|
|
102
|
+
const { chromaKey } = await import('../../providers/art/pixels.js');
|
|
103
|
+
const inPath = resolveInputPath(reqStr(b, 'in'));
|
|
104
|
+
const out = outOf(b, inPath);
|
|
105
|
+
const opts = {};
|
|
106
|
+
const t = num(b, 'tolerance');
|
|
107
|
+
const f = num(b, 'feather');
|
|
108
|
+
if (t !== undefined)
|
|
109
|
+
opts.tolerance = t;
|
|
110
|
+
if (f !== undefined)
|
|
111
|
+
opts.feather = f;
|
|
112
|
+
const buf = await chromaKey(readFileSync(inPath), opts);
|
|
113
|
+
writeFileSync(out, buf);
|
|
114
|
+
return { out, bytes: buf.length };
|
|
115
|
+
}));
|
|
116
|
+
app.post('/rembg', (c) => run(c, async (b) => {
|
|
117
|
+
const { rembgRemove } = await import('../../providers/art/pixels.js');
|
|
118
|
+
const inPath = resolveInputPath(reqStr(b, 'in'));
|
|
119
|
+
const out = outOf(b, inPath);
|
|
120
|
+
const buf = await rembgRemove(readFileSync(inPath));
|
|
121
|
+
writeFileSync(out, buf);
|
|
122
|
+
return { out, bytes: buf.length };
|
|
123
|
+
}));
|
|
124
|
+
app.post('/clean-alpha', (c) => run(c, async (b) => {
|
|
125
|
+
const { cleanAlpha } = await import('../../providers/art/pixels.js');
|
|
126
|
+
const inPath = resolveInputPath(reqStr(b, 'in'));
|
|
127
|
+
const out = outOf(b, inPath);
|
|
128
|
+
const buf = await cleanAlpha(readFileSync(inPath), num(b, 'lo') ?? 30, num(b, 'hi') ?? 200);
|
|
129
|
+
writeFileSync(out, buf);
|
|
130
|
+
return { out, bytes: buf.length };
|
|
131
|
+
}));
|
|
132
|
+
/** 只读判据:这张图值不值得交给模型(不是"抠得干不干净")。 */
|
|
133
|
+
app.post('/residue', (c) => run(c, async (b) => {
|
|
134
|
+
const { magentaResidue, alreadyTransparent } = await import('../../providers/art/pixels.js');
|
|
135
|
+
const buf = readFileSync(resolveInputPath(reqStr(b, 'in')));
|
|
136
|
+
const [residue, transparent] = await Promise.all([magentaResidue(buf), alreadyTransparent(buf)]);
|
|
137
|
+
// needsRembg 直接给结论,省得调用方自己比阈值比错。
|
|
138
|
+
return { residue, alreadyTransparent: transparent, threshold: 0.005, needsRembg: !transparent && residue > 0.005 };
|
|
139
|
+
}));
|
|
140
|
+
app.post('/inspect', (c) => run(c, async (b) => {
|
|
141
|
+
const sharp = (await import('sharp')).default;
|
|
142
|
+
const { alreadyTransparent } = await import('../../providers/art/pixels.js');
|
|
143
|
+
const { logicalSize } = await import('../../providers/art/atlas.js');
|
|
144
|
+
const buf = readFileSync(resolveInputPath(reqStr(b, 'in')));
|
|
145
|
+
const meta = await sharp(buf).metadata();
|
|
146
|
+
const width = meta.width ?? 0;
|
|
147
|
+
const height = meta.height ?? 0;
|
|
148
|
+
const out = {
|
|
149
|
+
width,
|
|
150
|
+
height,
|
|
151
|
+
channels: meta.channels ?? 0,
|
|
152
|
+
hasAlpha: meta.hasAlpha ?? false,
|
|
153
|
+
alreadyTransparent: await alreadyTransparent(buf),
|
|
154
|
+
};
|
|
155
|
+
// 🔴 「合法缺席」vs「故障」要分开(studio 修正的那条):
|
|
156
|
+
// 路径②(资源库)的图**压根不属于任何一局游戏**,没有 manifest 也不该有 ——
|
|
157
|
+
// 按"缺就抛"会让 inspect 在那条路上**永远抛**。
|
|
158
|
+
// 所以:不给 manifest = 合法缺席 → 占屏比**字段整个不出现**;
|
|
159
|
+
// 给了但读不到/缺字段 = 故障 → 抛。
|
|
160
|
+
// ⚠️ 不返回 null 占位:「字段不存在」调用方拿不到会自己想办法,
|
|
161
|
+
// 「字段是 null」会被 `?? 0` / `< 50` 这类判断悄悄吃掉。
|
|
162
|
+
// **不能提供的答案,不要给一个形状正确的占位。**
|
|
163
|
+
const manifest = str(b, 'manifest');
|
|
164
|
+
if (manifest) {
|
|
165
|
+
const mp = resolveManifestPath(manifest);
|
|
166
|
+
let logical;
|
|
167
|
+
try {
|
|
168
|
+
logical = logicalSize(mp);
|
|
169
|
+
}
|
|
170
|
+
catch (e) {
|
|
171
|
+
// 🔴 **不透传原始异常消息**:JSON.parse 失败的消息会带文件原文片段。
|
|
172
|
+
// manifest 是唯一按非图片解析的入参,这是它单独需要处理的原因。
|
|
173
|
+
throw invalid('MANIFEST_INVALID', `manifest 无法解析或缺 width/height:${mp}`, {
|
|
174
|
+
field: 'manifest',
|
|
175
|
+
path: mp,
|
|
176
|
+
reason: e instanceof Error && /缺 width\/height/.test(e.message) ? 'missing-fields' : 'unreadable',
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
out.logicalWidth = logical.width;
|
|
180
|
+
out.logicalHeight = logical.height;
|
|
181
|
+
out.widthPctOfScreen = logical.width ? +((width / logical.width) * 100).toFixed(1) : null;
|
|
182
|
+
out.heightPctOfScreen = logical.height ? +((height / logical.height) * 100).toFixed(1) : null;
|
|
183
|
+
}
|
|
184
|
+
return out;
|
|
185
|
+
}));
|
|
186
|
+
app.post('/slice-sheet', (c) => run(c, async (b) => {
|
|
187
|
+
const { sliceSheet } = await import('../../providers/art/sheet.js');
|
|
188
|
+
const inPath = resolveInputPath(reqStr(b, 'in'));
|
|
189
|
+
const cols = reqNum(b, 'cols');
|
|
190
|
+
const rows = reqNum(b, 'rows');
|
|
191
|
+
const r = await sliceSheet(readFileSync(inPath), cols, rows, { grid: bool(b, 'grid') });
|
|
192
|
+
const outDirRaw = str(b, 'outDir');
|
|
193
|
+
const stem = str(b, 'name') ?? 'frame';
|
|
194
|
+
const outDir = outDirRaw ? resolveOutputDir(outDirRaw) : undefined;
|
|
195
|
+
// 🔴 清单:**次序是数据,不是排序约定**。`frame_10.png` 字典序排在 `frame_2.png` 前面 ——
|
|
196
|
+
// 调用方靠文件名排 = 帧序乱、而每张图都对(最难看出的那种错)。
|
|
197
|
+
// 🔴 **空格占一个 index 并出现在清单里**(w/h 为 0 + empty:true)。跳过 = 其后所有帧索引前移,
|
|
198
|
+
// 而游戏按 `<id>_0/_1` 引用 —— 一个空格错位整套动画。
|
|
199
|
+
// ⚠️ 这条在 packSheet 内部保住过一次,**清单是新面,同一个坑要再堵一次**:
|
|
200
|
+
// 移交时保住的不变量不会自动跟到 HTTP 面上。
|
|
201
|
+
const items = r.frames.map((buf, i) => {
|
|
202
|
+
const size = r.sizes[i] ?? { w: 0, h: 0 };
|
|
203
|
+
const file = `${stem}_${i}.png`;
|
|
204
|
+
if (outDir)
|
|
205
|
+
writeFileSync(join(outDir, file), buf);
|
|
206
|
+
return {
|
|
207
|
+
index: i,
|
|
208
|
+
...(outDir ? { file } : {}),
|
|
209
|
+
w: size.w,
|
|
210
|
+
h: size.h,
|
|
211
|
+
...(size.w === 0 && size.h === 0 ? { empty: true } : {}),
|
|
212
|
+
};
|
|
213
|
+
});
|
|
214
|
+
// ⚠️ `detected:true`(内容感知切)时 index 是**连通域顺序**,不是网格格位:
|
|
215
|
+
// 空区域根本不产生 cell,所以那条路上空格是**缺席**而非占位,frames 可能 ≠ cols×rows。
|
|
216
|
+
// 这正是 frames vs expectedFrames 要给出来的原因 —— 它是"要不要 grid:true 重来"的信号。
|
|
217
|
+
return {
|
|
218
|
+
frames: r.frames.length,
|
|
219
|
+
expectedFrames: cols * rows,
|
|
220
|
+
detected: r.detected,
|
|
221
|
+
sizes: r.sizes,
|
|
222
|
+
items,
|
|
223
|
+
...(outDir ? { outDir } : {}),
|
|
224
|
+
};
|
|
225
|
+
}));
|
|
226
|
+
app.post('/pack-atlas', (c) => run(c, async (b) => {
|
|
227
|
+
const { packSheet } = await import('../../providers/art/sheet.js');
|
|
228
|
+
const { writeAtlasJson } = await import('../../providers/art/atlas.js');
|
|
229
|
+
const inPath = resolveInputPath(reqStr(b, 'in'));
|
|
230
|
+
const cols = reqNum(b, 'cols');
|
|
231
|
+
const rows = reqNum(b, 'rows');
|
|
232
|
+
const opts = { grid: bool(b, 'grid') };
|
|
233
|
+
// 🔴 限制帧高**只能**走这里(切分后逐帧缩)。事后 resize 整张图集会把
|
|
234
|
+
// 「单帧上限」误当整图上限 —— 8 帧图集每帧变 1/8,而一切看起来都自洽。
|
|
235
|
+
const fmh = num(b, 'frameMaxHeight');
|
|
236
|
+
if (fmh !== undefined)
|
|
237
|
+
opts.frameMaxHeight = fmh;
|
|
238
|
+
const packed = await packSheet(readFileSync(inPath), cols, rows, opts);
|
|
239
|
+
const out = outOf(b, inPath);
|
|
240
|
+
const id = str(b, 'id');
|
|
241
|
+
const dir = id ? resolveOutputDir(str(b, 'assetsDir') ?? dirname(out), 'assetsDir') : undefined;
|
|
242
|
+
// 🔴 与 CLI 面同一道断言(cbc3454):atlas 的 `meta.image` 由 `id` 推出(`${id}.png`),
|
|
243
|
+
// 而图落在 `out`。不自洽时 atlas 结构合法、坐标自洽,只有引擎加载时报「找不到图」。
|
|
244
|
+
// **先断言再落盘** —— 宁可什么都不写,也不写出一个指向空气的 atlas。
|
|
245
|
+
if (id && dir && resolve(dir, `${id}.png`) !== out) {
|
|
246
|
+
throw invalid('ATLAS_ID_OUT_MISMATCH', `out 与 id 不自洽:图落在 ${out},而 atlas 的 meta.image 会写 ${resolve(dir, `${id}.png`)}`, {
|
|
247
|
+
out,
|
|
248
|
+
expectedImage: resolve(dir, `${id}.png`),
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
writeFileSync(out, packed.buf);
|
|
252
|
+
let atlas;
|
|
253
|
+
if (id && dir) {
|
|
254
|
+
writeAtlasJson(dir, id, packed);
|
|
255
|
+
atlas = resolve(dir, `${id}.json`);
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
out,
|
|
259
|
+
width: packed.width,
|
|
260
|
+
height: packed.height,
|
|
261
|
+
frames: packed.frames.length,
|
|
262
|
+
expectedFrames: cols * rows,
|
|
263
|
+
detected: packed.detected,
|
|
264
|
+
...(atlas ? { atlas } : {}),
|
|
265
|
+
};
|
|
266
|
+
}));
|
|
267
|
+
// 🔴 两种 normalize 拆成两个端点(CLI 是 `--mode`):
|
|
268
|
+
// sheet 收单个 `in`,frames 收 `in: string[]` —— 同名字段两种类型正是我们刚在
|
|
269
|
+
// `pack-atlas` 的 `id` 上踩过的那类坑,分开就不存在。
|
|
270
|
+
app.post('/normalize-sheet', (c) => run(c, async (b) => {
|
|
271
|
+
const { normalizeSheet } = await import('../../providers/art/sheet.js');
|
|
272
|
+
const inPath = resolveInputPath(reqStr(b, 'in'));
|
|
273
|
+
const out = outOf(b, inPath);
|
|
274
|
+
const r = await normalizeSheet(readFileSync(inPath), reqNum(b, 'cols'), reqNum(b, 'rows'));
|
|
275
|
+
writeFileSync(out, r.buf);
|
|
276
|
+
return {
|
|
277
|
+
out,
|
|
278
|
+
mode: 'sheet',
|
|
279
|
+
frames: r.frames,
|
|
280
|
+
cols: r.cols,
|
|
281
|
+
rows: r.rows,
|
|
282
|
+
cellWidth: r.cellWidth,
|
|
283
|
+
cellHeight: r.cellHeight,
|
|
284
|
+
detected: r.detected,
|
|
285
|
+
};
|
|
286
|
+
}));
|
|
287
|
+
app.post('/normalize-frames', (c) => run(c, async (b) => {
|
|
288
|
+
const { normalizeFrames } = await import('../../providers/art/frames.js');
|
|
289
|
+
const raw = b.in;
|
|
290
|
+
if (!Array.isArray(raw) || raw.length === 0) {
|
|
291
|
+
throw invalid('FIELD_REQUIRED', 'in 必须是非空的绝对路径数组', { field: 'in' });
|
|
292
|
+
}
|
|
293
|
+
const inputs = raw.map((p, i) => resolveInputPath(String(p), `in[${i}]`));
|
|
294
|
+
const opts = {};
|
|
295
|
+
const tw = num(b, 'targetWidth');
|
|
296
|
+
const th = num(b, 'targetHeight');
|
|
297
|
+
const pd = num(b, 'pad');
|
|
298
|
+
if (tw !== undefined)
|
|
299
|
+
opts.targetWidth = tw;
|
|
300
|
+
if (th !== undefined)
|
|
301
|
+
opts.targetHeight = th;
|
|
302
|
+
if (pd !== undefined)
|
|
303
|
+
opts.pad = pd;
|
|
304
|
+
const outDirRaw = str(b, 'outDir');
|
|
305
|
+
const outDir = outDirRaw ? resolveOutputDir(outDirRaw) : undefined;
|
|
306
|
+
// outDir 省略 = 原地覆盖各输入 —— 逐个过写围栏(资源库可读不可写,原地覆盖会在那里被挡住,
|
|
307
|
+
// 这正是我们要的:studio 该把结果写进共享树再自己搬回资源库)。
|
|
308
|
+
const targets = inputs.map((p, i) => outDir ? join(outDir, `frame_${i}.png`) : resolveOutputPath(p, `in[${i}]`));
|
|
309
|
+
const r = await normalizeFrames(inputs.map((p) => readFileSync(p)), opts);
|
|
310
|
+
const written = [];
|
|
311
|
+
r.frames.forEach((buf, i) => {
|
|
312
|
+
const p = targets[i] ?? join(outDir ?? dirname(inputs[0]), `frame_${i}.png`);
|
|
313
|
+
writeFileSync(p, buf);
|
|
314
|
+
written.push(p);
|
|
315
|
+
});
|
|
316
|
+
return {
|
|
317
|
+
mode: 'frames',
|
|
318
|
+
width: r.width,
|
|
319
|
+
height: r.height,
|
|
320
|
+
frames: r.frames.length,
|
|
321
|
+
written,
|
|
322
|
+
items: written.map((p, i) => ({ index: i, file: basename(p) })),
|
|
323
|
+
};
|
|
324
|
+
}));
|
|
325
|
+
// 🔴 不适用于图集!图集必须走 pack-atlas 的 frameMaxHeight(见上)。
|
|
326
|
+
app.post('/resize', (c) => run(c, async (b) => {
|
|
327
|
+
const { resizeToFit } = await import('../../providers/art/frames.js');
|
|
328
|
+
const inPath = resolveInputPath(reqStr(b, 'in'));
|
|
329
|
+
const out = outOf(b, inPath);
|
|
330
|
+
const r = await resizeToFit(readFileSync(inPath), reqNum(b, 'maxWidth'), reqNum(b, 'maxHeight'));
|
|
331
|
+
if (r.changed)
|
|
332
|
+
writeFileSync(out, r.buf);
|
|
333
|
+
return { out, changed: r.changed, width: r.width, height: r.height };
|
|
334
|
+
}));
|
|
335
|
+
return app;
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=art.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art.js","sourceRoot":"","sources":["../../../src/console/routes/art.ts"],"names":[],"mappings":"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"}
|