lanhu-layer-tree 1.0.0 → 1.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAShC,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAClD;AAwDD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAuC3B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAiD3B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACjC,SAAS,GAAG,IAAI,CAIlB"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAShC,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAClD;AAmED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CA2C3B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAqD3B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACjC,SAAS,GAAG,IAAI,CAIlB"}
package/dist/resolver.js CHANGED
@@ -76,10 +76,11 @@ function extractResourceFilename(name) {
76
76
  return `${resourceName}.png`;
77
77
  }
78
78
  /**
79
- * 收集图层中所有需要解析的资源文件名
79
+ * 收集图层中所有需要解析的资源文件名(包含图层名称和完整图层对象映射)
80
80
  */
81
81
  function collectImageRefs(layers) {
82
82
  const refs = new Set();
83
+ const layerMap = new Map();
83
84
  for (const layer of layers) {
84
85
  const name = layer.name || '';
85
86
  const ltype = layer.type || '';
@@ -88,10 +89,15 @@ function collectImageRefs(layers) {
88
89
  if (name.startsWith('参考图') || name.startsWith('fe'))
89
90
  continue;
90
91
  const filename = extractResourceFilename(name);
91
- if (filename)
92
+ if (filename) {
92
93
  refs.add(filename);
94
+ if (!layerMap.has(filename)) {
95
+ layerMap.set(filename, []);
96
+ }
97
+ layerMap.get(filename).push(layer);
98
+ }
93
99
  }
94
- return refs;
100
+ return { refs, layerMap };
95
101
  }
96
102
  /**
97
103
  * 批量解析图层中的图片资源 GUID(Unity)
@@ -99,7 +105,7 @@ function collectImageRefs(layers) {
99
105
  function resolveLayerAssetsUnity(layers, assetsDir) {
100
106
  if (!assetsDir || !fs.existsSync(assetsDir))
101
107
  return {};
102
- const imageRefs = collectImageRefs(layers);
108
+ const { refs: imageRefs, layerMap } = collectImageRefs(layers);
103
109
  const uuidMap = {};
104
110
  const missingFiles = [];
105
111
  for (const filename of imageRefs) {
@@ -125,7 +131,11 @@ function resolveLayerAssetsUnity(layers, assetsDir) {
125
131
  if (missingFiles.length > 0) {
126
132
  console.error(`\n❌ 错误:以下 ${missingFiles.length} 个资源在本地未找到:`);
127
133
  for (const f of missingFiles.sort()) {
128
- console.error(` - ${f}`);
134
+ const layers = layerMap.get(f) || [];
135
+ console.error(`\n 资源文件: ${f}`);
136
+ for (const layer of layers) {
137
+ console.error(` 图层完整信息:\n${JSON.stringify(layer, null, 2)}`);
138
+ }
129
139
  }
130
140
  console.error(`\n请确保资源文件存在于目录:${assetsDir}`);
131
141
  throw new Error(`缺失 ${missingFiles.length} 个资源文件`);
@@ -142,7 +152,7 @@ function resolveLayerAssetsUnity(layers, assetsDir) {
142
152
  function resolveLayerAssetsCocos(layers, assetsDir) {
143
153
  if (!assetsDir || !fs.existsSync(assetsDir))
144
154
  return {};
145
- const imageRefs = collectImageRefs(layers);
155
+ const { refs: imageRefs, layerMap } = collectImageRefs(layers);
146
156
  const uuidMap = {};
147
157
  const missingFiles = [];
148
158
  for (const filename of imageRefs) {
@@ -177,7 +187,11 @@ function resolveLayerAssetsCocos(layers, assetsDir) {
177
187
  if (missingFiles.length > 0) {
178
188
  console.error(`\n❌ 错误:以下 ${missingFiles.length} 个资源在本地未找到:`);
179
189
  for (const f of missingFiles.sort()) {
180
- console.error(` - ${f}`);
190
+ const layers = layerMap.get(f) || [];
191
+ console.error(`\n 资源文件: ${f}`);
192
+ for (const layer of layers) {
193
+ console.error(` 图层完整信息:\n${JSON.stringify(layer, null, 2)}`);
194
+ }
181
195
  }
182
196
  console.error(`\n请确保资源文件存在于目录:${assetsDir}`);
183
197
  throw new Error(`缺失 ${missingFiles.length} 个资源文件`);
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EH,0DA0CC;AASD,0DAoDC;AAKD,oDAOC;AA9LD,uCAAyB;AAGzB,qCAMkB;AASlB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,WAAW;IACX,OAAO;IACP,YAAY;IACZ,UAAU;IACV,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/D,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjE,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAE7D,OAAO,GAAG,YAAY,MAAM,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAe;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAE/B,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAE9D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,MAAe,EACf,SAAiB;IAEjB,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,KAAK,OAAO,CAAC;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,QAAQ,CAAC,GAAG;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,aAAa,YAAY,CAAC,MAAM,aAAa,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,MAAM,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,MAAe,EACf,SAAiB;IAEjB,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,KAAK,OAAO,CAAC;QAEjC,cAAc;QACd,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAC;YAClC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,cAAc,QAAQ,WAAW,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,aAAa,YAAY,CAAC,MAAM,aAAa,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,MAAM,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAClC,SAAiB,EACjB,OAAkC;IAElC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lanhu-layer-tree",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "蓝湖设计图图层树提取工具 - 从蓝湖获取设计图列表、图层信息、切图资源等",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/src/resolver.ts CHANGED
@@ -57,10 +57,15 @@ function extractResourceFilename(name: string): string | null {
57
57
  }
58
58
 
59
59
  /**
60
- * 收集图层中所有需要解析的资源文件名
60
+ * 收集图层中所有需要解析的资源文件名(包含图层名称和完整图层对象映射)
61
61
  */
62
- function collectImageRefs(layers: Layer[]): Set<string> {
62
+ function collectImageRefs(layers: Layer[]): {
63
+ refs: Set<string>;
64
+ layerMap: Map<string, Layer[]>
65
+ } {
63
66
  const refs = new Set<string>();
67
+ const layerMap = new Map<string, Layer[]>();
68
+
64
69
  for (const layer of layers) {
65
70
  const name = layer.name || '';
66
71
  const ltype = layer.type || '';
@@ -69,9 +74,15 @@ function collectImageRefs(layers: Layer[]): Set<string> {
69
74
  if (name.startsWith('参考图') || name.startsWith('fe')) continue;
70
75
 
71
76
  const filename = extractResourceFilename(name);
72
- if (filename) refs.add(filename);
77
+ if (filename) {
78
+ refs.add(filename);
79
+ if (!layerMap.has(filename)) {
80
+ layerMap.set(filename, []);
81
+ }
82
+ layerMap.get(filename)!.push(layer);
83
+ }
73
84
  }
74
- return refs;
85
+ return { refs, layerMap };
75
86
  }
76
87
 
77
88
  /**
@@ -83,7 +94,7 @@ export function resolveLayerAssetsUnity(
83
94
  ): Record<string, AssetInfo> {
84
95
  if (!assetsDir || !fs.existsSync(assetsDir)) return {};
85
96
 
86
- const imageRefs = collectImageRefs(layers);
97
+ const { refs: imageRefs, layerMap } = collectImageRefs(layers);
87
98
  const uuidMap: Record<string, AssetInfo> = {};
88
99
  const missingFiles: string[] = [];
89
100
 
@@ -112,7 +123,11 @@ export function resolveLayerAssetsUnity(
112
123
  if (missingFiles.length > 0) {
113
124
  console.error(`\n❌ 错误:以下 ${missingFiles.length} 个资源在本地未找到:`);
114
125
  for (const f of missingFiles.sort()) {
115
- console.error(` - ${f}`);
126
+ const layers = layerMap.get(f) || [];
127
+ console.error(`\n 资源文件: ${f}`);
128
+ for (const layer of layers) {
129
+ console.error(` 图层完整信息:\n${JSON.stringify(layer, null, 2)}`);
130
+ }
116
131
  }
117
132
  console.error(`\n请确保资源文件存在于目录:${assetsDir}`);
118
133
  throw new Error(`缺失 ${missingFiles.length} 个资源文件`);
@@ -134,7 +149,7 @@ export function resolveLayerAssetsCocos(
134
149
  ): Record<string, AssetInfo> {
135
150
  if (!assetsDir || !fs.existsSync(assetsDir)) return {};
136
151
 
137
- const imageRefs = collectImageRefs(layers);
152
+ const { refs: imageRefs, layerMap } = collectImageRefs(layers);
138
153
  const uuidMap: Record<string, AssetInfo> = {};
139
154
  const missingFiles: string[] = [];
140
155
 
@@ -173,7 +188,11 @@ export function resolveLayerAssetsCocos(
173
188
  if (missingFiles.length > 0) {
174
189
  console.error(`\n❌ 错误:以下 ${missingFiles.length} 个资源在本地未找到:`);
175
190
  for (const f of missingFiles.sort()) {
176
- console.error(` - ${f}`);
191
+ const layers = layerMap.get(f) || [];
192
+ console.error(`\n 资源文件: ${f}`);
193
+ for (const layer of layers) {
194
+ console.error(` 图层完整信息:\n${JSON.stringify(layer, null, 2)}`);
195
+ }
177
196
  }
178
197
  console.error(`\n请确保资源文件存在于目录:${assetsDir}`);
179
198
  throw new Error(`缺失 ${missingFiles.length} 个资源文件`);