@kurot/cli 3.4.0 → 3.6.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 (58) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +49 -8
  3. package/dist/core/kui/kui-parser.d.ts.map +1 -1
  4. package/dist/core/kui/kui-parser.js +2 -0
  5. package/dist/core/kui/kui-parser.js.map +1 -1
  6. package/dist/core/kui/validate-flip-properties.d.ts +7 -0
  7. package/dist/core/kui/validate-flip-properties.d.ts.map +1 -0
  8. package/dist/core/kui/validate-flip-properties.js +33 -0
  9. package/dist/core/kui/validate-flip-properties.js.map +1 -0
  10. package/dist/core/plugins/compile-custom-namespaces.js +1 -1
  11. package/dist/core/plugins/compile-custom-namespaces.js.map +1 -1
  12. package/dist/core/plugins/compile-engine.js +3 -3
  13. package/dist/core/plugins/compile-engine.js.map +1 -1
  14. package/dist/core/plugins/copy-assets.d.ts +2 -0
  15. package/dist/core/plugins/copy-assets.d.ts.map +1 -1
  16. package/dist/core/plugins/copy-assets.js +3 -1
  17. package/dist/core/plugins/copy-assets.js.map +1 -1
  18. package/dist/utils/fs.d.ts +7 -1
  19. package/dist/utils/fs.d.ts.map +1 -1
  20. package/dist/utils/fs.js +10 -3
  21. package/dist/utils/fs.js.map +1 -1
  22. package/docs/ai-context.md +40 -10
  23. package/docs/architecture.md +7 -1
  24. package/docs/default-ui-skins.md +123 -0
  25. package/docs/game-template.md +28 -4
  26. package/docs/label-text-layout.md +3 -1
  27. package/docs/text-components.md +4 -1
  28. package/package.json +2 -2
  29. package/templates/game/resource/assets/ui/kui/kui.json +240 -0
  30. package/templates/game/resource/assets/ui/kui/kui.png +0 -0
  31. package/templates/game/resource/config/style.json +26 -4
  32. package/templates/game/resource/default.res.json +70 -3
  33. package/templates/game/resource/ui/skins/ButtonSkin.kui.xml +4 -4
  34. package/templates/game/resource/ui/skins/CheckBoxSkin.kui.xml +4 -4
  35. package/templates/game/resource/ui/skins/CloseButtonSkin.kui.xml +4 -0
  36. package/templates/game/resource/ui/skins/ComboBoxSkin.kui.xml +5 -5
  37. package/templates/game/resource/ui/skins/HScrollBarSkin.kui.xml +1 -1
  38. package/templates/game/resource/ui/skins/HSliderSkin.kui.xml +3 -3
  39. package/templates/game/resource/ui/skins/ItemRendererSkin.kui.xml +3 -3
  40. package/templates/game/resource/ui/skins/PanelSkin.kui.xml +5 -6
  41. package/templates/game/resource/ui/skins/ProgressBarSkin.kui.xml +4 -4
  42. package/templates/game/resource/ui/skins/RadioButtonSkin.kui.xml +4 -4
  43. package/templates/game/resource/ui/skins/TextInputSkin.kui.xml +4 -4
  44. package/templates/game/resource/ui/skins/ToggleButtonSkin.kui.xml +3 -3
  45. package/templates/game/resource/ui/skins/ToggleSwitchSkin.kui.xml +3 -3
  46. package/templates/game/resource/ui/skins/VScrollBarSkin.kui.xml +1 -1
  47. package/templates/game/resource/ui/skins/VSliderSkin.kui.xml +3 -3
  48. package/templates/game/src/Main.ts +1 -1
  49. package/templates/game/template/web/index.html +117 -34
  50. package/templates/game/template/web/logo.png +0 -0
  51. package/templates/game/resource/assets/ui/eui/eui.json +0 -24
  52. package/templates/game/resource/assets/ui/eui/eui.png +0 -0
  53. package/templates/game/resource/ui/skins/GroupSkin.kui.xml +0 -4
  54. package/templates/game/resource/ui/skins/ImageSkin.kui.xml +0 -4
  55. package/templates/game/resource/ui/skins/LabelSkin.kui.xml +0 -4
  56. package/templates/game/resource/ui/skins/ListSkin.kui.xml +0 -7
  57. package/templates/game/resource/ui/skins/TabBarSkin.kui.xml +0 -5
  58. package/templates/game/resource/ui/skins/ViewStackSkin.kui.xml +0 -4
