@playcraft/common 0.0.55 → 0.0.56
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/agent/competitor-report.d.ts +165 -0
- package/dist/agent/competitor-report.d.ts.map +1 -0
- package/dist/agent/competitor-report.js +261 -0
- package/dist/agent/competitor-report.js.map +1 -0
- package/dist/agent/context-usage.d.ts +8 -1
- package/dist/agent/context-usage.d.ts.map +1 -1
- package/dist/agent/context-usage.js +6 -1
- package/dist/agent/context-usage.js.map +1 -1
- package/dist/agent/index.d.ts +5 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +5 -0
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/model-context-window.d.ts.map +1 -1
- package/dist/agent/model-context-window.js +40 -4
- package/dist/agent/model-context-window.js.map +1 -1
- package/dist/agent/reference-images.d.ts +66 -0
- package/dist/agent/reference-images.d.ts.map +1 -0
- package/dist/agent/reference-images.js +181 -0
- package/dist/agent/reference-images.js.map +1 -0
- package/dist/agent/runtime-failure.d.ts +31 -0
- package/dist/agent/runtime-failure.d.ts.map +1 -0
- package/dist/agent/runtime-failure.js +83 -0
- package/dist/agent/runtime-failure.js.map +1 -0
- package/dist/agent/session-title.d.ts +8 -0
- package/dist/agent/session-title.d.ts.map +1 -0
- package/dist/agent/session-title.js +16 -0
- package/dist/agent/session-title.js.map +1 -0
- package/dist/agent/turn.d.ts +8 -0
- package/dist/agent/turn.d.ts.map +1 -0
- package/dist/agent/turn.js +7 -0
- package/dist/agent/turn.js.map +1 -0
- package/dist/agent-jobs/identity.d.ts +8 -0
- package/dist/agent-jobs/identity.d.ts.map +1 -0
- package/dist/agent-jobs/identity.js +32 -0
- package/dist/agent-jobs/identity.js.map +1 -0
- package/dist/agent-jobs/index.d.ts +34 -0
- package/dist/agent-jobs/index.d.ts.map +1 -0
- package/dist/agent-jobs/index.js +39 -0
- package/dist/agent-jobs/index.js.map +1 -0
- package/dist/agent-jobs/legacy-http-gone.d.ts +13 -0
- package/dist/agent-jobs/legacy-http-gone.d.ts.map +1 -0
- package/dist/agent-jobs/legacy-http-gone.js +15 -0
- package/dist/agent-jobs/legacy-http-gone.js.map +1 -0
- package/dist/agent-jobs/legacy-run-task.d.ts +12 -0
- package/dist/agent-jobs/legacy-run-task.d.ts.map +1 -0
- package/dist/agent-jobs/legacy-run-task.js +14 -0
- package/dist/agent-jobs/legacy-run-task.js.map +1 -0
- package/dist/agent-jobs/portal-sandbox-team-mount.d.ts +8 -0
- package/dist/agent-jobs/portal-sandbox-team-mount.d.ts.map +1 -0
- package/dist/agent-jobs/portal-sandbox-team-mount.js +10 -0
- package/dist/agent-jobs/portal-sandbox-team-mount.js.map +1 -0
- package/dist/agent-jobs/runtime-metrics.d.ts +12 -0
- package/dist/agent-jobs/runtime-metrics.d.ts.map +1 -0
- package/dist/agent-jobs/runtime-metrics.js +19 -0
- package/dist/agent-jobs/runtime-metrics.js.map +1 -0
- package/dist/agent-jobs/runtime-timing.d.ts +21 -0
- package/dist/agent-jobs/runtime-timing.d.ts.map +1 -0
- package/dist/agent-jobs/runtime-timing.js +20 -0
- package/dist/agent-jobs/runtime-timing.js.map +1 -0
- package/dist/agent-jobs/runtime-v2.d.ts +8 -0
- package/dist/agent-jobs/runtime-v2.d.ts.map +1 -0
- package/dist/agent-jobs/runtime-v2.js +10 -0
- package/dist/agent-jobs/runtime-v2.js.map +1 -0
- package/dist/agent-messages/db-message-converter.d.ts +61 -0
- package/dist/agent-messages/db-message-converter.d.ts.map +1 -0
- package/dist/agent-messages/db-message-converter.js +478 -0
- package/dist/agent-messages/db-message-converter.js.map +1 -0
- package/dist/agent-messages/index.d.ts +4 -0
- package/dist/agent-messages/index.d.ts.map +1 -0
- package/dist/agent-messages/index.js +4 -0
- package/dist/agent-messages/index.js.map +1 -0
- package/dist/agent-messages/message-merge.d.ts +31 -0
- package/dist/agent-messages/message-merge.d.ts.map +1 -0
- package/dist/agent-messages/message-merge.js +221 -0
- package/dist/agent-messages/message-merge.js.map +1 -0
- package/dist/agent-messages/runtime-user-messages.d.ts +51 -0
- package/dist/agent-messages/runtime-user-messages.d.ts.map +1 -0
- package/dist/agent-messages/runtime-user-messages.js +296 -0
- package/dist/agent-messages/runtime-user-messages.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/prefab/index.d.ts +1 -0
- package/dist/prefab/index.d.ts.map +1 -1
- package/dist/prefab/index.js +1 -0
- package/dist/prefab/index.js.map +1 -1
- package/dist/prefab/schema-condition.d.ts +27 -0
- package/dist/prefab/schema-condition.d.ts.map +1 -0
- package/dist/prefab/schema-condition.js +107 -0
- package/dist/prefab/schema-condition.js.map +1 -0
- package/dist/prefab/schema-walker.d.ts +46 -4
- package/dist/prefab/schema-walker.d.ts.map +1 -1
- package/dist/prefab/schema-walker.js +155 -11
- package/dist/prefab/schema-walker.js.map +1 -1
- package/dist/prefab/types.d.ts +21 -2
- package/dist/prefab/types.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-graph.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-graph.js +80 -63
- package/dist/recommend/atom-graph/basic-atom-graph.js.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-skill-graph.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js +8 -0
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js.map +1 -1
- package/dist/storage/cos.d.ts +4 -4
- package/dist/storage/cos.d.ts.map +1 -1
- package/dist/storage/cos.js +19 -1
- package/dist/storage/cos.js.map +1 -1
- package/dist/storage/interface.d.ts +5 -1
- package/dist/storage/interface.d.ts.map +1 -1
- package/package.json +28 -2
package/dist/prefab/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prefab/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prefab/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Condition, JsonSchemaNode } from './types.js';
|
|
2
|
+
export interface ResolvedConditionField {
|
|
3
|
+
path: string[];
|
|
4
|
+
data: Record<string, unknown>;
|
|
5
|
+
schema: JsonSchemaNode | undefined;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* 解析 field 中的 `^` 前缀,返回实际路径、对应数据、以及沿 path 在 schema 树中
|
|
9
|
+
* 走到底后得到的字段 schema。
|
|
10
|
+
*
|
|
11
|
+
* field 语法:
|
|
12
|
+
* 'enable' → 同级兄弟字段,从 parentData 取值
|
|
13
|
+
* '^.color' → 上溯一级,从 parentDataChain[0] 取值
|
|
14
|
+
* '^^.theme' → 上溯两级,从 parentDataChain[1] 取值
|
|
15
|
+
*
|
|
16
|
+
* @param rawField 原始 field 字符串(可能含 `^` 前缀)
|
|
17
|
+
* @param parentData 直接父级数据
|
|
18
|
+
* @param parentSchema 直接父级 schema
|
|
19
|
+
* @param parentDataChain 父级数据栈 [直接父级, 上溯一级, 上溯两级, ...]
|
|
20
|
+
* @param parentSchemaChain 父级 schema 栈(与 dataChain 一一对应)
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveConditionField(rawField: string, parentData: Record<string, unknown>, parentSchema: JsonSchemaNode | undefined, parentDataChain?: Record<string, unknown>[], parentSchemaChain?: JsonSchemaNode[]): ResolvedConditionField;
|
|
23
|
+
/** 计算单条条件是否满足。 */
|
|
24
|
+
export declare function evaluateCondition(cond: Condition, parentData: Record<string, unknown>, parentSchema: JsonSchemaNode | undefined, parentDataChain?: Record<string, unknown>[], parentSchemaChain?: JsonSchemaNode[]): boolean;
|
|
25
|
+
/** 判断字段是否可见(showIf / showIfAny) */
|
|
26
|
+
export declare function isFieldVisible(schema: JsonSchemaNode, parentData: Record<string, unknown>, parentSchema: JsonSchemaNode | undefined, parentDataChain?: Record<string, unknown>[], parentSchemaChain?: JsonSchemaNode[]): boolean;
|
|
27
|
+
//# sourceMappingURL=schema-condition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-condition.d.ts","sourceRoot":"","sources":["../../src/prefab/schema-condition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,iBAAiB,CAAC,EAAE,cAAc,EAAE,GACnC,sBAAsB,CA0CxB;AAED,kBAAkB;AAClB,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,iBAAiB,CAAC,EAAE,cAAc,EAAE,GACnC,OAAO,CAkCT;AAED,mCAAmC;AACnC,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,iBAAiB,CAAC,EAAE,cAAc,EAAE,GACnC,OAAO,CAgCT"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { getByPath } from './schema-walker.js';
|
|
2
|
+
/**
|
|
3
|
+
* 解析 field 中的 `^` 前缀,返回实际路径、对应数据、以及沿 path 在 schema 树中
|
|
4
|
+
* 走到底后得到的字段 schema。
|
|
5
|
+
*
|
|
6
|
+
* field 语法:
|
|
7
|
+
* 'enable' → 同级兄弟字段,从 parentData 取值
|
|
8
|
+
* '^.color' → 上溯一级,从 parentDataChain[0] 取值
|
|
9
|
+
* '^^.theme' → 上溯两级,从 parentDataChain[1] 取值
|
|
10
|
+
*
|
|
11
|
+
* @param rawField 原始 field 字符串(可能含 `^` 前缀)
|
|
12
|
+
* @param parentData 直接父级数据
|
|
13
|
+
* @param parentSchema 直接父级 schema
|
|
14
|
+
* @param parentDataChain 父级数据栈 [直接父级, 上溯一级, 上溯两级, ...]
|
|
15
|
+
* @param parentSchemaChain 父级 schema 栈(与 dataChain 一一对应)
|
|
16
|
+
*/
|
|
17
|
+
export function resolveConditionField(rawField, parentData, parentSchema, parentDataChain, parentSchemaChain) {
|
|
18
|
+
// 计算上溯层数:数 `^` 前缀
|
|
19
|
+
let upLevel = 0;
|
|
20
|
+
let field = rawField;
|
|
21
|
+
while (field.startsWith('^')) {
|
|
22
|
+
upLevel++;
|
|
23
|
+
field = field.slice(1);
|
|
24
|
+
}
|
|
25
|
+
// `^.` 或 `^` 紧接字段名 → 跳过开头的 `.`
|
|
26
|
+
if (field.startsWith('.'))
|
|
27
|
+
field = field.slice(1);
|
|
28
|
+
const segs = field.split('.');
|
|
29
|
+
const data = upLevel === 0
|
|
30
|
+
? parentData
|
|
31
|
+
: (parentDataChain?.[upLevel - 1] ?? parentData);
|
|
32
|
+
let schema = upLevel === 0
|
|
33
|
+
? parentSchema
|
|
34
|
+
: (parentSchemaChain?.[upLevel - 1] ?? parentSchema);
|
|
35
|
+
// 沿 path 段在 schema 树中走,逐层定位到字段对应 schema
|
|
36
|
+
const walkSchema = (root, path) => {
|
|
37
|
+
let cur = root;
|
|
38
|
+
for (const seg of path) {
|
|
39
|
+
if (!cur)
|
|
40
|
+
return undefined;
|
|
41
|
+
const props = cur.properties;
|
|
42
|
+
if (props && typeof props === 'object' && !Array.isArray(props) && seg in props) {
|
|
43
|
+
cur = props[seg];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return cur;
|
|
50
|
+
};
|
|
51
|
+
schema = walkSchema(schema, segs);
|
|
52
|
+
return { path: segs, data, schema };
|
|
53
|
+
}
|
|
54
|
+
/** 计算单条条件是否满足。 */
|
|
55
|
+
export function evaluateCondition(cond, parentData, parentSchema, parentDataChain, parentSchemaChain) {
|
|
56
|
+
const { path, data, schema } = resolveConditionField(cond.field, parentData, parentSchema, parentDataChain, parentSchemaChain);
|
|
57
|
+
// 数据优先:themeData 里实际写入的值
|
|
58
|
+
let v = getByPath(data, path);
|
|
59
|
+
// 数据缺失时回退到 schema.default,避免默认值未落盘时错误隐藏字段
|
|
60
|
+
if (v === undefined) {
|
|
61
|
+
v = schema?.default;
|
|
62
|
+
}
|
|
63
|
+
switch (cond.op) {
|
|
64
|
+
case 'eq':
|
|
65
|
+
return v === cond.value;
|
|
66
|
+
case 'neq':
|
|
67
|
+
return v !== cond.value;
|
|
68
|
+
case 'in':
|
|
69
|
+
return Array.isArray(cond.value) && cond.value.includes(v);
|
|
70
|
+
case 'notIn':
|
|
71
|
+
return !(Array.isArray(cond.value) && cond.value.includes(v));
|
|
72
|
+
case 'gt':
|
|
73
|
+
return Number(v) > Number(cond.value);
|
|
74
|
+
case 'gte':
|
|
75
|
+
return Number(v) >= Number(cond.value);
|
|
76
|
+
case 'lt':
|
|
77
|
+
return Number(v) < Number(cond.value);
|
|
78
|
+
case 'lte':
|
|
79
|
+
return Number(v) <= Number(cond.value);
|
|
80
|
+
default:
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** 判断字段是否可见(showIf / showIfAny) */
|
|
85
|
+
export function isFieldVisible(schema, parentData, parentSchema, parentDataChain, parentSchemaChain) {
|
|
86
|
+
const xp = schema.xplatform;
|
|
87
|
+
if (!xp || typeof xp !== 'object')
|
|
88
|
+
return true;
|
|
89
|
+
const showIf = xp.showIf;
|
|
90
|
+
const showIfAny = xp.showIfAny;
|
|
91
|
+
// showIf 缺失 = 无条件显示
|
|
92
|
+
if (!showIf && !showIfAny)
|
|
93
|
+
return true;
|
|
94
|
+
// showIf:单个条件或 AND 组合
|
|
95
|
+
if (showIf) {
|
|
96
|
+
const conds = Array.isArray(showIf) ? showIf : [showIf];
|
|
97
|
+
if (!conds.every((c) => evaluateCondition(c, parentData, parentSchema, parentDataChain, parentSchemaChain)))
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
// showIfAny:OR 组合(至少有一个满足)
|
|
101
|
+
if (showIfAny && showIfAny.length > 0) {
|
|
102
|
+
if (!showIfAny.some((c) => evaluateCondition(c, parentData, parentSchema, parentDataChain, parentSchemaChain)))
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=schema-condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-condition.js","sourceRoot":"","sources":["../../src/prefab/schema-condition.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import type { JsonSchemaNode } from './types.js';
|
|
15
15
|
/** 美术资源类型分类 */
|
|
16
|
-
export type MediaKind = 'image' | 'audio' | 'video' | 'text' | 'other';
|
|
16
|
+
export type MediaKind = 'image' | 'audio' | 'video' | 'text' | 'sprite' | 'other';
|
|
17
17
|
/** 一个被识别为"美术资源"的 schema 字段 */
|
|
18
18
|
export interface AssetFieldInfo {
|
|
19
19
|
/** 字段在 themeData 中的访问路径(不含根对象本身) */
|
|
@@ -39,13 +39,19 @@ export interface AssetItem {
|
|
|
39
39
|
schema?: JsonSchemaNode;
|
|
40
40
|
/** 是否未配置(value 为空,仅占位显示) */
|
|
41
41
|
empty?: boolean;
|
|
42
|
+
/** 序列帧:帧图片路径数组(mediaKind === 'sprite' 时有效) */
|
|
43
|
+
frames?: string[];
|
|
42
44
|
}
|
|
43
45
|
/**
|
|
44
46
|
* 按路径读取嵌套对象的值;任一环节缺失则返回 undefined。
|
|
45
47
|
*
|
|
48
|
+
* 支持路径中间穿过数组(如 `['levels', '0', 'title']` 对应 `levels[0].title`),
|
|
49
|
+
* 数字字符串下标会走 JS 的字符串索引访问数组元素。
|
|
50
|
+
*
|
|
46
51
|
* @example
|
|
47
52
|
* getByPath({ a: { b: 1 } }, ['a', 'b']) // → 1
|
|
48
53
|
* getByPath({}, ['a', 'b']) // → undefined
|
|
54
|
+
* getByPath({ a: [{ b: 1 }] }, ['a', '0', 'b']) // → 1
|
|
49
55
|
*/
|
|
50
56
|
export declare function getByPath(obj: unknown, path: ReadonlyArray<string>): unknown;
|
|
51
57
|
/**
|
|
@@ -65,11 +71,14 @@ export declare function isPathField(schema: JsonSchemaNode | null | undefined, p
|
|
|
65
71
|
/**
|
|
66
72
|
* 按路径不可变地设置嵌套值,返回新对象。空路径会用 value 替换根。
|
|
67
73
|
*
|
|
68
|
-
* -
|
|
74
|
+
* - 路径上不存在或非容器(非对象/非数组)的中间节点会被替换为新对象
|
|
75
|
+
* - 路径上已是数组的中间节点会被浅拷贝保留(而非被替换为 `{}`),
|
|
76
|
+
* 以支持形如 `['levels', '0', 'title']` 的数组元素写入而不破坏原数组
|
|
69
77
|
* - 不修改入参 obj
|
|
70
78
|
*
|
|
71
79
|
* @example
|
|
72
80
|
* setByPath({ a: 1 }, ['b', 'c'], 2) // → { a: 1, b: { c: 2 } }
|
|
81
|
+
* setByPath({ a: [{ b: 1 }] }, ['a', '0', 'b'], 9) // → { a: [{ b: 9 }] }
|
|
73
82
|
*/
|
|
74
83
|
export declare function setByPath<T>(obj: T, path: ReadonlyArray<string>, value: unknown): T;
|
|
75
84
|
/**
|
|
@@ -99,15 +108,47 @@ export declare function walkSchemaFields(root: JsonSchemaNode | undefined): Arra
|
|
|
99
108
|
path: string[];
|
|
100
109
|
schema: JsonSchemaNode;
|
|
101
110
|
}>;
|
|
111
|
+
/**
|
|
112
|
+
* 深度优先遍历 schema,产出每个叶子字段的 path + schema;与 `walkSchemaFields` 的区别:
|
|
113
|
+
* 结合 themeData 实际值,对 `type: 'array'` 且元素为 object 的字段(如标记了
|
|
114
|
+
* `xplatform.ext.subMenu` 的"关卡/子项"列表)按**实际数组长度**展开为具体索引路径
|
|
115
|
+
* (如 `['levels', '0', 'frames']`),使产出的 path 可直接配合 `getByPath`/`setByPath`
|
|
116
|
+
* 读写真实数据,从而让数组子项内部嵌套的资源字段(图片/文本/序列帧等)也能被收集到。
|
|
117
|
+
*
|
|
118
|
+
* 规则:
|
|
119
|
+
* - array 的元素若非 object(如 `xplatform.ext.frames === true` 的帧图片路径数组),
|
|
120
|
+
* 该 array 本身作为叶子产出,不展开(与 `walkSchemaFields` 行为一致)
|
|
121
|
+
* - array 的元素若为 object:按 `data` 中实际数组长度展开;`data` 缺失该字段时
|
|
122
|
+
* 回退到 `schema.default`(同为数组)的长度;两者都没有则不产出该数组的任何子项
|
|
123
|
+
*/
|
|
124
|
+
export declare function walkSchemaFieldsWithData(root: JsonSchemaNode | undefined, data: unknown): Array<{
|
|
125
|
+
path: string[];
|
|
126
|
+
schema: JsonSchemaNode;
|
|
127
|
+
}>;
|
|
102
128
|
/**
|
|
103
129
|
* 抽取所有 `xplatform.value_type === 'path'` 的字段。
|
|
130
|
+
*
|
|
131
|
+
* @param data 可选;传入后按实际数据展开数组子项(如 `xplatform.ext.subMenu` 关卡列表),
|
|
132
|
+
* 使数组元素内嵌的资源字段也能被收集,产出的 path 带真实数组下标
|
|
104
133
|
*/
|
|
105
|
-
export declare function extractAssetFields(root: JsonSchemaNode | undefined): AssetFieldInfo[];
|
|
134
|
+
export declare function extractAssetFields(root: JsonSchemaNode | undefined, data?: unknown): AssetFieldInfo[];
|
|
106
135
|
/**
|
|
107
136
|
* 抽取所有文本类型字段(string / i18n)。
|
|
108
137
|
* 排除:path 字段、颜色字段、非 string 类型。
|
|
138
|
+
*
|
|
139
|
+
* @param data 可选;传入后按实际数据展开数组子项(如 `xplatform.ext.subMenu` 关卡列表)
|
|
140
|
+
*/
|
|
141
|
+
export declare function extractTextFields(root: JsonSchemaNode | undefined, data?: unknown): AssetFieldInfo[];
|
|
142
|
+
/**
|
|
143
|
+
* 抽取所有序列帧字段(`xplatform.ext.frames === true` 的 array 字段)。
|
|
144
|
+
*
|
|
145
|
+
* 序列帧字段本身是 array(元素为图片路径字符串),不同于单个 path 字段,
|
|
146
|
+
* 因此单独识别,归类为 mediaKind='sprite'。
|
|
147
|
+
*
|
|
148
|
+
* @param data 可选;传入后按实际数据展开数组子项(如 `xplatform.ext.subMenu` 关卡列表),
|
|
149
|
+
* 使嵌套在关卡等数组子项内部的序列帧字段也能被收集
|
|
109
150
|
*/
|
|
110
|
-
export declare function
|
|
151
|
+
export declare function extractSpriteFields(root: JsonSchemaNode | undefined, data?: unknown): AssetFieldInfo[];
|
|
111
152
|
/**
|
|
112
153
|
* 合并 themeData.assets 块 + schema 内联字段,按路径值去重。
|
|
113
154
|
*
|
|
@@ -117,6 +158,7 @@ export declare function extractTextFields(root: JsonSchemaNode | undefined): Ass
|
|
|
117
158
|
* Step C: 对每个字段,从 themeData 按 path 取实际值
|
|
118
159
|
* Step D: 与 A 按 value 去重;A 中已有的不被 inline 覆盖
|
|
119
160
|
* Step E: mime_type 分组(已在 mediaKind 里完成)
|
|
161
|
+
* @param themeData 解析后的 theme.data.json5 内容
|
|
120
162
|
*
|
|
121
163
|
* @param schema 解析后的 theme.schema.json5 根节点
|
|
122
164
|
* @param themeData 解析后的 theme.data.json5 内容
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-walker.d.ts","sourceRoot":"","sources":["../../src/prefab/schema-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,eAAe;AACf,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-walker.d.ts","sourceRoot":"","sources":["../../src/prefab/schema-walker.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,10 @@ const I18N_RUNTIME_PREFIX = 'i18n.runtime.';
|
|
|
17
17
|
function isPlainObject(v) {
|
|
18
18
|
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
19
19
|
}
|
|
20
|
+
/** 判断是否可用字符串 key / 数字下标继续深入取值(对象或数组皆可) */
|
|
21
|
+
function isIndexable(v) {
|
|
22
|
+
return typeof v === 'object' && v !== null;
|
|
23
|
+
}
|
|
20
24
|
function getXplatform(schema) {
|
|
21
25
|
return schema.xplatform;
|
|
22
26
|
}
|
|
@@ -57,14 +61,18 @@ function isColorField(name, schema) {
|
|
|
57
61
|
/**
|
|
58
62
|
* 按路径读取嵌套对象的值;任一环节缺失则返回 undefined。
|
|
59
63
|
*
|
|
64
|
+
* 支持路径中间穿过数组(如 `['levels', '0', 'title']` 对应 `levels[0].title`),
|
|
65
|
+
* 数字字符串下标会走 JS 的字符串索引访问数组元素。
|
|
66
|
+
*
|
|
60
67
|
* @example
|
|
61
68
|
* getByPath({ a: { b: 1 } }, ['a', 'b']) // → 1
|
|
62
69
|
* getByPath({}, ['a', 'b']) // → undefined
|
|
70
|
+
* getByPath({ a: [{ b: 1 }] }, ['a', '0', 'b']) // → 1
|
|
63
71
|
*/
|
|
64
72
|
export function getByPath(obj, path) {
|
|
65
73
|
let cur = obj;
|
|
66
74
|
for (const seg of path) {
|
|
67
|
-
if (!
|
|
75
|
+
if (!isIndexable(cur))
|
|
68
76
|
return undefined;
|
|
69
77
|
cur = cur[seg];
|
|
70
78
|
}
|
|
@@ -118,21 +126,28 @@ export function isPathField(schema, path) {
|
|
|
118
126
|
/**
|
|
119
127
|
* 按路径不可变地设置嵌套值,返回新对象。空路径会用 value 替换根。
|
|
120
128
|
*
|
|
121
|
-
* -
|
|
129
|
+
* - 路径上不存在或非容器(非对象/非数组)的中间节点会被替换为新对象
|
|
130
|
+
* - 路径上已是数组的中间节点会被浅拷贝保留(而非被替换为 `{}`),
|
|
131
|
+
* 以支持形如 `['levels', '0', 'title']` 的数组元素写入而不破坏原数组
|
|
122
132
|
* - 不修改入参 obj
|
|
123
133
|
*
|
|
124
134
|
* @example
|
|
125
135
|
* setByPath({ a: 1 }, ['b', 'c'], 2) // → { a: 1, b: { c: 2 } }
|
|
136
|
+
* setByPath({ a: [{ b: 1 }] }, ['a', '0', 'b'], 9) // → { a: [{ b: 9 }] }
|
|
126
137
|
*/
|
|
127
138
|
export function setByPath(obj, path, value) {
|
|
128
139
|
if (path.length === 0)
|
|
129
140
|
return value;
|
|
130
|
-
const
|
|
141
|
+
const cloneContainer = (v) => Array.isArray(v)
|
|
142
|
+
? [...v]
|
|
143
|
+
: isPlainObject(v)
|
|
144
|
+
? { ...v }
|
|
145
|
+
: {};
|
|
146
|
+
const root = cloneContainer(obj);
|
|
131
147
|
let cur = root;
|
|
132
148
|
for (let i = 0; i < path.length - 1; i++) {
|
|
133
149
|
const seg = path[i];
|
|
134
|
-
|
|
135
|
-
cur[seg] = isPlainObject(next) ? { ...next } : {};
|
|
150
|
+
cur[seg] = cloneContainer(cur[seg]);
|
|
136
151
|
cur = cur[seg];
|
|
137
152
|
}
|
|
138
153
|
cur[path[path.length - 1]] = value;
|
|
@@ -222,12 +237,84 @@ export function walkSchemaFields(root) {
|
|
|
222
237
|
}
|
|
223
238
|
return out;
|
|
224
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* 深度优先遍历 schema,产出每个叶子字段的 path + schema;与 `walkSchemaFields` 的区别:
|
|
242
|
+
* 结合 themeData 实际值,对 `type: 'array'` 且元素为 object 的字段(如标记了
|
|
243
|
+
* `xplatform.ext.subMenu` 的"关卡/子项"列表)按**实际数组长度**展开为具体索引路径
|
|
244
|
+
* (如 `['levels', '0', 'frames']`),使产出的 path 可直接配合 `getByPath`/`setByPath`
|
|
245
|
+
* 读写真实数据,从而让数组子项内部嵌套的资源字段(图片/文本/序列帧等)也能被收集到。
|
|
246
|
+
*
|
|
247
|
+
* 规则:
|
|
248
|
+
* - array 的元素若非 object(如 `xplatform.ext.frames === true` 的帧图片路径数组),
|
|
249
|
+
* 该 array 本身作为叶子产出,不展开(与 `walkSchemaFields` 行为一致)
|
|
250
|
+
* - array 的元素若为 object:按 `data` 中实际数组长度展开;`data` 缺失该字段时
|
|
251
|
+
* 回退到 `schema.default`(同为数组)的长度;两者都没有则不产出该数组的任何子项
|
|
252
|
+
*/
|
|
253
|
+
export function walkSchemaFieldsWithData(root, data) {
|
|
254
|
+
const out = [];
|
|
255
|
+
if (!root)
|
|
256
|
+
return out;
|
|
257
|
+
const stack = [
|
|
258
|
+
{ node: root, path: [], data },
|
|
259
|
+
];
|
|
260
|
+
while (stack.length > 0) {
|
|
261
|
+
const { node, path, data: curData } = stack.pop();
|
|
262
|
+
if (!node || typeof node !== 'object')
|
|
263
|
+
continue;
|
|
264
|
+
const t = Array.isArray(node.type) ? node.type[0] : node.type;
|
|
265
|
+
const props = node.properties;
|
|
266
|
+
const isObjectWithProps = t === 'object' && isPlainObject(props);
|
|
267
|
+
const itemsNode = node.items;
|
|
268
|
+
const itemsType = itemsNode
|
|
269
|
+
? Array.isArray(itemsNode.type)
|
|
270
|
+
? itemsNode.type[0]
|
|
271
|
+
: itemsNode.type
|
|
272
|
+
: undefined;
|
|
273
|
+
const isArrayOfObjects = t === 'array' &&
|
|
274
|
+
node.xplatform?.ext?.frames !== true &&
|
|
275
|
+
itemsType === 'object' &&
|
|
276
|
+
isPlainObject(itemsNode?.properties);
|
|
277
|
+
if (isObjectWithProps) {
|
|
278
|
+
// 进入子节点;倒序压栈以保证遍历输出顺序与 properties 顺序一致
|
|
279
|
+
const entries = Object.entries(props);
|
|
280
|
+
const childContainer = isIndexable(curData) ? curData : undefined;
|
|
281
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
282
|
+
const [k, sub] = entries[i];
|
|
283
|
+
stack.push({
|
|
284
|
+
node: sub,
|
|
285
|
+
path: [...path, k],
|
|
286
|
+
data: childContainer ? childContainer[k] : undefined,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else if (isArrayOfObjects) {
|
|
291
|
+
const defaultArr = Array.isArray(node.default) ? node.default : undefined;
|
|
292
|
+
const itemDataArr = Array.isArray(curData) ? curData : defaultArr;
|
|
293
|
+
const length = itemDataArr?.length ?? 0;
|
|
294
|
+
// 倒序压栈以保证遍历输出顺序与实际数组下标顺序一致
|
|
295
|
+
for (let idx = length - 1; idx >= 0; idx--) {
|
|
296
|
+
stack.push({
|
|
297
|
+
node: itemsNode,
|
|
298
|
+
path: [...path, String(idx)],
|
|
299
|
+
data: itemDataArr ? itemDataArr[idx] : undefined,
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
else if (path.length > 0) {
|
|
304
|
+
out.push({ path, schema: node });
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return out;
|
|
308
|
+
}
|
|
225
309
|
// ─── 美术资源字段抽取 ─────────────────────────────────────────────────────────
|
|
226
310
|
/**
|
|
227
311
|
* 抽取所有 `xplatform.value_type === 'path'` 的字段。
|
|
312
|
+
*
|
|
313
|
+
* @param data 可选;传入后按实际数据展开数组子项(如 `xplatform.ext.subMenu` 关卡列表),
|
|
314
|
+
* 使数组元素内嵌的资源字段也能被收集,产出的 path 带真实数组下标
|
|
228
315
|
*/
|
|
229
|
-
export function extractAssetFields(root) {
|
|
230
|
-
const fields = walkSchemaFields(root);
|
|
316
|
+
export function extractAssetFields(root, data) {
|
|
317
|
+
const fields = data !== undefined ? walkSchemaFieldsWithData(root, data) : walkSchemaFields(root);
|
|
231
318
|
const out = [];
|
|
232
319
|
for (const { path, schema } of fields) {
|
|
233
320
|
const xp = getXplatform(schema);
|
|
@@ -245,9 +332,11 @@ export function extractAssetFields(root) {
|
|
|
245
332
|
/**
|
|
246
333
|
* 抽取所有文本类型字段(string / i18n)。
|
|
247
334
|
* 排除:path 字段、颜色字段、非 string 类型。
|
|
335
|
+
*
|
|
336
|
+
* @param data 可选;传入后按实际数据展开数组子项(如 `xplatform.ext.subMenu` 关卡列表)
|
|
248
337
|
*/
|
|
249
|
-
export function extractTextFields(root) {
|
|
250
|
-
const fields = walkSchemaFields(root);
|
|
338
|
+
export function extractTextFields(root, data) {
|
|
339
|
+
const fields = data !== undefined ? walkSchemaFieldsWithData(root, data) : walkSchemaFields(root);
|
|
251
340
|
const out = [];
|
|
252
341
|
for (const { path, schema } of fields) {
|
|
253
342
|
const t = Array.isArray(schema.type) ? schema.type[0] : schema.type;
|
|
@@ -271,6 +360,33 @@ export function extractTextFields(root) {
|
|
|
271
360
|
}
|
|
272
361
|
return out;
|
|
273
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* 抽取所有序列帧字段(`xplatform.ext.frames === true` 的 array 字段)。
|
|
365
|
+
*
|
|
366
|
+
* 序列帧字段本身是 array(元素为图片路径字符串),不同于单个 path 字段,
|
|
367
|
+
* 因此单独识别,归类为 mediaKind='sprite'。
|
|
368
|
+
*
|
|
369
|
+
* @param data 可选;传入后按实际数据展开数组子项(如 `xplatform.ext.subMenu` 关卡列表),
|
|
370
|
+
* 使嵌套在关卡等数组子项内部的序列帧字段也能被收集
|
|
371
|
+
*/
|
|
372
|
+
export function extractSpriteFields(root, data) {
|
|
373
|
+
const fields = data !== undefined ? walkSchemaFieldsWithData(root, data) : walkSchemaFields(root);
|
|
374
|
+
const out = [];
|
|
375
|
+
for (const { path, schema } of fields) {
|
|
376
|
+
const t = Array.isArray(schema.type) ? schema.type[0] : schema.type;
|
|
377
|
+
if (t !== 'array')
|
|
378
|
+
continue;
|
|
379
|
+
if (schema.xplatform?.ext?.frames !== true)
|
|
380
|
+
continue;
|
|
381
|
+
out.push({
|
|
382
|
+
path,
|
|
383
|
+
schema,
|
|
384
|
+
mimeType: schema.items?.xplatform?.mime_type,
|
|
385
|
+
mediaKind: 'sprite',
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
return out;
|
|
389
|
+
}
|
|
274
390
|
/**
|
|
275
391
|
* 合并 themeData.assets 块 + schema 内联字段,按路径值去重。
|
|
276
392
|
*
|
|
@@ -280,6 +396,7 @@ export function extractTextFields(root) {
|
|
|
280
396
|
* Step C: 对每个字段,从 themeData 按 path 取实际值
|
|
281
397
|
* Step D: 与 A 按 value 去重;A 中已有的不被 inline 覆盖
|
|
282
398
|
* Step E: mime_type 分组(已在 mediaKind 里完成)
|
|
399
|
+
* @param themeData 解析后的 theme.data.json5 内容
|
|
283
400
|
*
|
|
284
401
|
* @param schema 解析后的 theme.schema.json5 根节点
|
|
285
402
|
* @param themeData 解析后的 theme.data.json5 内容
|
|
@@ -348,7 +465,7 @@ export function collectThemeAssets(schema, themeData) {
|
|
|
348
465
|
// 从 schema 中扫描所有 xplatform.value_type === 'path' 的字段,
|
|
349
466
|
// 然后从 themeData 中取对应路径的值;取不到时 fallback 到 schema.default
|
|
350
467
|
// 空值(未配置)的字段也收集,标记 empty=true,供面板显示占位项
|
|
351
|
-
const fields = extractAssetFields(schema);
|
|
468
|
+
const fields = extractAssetFields(schema, data);
|
|
352
469
|
for (const f of fields) {
|
|
353
470
|
const raw = getThemeValueBySchemaPath(data, f.path);
|
|
354
471
|
const value = typeof raw === 'string' && raw
|
|
@@ -385,7 +502,7 @@ export function collectThemeAssets(schema, themeData) {
|
|
|
385
502
|
}
|
|
386
503
|
// ─── Step F: 文本字段(string / i18n),空值也收以显示占位 ──────────
|
|
387
504
|
// schema.default 作为 fallback:themeData 未配置时使用 schema 默认值
|
|
388
|
-
const textFields = extractTextFields(schema);
|
|
505
|
+
const textFields = extractTextFields(schema, data);
|
|
389
506
|
for (const f of textFields) {
|
|
390
507
|
const raw = getThemeValueBySchemaPath(data, f.path);
|
|
391
508
|
const fallback = typeof f.schema.default === 'string' && f.schema.default ? f.schema.default : null;
|
|
@@ -403,6 +520,33 @@ export function collectThemeAssets(schema, themeData) {
|
|
|
403
520
|
empty: !value,
|
|
404
521
|
});
|
|
405
522
|
}
|
|
523
|
+
// ─── Step G: 序列帧字段(ext.frames === true 的 array) ─────────────
|
|
524
|
+
// 一个序列帧字段 = 一组帧图片,作为独立大类(mediaKind='sprite')展示;
|
|
525
|
+
// 每个字段一条目,value 取第一帧(缩略图),frames 保存完整帧数组供预览动画。
|
|
526
|
+
const spriteFields = extractSpriteFields(schema, data);
|
|
527
|
+
for (const f of spriteFields) {
|
|
528
|
+
const raw = getThemeValueBySchemaPath(data, f.path);
|
|
529
|
+
const rawFrames = Array.isArray(raw)
|
|
530
|
+
? raw.filter((x) => typeof x === 'string' && x !== '')
|
|
531
|
+
: [];
|
|
532
|
+
const fallbackFrames = Array.isArray(f.schema.default)
|
|
533
|
+
? f.schema.default.filter((x) => typeof x === 'string' && x !== '')
|
|
534
|
+
: [];
|
|
535
|
+
const frames = rawFrames.length > 0 ? rawFrames : fallbackFrames;
|
|
536
|
+
const pathKey = `__sprite__${f.path.join('.')}`;
|
|
537
|
+
if (seen.has(pathKey))
|
|
538
|
+
continue;
|
|
539
|
+
seen.add(pathKey);
|
|
540
|
+
out.push({
|
|
541
|
+
value: frames[0] ?? '',
|
|
542
|
+
mediaKind: 'sprite',
|
|
543
|
+
source: 'inline',
|
|
544
|
+
fieldPath: f.path,
|
|
545
|
+
schema: f.schema,
|
|
546
|
+
frames,
|
|
547
|
+
empty: frames.length === 0,
|
|
548
|
+
});
|
|
549
|
+
}
|
|
406
550
|
return out;
|
|
407
551
|
}
|
|
408
552
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-walker.js","sourceRoot":"","sources":["../../src/prefab/schema-walker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-walker.js","sourceRoot":"","sources":["../../src/prefab/schema-walker.ts"],"names":[],"mappings":"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"}
|