@neocompose/cli 0.62.2 → 0.64.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 +17 -0
- package/dist/neo.mjs +78063 -78140
- package/dist/test-worker.mjs +36872 -36718
- 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 +6 -0
- package/skills/neocompose-cli/references/neoscript.md +8 -2
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.
|
|
113
|
+
<!-- reviewed-through-cli: 0.64.0 -->
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
@@ -105,6 +105,12 @@ Use context-aware typed annotations:
|
|
|
105
105
|
explicitly stored. A packed subtree shares its parent's document-size limit,
|
|
106
106
|
so a write that would exceed the hard limit fails instead of falling back.
|
|
107
107
|
`.Packed` is rejected on a List whose `listKind` is unordered.
|
|
108
|
+
- `@effect` only on a class member function. The Unity runtime runs it for
|
|
109
|
+
every live instance and reruns it whenever data it read changes; the web
|
|
110
|
+
editor, `neo test`, and dry runs never run effects. It must be an immediate,
|
|
111
|
+
parameterless `void` instance function with a NeoScript or abstract body.
|
|
112
|
+
An override without the annotation inherits; `@effect(kind: .None)` stops
|
|
113
|
+
an inherited effect. Use it instead of polling or relaying changes by hand.
|
|
108
114
|
|
|
109
115
|
Use numeric literals for numeric limits. Keep annotations separate instead of
|
|
110
116
|
inventing a generic metadata bag.
|
|
@@ -131,10 +131,16 @@ so it must call or assign. A dictionary-literal body needs parentheses,
|
|
|
131
131
|
List<Item> ready = this.Items.Where((item) => item.Count > 0);
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
`==`, `!=`, `Contains`, `IndexOf`, and `Remove` compare Class, interface,
|
|
135
|
+
List, Set, and Dictionary values by identity: two reads of one stored value are
|
|
136
|
+
equal, and two values with identical fields are not. Primitives, enums,
|
|
137
|
+
vectors, and media references compare by value. The static type decides, so an
|
|
138
|
+
unconstrained generic `T` compares by value.
|
|
139
|
+
|
|
134
140
|
Calling `Equals(other)` on a non-null generic value dynamically uses the
|
|
135
141
|
runtime Class's one-argument `Equals` Function or NSFunction when it returns
|
|
136
142
|
`bool`, including the effective override. Values without that member fall back
|
|
137
|
-
to
|
|
143
|
+
to value equality.
|
|
138
144
|
|
|
139
145
|
Object initializers are available in method bodies and `.spec.neo` tests:
|
|
140
146
|
|
|
@@ -240,7 +246,7 @@ other collection callbacks.
|
|
|
240
246
|
|
|
241
247
|
Use `items.IndexOf(value)` to return the zero-based index of the first equal
|
|
242
248
|
list entry, or `-1` when the value is absent. `IndexOf` is list-only and uses
|
|
243
|
-
the same
|
|
249
|
+
the same equality as `Contains`.
|
|
244
250
|
|
|
245
251
|
Use `items.Insert(index, value)` to insert an entry into a writable ordered
|
|
246
252
|
list. The index may range from zero through `items.Count`; the count appends
|