@neocompose/cli 0.53.7 → 0.54.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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.54.0] - 2026-09-22
4
+
5
+ - `NeoSortingGroup` has a `SortPoint`: where the group sorts along the transparency sort axis, as a cell offset from the object's origin-cell corner. It defaults to `(0.5, 0)`, the bottom center of the origin cell. Generated Unity classes implement `INeoSortingGroup.SortPoint`, which requires Neo Compose SDK 0.40.0.
6
+
3
7
  ## [0.53.7] - 2026-09-22
4
8
 
5
9
  - Adding a value under a row that stores packed children, such as a new list on an item whose sprite is packed, keeps those children readable in `neo test`, `neo status`, and `neo push --dry-run`. A constructed instance replayed from that row used to receive the child's id instead of its value and fail with "NSFunction argument 1 does not match its declared runtime type."
package/dist/neo.mjs CHANGED
@@ -50032,6 +50032,14 @@ var init_world_system_classes_generated = __esm({
50032
50032
  docsText: "Sort this group against the scene root, ignoring any enclosing sorting group. Maps to SortingGroup.sortAtRoot.",
50033
50033
  requirement: 1 /* Required */,
50034
50034
  schemaKey: "SortAtRoot"
50035
+ },
50036
+ {
50037
+ memberId: "system_c5d39776-03d6-4673-84bb-16ba81ae9e0a",
50038
+ memberKind: "vector2",
50039
+ defaultValue: { x: 0.5, y: 0 },
50040
+ docsText: "Where this group sorts along the camera's transparency sort axis, as an offset from the object's origin-cell corner in cells, like NeoCollider.Offset. It is the group's pivot: put it where the art meets the ground. Moving it never moves the art.",
50041
+ requirement: 1 /* Required */,
50042
+ schemaKey: "SortPoint"
50035
50043
  }
50036
50044
  ],
50037
50045
  worldKind: "sortingGroup"
@@ -50093,7 +50101,7 @@ var init_world_system_classes_generated = __esm({
50093
50101
  memberId: "system_6f32f1f2-83ea-42fc-8647-34ed0946b7f1",
50094
50102
  memberKind: "int",
50095
50103
  defaultValue: null,
50096
- docsText: "Nudges this sprite's draw order within its object. Added to the order derived from the object's layer group \u2014 it does not replace it. Leave unset for the default order.",
50104
+ docsText: "Added to the object layer's sorting order; it does not replace it. The result competes with every renderer in the sorting layer, or in the enclosing sorting group, and among equal orders the renderer lower on screen draws in front. Leave unset to use the layer's order.",
50097
50105
  minValue: -32768,
50098
50106
  maxValue: 32767,
50099
50107
  schemaKey: "SortingOrder"
@@ -138836,7 +138844,7 @@ var init_registry2 = __esm({
138836
138844
  "schema-contract/registry.mjs"() {
138837
138845
  "use strict";
138838
138846
  PROJECT_SCHEMA_CONTRACT = Object.freeze({
138839
- cliVersion: "0.53.7",
138847
+ cliVersion: "0.54.0",
138840
138848
  projectFileUploadBatchSize: 32,
138841
138849
  documentRecords: {
138842
138850
  member: {
@@ -146657,7 +146665,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
146657
146665
  async function main() {
146658
146666
  const args = parseArgs(process.argv.slice(2));
146659
146667
  if (args.command === "--version") {
146660
- console.log("0.53.7");
146668
+ console.log("0.54.0");
146661
146669
  return;
146662
146670
  }
146663
146671
  if (args.command === null || args.command === "help" || args.command === "--help" || args.command === "-h") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neocompose/cli",
3
- "version": "0.53.7",
3
+ "version": "0.54.0",
4
4
  "description": "Neo Compose native project-source CLI with bidirectional sync.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -9,7 +9,7 @@ description: >-
9
9
  `@neocompose/cli` or `node cli/bin/neo.mjs` in the neo-compose repository.
10
10
  ---
11
11
 
12
- <!-- reviewed-through-cli: 0.53.7 -->
12
+ <!-- reviewed-through-cli: 0.54.0 -->
13
13
 
14
14
  # Neo Compose CLI
15
15
 
@@ -209,11 +209,16 @@ class Tree : NeoObject {
209
209
  ```
210
210
 
211
211
  Presence of a non-null group makes the object and descendants sort as one unit.
212
- `SortAtRoot` hoists a nested group against the scene root.
213
-
214
- `NeoSpriteObject` exposes `FlipX`, `FlipY`, `MaskInteraction`, and optional
215
- `SortingOrder`. Treat `SortingOrder` as an offset added to the order derived
216
- from layer, placement, and composition; it is not an absolute replacement.
212
+ `SortAtRoot` hoists a nested group against the scene root. `SortPoint` is the
213
+ point the group Y-sorts at, in cells from the object's origin-cell corner
214
+ (default `(0.5, 0)`, the origin cell's bottom center). Moving it never moves
215
+ art. Set it per class, variant, or animation frame, like any other value.
216
+
217
+ Objects sort by sorting layer, then order in layer, then sort-point Y (lower
218
+ draws in front), then document order. `NeoSpriteObject` exposes `FlipX`,
219
+ `FlipY`, `MaskInteraction`, and optional `SortingOrder`. Treat `SortingOrder`
220
+ as an offset added to the layer's sorting order; it is not an absolute
221
+ replacement.
217
222
 
218
223
  Use `NeoObjectBase.Enabled` to hide an object and its entire subtree without
219
224
  removing its authored `Children` row. A disabled object is not rendered or
@@ -97,7 +97,7 @@ wrappers.
97
97
  The marker near the top of `SKILL.md` must exactly match the package version:
98
98
 
99
99
  ```html
100
- <!-- reviewed-through-cli: 0.53.7 -->
100
+ <!-- reviewed-through-cli: 0.54.0 -->
101
101
  ```
102
102
 
103
103
  The quoted version above is checked too, so this instruction cannot go stale