@neocompose/cli 0.75.2 → 0.76.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 +42 -0
- package/dist/neo.mjs +8310 -8741
- package/dist/test-worker.mjs +1292 -915
- package/package.json +1 -1
- package/skills/neocompose-cli/SKILL.md +7 -3
- package/skills/neocompose-cli/references/animation-and-world-authoring.md +3 -2
- package/skills/neocompose-cli/references/cli-development.md +1 -1
- package/skills/neocompose-cli/references/declarations-and-construction.md +42 -3
- package/skills/neocompose-cli/references/neoscript.md +4 -3
- package/skills/neocompose-cli/references/values-identities-and-references.md +39 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.76.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 80ea491: Instances share a member's declared value whenever it cannot change: the
|
|
8
|
+
member is `readonly` or Immutable, its declaration reads neither `this` nor a
|
|
9
|
+
constructor argument, and nothing in the value is writable. A readonly literal
|
|
10
|
+
is shared under any storage. A readonly initializer or collection is still
|
|
11
|
+
built per instance, since its value is fixed only at construction. An
|
|
12
|
+
Immutable value holding a writable member is no longer shared.
|
|
13
|
+
|
|
14
|
+
## 0.76.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- b9d4b99: Support local class values as instance references in constructor arguments and
|
|
19
|
+
other initializer expressions. Compose nested local member and collection values
|
|
20
|
+
inside constructor-backed initializers without copying referenced instances or
|
|
21
|
+
losing concrete subclass types. Report unsupported local uses at their source
|
|
22
|
+
location in the editor and CLI.
|
|
23
|
+
- a4b7721: `readonly` is now init-only, as in C#, and independent of storage. Field
|
|
24
|
+
initializers, constructors, object initializer blocks, and authored values set
|
|
25
|
+
a readonly member; nothing writes it after construction. It is valid on Save,
|
|
26
|
+
Session, Immutable, and User classes, but not with Writable storage. It is
|
|
27
|
+
shallow: a readonly collection's membership is fixed while its entries keep
|
|
28
|
+
their own mutability. Runtime construction can no longer set Immutable members,
|
|
29
|
+
and generated C# factories omit them. An Immutable member whose declaration,
|
|
30
|
+
including every row it owns, reads neither `this` nor a constructor argument
|
|
31
|
+
is a constant that every instance shares. Any other Immutable member is
|
|
32
|
+
evaluated per instance from its declared initializer, with its own `this` and
|
|
33
|
+
constructor arguments. Tile placements can no longer set NeoTile's class-level
|
|
34
|
+
`Name`, `Sprite`, or `SmartTile`. Exports move to schema 42, so Unity
|
|
35
|
+
needs SDK 0.66.0.
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- a4b7721: An object initializer block in a NeoScript body now settles a required member,
|
|
40
|
+
as P49 specifies: `new Folder() { Children = [] }` compiles when `Children` has
|
|
41
|
+
no default. Such an entry is evaluated with construction, before the block's
|
|
42
|
+
other entries assign in source order. A construction that leaves one unset
|
|
43
|
+
names each missing member.
|
|
44
|
+
|
|
3
45
|
## 0.75.2
|
|
4
46
|
|
|
5
47
|
### Patch Changes
|