@kurot/cli 1.2.0 → 2.0.0

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.
Files changed (154) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +115 -303
  3. package/dist/core/components/discover-components.d.ts.map +1 -1
  4. package/dist/core/components/discover-components.js +12 -11
  5. package/dist/core/components/discover-components.js.map +1 -1
  6. package/dist/core/config.d.ts +8 -16
  7. package/dist/core/config.d.ts.map +1 -1
  8. package/dist/core/config.js +12 -4
  9. package/dist/core/config.js.map +1 -1
  10. package/dist/core/dev-server.d.ts +1 -1
  11. package/dist/core/dev-server.js +13 -13
  12. package/dist/core/dev-server.js.map +1 -1
  13. package/dist/core/diagnostics/codes.d.ts +3 -6
  14. package/dist/core/diagnostics/codes.d.ts.map +1 -1
  15. package/dist/core/diagnostics/codes.js +4 -10
  16. package/dist/core/diagnostics/codes.js.map +1 -1
  17. package/dist/core/diagnostics/output.d.ts +1 -1
  18. package/dist/core/diagnostics/output.d.ts.map +1 -1
  19. package/dist/core/{exml → kui}/ast.d.ts +17 -107
  20. package/dist/core/kui/ast.d.ts.map +1 -0
  21. package/dist/core/kui/ast.js +8 -0
  22. package/dist/core/{exml → kui}/ast.js.map +1 -1
  23. package/dist/core/kui/codegen.d.ts.map +1 -0
  24. package/dist/core/{exml → kui}/codegen.js +17 -176
  25. package/dist/core/kui/codegen.js.map +1 -0
  26. package/dist/core/kui/index.d.ts +29 -0
  27. package/dist/core/kui/index.d.ts.map +1 -0
  28. package/dist/core/kui/index.js +23 -0
  29. package/dist/core/kui/index.js.map +1 -0
  30. package/dist/core/{exml/exml-diagnostics.d.ts → kui/kui-diagnostics.d.ts} +2 -2
  31. package/dist/core/kui/kui-diagnostics.d.ts.map +1 -0
  32. package/dist/core/{exml/exml-diagnostics.js → kui/kui-diagnostics.js} +4 -4
  33. package/dist/core/kui/kui-diagnostics.js.map +1 -0
  34. package/dist/core/kui/kui-parser.d.ts +7 -0
  35. package/dist/core/kui/kui-parser.d.ts.map +1 -0
  36. package/dist/core/kui/kui-parser.js +157 -0
  37. package/dist/core/kui/kui-parser.js.map +1 -0
  38. package/dist/core/{exml → kui}/registry.d.ts +3 -26
  39. package/dist/core/kui/registry.d.ts.map +1 -0
  40. package/dist/core/{exml → kui}/registry.js +12 -43
  41. package/dist/core/kui/registry.js.map +1 -0
  42. package/dist/core/{exml → kui}/skin-module-builder.d.ts +6 -6
  43. package/dist/core/kui/skin-module-builder.d.ts.map +1 -0
  44. package/dist/core/{exml → kui}/skin-module-builder.js +7 -6
  45. package/dist/core/kui/skin-module-builder.js.map +1 -0
  46. package/dist/core/{exml → kui}/skin-parts-declaration.d.ts +1 -1
  47. package/dist/core/kui/skin-parts-declaration.d.ts.map +1 -0
  48. package/dist/core/kui/skin-parts-declaration.js +182 -0
  49. package/dist/core/kui/skin-parts-declaration.js.map +1 -0
  50. package/dist/core/kui/source-location.d.ts.map +1 -0
  51. package/dist/core/kui/source-location.js.map +1 -0
  52. package/dist/core/namespace-external-plugin.d.ts +1 -1
  53. package/dist/core/namespace-external-plugin.js +1 -1
  54. package/dist/core/plugins/compile-custom-namespaces.d.ts +3 -3
  55. package/dist/core/plugins/compile-custom-namespaces.js +3 -3
  56. package/dist/core/plugins/compile-kui.d.ts +6 -0
  57. package/dist/core/plugins/compile-kui.d.ts.map +1 -0
  58. package/dist/core/plugins/compile-kui.js +143 -0
  59. package/dist/core/plugins/compile-kui.js.map +1 -0
  60. package/dist/core/plugins/copy-assets.d.ts +3 -3
  61. package/dist/core/plugins/copy-assets.d.ts.map +1 -1
  62. package/dist/core/plugins/copy-assets.js +7 -6
  63. package/dist/core/plugins/copy-assets.js.map +1 -1
  64. package/dist/core/plugins/index.d.ts +1 -1
  65. package/dist/core/plugins/index.d.ts.map +1 -1
  66. package/dist/core/plugins/index.js +3 -3
  67. package/dist/core/plugins/index.js.map +1 -1
  68. package/dist/core/project.d.ts +14 -10
  69. package/dist/core/project.d.ts.map +1 -1
  70. package/dist/core/project.js +11 -7
  71. package/dist/core/project.js.map +1 -1
  72. package/dist/core/template.js +1 -1
  73. package/dist/core/template.js.map +1 -1
  74. package/dist/define.d.ts +1 -1
  75. package/dist/define.d.ts.map +1 -1
  76. package/package.json +5 -3
  77. package/templates/game/kurot.config.ts +3 -3
  78. package/templates/game/resource/ui/skins/ButtonSkin.kui.xml +24 -0
  79. package/templates/game/resource/ui/skins/CheckBoxSkin.kui.xml +45 -0
  80. package/templates/game/resource/ui/skins/ComboBoxSkin.kui.xml +32 -0
  81. package/templates/game/resource/ui/skins/GroupSkin.kui.xml +11 -0
  82. package/templates/game/resource/ui/skins/HScrollBarSkin.kui.xml +11 -0
  83. package/templates/game/resource/ui/skins/HSliderSkin.kui.xml +13 -0
  84. package/templates/game/resource/ui/skins/ImageSkin.kui.xml +11 -0
  85. package/templates/game/resource/ui/skins/ItemRendererSkin.kui.xml +22 -0
  86. package/templates/game/resource/ui/skins/LabelSkin.kui.xml +11 -0
  87. package/templates/game/resource/ui/skins/ListSkin.kui.xml +15 -0
  88. package/templates/game/resource/ui/skins/PanelSkin.kui.xml +18 -0
  89. package/templates/game/resource/ui/skins/ProgressBarSkin.kui.xml +14 -0
  90. package/templates/game/resource/ui/skins/RadioButtonSkin.kui.xml +45 -0
  91. package/templates/game/resource/ui/skins/ScrollerSkin.kui.xml +13 -0
  92. package/templates/game/resource/ui/skins/TabBarSkin.kui.xml +12 -0
  93. package/templates/game/resource/ui/skins/TextInputSkin.kui.xml +28 -0
  94. package/templates/game/resource/ui/skins/ToggleButtonSkin.kui.xml +34 -0
  95. package/templates/game/resource/ui/skins/ToggleSwitchSkin.kui.xml +29 -0
  96. package/templates/game/resource/ui/skins/VScrollBarSkin.kui.xml +11 -0
  97. package/templates/game/resource/ui/skins/VSliderSkin.kui.xml +13 -0
  98. package/templates/game/resource/ui/skins/ViewStackSkin.kui.xml +11 -0
  99. package/dist/core/exml/ast.d.ts.map +0 -1
  100. package/dist/core/exml/ast.js +0 -8
  101. package/dist/core/exml/codegen.d.ts.map +0 -1
  102. package/dist/core/exml/codegen.js.map +0 -1
  103. package/dist/core/exml/exml-diagnostics.d.ts.map +0 -1
  104. package/dist/core/exml/exml-diagnostics.js.map +0 -1
  105. package/dist/core/exml/exml-parser.d.ts +0 -27
  106. package/dist/core/exml/exml-parser.d.ts.map +0 -1
  107. package/dist/core/exml/exml-parser.js +0 -380
  108. package/dist/core/exml/exml-parser.js.map +0 -1
  109. package/dist/core/exml/index.d.ts +0 -54
  110. package/dist/core/exml/index.d.ts.map +0 -1
  111. package/dist/core/exml/index.js +0 -51
  112. package/dist/core/exml/index.js.map +0 -1
  113. package/dist/core/exml/registry.d.ts.map +0 -1
  114. package/dist/core/exml/registry.js.map +0 -1
  115. package/dist/core/exml/skin-module-builder.d.ts.map +0 -1
  116. package/dist/core/exml/skin-module-builder.js.map +0 -1
  117. package/dist/core/exml/skin-parts-declaration.d.ts.map +0 -1
  118. package/dist/core/exml/skin-parts-declaration.js +0 -82
  119. package/dist/core/exml/skin-parts-declaration.js.map +0 -1
  120. package/dist/core/exml/source-location.d.ts.map +0 -1
  121. package/dist/core/exml/source-location.js.map +0 -1
  122. package/dist/core/exml/xml-parser.d.ts +0 -86
  123. package/dist/core/exml/xml-parser.d.ts.map +0 -1
  124. package/dist/core/exml/xml-parser.js +0 -196
  125. package/dist/core/exml/xml-parser.js.map +0 -1
  126. package/dist/core/plugins/compile-exml.d.ts +0 -14
  127. package/dist/core/plugins/compile-exml.d.ts.map +0 -1
  128. package/dist/core/plugins/compile-exml.js +0 -256
  129. package/dist/core/plugins/compile-exml.js.map +0 -1
  130. package/templates/game/resource/default.thm.json +0 -19
  131. package/templates/game/resource/skins/eui/ButtonSkin.exml +0 -16
  132. package/templates/game/resource/skins/eui/CheckBoxSkin.exml +0 -18
  133. package/templates/game/resource/skins/eui/ComboBoxSkin.exml +0 -31
  134. package/templates/game/resource/skins/eui/GroupSkin.exml +0 -4
  135. package/templates/game/resource/skins/eui/HScrollBarSkin.exml +0 -6
  136. package/templates/game/resource/skins/eui/HSliderSkin.exml +0 -7
  137. package/templates/game/resource/skins/eui/ImageSkin.exml +0 -4
  138. package/templates/game/resource/skins/eui/ItemRendererSkin.exml +0 -15
  139. package/templates/game/resource/skins/eui/LabelSkin.exml +0 -7
  140. package/templates/game/resource/skins/eui/ListSkin.exml +0 -11
  141. package/templates/game/resource/skins/eui/PanelSkin.exml +0 -15
  142. package/templates/game/resource/skins/eui/ProgressBarSkin.exml +0 -11
  143. package/templates/game/resource/skins/eui/RadioButtonSkin.exml +0 -18
  144. package/templates/game/resource/skins/eui/ScrollerSkin.exml +0 -8
  145. package/templates/game/resource/skins/eui/TabBarSkin.exml +0 -6
  146. package/templates/game/resource/skins/eui/TextInputSkin.exml +0 -22
  147. package/templates/game/resource/skins/eui/ToggleButtonSkin.exml +0 -21
  148. package/templates/game/resource/skins/eui/ToggleSwitchSkin.exml +0 -15
  149. package/templates/game/resource/skins/eui/VScrollBarSkin.exml +0 -6
  150. package/templates/game/resource/skins/eui/VSliderSkin.exml +0 -7
  151. package/templates/game/resource/skins/eui/ViewStackSkin.exml +0 -4
  152. /package/dist/core/{exml → kui}/codegen.d.ts +0 -0
  153. /package/dist/core/{exml → kui}/source-location.d.ts +0 -0
  154. /package/dist/core/{exml → kui}/source-location.js +0 -0