package/CHANGELOG.md CHANGED
@@ -7,6 +7,89 @@ and CLI command/configuration APIs follow [Semantic Versioning](https://semver.o
7
7
  The early KUI XML contract follows the pre-1.0 `ui-document` kernel; authored
8
8
  format changes are documented explicitly in each release.
9
9
 
10
+ ## 3.6.0 — 2026-10-10
11
+
12
+ Prepared for publication; not yet published. Latest verified npm release is
13
+ 3.5.0. Core 2.5.0 publication and npm package download are verified; new game
14
+ scaffolds resolve Core ^2.5.0, satisfying this release's prerequisite.
15
+
16
+ ### Changed
17
+
18
+ - Use symmetric neutral padding for default Button captions/icons and enable
19
+ Panel title middle alignment. Keep the 2-pixel pressed offset. The supporting
20
+ Core 2.5.0 centers single-line visible ink and retains stable input and
21
+ multiline baselines; the source preview includes both changes.
22
+
23
+ - Replace the game template's EUI atlas with Kurot-owned rounded, blue KUI
24
+ textures and XML skins, including selected/pressed/disabled states, shared
25
+ text colors, resource-default nine-slice grids and a dedicated panel close
26
+ button. Keep scroll bars hidden while retaining scrolling. Remove six unused
27
+ container/text/image Skin placeholders; compose those nodes directly in XML.
28
+ Existing projects retain their own resources. Add a native XML gallery to
29
+ examples/game and reproducible private SVG-to-atlas tooling.
30
+ - Generate the KUI atlas at 2× (512×512, sheet `resolution: 2`) while preserving
31
+ XML sizes and logical nine-slice grids. This template needs Core ^2.5.0;
32
+ publish Core 2.5.0 before this CLI refresh.
33
+ Provide an isolated source preview without modifying application registry locks.
34
+ - Refresh the game template's mascot logo and introduce a "Made with Kurot"
35
+ brand splash with a playful entrance, looping hops and sways, repeating sparkles
36
+ and a soft blue glow.
37
+ Resource progress belongs to the game's Preloader; the HTML splash has no
38
+ loading text or progress indicator and adds no minimum wait. Fit portrait and
39
+ landscape viewports and stop animations under reduced motion. Existing project
40
+ HTML is unchanged.
41
+
42
+ ### Fixed
43
+
44
+ - Preserve engine and reusable component constructor names in development
45
+ bundles as well as release bundles. Self-referencing classes such as Scroller
46
+ otherwise become `_Scroller`, preventing conventional default Theme lookup.
47
+ - Omit empty runtime asset directory trees after filtering compiled KUI sources,
48
+ rather than emitting an empty `resource/ui` hierarchy. Runtime files inside UI
49
+ directories, generated theme JSON and template scaffold directories are preserved.
50
+ No engine API, configuration, dependency or authored project migration is required.
51
+
52
+ ### Compatibility
53
+
54
+ - CLI command/configuration APIs and KUI format remain unchanged. The ordinary
55
+ dependency remains published ui-document ^0.13.0; CLI gains no Core/UI/Atlas
56
+ dependency. Existing projects keep their own skins, resource keys and HTML.
57
+ - New game scaffolds require Core ^2.5.0 for the 2× skin kit. `create` resolves
58
+ registry SDK versions; the template placeholders stay `latest`. Publish Core
59
+ before CLI, then install/rebuild projects that explicitly adopt the new skins.
60
+ - UI/Game/document/runtime/Atlas need no release. Adopting only the CLI build
61
+ fixes requires updating the project's CLI installation/lock and rebuilding.
62
+
63
+ ### Verification — 2026-10-10
64
+
65
+ - CLI build and all 112 unit tests pass against published document 0.13.0;
66
+ Core 2.5.0 build and all 890 unit tests also pass.
67
+ - Package dry-run verifies the 3.6.0 manifest, default XML skins, 2× atlas,
68
+ mascot logo, public documentation and release notes; the old EUI atlas is absent.
69
+ - The native isolated preview passed strict development/release builds with
70
+ checkout Core and registry UI/Game/document. Original app locks remain unchanged.
71
+ - Registry scaffolding generates Core ^2.5.0, UI ^3.4.0, CLI ^3.6.0 and the 2×
72
+ atlas. Published Core 2.5.0 downloads through npm pack with matching integrity.
73
+
74
+ ## 3.5.0 — 2026-10-09
75
+
76
+ Published; verified on npm on 2026-10-09.
77
+
78
+ ### Added
79
+
80
+ Center flip attributes and state overrides now compile with strict boolean validation, including CLI-only controls. Nonvisual Skin roots reject flags. Requires ui-document ^0.13.0; games using flips require Core 2.4/UI 3.4.
81
+
82
+ See [centered flips](../../docs/centered-flips.md) for semantics and adoption.
83
+ Dependency installation and pnpm lock now resolve published ui-document 0.13.0
84
+ without local overrides; frozen installation reproduces the published dependency baseline.
85
+
86
+ ### Verification
87
+
88
+ Frozen registry installation, build and all 102 unit tests pass against
89
+ published ui-document 0.13.0, including flags, states, percentages, malformed
90
+ booleans and nonvisual Skin-root rejection. The initial source trial had one
91
+ resource-watch timeout; its reruns and this full registry run pass.
92
+
10
93
  ## 3.4.0 — 2026-10-08
11
94
 
12
95
  ### Added
package/README.md CHANGED
@@ -1,9 +1,15 @@
1
1
  # @kurot/cli
2
2
 
3
+ **3.6.0 is prepared for publication, not yet published.** Latest verified npm
4
+ release: 3.5.0. It adds the rounded 2× KUI game skin kit and mascot brand splash,
5
+ and fixes development Theme lookup and empty runtime asset directories.
6
+ Core 2.5.0 publication and package download are verified; CLI's release
7
+ prerequisite is satisfied. The dependency/lock remains published ui-document 0.13.0.
8
+
3
9
  Build tooling for the Kurot UI Editor workflow. It uses esbuild, emits ES2022
4
10
  ESM, and compiles canonical KUI XML skins into runtime theme modules.
5
11
 
6
- > **Current version: 3.4.0 (prepared; not yet published).** Requires published `@kurot/ui-document@^0.12.0`
12
+ > **Current version: 3.6.0 (pending publication).** Requires `@kurot/ui-document@^0.13.0`
7
13
  > and Node.js 20 or later. The CLI runs only at build time.
8
14
 
9
15
  > **Release scope:** The 3.x line is dedicated to Kurot Editor integration.
@@ -24,6 +30,17 @@ game template. Existing projects are not rewritten. See [game template setup](do
24
30
  Version 3.3.0 compiles shared Label presets from `style.json.labels` into native
25
31
  properties, with local and Skin state fields taking priority. See [Label presets](#label-presets-in-330).
26
32
 
33
+ ## Centered flips in 3.5.0
34
+
35
+ Compile independent `flipX`/`flipY` booleans on display nodes and named Skin
36
+ states, for example `flipY="true" flipY.down="false"`. The compiler rejects
37
+ malformed booleans and flags on the nonvisual Skin root. Percent dimensions and
38
+ negative scale retain their existing contracts; no authored XML is converted.
39
+
40
+ The dependency/lock uses published ui-document 0.13.0. Apps rendering these
41
+ flags need published Core 2.4.0/UI 3.4.0; CLI-built skins run directly through
42
+ UI. CLI 3.5.0 is published.
43
+
27
44
  ## BitmapLabel and RichLabel in 3.4.0
28
45
 
29
46
  Compile BitmapLabel with a configured `font` resource, and RichLabel with
@@ -33,7 +50,8 @@ children or Skin parts. New native text fields are validated before output,
33
50
  and percentage-looking text such as `100%` remains literal.
34
51
 
35
52
  Rendering these new tags requires UI `^3.3.0` and Core `^2.3.0` in the app;
36
- Core 2.3.1 is recommended for blank rich-text line metrics. Existing controls
53
+ these are the original native API minimums. Current UI 3.4.0 requires Core
54
+ `^2.4.0`, which includes the Core 2.3.1 blank rich-text line correction. Existing controls
37
55
  and templates do not require automatic upgrades or migrations. See
38
56
  [text component compilation](docs/text-components.md).
39
57
 
@@ -52,6 +70,7 @@ in KUI XML:
52
70
  The compiler emits the policy, base size and state overrides unchanged. UI
53
71
  derives the drawing size after layout validation. Rendering this capability
54
72
  requires `@kurot/ui@^3.1.0` and `@kurot/core@^2.1.0` in the application.
73
+ These are the original fitting API minimums; current UI 3.4.0 requires Core ^2.4.0.
55
74
  Explicit `multiline="false"` means one unwrapped first line; remove it or set
56
75
  it to true for text intended to wrap. Files are not migrated automatically.
57
76
  See the [compilation contract](docs/label-text-layout.md) and
@@ -59,10 +78,12 @@ See the [compilation contract](docs/label-text-layout.md) and
59
78
 
60
79
  ## Usage
61
80
 
62
- The CLI does not require a global install.
81
+ The CLI does not require a global install. After CLI 3.6.0 is
82
+ published, use the versions below. New game scaffolds need Core ^2.5.0 for the
83
+ 2× skin kit; existing projects keep their own installed SDKs and resources.
63
84
 
64
85
  ```bash
65
- npx @kurot/cli@3.4.0 create my-game
86
+ npx @kurot/cli@3.6.0 create my-game
66
87
  cd my-game
67
88
  pnpm install
68
89
  pnpm dev
@@ -70,7 +91,7 @@ pnpm dev
70
91
 
71
92
  Scaffolded projects expose `build`, `dev`, and `clean` scripts. For an
72
93
  Editor-managed KUI XML project, install the package with
73
- `pnpm add -D @kurot/cli@^3.4.0`. Existing EXML projects should keep their current
94
+ `pnpm add -D @kurot/cli@^3.6.0` after publication. Existing EXML projects should keep their current
74
95
  1.3.x dependency.
75
96
 
76
97
  ## Commands
@@ -87,6 +108,19 @@ resource loading, and an editable HTML template. Fonts load before creating UI;
87
108
  translations register after preload. The `empty` template contains a minimal
88
109
  `Sprite` application without UI/style/language dependencies.
89
110
 
111
+ CLI 3.6.0 supplies rounded Kurot-owned textures,
112
+ native `.kui.xml` component states and resource-default nine-slice grids under
113
+ `resource/assets/ui/kui`. See [default KUI skins](docs/default-ui-skins.md).
114
+ Registry CLI 3.5.0 still contains the previous atlas.
115
+ The default Button uses symmetric padding and Panel titles use middle alignment.
116
+ The source preview also uses Core 2.5.0's multilingual ink centering;
117
+ inputs and multiline text retain stable baselines.
118
+ The new 2× atlas requires Core ^2.5.0; publish Core 2.5.0 before CLI 3.6.0.
119
+
120
+ The CLI 3.6.0 game-template refresh introduces a "Made with Kurot" brand splash
121
+ with a playful mascot entrance, looping hops and sparkles. It supports reduced
122
+ motion and applies to newly created projects; see [HTML brand splash](docs/game-template.md#html-brand-splash).
123
+
90
124
  ### `kurot build`
91
125
 
92
126
  ```bash
@@ -99,6 +133,13 @@ Development output is written to `bin-debug/`. Release output is written to
99
133
  project namespace, theme, and application code are separate ESM chunks joined
100
134
  by the generated HTML import map.
101
135
 
136
+ The CLI 3.6.0 asset-copy correction omits empty runtime directory trees;
137
+ registry CLI 3.5.0 does not include it. With KUI enabled, authored
138
+ `.kui.xml` files are compiled into the theme chunk and excluded from `resource/`;
139
+ skin-only directories such as `resource/ui` therefore do not appear in output.
140
+ Images, JSON and other runtime files inside those directories are still copied.
141
+ The generated `resource/default.thm.json` remains available to theme loading.
142
+
102
143
  `--diagnostics json` reserves stdout for one machine-readable build result.
103
144
  Release builds apply strict diagnostic policy by default.
104
145
 
@@ -187,7 +228,7 @@ use `property.state` on the affected node, so internal graphics remain unnamed.
187
228
  Image sources use their resource key directly, for example
188
229
  `source="button_up_png"`.
189
230
 
190
- Version 3.4.0 uses published `@kurot/ui-document@^0.12.0` and retains its literal-string XML rules.
231
+ Current CLI 3.6.0 uses published `@kurot/ui-document@^0.13.0` and retains its literal-string XML rules.
191
232
  For example, `<Label text="100.80" text.down="false" size="48" />` compiles
192
233
  the exact strings `100.80` and `false`, while the font size stays numeric.
193
234
  String properties no longer add or remove backslash type escapes. Remove old
@@ -273,7 +314,7 @@ KUI builds validate `resource/default.res.json` and inherit image or sheet-frame
273
314
  `scale9grid` values into compiled `Image.scale9Grid` when XML does not set one.
274
315
  Local grids and `scale9Grid="false"` take priority. Development mode rebuilds
275
316
  skins after manifest edits; a malformed manifest leaves the last good Skin
276
- bundle in place. The current CLI requires `@kurot/ui-document@^0.12.0`.
317
+ bundle in place. The current CLI requires `@kurot/ui-document@^0.13.0`.
277
318
 
278
319
  Sheet `subkeys` must be an object-valued frame map. Refresh old sheets in the
279
320
  Editor before upgrading a KUI project; string-valued subkeys now fail the build.
@@ -325,6 +366,6 @@ than selecting a different preset. Missing presets, unsupported selection or
325
366
  invalid configuration fail explicitly. Expansion runs after resource defaults
326
367
  and before color resolution. It does not load fonts or measure text.
327
368
 
328
- Version 3.4.0 uses published ui-document 0.12.0 without local overrides. CLI
369
+ Current CLI 3.6.0 uses published ui-document 0.13.0 without local overrides. CLI
329
370
  3.2.1 does not include this feature. Existing projects are not migrated.
330
371
  See [the shared contract](../ui-document/docs/project-styles.md).
@@ -1 +1 @@
1
- {"version":3,"file":"kui-parser.d.ts","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAuC,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,KAAK,EAIX,MAAM,EAIN,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD;;GAEG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,GAAE,SAAS,eAAe,EAAO,EACjD,SAAS,GAAE,SAAS,qBAAqB,EAAO,EAChD,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,UAAU,CAAC,EAAE,YAAY,GACvB,MAAM,CAOR"}
1
+ {"version":3,"file":"kui-parser.d.ts","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAuC,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,KAAK,EAIX,MAAM,EAIN,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD;;GAEG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,GAAE,SAAS,eAAe,EAAO,EACjD,SAAS,GAAE,SAAS,qBAAqB,EAAO,EAChD,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,UAAU,CAAC,EAAE,YAAY,GACvB,MAAM,CAQR"}
@@ -1,5 +1,6 @@
1
1
  import { isUIAssetReference, isUIDesignTokenReference, isUIResourceReference, isSyntheticNodeId, parseUIDocument, resolveUIResourceDefaults, resolveUIStyleColors, resolveUILabelStyles, } from '@kurot/ui-document';
2
2
  import { localName, lookupComponent } from './registry.js';
3
+ import { validateFlipProperties } from './validate-flip-properties.js';
3
4
  import { validateTextComponents } from './validate-text-components.js';
4
5
  /**
5
6
  * Parses a KUI Skin document into the existing skin code-generation IR.
@@ -7,6 +8,7 @@ import { validateTextComponents } from './validate-text-components.js';
7
8
  export function parseKUISkin(source, className, customNamespaces = [], resources = [], colors, styleSheet) {
8
9
  const document = resolveUIStyleColors(resolveUILabelStyles(resolveUIResourceDefaults(parseUIDocument(source), resources), styleSheet), colors ?? styleSheet?.colors ?? {});
9
10
  validateTextComponents(document);
11
+ validateFlipProperties(document);
10
12
  return new KUIParseContext(source, document, className ?? document.id, customNamespaces).parse();
11
13
  }
12
14
  class KUIParseContext {
@@ -1 +1 @@
1
- {"version":3,"file":"kui-parser.js","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kui-parser.js","sourceRoot":"","sources":["../../../src/core/kui/kui-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { UIDocument } from '@kurot/ui-document';
2
+ /**
3
+ * Centered flips are boolean display-node properties, including named states.
4
+ * The synthetic Skin root and descriptor objects are not display objects.
5
+ */
6
+ export declare function validateFlipProperties(document: UIDocument): void;
7
+ //# sourceMappingURL=validate-flip-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-flip-properties.d.ts","sourceRoot":"","sources":["../../../src/core/kui/validate-flip-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,oBAAoB,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,CA+BjE"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Centered flips are boolean display-node properties, including named states.
3
+ * The synthetic Skin root and descriptor objects are not display objects.
4
+ */
5
+ export function validateFlipProperties(document) {
6
+ function check(name, value, path) {
7
+ if ((name === 'flipX' || name === 'flipY') && typeof value !== 'boolean') {
8
+ throw new Error(`Invalid centered flip "${path}": expected a boolean.`);
9
+ }
10
+ }
11
+ function visit(node) {
12
+ for (const [name, value] of Object.entries(node.properties)) {
13
+ check(name, value, `${node.id}.${name}`);
14
+ }
15
+ for (const child of node.children) {
16
+ visit(child);
17
+ }
18
+ }
19
+ visit(document.root);
20
+ if ('flipX' in document.root.properties || 'flipY' in document.root.properties) {
21
+ throw new Error('Centered flips belong to display nodes, not the Skin root.');
22
+ }
23
+ for (const definition of Object.values(document.contract.states)) {
24
+ for (const override of definition.overrides) {
25
+ if (override.targetId === document.root.id &&
26
+ (override.property === 'flipX' || override.property === 'flipY')) {
27
+ throw new Error('Centered flips belong to display nodes, not the Skin root.');
28
+ }
29
+ check(override.property, override.value, `${override.targetId}.${override.property}`);
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=validate-flip-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-flip-properties.js","sourceRoot":"","sources":["../../../src/core/kui/validate-flip-properties.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAoB;IAC1D,SAAS,KAAK,CAAC,IAAY,EAAE,KAAc,EAAE,IAAY;QACxD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,wBAAwB,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IAED,SAAS,KAAK,CAAC,IAAY;QAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,KAAK,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC7C,IACC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtC,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,EAC/D,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC/E,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -81,7 +81,7 @@ async function bundleNamespace(project, ns, entry, jsDir, ctx) {
81
81
  target: 'es2022',
82
82
  minify,
83
83
  // Convention-based Theme mappings use the exported component class name.
84
- keepNames: minify,
84
+ keepNames: true,
85
85
  metafile: true,
86
86
  logLevel: 'warning',
87
87
  external: externalFor(project, ns),
@@ -1 +1 @@
1
- {"version":3,"file":"compile-custom-namespaces.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-custom-namespaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-custom-namespaces.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-custom-namespaces.ts"],"names":[],"mappings":"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"}
@@ -59,9 +59,9 @@ async function bundlePackage(project, pkg, stubDir, jsDir, minify) {
59
59
  platform: 'browser',
60
60
  target: 'es2022',
61
61
  minify,
62
- // Theme resolves default skins by constructor.name; release minification
63
- // must preserve that runtime contract.
64
- keepNames: minify,
62
+ // Theme lookup also needs original names when development bundling
63
+ // renames a self-referencing class expression.
64
+ keepNames: true,
65
65
  metafile: true,
66
66
  logLevel: 'warning',
67
67
  external: project.enginePackages.filter(p => p !== pkg),
@@ -1 +1 @@
1
- {"version":3,"file":"compile-engine.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-engine.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-engine.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ import type { BuildPlugin } from '../pipeline.js';
6
6
  * payload, so copying the source version would overwrite it.
7
7
  * - `.kui.xml` source files are skipped when KUI is enabled, since skins are
8
8
  * compiled to a JS module and the runtime never reads raw `.kui.xml`.
9
+ * - Empty directory trees are omitted, including directories containing only
10
+ * excluded KUI sources. Runtime files remain eligible regardless of directory.
9
11
  */
10
12
  export declare function copyAssets(): BuildPlugin;
11
13
  //# 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":"AAGA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAyBxC"}
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;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,WAAW,CA8BxC"}
@@ -8,6 +8,8 @@ import { KUI_THEME_OUTPUT_PATH } from '../project.js';
8
8
  * payload, so copying the source version would overwrite it.
9
9
  * - `.kui.xml` source files are skipped when KUI is enabled, since skins are
10
10
  * compiled to a JS module and the runtime never reads raw `.kui.xml`.
11
+ * - Empty directory trees are omitted, including directories containing only
12
+ * excluded KUI sources. Runtime files remain eligible regardless of directory.
11
13
  */
12
14
  export function copyAssets() {
13
15
  return {
@@ -28,7 +30,7 @@ export function copyAssets() {
28
30
  if (ui && name.endsWith('.kui.xml'))
29
31
  return false;
30
32
  return true;
31
- });
33
+ }, { preserveEmptyDirectories: false });
32
34
  },
33
35
  };
34
36
  }
@@ -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;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,IAAI,EAAE,aAAa;QAEnB;;WAEG;QACH,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YAExB,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;YAEtD,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;gBAElD,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;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO;QACN,IAAI,EAAE,aAAa;QAEnB;;WAEG;QACH,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YAExB,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;YAEtD,MAAM,OAAO,CACZ,OAAO,CAAC,WAAW,EACnB,IAAI,EACJ,IAAI,CAAC,EAAE;gBACN,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBACrC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAElD,OAAO,IAAI,CAAC;YACb,CAAC,EACD,EAAE,wBAAwB,EAAE,KAAK,EAAE,CACnC,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1,3 +1,9 @@
1
+ export interface CopyDirectoryOptions {
2
+ /**
3
+ * Defaults to true for template scaffolding; runtime asset copies may omit empty trees.
4
+ */
5
+ readonly preserveEmptyDirectories?: boolean;
6
+ }
1
7
  /**
2
8
  * Creates a directory and any missing parent directories.
3
9
  */
@@ -8,7 +14,7 @@ export declare function ensureDir(dir: string): Promise<void>;
8
14
  * The optional filter receives each file's base name; directories are always
9
15
  * traversed so matching descendants remain discoverable.
10
16
  */
11
- export declare function copyDir(src: string, dest: string, filter?: (name: string) => boolean): Promise<void>;
17
+ export declare function copyDir(src: string, dest: string, filter?: (name: string) => boolean, options?: CopyDirectoryOptions): Promise<void>;
12
18
  /**
13
19
  * Writes a UTF-8 file after creating its parent directory.
14
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAc1G;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/D"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EAClC,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/D"}
package/dist/utils/fs.js CHANGED
@@ -12,16 +12,23 @@ export async function ensureDir(dir) {
12
12
  * The optional filter receives each file's base name; directories are always
13
13
  * traversed so matching descendants remain discoverable.
14
14
  */
15
- export async function copyDir(src, dest, filter) {
16
- await ensureDir(dest);
15
+ export async function copyDir(src, dest, filter, options = {}) {
16
+ let created = options.preserveEmptyDirectories ?? true;
17
+ if (created) {
18
+ await ensureDir(dest);
19
+ }
17
20
  const entries = await fs.readdir(src, { withFileTypes: true });
18
21
  for (const entry of entries) {
19
22
  const srcPath = path.join(src, entry.name);
20
23
  const destPath = path.join(dest, entry.name);
21
24
  if (entry.isDirectory()) {
22
- await copyDir(srcPath, destPath, filter);
25
+ await copyDir(srcPath, destPath, filter, options);
23
26
  }
24
27
  else if (!filter || filter(entry.name)) {
28
+ if (!created) {
29
+ await ensureDir(dest);
30
+ created = true;
31
+ }
25
32
  await fs.copyFile(srcPath, destPath);
26
33
  }
27
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,MAAkC;IAC1F,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAChE,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IAC5C,OAAO,EAAE;SACP,MAAM,CAAC,QAAQ,CAAC;SAChB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC5B,GAAW,EACX,IAAY,EACZ,MAAkC,EAClC,UAAgC,EAAE;IAElC,IAAI,OAAO,GAAG,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;IACvD,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAChE,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IAC5C,OAAO,EAAE;SACP,MAAM,CAAC,QAAQ,CAAC;SAChB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,7 +1,13 @@
1
1
  # @kurot/cli — AI context map
2
2
 
3
+ CLI 3.6.0 is prepared for publication, not yet published. Latest verified npm
4
+ release is 3.5.0. Development installs
5
+ published ui-document 0.13.0 with a matching
6
+ registry lockfile, without local overrides. Read
7
+ [centered flips](../../../docs/centered-flips.md) for transform and adoption contracts.
8
+
3
9
  Read this before exploring `src/`. [`architecture.md`](./architecture.md)
4
- explains the plugin pipeline. Version `@kurot/cli@3.4.0` is prepared (not yet published), runs on Node.js 20+,
10
+ explains the plugin pipeline. Version `@kurot/cli@3.6.0` is pending publication, runs on Node.js 20+,
5
11
  and is installed as a project dev dependency.
6
12
 
7
13
  ## Directory map
@@ -26,6 +32,17 @@ src/
26
32
  ```
27
33
 
28
34
  Project templates are under `templates/game` and `templates/empty`.
35
+ The CLI 3.6.0 game template's default KUI skin refresh includes 16 native Skin files,
36
+ a Kurot-owned 2× atlas with logical resource-default nine-slice grids, and project palette
37
+ colors replace the old EUI assets. Group/List/TabBar and text/image nodes use
38
+ native XML composition rather than unused default Skin placeholders. See
39
+ [default KUI skins](default-ui-skins.md). Private tools/default-ui-assets generates
40
+ the committed assets with registry Atlas; CLI gains no atlas runtime dependency.
41
+ The 2× sheet requires Core ^2.5.0; published Core 2.4.0
42
+ does not interpret it. Private preview tooling binds checkout Core in an isolated
43
+ trial. Publish Core 2.5.0 before CLI 3.6.0.
44
+ The CLI 3.6.0 game template includes the looping mascot brand splash; registry
45
+ CLI 3.5.0 does not contain that HTML/logo refresh. See game-template.md.
29
46
  The 3.2.1 game template includes fixed style/locale configuration,
30
47
  English properties and licensed regular/bold font files. StyleManager finishes
31
48
  font loading before Main creates Player/Preloader; LocaleManager registers
@@ -38,7 +55,7 @@ must update their installed/locked version to receive them.
38
55
 
39
56
  ## Native text adoption in 3.4.0
40
57
 
41
- The prepared release registers BitmapLabel and RichLabel from published UI
58
+ Version 3.4.0 registers BitmapLabel and RichLabel from published UI
42
59
  3.3.0 and consumes document 0.12.0. `kui/validate-text-components.ts` applies
43
60
  strict shared property/state validation only to these new built-ins, preserving
44
61
  existing CLI-only and custom class contracts. Text flows remain literal arrays;
@@ -54,13 +71,18 @@ assets are adapted by `kui/kui-parser.ts` to the compiler-private `SkinIR`,
54
71
  then `skin-module-builder.ts` bundles generated factories.
55
72
 
56
73
  A Skin document root declares `class`, the generated skin registration name,
57
- and may declare `states`. The Skin is the visual root container: its properties
58
- and layout apply to the runtime Skin, and its direct visual children become
59
- `skin.elementsContent` without an extra Group. Overrides use local
74
+ and may declare `states`. The native Skin is nonvisual: root dimensions
75
+ configure its size metadata, and its direct visual children become
76
+ `skin.elementsContent` on the host Component without an extra Group. Display
77
+ transforms such as `flipX`/`flipY` belong on those children. Overrides use local
60
78
  `property.state` attributes. Storage IDs and runtime mapping metadata are not
61
79
  authored XML fields.
62
80
 
63
- CLI 3.4.0 requires published `@kurot/ui-document@^0.12.0`. Schema-defined strings, including
81
+ CLI 3.5.0 validates centered-flip booleans on display nodes and named-state
82
+ overrides, including CLI-only controls. Malformed values and flags on the
83
+ nonvisual Skin root fail compilation. Negative scales are preserved.
84
+
85
+ CLI 3.6.0 requires `@kurot/ui-document@^0.13.0`. Schema-defined strings, including
64
86
  numeric/boolean-looking text and state text, are literal attributes without
65
87
  backslash type escaping. Old synthetic prefixes become literal characters;
66
88
  do not migrate them silently. Numeric/boolean properties and schema-free
@@ -113,8 +135,10 @@ manual prefix cannot conflict with `ui.components.namespace`.
113
135
  identity.
114
136
  - Engine and custom namespace chunks share `ctx.outputs.engine` because the
115
137
  import-map writer treats both as external specifier mappings.
116
- - Release bundles preserve class names. UI theme fallback uses constructor
117
- names, so normal identifier minification would break skin lookup.
138
+ - Engine and reusable namespace bundles preserve class names in both modes.
139
+ The CLI 3.6.0 development fix also protects self-referencing classes, which
140
+ esbuild can rename without minification. Registry CLI 3.5.0 protects release
141
+ names only. Theme fallback uses constructor names.
118
142
  - The Skin module builder stages output in a temporary directory and installs a
119
143
  bundle only after every Skin succeeds.
120
144
  - `cleanOutput` wipes the active output directory at the start of each build.
@@ -122,6 +146,11 @@ manual prefix cannot conflict with `ui.components.namespace`.
122
146
  - `create` queries the npm registry for current Kurot package versions and falls
123
147
  back to `latest` if the request fails.
124
148
  - Release output is timestamped and `manifest.json` exists only in release.
149
+ - The CLI 3.6.0 asset-copy correction omits empty runtime directory trees,
150
+ including skin-only `resource/ui`. Runtime files under UI directories remain
151
+ eligible; generated theme JSON and the compiled Skin module remain required.
152
+ Template copies still preserve empty directories. Registry CLI 3.5.0 does not
153
+ include this correction.
125
154
 
126
155
  ## Plugin order
127
156
 
@@ -203,6 +232,7 @@ skin-module-builder.ts reads the entire stylesheet once per build and passes it
203
232
  through parseToIR/parseKUISkin. Resolve resource defaults, then Label presets, then colors before
204
233
  native emission; retain XML references and local/state precedence. compileKUI
205
234
  accepts an optional styleSheet. style.json changes already trigger whole-Skin
206
- rebuilds. Invalid presets retain the last successful bundle. The dependency and
207
- lockfile use published ui-document 0.11.0 without a local override. textStyle is
235
+ rebuilds. Invalid presets retain the last successful bundle. The 3.3.0 dependency and
236
+ lockfile used published ui-document 0.11.0 without a local override. Current
237
+ CLI 3.5.0 development uses published ui-document 0.13.0. textStyle is
208
238
  Default-only; individual named-state fields can still override preset properties.