@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.
- package/CHANGELOG.md +55 -0
- package/dist/neo.mjs +2661 -395
- 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
|