@@ -0,0 +1,143 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ import { parseUIDocument } from '@kurot/ui-document';
4
+ import { writeFile } from '../../utils/fs.js';
5
+ import { logger } from '../../utils/logger.js';
6
+ import { DIAGNOSTIC_CODES } from '../diagnostics/index.js';
7
+ import { buildSkinsModule } from '../kui/skin-module-builder.js';
8
+ import { generateSkinPartsDeclaration, SKIN_PARTS_DECLARATION_PATH } from '../kui/skin-parts-declaration.js';
9
+ import { BuildError } from '../errors.js';
10
+ import { KUI_THEME_OUTPUT_PATH } from '../project.js';
11
+ /**
12
+ * Compiles canonical KUI Skin documents and generates the runtime theme map.
13
+ */
14
+ export function compileKUI() {
15
+ return {
16
+ name: 'compile KUI',
17
+ async apply(ctx) {
18
+ const { project } = ctx;
19
+ if (!project.config.ui || !project.uiSourceDir)
20
+ return;
21
+ ctx.diagnostics.removeByCodes([
22
+ DIAGNOSTIC_CODES.KUI_UNKNOWN_TAG,
23
+ DIAGNOSTIC_CODES.KUI_COMPILE_FAILED,
24
+ DIAGNOSTIC_CODES.KUI_DUPLICATE_DEFAULT,
25
+ ]);
26
+ const files = await collectKUIFiles(project.uiSourceDir, project.resourceDir);
27
+ const parsed = parseSkins(ctx, files);
28
+ throwIfInputInvalid(ctx);
29
+ if (parsed.length === 0) {
30
+ await fs.rm(path.join(project.root, SKIN_PARTS_DECLARATION_PATH), { force: true });
31
+ delete ctx.outputs.skinPartsDeclaration;
32
+ logger.step('no KUI Skin files found, skipping');
33
+ return;
34
+ }
35
+ const mappings = createDefaultMappings(ctx, parsed);
36
+ throwIfInputInvalid(ctx);
37
+ const built = await buildSkinsModule(ctx, parsed.map(item => item.skin));
38
+ ctx.outputs.skinsScript = `js/${built.filename}`;
39
+ ctx.outputs.skinPartsDeclaration = SKIN_PARTS_DECLARATION_PATH;
40
+ await writeFile(path.join(project.root, SKIN_PARTS_DECLARATION_PATH), await generateSkinPartsDeclaration(project, built.skins));
41
+ const relativeScript = toPosix(path.relative(path.dirname(KUI_THEME_OUTPUT_PATH), `js/${built.filename}`));
42
+ const theme = { skins: mappings, skinsJs: relativeScript };
43
+ await writeFile(path.join(project.outputDir, KUI_THEME_OUTPUT_PATH), JSON.stringify(theme, undefined, '\t'));
44
+ logger.step(`compiled ${parsed.length} KUI skin(s) → ${ctx.outputs.skinsScript}`);
45
+ },
46
+ };
47
+ }
48
+ function parseSkins(ctx, files) {
49
+ const parsed = [];
50
+ for (const file of files) {
51
+ try {
52
+ const document = parseUIDocument(file.contents);
53
+ if (document.assetKind !== 'appearance')
54
+ continue;
55
+ parsed.push({
56
+ document,
57
+ skin: { file, className: document.id },
58
+ });
59
+ }
60
+ catch (error) {
61
+ reportDiagnostic(ctx, {
62
+ code: DIAGNOSTIC_CODES.KUI_COMPILE_FAILED,
63
+ severity: 'error',
64
+ message: `KUI parse failed: ${error instanceof Error ? error.message : String(error)}`,
65
+ location: { file: file.relPath },
66
+ });
67
+ }
68
+ }
69
+ return parsed;
70
+ }
71
+ function createDefaultMappings(ctx, skins) {
72
+ const result = {};
73
+ const sources = new Map();
74
+ for (const item of skins) {
75
+ if (item.document.contract.isDefault !== true)
76
+ continue;
77
+ const target = item.document.contract.targetType;
78
+ if (!target)
79
+ continue;
80
+ const key = target.split('.').pop() ?? target;
81
+ const previous = sources.get(key);
82
+ if (previous) {
83
+ reportDiagnostic(ctx, {
84
+ code: DIAGNOSTIC_CODES.KUI_DUPLICATE_DEFAULT,
85
+ severity: 'error',
86
+ message: `Default KUI skins for "${target}" are duplicated by ${previous} and ${item.skin.file.relPath}.`,
87
+ location: { file: item.skin.file.relPath },
88
+ });
89
+ continue;
90
+ }
91
+ sources.set(key, item.skin.file.relPath);
92
+ result[key] = item.skin.className;
93
+ }
94
+ return result;
95
+ }
96
+ async function collectKUIFiles(sourceDir, resourceDir) {
97
+ const results = [];
98
+ async function walk(directory) {
99
+ let entries;
100
+ try {
101
+ entries = await fs.readdir(directory, { withFileTypes: true });
102
+ }
103
+ catch (error) {
104
+ if (error.code === 'ENOENT')
105
+ return;
106
+ throw error;
107
+ }
108
+ for (const entry of entries) {
109
+ const absolute = path.join(directory, entry.name);
110
+ if (entry.isDirectory()) {
111
+ await walk(absolute);
112
+ }
113
+ else if (entry.isFile() && entry.name.endsWith('.kui.xml')) {
114
+ results.push({
115
+ path: absolute,
116
+ relPath: toPosix(path.relative(resourceDir, absolute)),
117
+ contents: await fs.readFile(absolute, 'utf8'),
118
+ });
119
+ }
120
+ }
121
+ }
122
+ await walk(sourceDir);
123
+ return results.sort((left, right) => left.relPath.localeCompare(right.relPath));
124
+ }
125
+ function reportDiagnostic(ctx, diagnostic) {
126
+ ctx.diagnostics.report(diagnostic);
127
+ const location = diagnostic.location ? `${diagnostic.location.file}: ` : '';
128
+ if (diagnostic.severity === 'error') {
129
+ logger.error(`${location}${diagnostic.message}`);
130
+ }
131
+ else {
132
+ logger.warn(`${location}${diagnostic.message}`);
133
+ }
134
+ }
135
+ function throwIfInputInvalid(ctx) {
136
+ if (!ctx.diagnostics.hasErrors())
137
+ return;
138
+ throw new BuildError('KUI input validation failed.');
139
+ }
140
+ function toPosix(value) {
141
+ return value.split(path.sep).join('/');
142
+ }
143
+ //# sourceMappingURL=compile-kui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-kui.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-kui.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import type { BuildPlugin } from '../pipeline.js';
2
2
  /**
3
3
  * Copies the project's `resource/` directory into the output.
4
4
  *
5
- * - The theme file is skipped — `compile EXML` emits it with the resolved skin
5
+ * - The theme file is skipped — `compile KUI` emits it with the resolved skin
6
6
  * payload, so copying the source version would overwrite it.
7
- * - `.exml` source files are skipped when EXML is enabled, since skins are
8
- * compiled to a JS module and the runtime never reads raw `.exml`.
7
+ * - `.kui.xml` source files are skipped when KUI is enabled, since skins are
8
+ * compiled to a JS module and the runtime never reads raw `.kui.xml`.
9
9
  */
