@kurot/cli 3.6.0 → 3.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -8
- package/README.md +28 -11
- package/dist/core/kui/skin-parts-declaration.d.ts.map +1 -1
- package/dist/core/kui/skin-parts-declaration.js +2 -1
- package/dist/core/kui/skin-parts-declaration.js.map +1 -1
- package/docs/ai-context.md +12 -5
- package/docs/default-ui-skins.md +15 -16
- package/docs/game-template.md +21 -2
- package/package.json +1 -1
- package/templates/empty/AGENTS.md +25 -0
- package/templates/empty/README.md +60 -0
- package/templates/game/AGENTS.md +30 -0
- package/templates/game/README.md +90 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,11 +7,59 @@ 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.1 — 2026-10-18
|
|
11
|
+
|
|
12
|
+
Prepared locally; not published.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- Emit getter signatures when narrowing host skinParts in generated module
|
|
17
|
+
augmentations, preserving Component's accessor contract. This fixes TS2610
|
|
18
|
+
with skipLibCheck=false without changing runtime Skin output or Core/UI.
|
|
19
|
+
- Add compiler regression coverage for generic, explicitly named, conventionally
|
|
20
|
+
named and configured reusable hosts. Preserve exact part types and read-only
|
|
21
|
+
access; reject wrong values, unknown parts and attempted replacement.
|
|
22
|
+
|
|
23
|
+
### Documentation
|
|
24
|
+
|
|
25
|
+
- Add project README/AGENTS navigation to both templates, using installed SDK
|
|
26
|
+
guides/types and explicit build/browser verification boundaries.
|
|
27
|
+
- Route gameplay tasks to Core's quick guide (published in 2.5.5) and repository Star
|
|
28
|
+
Catcher reference when available, with installed README/types as the fallback.
|
|
29
|
+
- Link installed UI 3.6.2's standard UI workflow and complete ScoreHUD example
|
|
30
|
+
for directory/TS–Skin conventions, with fallbacks for older installations.
|
|
31
|
+
- Correct gallery instructions for its installed Core 2.5.4 and older CLI lock;
|
|
32
|
+
source-engine trials remain optional maintenance tooling.
|
|
33
|
+
|
|
34
|
+
### Compatibility and adoption
|
|
35
|
+
|
|
36
|
+
- Command/configuration APIs, KUI format and runtime Skin output are unchanged.
|
|
37
|
+
ui-document remains ^0.13.0, locked to registry 0.13.0; no Core/UI dependency
|
|
38
|
+
or other dependency/lock update is added.
|
|
39
|
+
- To receive the declaration correction after publication, update the project's
|
|
40
|
+
CLI installation/lock and rebuild to regenerate .kurot/skin-parts.d.ts.
|
|
41
|
+
Published 3.6.0 keeps the old property form. Core/UI runtime upgrades are not
|
|
42
|
+
required for this fix; existing compatible application ranges remain valid.
|
|
43
|
+
- New scaffolds receive README/AGENTS entries. Existing games retain their own
|
|
44
|
+
instructions, resources and directories. Template latest placeholders remain
|
|
45
|
+
unchanged; UI 3.6.2 is needed only to read the new bundled UI guides.
|
|
46
|
+
|
|
47
|
+
### Verification
|
|
48
|
+
|
|
49
|
+
- Build and all 23 test files / 114 tests pass with maxWorkers=1, including
|
|
50
|
+
compiler checks for four host discovery paths and rejected invalid part access.
|
|
51
|
+
Serial execution avoids existing parallel watcher timing failures.
|
|
52
|
+
- Packed CLI 3.6.1 contains both templates' README/AGENTS entries and the fixed
|
|
53
|
+
generator. Its game template and the packed UI 3.6.2 ScoreHUD example pass
|
|
54
|
+
development/release builds and strict tsc --noEmit --skipLibCheck false against
|
|
55
|
+
published Core 2.5.5 without engine source. Runtime browser behavior is not
|
|
56
|
+
revalidated for this declaration/documentation patch.
|
|
57
|
+
|
|
10
58
|
## 3.6.0 — 2026-10-10
|
|
11
59
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
60
|
+
Published; verified on npm on 2026-10-10, including latest, package download
|
|
61
|
+
and registry integrity. Core 2.5.0 is also published; actual registry CLI
|
|
62
|
+
scaffolding resolves Core ^2.5.0.
|
|
15
63
|
|
|
16
64
|
### Changed
|
|
17
65
|
|
|
@@ -29,7 +77,7 @@ scaffolds resolve Core ^2.5.0, satisfying this release's prerequisite.
|
|
|
29
77
|
examples/game and reproducible private SVG-to-atlas tooling.
|
|
30
78
|
- Generate the KUI atlas at 2× (512×512, sheet `resolution: 2`) while preserving
|
|
31
79
|
XML sizes and logical nine-slice grids. This template needs Core ^2.5.0;
|
|
32
|
-
|
|
80
|
+
Core 2.5.0 was published before this CLI refresh.
|
|
33
81
|
Provide an isolated source preview without modifying application registry locks.
|
|
34
82
|
- Refresh the game template's mascot logo and introduce a "Made with Kurot"
|
|
35
83
|
brand splash with a playful entrance, looping hops and sways, repeating sparkles
|
|
@@ -55,8 +103,8 @@ scaffolds resolve Core ^2.5.0, satisfying this release's prerequisite.
|
|
|
55
103
|
dependency remains published ui-document ^0.13.0; CLI gains no Core/UI/Atlas
|
|
56
104
|
dependency. Existing projects keep their own skins, resource keys and HTML.
|
|
57
105
|
- New game scaffolds require Core ^2.5.0 for the 2× skin kit. `create` resolves
|
|
58
|
-
registry SDK versions; the template placeholders stay `latest`.
|
|
59
|
-
before CLI
|
|
106
|
+
registry SDK versions; the template placeholders stay `latest`. Core was published
|
|
107
|
+
before CLI. Install/rebuild projects that explicitly adopt the new skins.
|
|
60
108
|
- UI/Game/document/runtime/Atlas need no release. Adopting only the CLI build
|
|
61
109
|
fixes requires updating the project's CLI installation/lock and rebuilding.
|
|
62
110
|
|
|
@@ -68,8 +116,10 @@ scaffolds resolve Core ^2.5.0, satisfying this release's prerequisite.
|
|
|
68
116
|
mascot logo, public documentation and release notes; the old EUI atlas is absent.
|
|
69
117
|
- The native isolated preview passed strict development/release builds with
|
|
70
118
|
checkout Core and registry UI/Game/document. Original app locks remain unchanged.
|
|
71
|
-
-
|
|
72
|
-
|
|
119
|
+
- Published CLI 3.6.0 downloads through npm pack with matching registry integrity.
|
|
120
|
+
Its archive contains all 16 XML skins, the 2× atlas, mascot logo and build fixes.
|
|
121
|
+
Scaffolding with the published CLI generates Core ^2.5.0, UI ^3.4.0 and
|
|
122
|
+
CLI ^3.6.0. Published Core 2.5.0 also downloads with matching integrity.
|
|
73
123
|
|
|
74
124
|
## 3.5.0 — 2026-10-09
|
|
75
125
|
|
package/README.md
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
# @kurot/cli
|
|
2
2
|
|
|
3
|
-
**3.6.0 is
|
|
4
|
-
|
|
3
|
+
**3.6.0 is published**, verified on npm on 2026-10-10 with matching registry
|
|
4
|
+
integrity and successful package download. It adds the rounded 2× KUI game skin kit and mascot brand splash,
|
|
5
5
|
and fixes development Theme lookup and empty runtime asset directories.
|
|
6
|
-
Core 2.5.0
|
|
7
|
-
prerequisite is satisfied. The dependency/lock remains published ui-document 0.13.0.
|
|
6
|
+
Core 2.5.0 is also published and verified; new game scaffolds resolve Core ^2.5.0. The dependency/lock remains published ui-document 0.13.0.
|
|
8
7
|
|
|
9
8
|
Build tooling for the Kurot UI Editor workflow. It uses esbuild, emits ES2022
|
|
10
9
|
ESM, and compiles canonical KUI XML skins into runtime theme modules.
|
|
11
10
|
|
|
12
|
-
> **Current version: 3.6.
|
|
11
|
+
> **Current version: 3.6.1 (prepared; not published).** Requires `@kurot/ui-document@^0.13.0`
|
|
13
12
|
> and Node.js 20 or later. The CLI runs only at build time.
|
|
14
13
|
|
|
15
14
|
> **Release scope:** The 3.x line is dedicated to Kurot Editor integration.
|
|
@@ -17,6 +16,13 @@ ESM, and compiles canonical KUI XML skins into runtime theme modules.
|
|
|
17
16
|
> `@kurot/cli@1.3.x`. The KUI toolchain is not an in-place project upgrade and does
|
|
18
17
|
> not require those projects to change their configuration or UI assets.
|
|
19
18
|
|
|
19
|
+
Version 3.6.1 fixes generated host skinParts declarations for full TypeScript
|
|
20
|
+
checks with skipLibCheck=false and ships README/AGENTS entries in both templates.
|
|
21
|
+
The game entry links UI 3.6.2's authoring/directory guide and complete ScoreHUD
|
|
22
|
+
recipe. Runtime Skin output, dependency ranges and locks are unchanged. After
|
|
23
|
+
publication, existing projects adopt the fix by updating their CLI installation/
|
|
24
|
+
lock and rebuilding; new template docs do not overwrite existing project files.
|
|
25
|
+
|
|
20
26
|
See [CHANGELOG.md](CHANGELOG.md) for release history.
|
|
21
27
|
|
|
22
28
|
Version 3.3.1 fixes development synchronization for all runtime resources,
|
|
@@ -78,8 +84,7 @@ See the [compilation contract](docs/label-text-layout.md) and
|
|
|
78
84
|
|
|
79
85
|
## Usage
|
|
80
86
|
|
|
81
|
-
The CLI does not require a global install.
|
|
82
|
-
published, use the versions below. New game scaffolds need Core ^2.5.0 for the
|
|
87
|
+
The CLI does not require a global install. Use published CLI 3.6.0 below. New game scaffolds need Core ^2.5.0 for the
|
|
83
88
|
2× skin kit; existing projects keep their own installed SDKs and resources.
|
|
84
89
|
|
|
85
90
|
```bash
|
|
@@ -91,7 +96,7 @@ pnpm dev
|
|
|
91
96
|
|
|
92
97
|
Scaffolded projects expose `build`, `dev`, and `clean` scripts. For an
|
|
93
98
|
Editor-managed KUI XML project, install the package with
|
|
94
|
-
`pnpm add -D @kurot/cli@^3.6.0
|
|
99
|
+
`pnpm add -D @kurot/cli@^3.6.0`. Existing EXML projects should keep their current
|
|
95
100
|
1.3.x dependency.
|
|
96
101
|
|
|
97
102
|
## Commands
|
|
@@ -108,6 +113,12 @@ resource loading, and an editable HTML template. Fonts load before creating UI;
|
|
|
108
113
|
translations register after preload. The `empty` template contains a minimal
|
|
109
114
|
`Sprite` application without UI/style/language dependencies.
|
|
110
115
|
|
|
116
|
+
CLI 3.6.1 adds project README and AGENTS files to both templates.
|
|
117
|
+
They route gameplay work to installed SDK guides/types, document startup and
|
|
118
|
+
build checks, and distinguish authored files from generated output. Published
|
|
119
|
+
CLI 3.6.0 templates retain their original contents. Existing project files are
|
|
120
|
+
not overwritten when adopting the new CLI.
|
|
121
|
+
|
|
111
122
|
CLI 3.6.0 supplies rounded Kurot-owned textures,
|
|
112
123
|
native `.kui.xml` component states and resource-default nine-slice grids under
|
|
113
124
|
`resource/assets/ui/kui`. See [default KUI skins](docs/default-ui-skins.md).
|
|
@@ -115,7 +126,7 @@ Registry CLI 3.5.0 still contains the previous atlas.
|
|
|
115
126
|
The default Button uses symmetric padding and Panel titles use middle alignment.
|
|
116
127
|
The source preview also uses Core 2.5.0's multilingual ink centering;
|
|
117
128
|
inputs and multiline text retain stable baselines.
|
|
118
|
-
The new 2× atlas requires Core ^2.5.0;
|
|
129
|
+
The new 2× atlas requires published Core ^2.5.0; CLI 3.6.0 is also published.
|
|
119
130
|
|
|
120
131
|
The CLI 3.6.0 game-template refresh introduces a "Made with Kurot" brand splash
|
|
121
132
|
with a playful mascot entrance, looping hops and sparkles. It supports reduced
|
|
@@ -228,7 +239,7 @@ use `property.state` on the affected node, so internal graphics remain unnamed.
|
|
|
228
239
|
Image sources use their resource key directly, for example
|
|
229
240
|
`source="button_up_png"`.
|
|
230
241
|
|
|
231
|
-
|
|
242
|
+
CLI 3.6.0/3.6.1 uses published `@kurot/ui-document@^0.13.0` and retains its literal-string XML rules.
|
|
232
243
|
For example, `<Label text="100.80" text.down="false" size="48" />` compiles
|
|
233
244
|
the exact strings `100.80` and `false`, while the font size stays numeric.
|
|
234
245
|
String properties no longer add or remove backslash type escapes. Remove old
|
|
@@ -254,6 +265,12 @@ node inside the Skin is inferred as a skin part; its `id` is the part
|
|
|
254
265
|
name. The declaration augments the UI runtime with those exact names and types.
|
|
255
266
|
This file is editor-only, ignored by git, and never enters browser bundles.
|
|
256
267
|
|
|
268
|
+
CLI 3.6.1 emits a getter for each host's narrowed skinParts,
|
|
269
|
+
matching Component's accessor and supporting `tsc --noEmit --skipLibCheck false`.
|
|
270
|
+
Published CLI 3.6.0 emits a readonly property and can fail with TS2610. Rebuild
|
|
271
|
+
using the fixed CLI to regenerate declarations; Core/UI and project dependency
|
|
272
|
+
requirements are unchanged. Generated runtime Skin factories are unaffected.
|
|
273
|
+
|
|
257
274
|
## Reusable components
|
|
258
275
|
|
|
259
276
|
Convention-based reusable components pair:
|
|
@@ -366,6 +383,6 @@ than selecting a different preset. Missing presets, unsupported selection or
|
|
|
366
383
|
invalid configuration fail explicitly. Expansion runs after resource defaults
|
|
367
384
|
and before color resolution. It does not load fonts or measure text.
|
|
368
385
|
|
|
369
|
-
|
|
386
|
+
CLI 3.6.0/3.6.1 uses published ui-document 0.13.0 without local overrides. CLI
|
|
370
387
|
3.2.1 does not include this feature. Existing projects are not migrated.
|
|
371
388
|
See [the shared contract](../ui-document/docs/project-styles.md).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skin-parts-declaration.d.ts","sourceRoot":"","sources":["../../../src/core/kui/skin-parts-declaration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAcpE;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"skin-parts-declaration.d.ts","sourceRoot":"","sources":["../../../src/core/kui/skin-parts-declaration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAcpE;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgD9G"}
|
|
@@ -36,7 +36,8 @@ export async function generateSkinPartsDeclaration(project, skins) {
|
|
|
36
36
|
}
|
|
37
37
|
lines.push('\t}', '}', '');
|
|
38
38
|
for (const host of hosts) {
|
|
39
|
-
|
|
39
|
+
// Preserve Component's accessor kind when narrowing the inherited member.
|
|
40
|
+
lines.push(`declare module ${JSON.stringify(host.module)} {`, `\tinterface ${host.className} {`, `\t\tget skinParts(): import("@kurot/ui").SkinPartsOf<${JSON.stringify(host.skinName)}>;`, '\t}', '}', '');
|
|
40
41
|
}
|
|
41
42
|
lines.push('export {};', '');
|
|
42
43
|
return lines.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skin-parts-declaration.js","sourceRoot":"","sources":["../../../src/core/kui/skin-parts-declaration.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skin-parts-declaration.js","sourceRoot":"","sources":["../../../src/core/kui/skin-parts-declaration.ts"],"names":[],"mappings":"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"}
|
package/docs/ai-context.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# @kurot/cli — AI context map
|
|
2
2
|
|
|
3
|
-
CLI 3.6.0 is
|
|
4
|
-
|
|
3
|
+
CLI 3.6.0 is published, verified on npm on 2026-10-10, including latest,
|
|
4
|
+
package download and matching registry integrity. Development installs
|
|
5
5
|
published ui-document 0.13.0 with a matching
|
|
6
6
|
registry lockfile, without local overrides. Read
|
|
7
7
|
[centered flips](../../../docs/centered-flips.md) for transform and adoption contracts.
|
|
8
8
|
|
|
9
9
|
Read this before exploring `src/`. [`architecture.md`](./architecture.md)
|
|
10
|
-
explains the plugin pipeline. Version `@kurot/cli@3.6.
|
|
10
|
+
explains the plugin pipeline. Version `@kurot/cli@3.6.1` is prepared locally (not published), runs on Node.js 20+,
|
|
11
11
|
and is installed as a project dev dependency.
|
|
12
12
|
|
|
13
13
|
## Directory map
|
|
@@ -32,15 +32,17 @@ src/
|
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Project templates are under `templates/game` and `templates/empty`.
|
|
35
|
+
CLI 3.6.1 includes README/AGENTS consumer navigation in both templates; its
|
|
36
|
+
game entry links the new UI 3.6.2 authoring guide and complete ScoreHUD recipe. See [game-template.md](game-template.md).
|
|
35
37
|
The CLI 3.6.0 game template's default KUI skin refresh includes 16 native Skin files,
|
|
36
38
|
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
|
|
39
|
+
colors. These replace the old EUI assets. Group/List/TabBar and text/image nodes use
|
|
38
40
|
native XML composition rather than unused default Skin placeholders. See
|
|
39
41
|
[default KUI skins](default-ui-skins.md). Private tools/default-ui-assets generates
|
|
40
42
|
the committed assets with registry Atlas; CLI gains no atlas runtime dependency.
|
|
41
43
|
The 2× sheet requires Core ^2.5.0; published Core 2.4.0
|
|
42
44
|
does not interpret it. Private preview tooling binds checkout Core in an isolated
|
|
43
|
-
trial.
|
|
45
|
+
trial. Core 2.5.0 was published before CLI 3.6.0; both are verified on npm.
|
|
44
46
|
The CLI 3.6.0 game template includes the looping mascot brand splash; registry
|
|
45
47
|
CLI 3.5.0 does not contain that HTML/logo refresh. See game-template.md.
|
|
46
48
|
The 3.2.1 game template includes fixed style/locale configuration,
|
|
@@ -105,6 +107,11 @@ as the part name. Internal nodes can omit `id`; the declaration augments
|
|
|
105
107
|
component classes. The file is development metadata and is excluded from
|
|
106
108
|
runtime output.
|
|
107
109
|
|
|
110
|
+
CLI 3.6.1 narrows host `skinParts` through a getter signature,
|
|
111
|
+
preserving Component's accessor kind under `skipLibCheck=false`. Published CLI
|
|
112
|
+
3.6.0 instead emits a readonly property and can report TS2610. Regenerate with
|
|
113
|
+
the fixed CLI; do not change Core/UI or hand-edit the generated declaration.
|
|
114
|
+
|
|
108
115
|
## Reusable components
|
|
109
116
|
|
|
110
117
|
With `ui.components`, `<Name>.ts` under `sourceDir` pairs with
|
package/docs/default-ui-skins.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Default KUI skins
|
|
2
2
|
|
|
3
|
-
This game-template refresh is included in CLI 3.6.0,
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
This game-template refresh is included in published CLI 3.6.0, verified on npm
|
|
4
|
+
on 2026-10-10. CLI 3.5.0 contains the older atlas. The 2× kit requires published
|
|
5
|
+
Core ^2.5.0; actual published CLI scaffolding resolves that dependency.
|
|
6
6
|
The template owns the XML, textures and project colors; `@kurot/ui`
|
|
7
7
|
does not ship a bitmap theme or load a stylesheet itself.
|
|
8
8
|
|
|
@@ -87,24 +87,23 @@ and wrap the node with Group/Image/Scroller for its surface and viewport.
|
|
|
87
87
|
`src/DefaultUI.ts` only connects data and events. The example installs its own
|
|
88
88
|
project font loader and document dependency; other projects are unchanged.
|
|
89
89
|
|
|
90
|
-
Core 2.5.
|
|
91
|
-
|
|
90
|
+
The example now locks registry Core 2.5.4, which supports sheet density. Its
|
|
91
|
+
installed CLI remains 3.3.1, so use checkout CLI 3.6.0 for the current gallery's
|
|
92
|
+
constructor-name preservation. From the repository root:
|
|
92
93
|
|
|
93
94
|
```sh
|
|
94
|
-
pnpm --dir packages/core build
|
|
95
95
|
pnpm --dir packages/cli build
|
|
96
|
-
|
|
96
|
+
cd examples/game
|
|
97
|
+
node ../../packages/cli/dist/index.js dev
|
|
97
98
|
```
|
|
98
99
|
|
|
99
|
-
|
|
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
|
|
100
|
+
Open the server URL with `?ui=1`; the ordinary scene remains available without
|
|
104
101
|
that parameter. Try the inputs, switches, ComboBox, tabs, sliders, panel close
|
|
105
|
-
button and draggable List. The gallery
|
|
106
|
-
KUI XML
|
|
107
|
-
|
|
102
|
+
button and draggable List. The gallery uses the example's installed Core/UI
|
|
103
|
+
with compiled KUI XML, without modifying dependencies or locks. In that example
|
|
104
|
+
directory, the same CLI accepts `build` and `build --release` for one-shot builds.
|
|
105
|
+
The private asset tool's isolated source preview remains an optional maintenance
|
|
106
|
+
tool for testing checkout engine changes; it is not required by the installed Core.
|
|
108
107
|
|
|
109
108
|
CLI 3.6.0 preserves constructor names in development and release
|
|
110
109
|
engine/namespace bundles so Theme lookup also works for self-referencing
|
|
@@ -115,7 +114,7 @@ PNG/atlas generator. It uses registry `@kurot/atlas@0.1.0` only as private
|
|
|
115
114
|
repository tooling. CLI and runtime SDKs gain no atlas dependency. See its
|
|
116
115
|
[maintenance instructions](../../../tools/default-ui-assets/README.md).
|
|
117
116
|
|
|
118
|
-
Core 2.5.0
|
|
117
|
+
Core 2.5.0 and CLI 3.6.0 are published; Core was published first.
|
|
119
118
|
UI/Game/document/runtime need no incidental release; existing 1× consumers keep
|
|
120
119
|
their behavior. See [density units and adoption](../../core/docs/texture-density.md).
|
|
121
120
|
Existing projects keep their own skins, resource keys and startup code. New
|
package/docs/game-template.md
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# Project styles and languages in the game template
|
|
2
2
|
|
|
3
3
|
Project-owned style/font/language initialization was introduced in CLI 3.2.1
|
|
4
|
-
and remains in CLI 3.6.0
|
|
4
|
+
and remains in published CLI 3.6.0. Existing projects keep their own startup
|
|
5
5
|
code and HTML; the empty template stays minimal.
|
|
6
6
|
|
|
7
|
+
## Project documentation in 3.6.1
|
|
8
|
+
|
|
9
|
+
CLI 3.6.1 includes a project README and short AGENTS entry in both templates.
|
|
10
|
+
This version is prepared locally and has not been published.
|
|
11
|
+
They identify the gameplay entry, commands, expected startup, generated files
|
|
12
|
+
and task-specific guides in installed SDK packages. Read the consumer project's
|
|
13
|
+
manifest, lock and installation for its actual versions. These additions are
|
|
14
|
+
not in the already published CLI 3.6.0 artifact and do not rewrite existing games.
|
|
15
|
+
For gameplay, the entries point to Core's game-authoring guide when installed,
|
|
16
|
+
or the Star Catcher reference in an engine checkout; older packages retain their
|
|
17
|
+
README/type-declaration fallback.
|
|
18
|
+
|
|
19
|
+
The [standard UI guide](../../ui/docs/ui-authoring.md), bundled in UI 3.6.2, adds
|
|
20
|
+
directory, TS/Skin pairing and lifecycle rules above the API reference, with a
|
|
21
|
+
complete HUD recipe. The game README points at its installed copy. UI 3.6.2 and
|
|
22
|
+
CLI 3.6.1 are separate packages: installing UI supplies the guides, while using
|
|
23
|
+
the new CLI for create supplies template entry docs. Existing projects keep
|
|
24
|
+
their own instructions and can add the links explicitly.
|
|
25
|
+
|
|
7
26
|
## Files
|
|
8
27
|
|
|
9
28
|
- resource/config/style.json declares the primary font role and skin text colors.
|
|
@@ -30,7 +49,7 @@ Templates do not implement live font/theme/language replacement.
|
|
|
30
49
|
|
|
31
50
|
## HTML brand splash
|
|
32
51
|
|
|
33
|
-
This splash is included in CLI 3.6.0
|
|
52
|
+
This splash is included in published CLI 3.6.0; npm CLI 3.5.0 lacks it.
|
|
34
53
|
|
|
35
54
|
The game template's `web/index.html` presents `web/logo.png` beneath a small
|
|
36
55
|
"Made with" caption. The mascot makes a gentle entrance, then repeats a playful
|
package/package.json
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Game project agent entry
|
|
2
|
+
|
|
3
|
+
Read [README.md](README.md) for commands, expected startup and project paths.
|
|
4
|
+
For a complete game flow, follow its game-authoring/Star Catcher route when available.
|
|
5
|
+
Use package.json, the lock and `pnpm list --depth 0` for the actual SDK baseline.
|
|
6
|
+
|
|
7
|
+
- Start gameplay changes in `src/Main.ts` or the modules it imports. This is a
|
|
8
|
+
Core-only consumer project; engine internals are outside its normal scope.
|
|
9
|
+
- Read installed Core's README first. For the API being changed, consult its
|
|
10
|
+
public `dist/index.d.ts`/re-exported types and the relevant installed guide.
|
|
11
|
+
When available, `docs/api/topics.md` routes to individual symbol/member pages.
|
|
12
|
+
The README links resources, audio and CLI usage; load other docs on demand.
|
|
13
|
+
When an older install lacks a guide, use its README/types before versioned
|
|
14
|
+
source. Engine-repository source paths may be absent from node_modules.
|
|
15
|
+
- Use TypeScript, ESM and the project's strict settings. Use named exports,
|
|
16
|
+
explicit exported-function return types and `undefined` for missing values.
|
|
17
|
+
Use the installed public API and preserve the project's dependency baseline.
|
|
18
|
+
- Keep one Player. Display/input coordinates are logical units. Retain listener
|
|
19
|
+
and tick callback identities so application cleanup can unregister them.
|
|
20
|
+
`app.stop()` stops this Player's rendering; manage gameplay activity separately.
|
|
21
|
+
- Edit source/config/resource inputs; output directories and `.kurot/` are
|
|
22
|
+
generated. Read the authored HTML path from kurot.config.ts.
|
|
23
|
+
- Before finishing, run `pnpm build` and check the browser console and intended
|
|
24
|
+
behavior. Run `pnpm release` when changing release behavior. Report executed
|
|
25
|
+
checks and any unverified behavior; build success alone is not gameplay proof.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Kurot empty project
|
|
2
|
+
|
|
3
|
+
A minimal Core-only application. The initial canvas is blank; the browser
|
|
4
|
+
console prints `Kurot game started`. Add your gameplay in `src/Main.ts`.
|
|
5
|
+
|
|
6
|
+
## Run and build
|
|
7
|
+
|
|
8
|
+
Use Node.js 20+ and pnpm from this project directory:
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
pnpm install
|
|
12
|
+
pnpm dev
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Open the URL printed by the server (default `http://localhost:3000`). Refresh
|
|
16
|
+
the browser manually after a successful rebuild.
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
pnpm build
|
|
20
|
+
pnpm release
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Development output is `bin-debug/`; release output is
|
|
24
|
+
`bin-release/web/<timestamp>/`. Serve the generated directory over HTTP for
|
|
25
|
+
browser checks. `pnpm clean` removes both output trees.
|
|
26
|
+
|
|
27
|
+
The CLI transpiles with esbuild; a successful build does not establish complete
|
|
28
|
+
TypeScript type correctness or gameplay behavior. After changes, check the
|
|
29
|
+
browser console, resource requests and intended interactions.
|
|
30
|
+
|
|
31
|
+
## Project map
|
|
32
|
+
|
|
33
|
+
- `src/Main.ts`: creates the single Player and root Sprite; add game objects
|
|
34
|
+
and input/update logic here or in application modules it imports.
|
|
35
|
+
- `kurot.config.ts`: build entry, stage settings and output paths. Keep explicit
|
|
36
|
+
createPlayer options in Main consistent with the intended stage settings.
|
|
37
|
+
- `template/web/index.html`: authored HTML and canvas.
|
|
38
|
+
- `bin-debug/`, `bin-release/` and `.kurot/`: generated files; edit their inputs.
|
|
39
|
+
|
|
40
|
+
## Read only what the task needs
|
|
41
|
+
|
|
42
|
+
For gameplay, read Core's `docs/game-authoring.md` when the installed package
|
|
43
|
+
includes it. In an engine checkout, that guide links `examples/star-catcher`,
|
|
44
|
+
a complete game with `pnpm check`. The guide ships since Core 2.5.5; Star Catcher
|
|
45
|
+
is repository content. Older installations can use their README/types instead.
|
|
46
|
+
|
|
47
|
+
After installation, start with [Core usage](node_modules/@kurot/core/README.md).
|
|
48
|
+
Use [resources](node_modules/@kurot/core/docs/resource.md),
|
|
49
|
+
[audio](node_modules/@kurot/core/docs/audio-playback.md) or
|
|
50
|
+
[CLI commands](node_modules/@kurot/cli/README.md) when relevant. These links are
|
|
51
|
+
project-relative and become available after installation.
|
|
52
|
+
|
|
53
|
+
Read `package.json`, `pnpm-lock.yaml` and `pnpm list --depth 0` for the declared,
|
|
54
|
+
locked and installed versions. Public signatures are in each installed package's
|
|
55
|
+
`dist/index.d.ts` and re-exported declarations. For an older package lacking a
|
|
56
|
+
linked guide, use that installed version's README/types, then its exact version
|
|
57
|
+
source if needed. Repository `src/` paths are not guaranteed inside npm packages.
|
|
58
|
+
|
|
59
|
+
The project starts with Core only. Add further SDKs explicitly when gameplay
|
|
60
|
+
requires them; keep dependency adoption separate from ordinary feature work.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Game project agent entry
|
|
2
|
+
|
|
3
|
+
Read [README.md](README.md) for commands, project paths and installed-doc links.
|
|
4
|
+
For a complete game flow, follow its game-authoring/Star Catcher route when available.
|
|
5
|
+
Check package.json, the lock and `pnpm list --depth 0` for the actual SDK baseline.
|
|
6
|
+
|
|
7
|
+
- Start gameplay in `src/Main.ts` or its application modules. Consult startup
|
|
8
|
+
services only when changing fonts, resources, translations or lifecycle.
|
|
9
|
+
Preserve the startup order documented in README.
|
|
10
|
+
- For UI, follow README's installed UI authoring/ScoreHUD route (UI >= 3.6.2). Pair discovered component
|
|
11
|
+
TS and Skin XML at matching relative paths; keep helpers outside the scanned
|
|
12
|
+
components directory. Edit appearance in XML and game decisions in controllers.
|
|
13
|
+
- Read the relevant installed Core/Game/UI/CLI README and public declarations
|
|
14
|
+
before adding APIs. When installed, `docs/api/topics.md` routes to individual
|
|
15
|
+
symbol/member pages; read only those needed. Published Game 2.0.0 has no
|
|
16
|
+
docs/; use its README/types, then versioned source if needed. Source paths in
|
|
17
|
+
engine context maps may be absent from installed packages.
|
|
18
|
+
- Use TypeScript, ESM and strict settings, named exports, explicit exported
|
|
19
|
+
function return types and `undefined` for missing values. Use public APIs
|
|
20
|
+
from the installed versions; keep dependency adoption explicit.
|
|
21
|
+
- Keep one Player and use logical display/input coordinates. Manage cleanup
|
|
22
|
+
for gameplay ticks, listeners, timers, tweens and sound channels on restart
|
|
23
|
+
and exit. `app.stop()` stops rendering; it does not pause all gameplay work.
|
|
24
|
+
- Edit source, KUI XML, manifests and project configuration. Build outputs,
|
|
25
|
+
generated theme JSON and `.kurot/` declarations come from those inputs.
|
|
26
|
+
- Finish with `pnpm build`, `pnpm exec tsc --noEmit --skipLibCheck false`
|
|
27
|
+
(CLI >= 3.6.1) and browser checks for startup, resources and changed
|
|
28
|
+
interactions. Check restart/cleanup when affected and `pnpm release` for
|
|
29
|
+
release changes. Report checks actually run and remaining verification limits;
|
|
30
|
+
esbuild success alone is not type checking or proof of playability.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Kurot game project
|
|
2
|
+
|
|
3
|
+
This starter demonstrates resource loading, styled KUI controls, translations
|
|
4
|
+
and Tween animation. Extend `src/Main.ts` with your game's rules and interaction.
|
|
5
|
+
|
|
6
|
+
## Run and build
|
|
7
|
+
|
|
8
|
+
Use Node.js 20+ and pnpm from this project directory:
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
pnpm install
|
|
12
|
+
pnpm dev
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Open the URL printed by the server (default `http://localhost:3000`). Expect the
|
|
16
|
+
loading screen followed by the translated starter interface and animated text.
|
|
17
|
+
Refresh the browser manually after a successful rebuild.
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
pnpm build
|
|
21
|
+
pnpm exec tsc --noEmit --skipLibCheck false
|
|
22
|
+
pnpm release
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Development output is `bin-debug/`; release output is
|
|
26
|
+
`bin-release/web/<timestamp>/`. Serve the generated directory over HTTP for
|
|
27
|
+
browser checks. `pnpm clean` removes both output trees.
|
|
28
|
+
|
|
29
|
+
The full declaration check requires CLI >= 3.6.1 for generated host skinParts;
|
|
30
|
+
rebuild after adopting it. Use the project's installed TypeScript compiler.
|
|
31
|
+
The CLI transpiles with esbuild; a successful build does not establish complete
|
|
32
|
+
TypeScript type correctness or gameplay behavior. Check console errors, resource
|
|
33
|
+
requests and the intended interactions in the browser.
|
|
34
|
+
|
|
35
|
+
## Project map
|
|
36
|
+
|
|
37
|
+
- `src/Main.ts`: application startup and gameplay/UI composition. Preserve the
|
|
38
|
+
existing font → Player → resources/theme → translations → scene ordering.
|
|
39
|
+
- `src/StyleManager.ts`, `LocaleManager.ts`, `AssetAdapter.ts`, `Preloader.ts`
|
|
40
|
+
and `LifecycleHandler.ts`: startup services; consult them when changing their
|
|
41
|
+
responsibility rather than reading all of them for every gameplay task.
|
|
42
|
+
- `resource/default.res.json`: resource manifest; `resource/config/`: fonts,
|
|
43
|
+
colors and language settings; `resource/lang/`: translation text.
|
|
44
|
+
- `resource/ui/skins/`: editable default KUI skins. For reusable controls, pair
|
|
45
|
+
`src/components/<Name>.ts` with
|
|
46
|
+
`resource/ui/components/<Name>Skin.kui.xml`; export the matching class name.
|
|
47
|
+
- `kurot.config.ts`: build/stage/component settings; `template/web/index.html`:
|
|
48
|
+
authored HTML. Keep explicit createPlayer options consistent with stage intent.
|
|
49
|
+
- `bin-debug/`, `bin-release/`, `.kurot/` and generated theme JSON: build outputs.
|
|
50
|
+
Edit authored inputs; the CLI generates the Skin module and part declarations.
|
|
51
|
+
|
|
52
|
+
## Read only what the task needs
|
|
53
|
+
|
|
54
|
+
For UI creation, read [standard UI authoring](node_modules/@kurot/ui/docs/ui-authoring.md)
|
|
55
|
+
and the [complete ScoreHUD pair](node_modules/@kurot/ui/docs/recipes/score-hud.md).
|
|
56
|
+
They specify the project tree above, typed component/Skin pairing and caller-owned
|
|
57
|
+
cleanup, and ship since UI 3.6.2. If an older installation lacks them, use that
|
|
58
|
+
version's README/types or the engine checkout's `packages/ui/docs/` guides when
|
|
59
|
+
available; verify APIs against the installed version.
|
|
60
|
+
Keep any game-specific variations in this project's README/AGENTS rather than
|
|
61
|
+
re-reading engine source for ordinary UI tasks.
|
|
62
|
+
|
|
63
|
+
For gameplay, use Core's `docs/game-authoring.md` when available. In an engine
|
|
64
|
+
checkout, it links `examples/star-catcher`, a complete game with `pnpm check`.
|
|
65
|
+
The game guide ships since Core 2.5.5; Star Catcher is repository content.
|
|
66
|
+
Older installed packages retain the README/type-declaration fallback.
|
|
67
|
+
|
|
68
|
+
After installation, choose the relevant guide:
|
|
69
|
+
|
|
70
|
+
| Task | Installed documentation |
|
|
71
|
+
| --- | --- |
|
|
72
|
+
| Startup, display and input APIs | [Core README](node_modules/@kurot/core/README.md) |
|
|
73
|
+
| Resource loading | [Resource guide](node_modules/@kurot/core/docs/resource.md) |
|
|
74
|
+
| Tween/MovieClip | [Game README](node_modules/@kurot/game/README.md) |
|
|
75
|
+
| UI workflow, directories and cleanup | [UI authoring](node_modules/@kurot/ui/docs/ui-authoring.md) (UI >= 3.6.2) |
|
|
76
|
+
| Complete TS/Skin pair | [ScoreHUD](node_modules/@kurot/ui/docs/recipes/score-hud.md) (UI >= 3.6.2) |
|
|
77
|
+
| HUD, controls and skin lifecycle | [UI README](node_modules/@kurot/ui/README.md) |
|
|
78
|
+
| KUI/build commands | [CLI README](node_modules/@kurot/cli/README.md) |
|
|
79
|
+
| Fonts, colors and language startup | [Template guide](node_modules/@kurot/cli/docs/game-template.md) |
|
|
80
|
+
|
|
81
|
+
These links are project-relative and become available after installation.
|
|
82
|
+
Read package.json, pnpm-lock.yaml and `pnpm list --depth 0` for declared, locked
|
|
83
|
+
and installed versions. Use public `dist/index.d.ts` and re-exported declarations
|
|
84
|
+
to confirm APIs; older installations can lack newer guides. Published Game 2.0.0
|
|
85
|
+
has README/types but omits docs/. Use those before consulting versioned source.
|
|
86
|
+
|
|
87
|
+
The 2× default atlas needs Core >= 2.5.0 within 2.x; also satisfy the installed
|
|
88
|
+
UI's Core peer. ui-document supports this starter's stylesheet parsing.
|
|
89
|
+
CLI-compiled skins run through UI; add ui-runtime only for its materialization
|
|
90
|
+
features. Existing project dependencies remain project-owned.
|