@neocompose/cli 0.61.2 → 0.61.4
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 +11 -0
- package/dist/neo.mjs +1016 -320
- 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/declarations-and-construction.md +4 -0
- package/skills/neocompose-cli/references/neoscript.md +5 -0
- package/skills/neocompose-cli/references/values-identities-and-references.md +5 -1
package/package.json
CHANGED
|
@@ -110,7 +110,7 @@ wrappers.
|
|
|
110
110
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
111
111
|
|
|
112
112
|
```html
|
|
113
|
-
<!-- reviewed-through-cli: 0.61.
|
|
113
|
+
<!-- reviewed-through-cli: 0.61.4 -->
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
@@ -219,6 +219,10 @@ qualified static, or reached through a stable root path. For example,
|
|
|
219
219
|
`protected int Slots = FeatureFlags.StartInventorySize;` evaluates the current
|
|
220
220
|
static field or getter whenever a new instance is constructed; it is not baked
|
|
221
221
|
into a persisted literal during push.
|
|
222
|
+
Root paths such as `root.Save.World.Time.Year` remain executable even when
|
|
223
|
+
`World` and `Time` exist only through construction defaults. This also applies
|
|
224
|
+
inside `new() { Year = root.Save.World.Time.Year }`: the child field retains
|
|
225
|
+
its initializer and reads the root when the instance is constructed.
|
|
222
226
|
|
|
223
227
|
Declare overloadable constructors as members when each constructor body owns
|
|
224
228
|
its parameter scope:
|
|
@@ -158,6 +158,11 @@ chain, so `config.Hat?.Head.Idle.Down.Frames` safely returns null when `Hat` is
|
|
|
158
158
|
null. A descendant that is itself nullable still needs its own `?.`, `??`, `!`,
|
|
159
159
|
or narrowing guard before the next access.
|
|
160
160
|
|
|
161
|
+
Inside an instance body, `Member` and `this.Member` share null and type-check
|
|
162
|
+
narrowing. A local or parameter named `Member` shadows the implicit member;
|
|
163
|
+
`this.Member` still names the instance field. Reassigning a narrowed path to a
|
|
164
|
+
nullable value clears its non-null fact.
|
|
165
|
+
|
|
161
166
|
Treat lookup-return values with the same nullable narrowing rules.
|
|
162
167
|
|
|
163
168
|
Runtime declaration patterns follow the possible runtime type, not only the
|
|
@@ -130,7 +130,11 @@ the edit is not a target, and lookup/dialogue references must still satisfy
|
|
|
130
130
|
assignability, collection membership, multiplicity, and group constraints.
|
|
131
131
|
|
|
132
132
|
`collectionValue` references follow the same post-push resolution and
|
|
133
|
-
membership rules as member defaults.
|
|
133
|
+
membership rules as member defaults. Name the collection itself, for example
|
|
134
|
+
`Reference(root.Assets.Quests.Daily)`. A path may traverse construction defaults
|
|
135
|
+
and declarations created in the same push. Preparation materializes the target
|
|
136
|
+
collection and its required ancestor rows together, preserving the virtual
|
|
137
|
+
identities. No preliminary push or manual value ID is needed.
|
|
134
138
|
|
|
135
139
|
## Defaults and localization
|
|
136
140
|
|