@neocompose/cli 0.24.5 → 0.24.6
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
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.24.6] - 2026-08-08
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Preserve named delegate method groups such as `this.SelectTorso` as lexical
|
|
8
|
+
delegate source during CLI lowering. This lets construction bind the selector
|
|
9
|
+
to each object instance instead of persisting an unbound member target that
|
|
10
|
+
makes animation tracks disappear in preview.
|
|
11
|
+
|
|
3
12
|
## [0.24.5] - 2026-08-07
|
|
4
13
|
|
|
5
14
|
### Fixed
|
package/dist/neo.mjs
CHANGED
|
@@ -88472,15 +88472,13 @@ function lowerFunctionReference(context, expression, ownerClassId) {
|
|
|
88472
88472
|
return { functionMemberId: target.id };
|
|
88473
88473
|
}
|
|
88474
88474
|
function lowerDelegateValue(context, expression, ownerClassId, authoredSlice) {
|
|
88475
|
-
|
|
88476
|
-
|
|
88477
|
-
|
|
88478
|
-
|
|
88479
|
-
|
|
88480
|
-
);
|
|
88481
|
-
}
|
|
88482
|
-
return { code };
|
|
88475
|
+
const code = initializerExpressionSlice(authoredSlice);
|
|
88476
|
+
if (code === void 0) {
|
|
88477
|
+
throw new Error(
|
|
88478
|
+
"Delegate values require recoverable authored source so the server can compile their lexical receiver."
|
|
88479
|
+
);
|
|
88483
88480
|
}
|
|
88481
|
+
if (expression.kind === "lambda") return { code };
|
|
88484
88482
|
const path = memberPath(expression);
|
|
88485
88483
|
const symbol = path?.startsWith("this.") ? path.slice("this.".length) : path;
|
|
88486
88484
|
if (symbol === null || symbol === void 0 || symbol.includes(".")) {
|
|
@@ -88499,7 +88497,7 @@ function lowerDelegateValue(context, expression, ownerClassId, authoredSlice) {
|
|
|
88499
88497
|
`Delegate ${symbol} does not resolve to a function, NSFunction, or NSDelegate member.`
|
|
88500
88498
|
);
|
|
88501
88499
|
}
|
|
88502
|
-
return {
|
|
88500
|
+
return { code };
|
|
88503
88501
|
}
|
|
88504
88502
|
function fileTargetId(context, expression, registry) {
|
|
88505
88503
|
const path = memberPath(expression);
|
|
@@ -101548,7 +101546,7 @@ var init_registry2 = __esm({
|
|
|
101548
101546
|
PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
101549
101547
|
formatVersion: 3,
|
|
101550
101548
|
contractVersion: "3.9",
|
|
101551
|
-
cliVersion: "0.24.
|
|
101549
|
+
cliVersion: "0.24.6",
|
|
101552
101550
|
projectFileUploadBatchSize: 32,
|
|
101553
101551
|
documentRecords: {
|
|
101554
101552
|
member: {
|
package/package.json
CHANGED
|
@@ -181,7 +181,9 @@ pulled rows.
|
|
|
181
181
|
A selector argument such as `this.SelectPants` is evaluated in the lexical
|
|
182
182
|
scope of the class that declares the clip. Here `this` is the `LegPart`, not
|
|
183
183
|
the nested track row or an outer object instance that later receives a copy of
|
|
184
|
-
the declaration default.
|
|
184
|
+
the declaration default. Keep that named method group as authored delegate
|
|
185
|
+
source through lowering so construction can capture each concrete `LegPart`;
|
|
186
|
+
an unbound member target has no instance on which to invoke the selector.
|
|
185
187
|
|
|
186
188
|
Each track has `StartFrame`, `Direction` (`.Forward` or `.Reverse`), and a
|
|
187
189
|
crop window `OffsetStartIndex`/`OffsetEndIndex`. Crop before reversing, then
|
|
@@ -82,7 +82,7 @@ wrappers.
|
|
|
82
82
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
83
83
|
|
|
84
84
|
```html
|
|
85
|
-
<!-- reviewed-through-cli: 0.24.
|
|
85
|
+
<!-- reviewed-through-cli: 0.24.6 -->
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
The quoted version above is checked too, so this instruction cannot go stale
|