10
10
  export declare function copyAssets(): BuildPlugin;
11
11
  //# sourceMappingURL=copy-assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-assets.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/copy-assets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAkBxC"}
1
+ {"version":3,"file":"copy-assets.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/copy-assets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAkBxC"}
@@ -1,12 +1,13 @@
1
1
  import * as path from 'node:path';
2
2
  import { copyDir, exists } from '../../utils/fs.js';
3
+ import { KUI_THEME_OUTPUT_PATH } from '../project.js';
3
4
  /**
4
5
  * Copies the project's `resource/` directory into the output.
5
6
  *
6
- * - The theme file is skipped — `compile EXML` emits it with the resolved skin
7
+ * - The theme file is skipped — `compile KUI` emits it with the resolved skin
7
8
  * payload, so copying the source version would overwrite it.
8
- * - `.exml` source files are skipped when EXML is enabled, since skins are
9
- * compiled to a JS module and the runtime never reads raw `.exml`.
9
+ * - `.kui.xml` source files are skipped when KUI is enabled, since skins are
10
+ * compiled to a JS module and the runtime never reads raw `.kui.xml`.
10
11
  */
11
12
  export function copyAssets() {
12
13
  return {
@@ -15,13 +16,13 @@ export function copyAssets() {
15
16
  const { project } = ctx;
16
17
  if (!(await exists(project.resourceDir)))
17
18
  return;
18
- const exml = project.config.exml;
19
- const themeName = exml ? path.basename(exml.themeFile) : undefined;
19
+ const ui = project.config.ui;
20
+ const themeName = ui ? path.basename(KUI_THEME_OUTPUT_PATH) : undefined;
20
21
  const dest = path.join(project.outputDir, 'resource');
21
22
  await copyDir(project.resourceDir, dest, name => {
22
23
  if (name === themeName)
23
24
  return false;
24
- if (exml && name.endsWith('.exml'))
25
+ if (ui && name.endsWith('.kui.xml'))
25
26
  return false;
26
27
  return true;
27
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"copy-assets.js","sourceRoot":"","sources":["../../../src/core/plugins/copy-assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,IAAI,EAAE,aAAa;QACnB,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAAE,OAAO;YAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC/C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBACrC,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"copy-assets.js","sourceRoot":"","sources":["../../../src/core/plugins/copy-assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,IAAI,EAAE,aAAa;QACnB,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAAE,OAAO;YAEjD,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC/C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBACrC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAClD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { BuildPlugin } from '../pipeline.js';
2
2
  export { cleanOutput } from './clean-output.js';
3
- export { compileExml } from './compile-exml.js';
3
+ export { compileKUI } from './compile-kui.js';
4
4
  export { compileEngine } from './compile-engine.js';
5
5
  export { compileCustomNamespaces } from './compile-custom-namespaces.js';
6
6
  export { writeComponentCatalog } from './component-catalog.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWlD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,WAAW,EAAE,CAY9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWlD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,WAAW,EAAE,CAY9C"}
@@ -1,5 +1,5 @@
1
1
  import { cleanOutput } from './clean-output.js';
2
- import { compileExml } from './compile-exml.js';
2
+ import { compileKUI } from './compile-kui.js';
3
3
  import { compileEngine } from './compile-engine.js';
4
4
  import { compileCustomNamespaces } from './compile-custom-namespaces.js';
5
5
  import { writeComponentCatalog } from './component-catalog.js';
@@ -8,7 +8,7 @@ import { generateHtml } from './generate-html.js';
8
8
  import { writeManifest } from './manifest.js';
9
9
  import { copyAssets } from './copy-assets.js';
10
10
  export { cleanOutput } from './clean-output.js';
11
- export { compileExml } from './compile-exml.js';
11
+ export { compileKUI } from './compile-kui.js';
12
12
  export { compileEngine } from './compile-engine.js';
13
13
  export { compileCustomNamespaces } from './compile-custom-namespaces.js';
14
14
  export { writeComponentCatalog } from './component-catalog.js';
@@ -29,7 +29,7 @@ export { copyAssets } from './copy-assets.js';
29
29
  export function defaultPlugins() {
30
30
  return [
31
31
  cleanOutput(),
32
- compileExml(),
32
+ compileKUI(),
33
33
  compileEngine(),
34
34
  compileCustomNamespaces(),
35
35
  writeComponentCatalog(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO;QACN,WAAW,EAAE;QACb,WAAW,EAAE;QACb,aAAa,EAAE;QACf,uBAAuB,EAAE;QACzB,qBAAqB,EAAE;QACvB,aAAa,EAAE;QACf,YAAY,EAAE;QACd,aAAa,EAAE;QACf,UAAU,EAAE;KACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO;QACN,WAAW,EAAE;QACb,UAAU,EAAE;QACZ,aAAa,EAAE;QACf,uBAAuB,EAAE;QACzB,qBAAqB,EAAE;QACvB,aAAa,EAAE;QACf,YAAY,EAAE;QACd,aAAa,EAAE;QACf,UAAU,EAAE;KACZ,CAAC;AACH,CAAC"}
@@ -4,7 +4,7 @@ import type { ProjectConfig } from './config.js';
4
4
  */
5
5
  export type BuildMode = 'development' | 'release';
6
6
  /**
7
- * A project-defined EXML namespace (Egret's `xmlns:game="game.*"` convention).
7
+ * A project-defined KUI namespace (Egret's `xmlns:game="game.*"` convention).
8
8
  *
9
9
  * `specifier` is the virtual module specifier used in generated `import`
10
10
  * statements (e.g. `#ns/game`); it is resolved via an HTML import map to the
@@ -60,7 +60,7 @@ export interface ProjectComponent {
60
60
  */
61
61
  readonly name: string;
62
62
  /**
63
- * Complete EXML tag, including the configured namespace prefix.
63
+ * Complete KUI tag, including the configured namespace prefix.
64
64
  */
65
65
  readonly tag: string;
66
66
  /**
@@ -80,15 +80,15 @@ export interface ProjectComponent {
80
80
  */
81
81
  readonly sourceRelative: string;
82
82
  /**
83
- * Absolute EXML skin path.
83
+ * Absolute KUI skin path.
84
84
  */
85
85
  readonly skin: string;
86
86
  /**
87
- * POSIX EXML skin path relative to the project root.
87
+ * POSIX KUI skin path relative to the project root.
88
88
  */
89
89
  readonly skinRelative: string;
90
90
  /**
91
- * Skin class declared by the EXML root.
91
+ * Skin class declared by the KUI root.
92
92
  */
93
93
  readonly skinClass: string;
94
94
  }
@@ -131,20 +131,20 @@ export interface Project {
131
131
  */
132
132
  readonly resourceDir: string;
133
133
  /**
134
- * Absolute path to the project-owned HTML template, when configured.
134
+ * Absolute directory containing authored KUI XML files.
135
135
  */
136
- readonly htmlTemplate?: string;
136
+ readonly uiSourceDir?: string;
137
137
  /**
138
- * Absolute path to the theme file, when EXML is enabled.
138
+ * Absolute path to the project-owned HTML template, when configured.
139
139
  */
140
- readonly themeFile?: string;
140
+ readonly htmlTemplate?: string;
141
141
  /**
142
142
  * `@kurot/*` engine packages this project depends on (excluding the CLI).
143
143
  * Each is bundled into its own chunk and wired up via an HTML import map.
144
144
  */
145
145
  readonly enginePackages: string[];
146
146
  /**
147
- * Project-defined EXML namespaces from manual barrels and the generated
147
+ * Project-defined KUI namespaces from manual barrels and the generated
148
148
  * reusable-component entry.
149
149
  */
150
150
  readonly customNamespaces: CustomNamespace[];
@@ -164,6 +164,10 @@ export declare const OUTPUT_DIRS: {
164
164
  readonly development: "bin-debug";
165
165
  readonly release: "bin-release";
166
166
  };
167
+ /**
168
+ * Fixed output path for the generated runtime theme manifest.
169
+ */
170
+ export declare const KUI_THEME_OUTPUT_PATH = "resource/default.thm.json";
167
171
  /**
168
172
  * Loads and resolves the project rooted at the current working directory.
169
173
  *
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAID;;GAEG;AACH,eAAO,MAAM,WAAW;;;CAAgE,CAAC;AAEzF;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAsCnE"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAID;;GAEG;AACH,eAAO,MAAM,WAAW;;;CAAgE,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAsCnE"}
@@ -8,6 +8,10 @@ const NAMESPACE_SPECIFIER_PREFIX = '#ns/';
8
8
  * Base output folder names, used by both build and clean.
9
9
  */
10
10
  export const OUTPUT_DIRS = { development: 'bin-debug', release: 'bin-release' };
11
+ /**
12
+ * Fixed output path for the generated runtime theme manifest.
13
+ */
14
+ export const KUI_THEME_OUTPUT_PATH = 'resource/default.thm.json';
11
15
  /**
12
16
  * Loads and resolves the project rooted at the current working directory.
13
17
  *
@@ -22,10 +26,10 @@ export async function loadProject(mode) {
22
26
  : path.resolve(root, config.output.dir);
23
27
  const componentConvention = resolveComponentConvention(root, config);
24
28
  const components = await discoverComponents(root, componentConvention);
25
- const customNamespaces = resolveCustomNamespaces(root, config.exml?.namespaces);
29
+ const customNamespaces = resolveCustomNamespaces(root, config.ui?.namespaces);
26
30
  if (componentConvention) {
27
31
  if (customNamespaces.some(namespace => namespace.prefix === componentConvention.prefix)) {
28
- throw new ConfigError(`Invalid config: exml.components.namespace '${componentConvention.prefix}' conflicts with exml.namespaces.${componentConvention.prefix}`);
32
+ throw new ConfigError(`Invalid config: ui.components.namespace '${componentConvention.prefix}' conflicts with ui.namespaces.${componentConvention.prefix}`);
29
33
  }
30
34
  customNamespaces.push({
31
35
  prefix: componentConvention.prefix,
@@ -41,8 +45,8 @@ export async function loadProject(mode) {
41
45
  srcDir: path.resolve(root, 'src'),
42
46
  outputDir,
43
47
  resourceDir: path.resolve(root, 'resource'),
48
+ uiSourceDir: config.ui ? path.resolve(root, config.ui.sourceDir) : undefined,
44
49
  htmlTemplate: config.html ? path.resolve(root, config.html.template) : undefined,
45
- themeFile: config.exml ? path.resolve(root, config.exml.themeFile) : undefined,
46
50
  enginePackages: detectEnginePackages(root),
47
51
  customNamespaces,
48
52
  componentConvention,
@@ -50,7 +54,7 @@ export async function loadProject(mode) {
50
54
  };
51
55
  }
52
56
  /**
53
- * Resolves `config.exml.namespaces` into `CustomNamespace` entries with
57
+ * Resolves `config.ui.namespaces` into `CustomNamespace` entries with
54
58
  * absolute barrel paths.
55
59
  */
56
60
  function resolveCustomNamespaces(root, namespaces) {
@@ -72,16 +76,16 @@ function resolveCustomNamespaces(root, namespaces) {
72
76
  * @throws {ConfigError} If either configured directory escapes its required project root.
73
77
  */
74
78
  function resolveComponentConvention(root, config) {
75
- const components = config.exml?.components;
79
+ const components = config.ui?.components;
76
80
  if (!components)
77
81
  return undefined;
78
82
  const sourceDir = path.resolve(root, components.sourceDir);
79
83
  const skinDir = path.resolve(root, components.skinDir);
80
84
  if (!isWithin(path.resolve(root, 'src'), sourceDir)) {
81
- throw new ConfigError('Invalid config: exml.components.sourceDir must be inside the project src directory');
85
+ throw new ConfigError('Invalid config: ui.components.sourceDir must be inside the project src directory');
82
86
  }
83
87
  if (!isWithin(path.resolve(root, 'resource'), skinDir)) {
84
- throw new ConfigError('Invalid config: exml.components.skinDir must be inside the project resource directory');
88
+ throw new ConfigError('Invalid config: ui.components.skinDir must be inside the project resource directory');
85
89
  }
86
90
  return {
87
91
  prefix: components.namespace,
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ export async function scaffoldProject(name, template) {
32
32
  if (template === 'game') {
33
33
  await Promise.all([
34
34
  ensureDir(path.join(destDir, 'src/components')),
35
- ensureDir(path.join(destDir, 'resource/skins/components')),
35
+ ensureDir(path.join(destDir, 'resource/ui/components')),
36
36
  ]);
37
37
  }
38
38
  const pkgPath = path.join(destDir, 'package.json');
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/core/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/core/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AASvE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAC;AAOpD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,QAAsB;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,kBAAkB,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,kBAAkB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,GAAG,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;SACvD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAgB,CAAC;QAC3E,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;QAC1C,MAAM,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CAAC,IAAwC,EAAE,UAAkB;IACvF,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;QACjC,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACF,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,8BAA8B,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;YACxD,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7C,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAwB,CAAC;IACnF,OAAO,GAAG,CAAC,OAAO,CAAC;AACpB,CAAC"}
package/dist/define.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export type { ProjectConfig, BuildTarget, StageConfig, ExmlConfig, ComponentsConfig, OutputConfig, } from './core/config.js';
1
+ export type { ProjectConfig, BuildTarget, StageConfig, KUIConfig, ComponentsConfig, OutputConfig, } from './core/config.js';
2
2
  //# sourceMappingURL=define.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,GACZ,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,YAAY,GACZ,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kurot/cli",
3
- "version": "1.2.0",
4
- "description": "Kurot CLI - build tool for the Kurot game engine",
3
+ "version": "2.0.0",
4
+ "description": "Kurot CLI - build tool for Kurot Editor KUI XML workflows",
5
5
  "author": "Kelvin <kyia.x52@gmail.com>",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -27,6 +27,7 @@
27
27
  "kurot": "tsx src/index.ts"
28
28
  },
29
29
  "dependencies": {
30
+ "@kurot/ui-document": "^0.6.0",
30
31
  "commander": "^13.0.0",
31
32
  "esbuild": "^0.25.0"
32
33
  },
@@ -40,7 +41,8 @@
40
41
  "kurot",
41
42
  "cli",
42
43
  "game-engine",
43
- "exml",
44
+ "kui",
45
+ "xml",
44
46
  "typescript"
45
47
  ],
46
48
  "repository": {
@@ -10,12 +10,12 @@ export default {
10
10
  orientation: 'auto',
11
11
  frameRate: 60,
12
12
  },
13
- exml: {
14
- themeFile: 'resource/default.thm.json',
13
+ ui: {
14
+ sourceDir: 'resource/ui',
15
15
  components: {
16
16
  namespace: 'game',
17
17
  sourceDir: 'src/components',
18
- skinDir: 'resource/skins/components',
18
+ skinDir: 'resource/ui/components',
19
19
  },
20
20
  },
21
21
  };
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Skin xmlns="https://kurot.dev/ui/1" id="skins.ButtonSkin" version="2" target="kui.Button" default="true">
3
+ <contract>
4
+ <parts>
5
+ <part name="iconDisplay" node="iconDisplay" />
6
+ <part name="labelDisplay" node="labelDisplay" />
7
+ </parts>
8
+ <states>
9
+ <state name="disabled">
10
+ <set target="node_image1" property="alpha" value="0.5" />
11
+ </state>
12
+ <state name="down">
13
+ <set target="node_image1" property="source" value="@resource:image:button_down_png" />
14
+ </state>
15
+ <state name="up">
16
+ </state>
17
+ </states>
18
+ </contract>
19
+ <Group id="root" minHeight="50" minWidth="100">
20
+ <Image id="node_image1" height="100%" scale9Grid="1,3,8,8" source="@resource:image:button_up_png" width="100%" />
21
+ <Label id="labelDisplay" bottom="8" left="8" right="8" size="20" textAlign="center" textColor="16777215" top="8" verticalAlign="middle" />
22
+ <Image id="iconDisplay" horizontalCenter="0" verticalCenter="0" />
23
+ </Group>
24
+ </Skin>
@@ -0,0 +1,45 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Skin xmlns="https://kurot.dev/ui/1" id="skins.CheckBoxSkin" version="2" target="kui.CheckBox" default="true">
3
+ <contract>
4
+ <parts>
5
+ <part name="labelDisplay" node="labelDisplay" />
6
+ </parts>
7
+ <states>
8
+ <state name="disabled">
9
+ <set target="node_image3" property="alpha" value="0.5" />
10
+ </state>
11
+ <state name="disabledAndSelected">
12
+ <set target="node_image3" property="source" value="@resource:image:checkbox_select_disabled_png" />
13
+ </state>
14
+ <state name="down">
15
+ <set target="node_image3" property="alpha" value="0.7" />
16
+ </state>
17
+ <state name="downAndSelected">
18
+ <set target="node_image3" property="source" value="@resource:image:checkbox_select_down_png" />
19
+ </state>
20
+ <state name="up">
21
+ </state>
22
+ <state name="upAndSelected">
23
+ <set target="node_image3" property="source" value="@resource:image:checkbox_select_up_png" />
24
+ </state>
25
+ </states>
26
+ </contract>
27
+ <Group id="root">
28
+ <Group id="node_group1" height="100%" width="100%">
29
+ <properties>
30
+ <property name="layout">
31
+ <object>
32
+ <value name="properties">
33
+ <object>
34
+ <value name="verticalAlign" value="middle" />
35
+ </object>
36
+ </value>
37
+ <value name="type" value="kui.HorizontalLayout" />
38
+ </object>
39
+ </property>
40
+ </properties>
41
+ <Image id="node_image3" alpha="1" fillMode="scale" source="@resource:image:checkbox_unselect_png" />
42
+ <Label id="labelDisplay" fontFamily="Tahoma" size="20" textAlign="center" textColor="7368816" verticalAlign="middle" />
43
+ </Group>
44
+ </Group>
45
+ </Skin>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Skin xmlns="https://kurot.dev/ui/1" id="skins.ComboBoxSkin" version="2" target="kui.ComboBox" default="true">
3
+ <contract>
4
+ <parts>
5
+ <part name="dropDown" node="dropDown" />
6
+ <part name="labelDisplay" node="labelDisplay" />
7
+ <part name="list" node="list" />
8
+ </parts>
9
+ <states>
10
+ <state name="disabled">
11
+ <set target="node_rect1" property="fillColor" value="1450302" />
12
+ <set target="node_rect1" property="strokeColor" value="4871257" />
13
+ <set target="labelDisplay" property="textColor" value="6516338" />
14
+ </state>
15
+ <state name="normal">
16
+ </state>
17
+ <state name="open">
18
+ <set target="node_rect1" property="fillColor" value="1450302" />
19
+ <set target="node_rect1" property="strokeColor" value="7101671" />
20
+ <set target="node_label2" property="textColor" value="7101671" />
21
+ </state>
22
+ </states>
23
+ </contract>
24
+ <Group id="root" minHeight="36" minWidth="100">
25
+ <Rect id="node_rect1" fillColor="1710638" height="36" strokeColor="996448" strokeWeight="1" width="100%" />
26
+ <Label id="labelDisplay" height="36" left="10" right="36" size="14" textColor="14673641" top="0" verticalAlign="middle" />
27
+ <Label id="node_label2" height="36" right="4" size="10" text="▼" textAlign="center" textColor="6516338" top="0" verticalAlign="middle" width="24" />
28
+ <Scroller id="dropDown" height="180" left="0" right="0" top="36" visible="false">
29
+ <List id="list" height="180" width="100%" />
30
+ </Scroller>
31
+ </Group>
32
+ </Skin>