@kurot/cli 3.5.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.
- package/CHANGELOG.md +66 -2
- package/README.md +37 -13
- package/dist/core/plugins/compile-custom-namespaces.js +1 -1
- package/dist/core/plugins/compile-custom-namespaces.js.map +1 -1
- package/dist/core/plugins/compile-engine.js +3 -3
- package/dist/core/plugins/compile-engine.js.map +1 -1
- package/dist/core/plugins/copy-assets.d.ts +2 -0
- package/dist/core/plugins/copy-assets.d.ts.map +1 -1
- package/dist/core/plugins/copy-assets.js +3 -1
- package/dist/core/plugins/copy-assets.js.map +1 -1
- package/dist/utils/fs.d.ts +7 -1
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +10 -3
- package/dist/utils/fs.js.map +1 -1
- package/docs/ai-context.md +33 -9
- package/docs/architecture.md +7 -1
- package/docs/default-ui-skins.md +123 -0
- package/docs/game-template.md +28 -4
- package/docs/label-text-layout.md +3 -1
- package/docs/text-components.md +4 -1
- package/package.json +1 -1
- package/templates/game/resource/assets/ui/kui/kui.json +240 -0
- package/templates/game/resource/assets/ui/kui/kui.png +0 -0
- package/templates/game/resource/config/style.json +26 -4
- package/templates/game/resource/default.res.json +70 -3
- package/templates/game/resource/ui/skins/ButtonSkin.kui.xml +4 -4
- package/templates/game/resource/ui/skins/CheckBoxSkin.kui.xml +4 -4
- package/templates/game/resource/ui/skins/CloseButtonSkin.kui.xml +4 -0
- package/templates/game/resource/ui/skins/ComboBoxSkin.kui.xml +5 -5
- package/templates/game/resource/ui/skins/HScrollBarSkin.kui.xml +1 -1
- package/templates/game/resource/ui/skins/HSliderSkin.kui.xml +3 -3
- package/templates/game/resource/ui/skins/ItemRendererSkin.kui.xml +3 -3
- package/templates/game/resource/ui/skins/PanelSkin.kui.xml +5 -6
- package/templates/game/resource/ui/skins/ProgressBarSkin.kui.xml +4 -4
- package/templates/game/resource/ui/skins/RadioButtonSkin.kui.xml +4 -4
- package/templates/game/resource/ui/skins/TextInputSkin.kui.xml +4 -4
- package/templates/game/resource/ui/skins/ToggleButtonSkin.kui.xml +3 -3
- package/templates/game/resource/ui/skins/ToggleSwitchSkin.kui.xml +3 -3
- package/templates/game/resource/ui/skins/VScrollBarSkin.kui.xml +1 -1
- package/templates/game/resource/ui/skins/VSliderSkin.kui.xml +3 -3
- package/templates/game/src/Main.ts +1 -1
- package/templates/game/template/web/index.html +117 -34
- package/templates/game/template/web/logo.png +0 -0
- package/templates/game/resource/assets/ui/eui/eui.json +0 -24
- package/templates/game/resource/assets/ui/eui/eui.png +0 -0
- package/templates/game/resource/ui/skins/GroupSkin.kui.xml +0 -4
- package/templates/game/resource/ui/skins/ImageSkin.kui.xml +0 -4
- package/templates/game/resource/ui/skins/LabelSkin.kui.xml +0 -4
- package/templates/game/resource/ui/skins/ListSkin.kui.xml +0 -7
- package/templates/game/resource/ui/skins/TabBarSkin.kui.xml +0 -5
- package/templates/game/resource/ui/skins/ViewStackSkin.kui.xml +0 -4
package/CHANGELOG.md
CHANGED
|
@@ -7,9 +7,73 @@ 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
|
+
|
|
10
74
|
## 3.5.0 — 2026-10-09
|
|
11
75
|
|
|
12
|
-
|
|
76
|
+
Published; verified on npm on 2026-10-09.
|
|
13
77
|
|
|
14
78
|
### Added
|
|
15
79
|
|
|
@@ -17,7 +81,7 @@ Center flip attributes and state overrides now compile with strict boolean valid
|
|
|
17
81
|
|
|
18
82
|
See [centered flips](../../docs/centered-flips.md) for semantics and adoption.
|
|
19
83
|
Dependency installation and pnpm lock now resolve published ui-document 0.13.0
|
|
20
|
-
without local overrides; frozen installation
|
|
84
|
+
without local overrides; frozen installation reproduces the published dependency baseline.
|
|
21
85
|
|
|
22
86
|
### Verification
|
|
23
87
|
|
package/README.md
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
# @kurot/cli
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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.
|
|
6
8
|
|
|
7
9
|
Build tooling for the Kurot UI Editor workflow. It uses esbuild, emits ES2022
|
|
8
10
|
ESM, and compiles canonical KUI XML skins into runtime theme modules.
|
|
9
11
|
|
|
10
|
-
> **Current version: 3.
|
|
12
|
+
> **Current version: 3.6.0 (pending publication).** Requires `@kurot/ui-document@^0.13.0`
|
|
11
13
|
> and Node.js 20 or later. The CLI runs only at build time.
|
|
12
14
|
|
|
13
15
|
> **Release scope:** The 3.x line is dedicated to Kurot Editor integration.
|
|
@@ -37,7 +39,7 @@ negative scale retain their existing contracts; no authored XML is converted.
|
|
|
37
39
|
|
|
38
40
|
The dependency/lock uses published ui-document 0.13.0. Apps rendering these
|
|
39
41
|
flags need published Core 2.4.0/UI 3.4.0; CLI-built skins run directly through
|
|
40
|
-
UI. CLI 3.5.0
|
|
42
|
+
UI. CLI 3.5.0 is published.
|
|
41
43
|
|
|
42
44
|
## BitmapLabel and RichLabel in 3.4.0
|
|
43
45
|
|
|
@@ -48,7 +50,8 @@ children or Skin parts. New native text fields are validated before output,
|
|
|
48
50
|
and percentage-looking text such as `100%` remains literal.
|
|
49
51
|
|
|
50
52
|
Rendering these new tags requires UI `^3.3.0` and Core `^2.3.0` in the app;
|
|
51
|
-
|
|
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
|
|
52
55
|
and templates do not require automatic upgrades or migrations. See
|
|
53
56
|
[text component compilation](docs/text-components.md).
|
|
54
57
|
|
|
@@ -67,6 +70,7 @@ in KUI XML:
|
|
|
67
70
|
The compiler emits the policy, base size and state overrides unchanged. UI
|
|
68
71
|
derives the drawing size after layout validation. Rendering this capability
|
|
69
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.
|
|
70
74
|
Explicit `multiline="false"` means one unwrapped first line; remove it or set
|
|
71
75
|
it to true for text intended to wrap. Files are not migrated automatically.
|
|
72
76
|
See the [compilation contract](docs/label-text-layout.md) and
|
|
@@ -74,12 +78,12 @@ See the [compilation contract](docs/label-text-layout.md) and
|
|
|
74
78
|
|
|
75
79
|
## Usage
|
|
76
80
|
|
|
77
|
-
The CLI does not require a global install.
|
|
78
|
-
|
|
79
|
-
|
|
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.
|
|
80
84
|
|
|
81
85
|
```bash
|
|
82
|
-
npx @kurot/cli@3.
|
|
86
|
+
npx @kurot/cli@3.6.0 create my-game
|
|
83
87
|
cd my-game
|
|
84
88
|
pnpm install
|
|
85
89
|
pnpm dev
|
|
@@ -87,7 +91,7 @@ pnpm dev
|
|
|
87
91
|
|
|
88
92
|
Scaffolded projects expose `build`, `dev`, and `clean` scripts. For an
|
|
89
93
|
Editor-managed KUI XML project, install the package with
|
|
90
|
-
`pnpm add -D @kurot/cli@^3.
|
|
94
|
+
`pnpm add -D @kurot/cli@^3.6.0` after publication. Existing EXML projects should keep their current
|
|
91
95
|
1.3.x dependency.
|
|
92
96
|
|
|
93
97
|
## Commands
|
|
@@ -104,6 +108,19 @@ resource loading, and an editable HTML template. Fonts load before creating UI;
|
|
|
104
108
|
translations register after preload. The `empty` template contains a minimal
|
|
105
109
|
`Sprite` application without UI/style/language dependencies.
|
|
106
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
|
+
|
|
107
124
|
### `kurot build`
|
|
108
125
|
|
|
109
126
|
```bash
|
|
@@ -116,6 +133,13 @@ Development output is written to `bin-debug/`. Release output is written to
|
|
|
116
133
|
project namespace, theme, and application code are separate ESM chunks joined
|
|
117
134
|
by the generated HTML import map.
|
|
118
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
|
+
|
|
119
143
|
`--diagnostics json` reserves stdout for one machine-readable build result.
|
|
120
144
|
Release builds apply strict diagnostic policy by default.
|
|
121
145
|
|
|
@@ -204,7 +228,7 @@ use `property.state` on the affected node, so internal graphics remain unnamed.
|
|
|
204
228
|
Image sources use their resource key directly, for example
|
|
205
229
|
`source="button_up_png"`.
|
|
206
230
|
|
|
207
|
-
|
|
231
|
+
Current CLI 3.6.0 uses published `@kurot/ui-document@^0.13.0` and retains its literal-string XML rules.
|
|
208
232
|
For example, `<Label text="100.80" text.down="false" size="48" />` compiles
|
|
209
233
|
the exact strings `100.80` and `false`, while the font size stays numeric.
|
|
210
234
|
String properties no longer add or remove backslash type escapes. Remove old
|
|
@@ -342,6 +366,6 @@ than selecting a different preset. Missing presets, unsupported selection or
|
|
|
342
366
|
invalid configuration fail explicitly. Expansion runs after resource defaults
|
|
343
367
|
and before color resolution. It does not load fonts or measure text.
|
|
344
368
|
|
|
345
|
-
|
|
369
|
+
Current CLI 3.6.0 uses published ui-document 0.13.0 without local overrides. CLI
|
|
346
370
|
3.2.1 does not include this feature. Existing projects are not migrated.
|
|
347
371
|
See [the shared contract](../ui-document/docs/project-styles.md).
|
|
@@ -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:
|
|
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
|
|
63
|
-
//
|
|
64
|
-
keepNames:
|
|
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":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI/C;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa;IAC5B,OAAO;QACN,IAAI,EAAE,gBAAgB;QAEtB;;WAEG;QACH,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YAExB,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEjD,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YAEvB,qEAAqE;YACrE,sEAAsE;YACtE,8DAA8D;YAC9D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAE5F,IAAI,CAAC;gBACJ,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;oBAC5F,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,EAAE,CAAC;gBACzC,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,cAAc,CAAC,MAAM,wBAAwB,CAAC,CAAC;QAC/E,CAAC;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAC3B,OAAgB,EAChB,GAAW,EACX,OAAe,EACf,KAAa,EACb,MAAe;IAEf,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAE9C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;QAClC,aAAa,EAAE,OAAO,CAAC,IAAI;QAC3B,WAAW,EAAE,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ;QACnD,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,MAAM;QACN,
|
|
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
|
|
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
|
|
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"}
|
package/dist/utils/fs.d.ts
CHANGED
|
@@ -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
|
*/
|
package/dist/utils/fs.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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
|
}
|
package/dist/utils/fs.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/docs/ai-context.md
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
# @kurot/cli — AI context map
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
4
6
|
registry lockfile, without local overrides. Read
|
|
5
7
|
[centered flips](../../../docs/centered-flips.md) for transform and adoption contracts.
|
|
6
8
|
|
|
7
|
-
|
|
8
9
|
Read this before exploring `src/`. [`architecture.md`](./architecture.md)
|
|
9
|
-
explains the plugin pipeline. Version `@kurot/cli@3.
|
|
10
|
+
explains the plugin pipeline. Version `@kurot/cli@3.6.0` is pending publication, runs on Node.js 20+,
|
|
10
11
|
and is installed as a project dev dependency.
|
|
11
12
|
|
|
12
13
|
## Directory map
|
|
@@ -31,6 +32,17 @@ src/
|
|
|
31
32
|
```
|
|
32
33
|
|
|
33
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.
|
|
34
46
|
The 3.2.1 game template includes fixed style/locale configuration,
|
|
35
47
|
English properties and licensed regular/bold font files. StyleManager finishes
|
|
36
48
|
font loading before Main creates Player/Preloader; LocaleManager registers
|
|
@@ -59,13 +71,18 @@ assets are adapted by `kui/kui-parser.ts` to the compiler-private `SkinIR`,
|
|
|
59
71
|
then `skin-module-builder.ts` bundles generated factories.
|
|
60
72
|
|
|
61
73
|
A Skin document root declares `class`, the generated skin registration name,
|
|
62
|
-
and may declare `states`. The Skin is
|
|
63
|
-
|
|
64
|
-
`skin.elementsContent` without an extra Group.
|
|
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
|
|
65
78
|
`property.state` attributes. Storage IDs and runtime mapping metadata are not
|
|
66
79
|
authored XML fields.
|
|
67
80
|
|
|
68
|
-
CLI 3.5.0
|
|
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
|
|
69
86
|
numeric/boolean-looking text and state text, are literal attributes without
|
|
70
87
|
backslash type escaping. Old synthetic prefixes become literal characters;
|
|
71
88
|
do not migrate them silently. Numeric/boolean properties and schema-free
|
|
@@ -118,8 +135,10 @@ manual prefix cannot conflict with `ui.components.namespace`.
|
|
|
118
135
|
identity.
|
|
119
136
|
- Engine and custom namespace chunks share `ctx.outputs.engine` because the
|
|
120
137
|
import-map writer treats both as external specifier mappings.
|
|
121
|
-
-
|
|
122
|
-
|
|
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.
|
|
123
142
|
- The Skin module builder stages output in a temporary directory and installs a
|
|
124
143
|
bundle only after every Skin succeeds.
|
|
125
144
|
- `cleanOutput` wipes the active output directory at the start of each build.
|
|
@@ -127,6 +146,11 @@ manual prefix cannot conflict with `ui.components.namespace`.
|
|
|
127
146
|
- `create` queries the npm registry for current Kurot package versions and falls
|
|
128
147
|
back to `latest` if the request fails.
|
|
129
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.
|
|
130
154
|
|
|
131
155
|
## Plugin order
|
|
132
156
|
|
package/docs/architecture.md
CHANGED
|
@@ -39,7 +39,7 @@ factory variables, property assignments, semantic layout children, and state
|
|
|
39
39
|
property overrides. Document contracts, reusable instances, data bindings, and
|
|
40
40
|
actions remain `UIDocument` concepts.
|
|
41
41
|
|
|
42
|
-
CLI 3.
|
|
42
|
+
CLI 3.6.0 consumes ui-document ^0.13.0, retaining Label text-fitting metadata. The
|
|
43
43
|
compiler emits `textFit`, `minFontSize`, base font sizes and state overrides;
|
|
44
44
|
native UI owns measurement and derives drawing sizes after layout validation.
|
|
45
45
|
See [Label compilation](label-text-layout.md). The application supplies UI
|
|
@@ -71,6 +71,12 @@ Development builds preserve application source module structure under
|
|
|
71
71
|
`manifest.json`. Static resources retain stable paths because application code
|
|
72
72
|
addresses them by key or URL.
|
|
73
73
|
|
|
74
|
+
Asset copying creates directories only when an accepted runtime file needs them.
|
|
75
|
+
KUI source files and source theme JSON are excluded when UI compilation is enabled,
|
|
76
|
+
so a skin-only `resource/ui` tree is absent from output. Mixed directories retain
|
|
77
|
+
their runtime images/JSON and generated theme output is preserved. Template
|
|
78
|
+
scaffolding keeps its separate empty-directory behavior.
|
|
79
|
+
|
|
74
80
|
## Development watchers
|
|
75
81
|
|
|
76
82
|
The dev server has separate rebuild paths for application source, KUI XML, and
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Default KUI skins
|
|
2
|
+
|
|
3
|
+
This game-template refresh is included in CLI 3.6.0, pending publication.
|
|
4
|
+
Registry CLI 3.5.0 contains the older atlas. The 2× kit requires Core ^2.5.0;
|
|
5
|
+
publish Core 2.5.0 before CLI 3.6.0.
|
|
6
|
+
The template owns the XML, textures and project colors; `@kurot/ui`
|
|
7
|
+
does not ship a bitmap theme or load a stylesheet itself.
|
|
8
|
+
|
|
9
|
+
## Visual language
|
|
10
|
+
|
|
11
|
+
Rounded corners, bright blue actions, pale neutral surfaces and a small pressed
|
|
12
|
+
button offset echo the Kurot mascot. The default is a light game interface:
|
|
13
|
+
|
|
14
|
+
| Role | Value |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| Action / selected outline | `#1487E8` |
|
|
17
|
+
| Action text / marks | `#071D30` |
|
|
18
|
+
| Canvas / panel | `#EDF3FC` / `#FFFFFF` |
|
|
19
|
+
| Input / neutral control | `#F1F5FC` |
|
|
20
|
+
| Text / secondary text | `#18273E` / `#64748B` |
|
|
21
|
+
| Disabled text | `#7C8799` |
|
|
22
|
+
| Button / input minimum height | 48 logical pixels |
|
|
23
|
+
| CheckBox / RadioButton / switch / slider minimum hit height | 44 logical pixels |
|
|
24
|
+
|
|
25
|
+
Buttons use 14-pixel corner radii and panels use 22. XML single-line labels
|
|
26
|
+
shrink within their allocated width, to a minimum of 14; editable text stays at
|
|
27
|
+
18. Fonts inherit the application's configured family. No browser CSS is used
|
|
28
|
+
to draw the components, and no runtime light/dark switching is introduced.
|
|
29
|
+
|
|
30
|
+
## Text and spacing
|
|
31
|
+
|
|
32
|
+
Single-line captions use `multiline="false" verticalAlign="middle"` with the
|
|
33
|
+
Core 2.5.0 ink-centering correction. Button label padding is 10 pixels
|
|
34
|
+
above/below; its down state uses 12/8 to retain a deliberate 2-pixel press offset.
|
|
35
|
+
The icon has the same neutral/down centers. Panel titles also opt into middle
|
|
36
|
+
alignment. Input text retains Core's stable font baseline while its placeholder
|
|
37
|
+
uses dynamic visual centering. No language-specific skin offsets are required.
|
|
38
|
+
See [Core text alignment](../../core/docs/text-layout.md#visual-centering-and-stable-baselines-core-250).
|
|
39
|
+
Published Core 2.4.0 does not contain that correction; the isolated preview uses
|
|
40
|
+
checkout Core for both text alignment and source density.
|
|
41
|
+
|
|
42
|
+
## Resources and XML
|
|
43
|
+
|
|
44
|
+
- `resource/assets/ui/kui/kui.json` and `kui.png`: Kurot-owned 512×512 atlas,
|
|
45
|
+
generated at 2× with sheet `resolution: 2`. XML dimensions stay logical.
|
|
46
|
+
- `resource/default.res.json`: preload group `kui` and object-valued frame
|
|
47
|
+
metadata. Qualified sources such as `kui.button_up` avoid bare-key collisions.
|
|
48
|
+
- `resource/ui/skins/*.kui.xml`: 15 native default component skins and
|
|
49
|
+
`CloseButtonSkin`, used explicitly by Panel's `closeButton`.
|
|
50
|
+
- `resource/config/style.json`: named colors used by Label/EditableText state
|
|
51
|
+
properties. Raster colors are baked into textures; changing text colors alone
|
|
52
|
+
does not recolor the atlas.
|
|
53
|
+
|
|
54
|
+
Buttons provide up/down/disabled surfaces. CheckBox, RadioButton, ToggleButton
|
|
55
|
+
and ToggleSwitch cover all six selected/pressed/disabled combinations.
|
|
56
|
+
ItemRenderer supplies selected states for List and TabBar; ComboBox supplies
|
|
57
|
+
normal/open/disabled states and TextInput handles both prompt states when
|
|
58
|
+
enabled or disabled. Sliders supply a disabled thumb. Panel retains its drag
|
|
59
|
+
area, title and close button.
|
|
60
|
+
|
|
61
|
+
Skin part names and the native component APIs stay unchanged. The CLI compiles
|
|
62
|
+
source changes with a paired nine-slice grid from resource metadata, including
|
|
63
|
+
state transitions. Frames retain their full physical dimensions and never rotate
|
|
64
|
+
or trim; extrusion stays outside the recorded frame. Core divides original frame
|
|
65
|
+
dimensions/trim offsets by density; grids remain logical. Stretchable surfaces keep
|
|
66
|
+
their corners while the interior expands. Icons and switch handles remain fixed
|
|
67
|
+
size. Horizontal and vertical slider tracks have grids that fit their 8-pixel
|
|
68
|
+
thickness.
|
|
69
|
+
|
|
70
|
+
Scroller keeps `autoVisibility="false" visible="false"` on both bars. It retains
|
|
71
|
+
automatic scrolling policies and touch/trackpad scrolling. To display bars in a
|
|
72
|
+
project, edit those parts explicitly.
|
|
73
|
+
|
|
74
|
+
ItemRenderer backgrounds fit the allocated row width without extra horizontal
|
|
75
|
+
padding. The checkout Core also fixes fractional WebGL scissor bounds so scaled
|
|
76
|
+
Lists retain their right outline. Published Core 2.4.0 lacks that correction;
|
|
77
|
+
shrinking the skin or changing its nine-slice grid is not required.
|
|
78
|
+
|
|
79
|
+
Group, List, TabBar, ViewStack and text/image nodes are composed directly in XML;
|
|
80
|
+
their old default-Skin placeholders were not conventional Theme mappings and
|
|
81
|
+
are removed. Use `itemRendererSkinName` to choose a List/TabBar row appearance,
|
|
82
|
+
and wrap the node with Group/Image/Scroller for its surface and viewport.
|
|
83
|
+
|
|
84
|
+
## Native preview and maintenance
|
|
85
|
+
|
|
86
|
+
`examples/game/resource/ui/DefaultUISkin.kui.xml` contains the native gallery.
|
|
87
|
+
`src/DefaultUI.ts` only connects data and events. The example installs its own
|
|
88
|
+
project font loader and document dependency; other projects are unchanged.
|
|
89
|
+
|
|
90
|
+
Core 2.5.0 is published. Until the example adopts it, build Core/CLI for an isolated
|
|
91
|
+
source trial. The example's registry lock does not yet contain density support:
|
|
92
|
+
|
|
93
|
+
```sh
|
|
94
|
+
pnpm --dir packages/core build
|
|
95
|
+
pnpm --dir packages/cli build
|
|
96
|
+
pnpm --dir tools/default-ui-assets preview
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
The preview tool prints a new directory under docs-internal, with strict dev
|
|
100
|
+
and minified release builds. It links the built checkout Core and the example's
|
|
101
|
+
installed UI/Game/document packages; it does not edit application installations
|
|
102
|
+
or locks. Run the repository CLI dev command in that printed directory and open
|
|
103
|
+
the server URL with `?ui=1`. The ordinary game remains available without
|
|
104
|
+
that parameter. Try the inputs, switches, ComboBox, tabs, sliders, panel close
|
|
105
|
+
button and draggable List. The gallery is rendered by Core/UI from compiled
|
|
106
|
+
KUI XML. After explicitly installing the Core 2.5.0 release in the
|
|
107
|
+
example, ordinary repository-CLI builds can run directly from examples/game.
|
|
108
|
+
|
|
109
|
+
CLI 3.6.0 preserves constructor names in development and release
|
|
110
|
+
engine/namespace bundles so Theme lookup also works for self-referencing
|
|
111
|
+
classes such as Scroller. Published CLI 3.5.0 lacks the development correction.
|
|
112
|
+
|
|
113
|
+
`tools/default-ui-assets` contains editable SVG geometry and the reproducible
|
|
114
|
+
PNG/atlas generator. It uses registry `@kurot/atlas@0.1.0` only as private
|
|
115
|
+
repository tooling. CLI and runtime SDKs gain no atlas dependency. See its
|
|
116
|
+
[maintenance instructions](../../../tools/default-ui-assets/README.md).
|
|
117
|
+
|
|
118
|
+
Core 2.5.0 must be published before CLI 3.6.0.
|
|
119
|
+
UI/Game/document/runtime need no incidental release; existing 1× consumers keep
|
|
120
|
+
their behavior. See [density units and adoption](../../core/docs/texture-density.md).
|
|
121
|
+
Existing projects keep their own skins, resource keys and startup code. New
|
|
122
|
+
scaffolds receive this kit after the supporting Core and CLI publications;
|
|
123
|
+
installing a new CLI does not rewrite an existing project's resources.
|