@neocompose/cli 0.71.4 → 0.72.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 +19 -0
- package/README.md +13 -2
- package/dist/neo.mjs +114647 -110619
- package/dist/test-worker.mjs +2418 -483
- package/package.json +1 -1
- package/skills/neocompose-cli/SKILL.md +1 -1
- package/skills/neocompose-cli/references/cli-development.md +1 -1
- package/skills/neocompose-cli/references/commands-and-sync.md +9 -5
- package/skills/neocompose-cli/references/declarations-and-construction.md +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.72.1] - 2026-10-07
|
|
4
|
+
|
|
5
|
+
- Speed up `neo export` and `neo dev`: reuse verified unchanged exports, cache unchanged parsing and preparation work, share dialogue compiler symbols, and index Unity generation. Regenerate C# only when its schema inputs change; continue validating edited content and repairing changed output files.
|
|
6
|
+
- Reuse current compiled bodies for local tests, recompiling missing or stale member and constructor bodies without rewriting the pulled state.
|
|
7
|
+
- Share prepared commit records across export, tests, and push hooks. Avoid recompiling prepared schema bodies, reuse test preparation in doctor, and retain source analysis when showing status during `neo dev`.
|
|
8
|
+
- Keep source analysis and construction caches across processes and pulls. Reuse unchanged schema analysis after dialogue prose edits, and invalidate construction results when their structural inputs or observed localized values change. Restore missing or modified Unity output files from verified cached bytes.
|
|
9
|
+
- Persist validated source lowering, prepared candidates, animation validation proofs, and Unity builds in a shared file cache. Reuse them in fresh CLI processes, and preserve unaffected export structure across prose-only pulls.
|
|
10
|
+
- Reuse file reachability when construction inputs are unchanged, including dialogue text edits that do not affect file selection.
|
|
11
|
+
- Watch before the initial `neo dev` export, batch saves with a shorter bounded delay, ignore unrelated asset events, and recover after workspace lock failures.
|
|
12
|
+
|
|
13
|
+
## [0.72.0] - 2026-10-07
|
|
14
|
+
|
|
15
|
+
- Add the User root and `User` storage for per-player data shared across saves. Every project has `root.User` in its root source, and `@storage(allowed: .User)` marks a User class. A `Root.neo` pulled before the User root reports that it needs `neo pull`.
|
|
16
|
+
- User classes are checked on push: their members can't declare storage, they extend only User classes, they declare no static stored members, and the types they name must be User-safe. Lookups and delegates can't cross between User and Save data.
|
|
17
|
+
- NeoScript in a User class reads only `root.User` and names only User-safe types. Other code reads User data but can't change it.
|
|
18
|
+
- `neo dialogue dryrun` reports a User write from dialogue code, a User class instance placed in Save data, and a Save delegate that references a User row.
|
|
19
|
+
- Export schema 38 requires Neo Compose SDK 0.62.0.
|
|
20
|
+
- Generated Neo source no longer contains whitespace-only lines. Blank lines inside indented root, dialogue, and supplemental blocks are now empty.
|
|
21
|
+
|
|
3
22
|
## [0.71.4] - 2026-10-07
|
|
4
23
|
|
|
5
24
|
- Do not report records already acknowledged by `neo push` as new pull changes. Advance the pull cursor without compiling or rewriting unchanged sources, while retaining concurrent remote changes and reset detection.
|
package/README.md
CHANGED
|
@@ -107,6 +107,17 @@ those IDs and receives branch/version switches. `neo export` writes into that
|
|
|
107
107
|
Unity project; without `unityConfigPath`, it offers to link the config asset
|
|
108
108
|
for this project it finds in the Unity project around the working copy.
|
|
109
109
|
|
|
110
|
+
Validated source lowering, commit preparation, animation validation, and Unity
|
|
111
|
+
builds live in a shared file cache under `.neo/build/`. A new CLI process can
|
|
112
|
+
reuse them; keeping `neo dev` running is not required. Exact input and dependency
|
|
113
|
+
checks invalidate affected results. Independent dialogue prose changes preserve
|
|
114
|
+
structural work, including a pull that commits those changes. Structural source
|
|
115
|
+
edits still require broader analysis and preparation.
|
|
116
|
+
|
|
117
|
+
Export checks output bytes and restores missing or modified generated files
|
|
118
|
+
from its cache, without rewriting unchanged files. `neo dev` uses the same
|
|
119
|
+
preparation and export rules after each save.
|
|
120
|
+
|
|
110
121
|
Pull, push, and export refuse a working copy whose pulled project or version
|
|
111
122
|
differs from the config's, which happens when the asset changes outside the
|
|
112
123
|
CLI. Run `neo branch switch <versionId>` to reset and pull the config's
|
|
@@ -234,8 +245,8 @@ Tags = [
|
|
|
234
245
|
|
|
235
246
|
`Root.neo` contains the compiler-owned `Root root = new() { ... }` envelope.
|
|
236
247
|
Its member names, types, IDs, lock annotations, and storage settings are
|
|
237
|
-
protected, while the `root.Assets`, `root.Save`,
|
|
238
|
-
initializers are editable.
|
|
248
|
+
protected, while the `root.Assets`, `root.Save`, `root.Session`, and
|
|
249
|
+
`root.User` value initializers are editable.
|
|
239
250
|
|
|
240
251
|
Reusable values are stored static members on ordinary project classes. There
|
|
241
252
|
is no `ValueRegistry` or generated `Values` namespace.
|