@neocompose/cli 0.57.3 → 0.58.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.58.0] - 2026-09-24
4
+
5
+ - **Behavior change:** NeoScript cell queries the CLI evaluates, such as in `neo test`, no longer return an object that has no placement tiles. Before, such an object answered for its origin cell. This matches the Unity SDK (0.43.0) and the web editor: `PlacementTiles` are the cells an object occupies, and without them it occupies none.
6
+
3
7
  ## [0.57.3] - 2026-09-24
4
8
 
5
9
  - Status, pull, and push no longer copy a shared row passed to a constructor when they check a stored construction. Before, a constructor argument that named a shared row, such as a schedule event's `area`, copied that row's whole graph for every construction. Once an area grid held a few placed characters, this failed with "NeoScript constructed Session row limit of 4096 exceeded."
package/dist/neo.mjs CHANGED
@@ -70414,7 +70414,6 @@ function buildIndex(source) {
70414
70414
  seen.add(key);
70415
70415
  }
70416
70416
  }
70417
- if (footprint.length === 0) footprint.push(cell);
70418
70417
  const placement = {
70419
70418
  valueId,
70420
70419
  isNeoObject: kinds.get(row.classId) === NeoWorldSystemClassKind.Object,
@@ -140445,7 +140444,7 @@ var init_registry2 = __esm({
140445
140444
  "schema-contract/registry.mjs"() {
140446
140445
  "use strict";
140447
140446
  PROJECT_SCHEMA_CONTRACT = Object.freeze({
140448
- cliVersion: "0.57.3",
140447
+ cliVersion: "0.58.0",
140449
140448
  projectFileUploadBatchSize: 32,
140450
140449
  documentRecords: {
140451
140450
  member: {
@@ -148266,7 +148265,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
148266
148265
  async function main() {
148267
148266
  const args = parseArgs(process.argv.slice(2));
148268
148267
  if (args.command === "--version") {
148269
- console.log("0.57.3");
148268
+ console.log("0.58.0");
148270
148269
  return;
148271
148270
  }
148272
148271
  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.57.3",
3
+ "version": "0.58.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.57.3 -->
12
+ <!-- reviewed-through-cli: 0.58.0 -->
13
13
 
14
14
  # Neo Compose CLI
15
15
 
@@ -71,7 +71,9 @@ initializer cannot assign them. `Cell` is the placement's writable field.
71
71
 
72
72
  Object `PlacementTiles` is a `List<NeoPlacementTile>`. Each entry marks a
73
73
  footprint cell with its own `Cell` member. It is independent of `NeoTile`. Rendered
74
- tile classes do not belong in this list.
74
+ tile classes do not belong in this list. An object with no placement tiles
75
+ occupies no cells. It doesn't block other placements, and cell queries don't
76
+ return it.
75
77
 
76
78
  Convert a writable placement without changing its row identity or cell:
77
79
 
@@ -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.57.3 -->
100
+ <!-- reviewed-through-cli: 0.58.0 -->
101
101
  ```
102
102
 
103
103
  The quoted version above is checked too, so this instruction cannot go stale