@neocompose/cli 0.15.0 → 0.16.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.
Files changed (3) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/neo.mjs +2661 -395
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,60 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.16.1] - 2026-07-30
4
+
5
+ ### Fixed
6
+
7
+ - Lower member defaults that read their declaring class's constructor
8
+ parameters, including nested class and collection entries, while preserving
9
+ authored row identities and source-positioned diagnostics.
10
+ - Seed structural rows for newly authored class-valued members, including root
11
+ scope members, so a new object graph can be created in the same push that
12
+ declares it.
13
+ - Resolve shared collection entry types in the overriding class's concrete
14
+ generic environment. A `List<NeoAnimationSegmentFrame<SpriteInfo>>` override
15
+ now agrees with its inherited `List<NeoAnimationSegmentFrame<T>>` declaration
16
+ and generates the corresponding concrete C# property signature.
17
+
18
+ ## [0.16.0] - 2026-07-30
19
+
20
+ ### Added
21
+
22
+ - Name the member a class writes with `@settings(target: Class.Member)` on the
23
+ class declaration. The target is schema metadata rather than a row field, so
24
+ it is stored on the class record, validated at push, and re-emitted by
25
+ `neo pull` as the same `Class.Member` path.
26
+ - Seven world kinds for the P48 animation segment family: `AnimationFrameBase`,
27
+ `AnimationSegmentFrame`, `AnimationSegment`, `SpriteAnimationSegment`,
28
+ `AnimationTrack`, `AnimationSegmentTrack`, and
29
+ `SpriteAnimationSegmentTrack`, alongside the existing clip, frame, child
30
+ override, and child track kinds.
31
+
32
+ ### Changed
33
+
34
+ - Resolve an annotation's `Class.Member` path against the whole class rather
35
+ than its own declarations. `@settings(collection:)` and
36
+ `@settings(target:)` may now name a member the class inherits; naming one
37
+ through a subclass used to fail as unresolved.
38
+ - Spell a generic type argument bound to a structured leaf with its source
39
+ name. `SpriteInfo`, `Vector2`, and `Color` bindings validate at push and
40
+ emit as themselves instead of as their internal kind slug.
41
+ - Advance the project-schema contract to 3.8: a lookup member record carries
42
+ `declaredTypeInfo`, the type its declaration spells when that narrows the
43
+ collection's entry type. `NeoAnimationSegmentTrack.Child` is a covariant
44
+ override narrowed to the track's own `TChild`, and without it `neo pull`
45
+ re-emitted the collection entry's `NeoObjectBase` and the next push deleted
46
+ the narrowing.
47
+ - Substitute a class's generic bindings when checking an object initializer
48
+ against an inherited field. Assigning a member whose declared type is a
49
+ generic parameter was rejected against the bare parameter name; the
50
+ diagnostic now names the bound class.
51
+ - `NeoAnimationFrame` now derives from `NeoAnimationFrameBase` and
52
+ `NeoAnimationChildTrack` from `NeoAnimationTrackBase`; `Index`, `Child`, and
53
+ `StartFrame` keep their ids on the new bases. `NeoAnimationClip.Tracks`
54
+ holds `NeoAnimationTrackBase`, so a clip's track list is polymorphic.
55
+ - The animation family no longer declares `@storage(allowed: .Immutable)`;
56
+ each class documents what a mid-play change means instead.
57
+
3
58
  ## [0.15.0] - 2026-07-28
4
59
 
5
60
  ### Added