@neocompose/cli 0.10.7 → 0.11.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 +11 -0
- package/dist/neo.mjs +61 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.11.0] - 2026-07-27
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Accept `sortingGroup` as a world system class kind. P40 adds
|
|
8
|
+
`NeoSortingGroup` as a nested class member on `NeoObject`, so every project
|
|
9
|
+
on the migrated schema now carries a class whose `@system` metadata names a
|
|
10
|
+
kind this CLI's manifest validator did not know. Without the release, a
|
|
11
|
+
`neo pull` of any project after the P40 rollout fails validation on the new
|
|
12
|
+
class rather than writing source for it.
|
|
13
|
+
|
|
3
14
|
## [0.10.7] - 2026-07-26
|
|
4
15
|
|
|
5
16
|
### Fixed
|
package/dist/neo.mjs
CHANGED
|
@@ -12101,6 +12101,7 @@ var init_project_schema_contract_generated = __esm({
|
|
|
12101
12101
|
"ObjectPlacementTile",
|
|
12102
12102
|
"TileInstance",
|
|
12103
12103
|
"ObjectCollider",
|
|
12104
|
+
"SortingGroup",
|
|
12104
12105
|
"SortingLayer",
|
|
12105
12106
|
"SmartTile",
|
|
12106
12107
|
"SmartTileRule",
|
|
@@ -23439,6 +23440,7 @@ function isSchemaSystemMetadata(value) {
|
|
|
23439
23440
|
"objectPlacementTile",
|
|
23440
23441
|
"tileInstance",
|
|
23441
23442
|
"objectCollider",
|
|
23443
|
+
"sortingGroup",
|
|
23442
23444
|
"sortingLayer",
|
|
23443
23445
|
"smartTile",
|
|
23444
23446
|
"smartTileRule",
|
|
@@ -26740,6 +26742,7 @@ var init_validate = __esm({
|
|
|
26740
26742
|
"objectPlacementTile",
|
|
26741
26743
|
"tileInstance",
|
|
26742
26744
|
"objectCollider",
|
|
26745
|
+
"sortingGroup",
|
|
26743
26746
|
"sortingLayer",
|
|
26744
26747
|
"smartTile",
|
|
26745
26748
|
"smartTileRule",
|
|
@@ -29633,7 +29636,6 @@ function lowerInterface(context, declaration) {
|
|
|
29633
29636
|
function lowerEnum(context, declaration) {
|
|
29634
29637
|
const id2 = materializedId(declaration, "enum", declaration.name);
|
|
29635
29638
|
const base = context.baseEnums.get(id2);
|
|
29636
|
-
const baseOptions = new Map(base?.options.map((entry) => [entry.id, entry]));
|
|
29637
29639
|
return {
|
|
29638
29640
|
id: id2,
|
|
29639
29641
|
source: sourceIdentity2(declaration, "enum", declaration.name),
|
|
@@ -29641,13 +29643,15 @@ function lowerEnum(context, declaration) {
|
|
|
29641
29643
|
...declaration.docsText === void 0 ? {} : { docsText: declaration.docsText },
|
|
29642
29644
|
options: declaration.options.map((option) => {
|
|
29643
29645
|
const optionId = materializedId(option, "enum-option", option.name);
|
|
29644
|
-
const baseOption = baseOptions.get(optionId);
|
|
29645
29646
|
return {
|
|
29646
29647
|
id: optionId,
|
|
29647
29648
|
key: optionId,
|
|
29648
29649
|
name: option.name,
|
|
29649
29650
|
...option.docsText === void 0 ? {} : { docsText: option.docsText },
|
|
29650
|
-
|
|
29651
|
+
// An option with no `= "..."` is labelled by its own name. Preserving
|
|
29652
|
+
// the pulled record's text existed to carry a localized-text id
|
|
29653
|
+
// through a lowering; P39 section 1.3 removed that shape.
|
|
29654
|
+
text: option.textExpression === null ? option.name : stringExpression(option.textExpression),
|
|
29651
29655
|
source: sourceIdentity2(option, "enumOption", option.name)
|
|
29652
29656
|
};
|
|
29653
29657
|
}),
|
|
@@ -31185,7 +31189,7 @@ ${members.map((member) => indentNeoSourceNonEmptyLines(member, 2)).join("\n\n")}
|
|
|
31185
31189
|
}
|
|
31186
31190
|
function emitEnum(value) {
|
|
31187
31191
|
const options = value.options.map(
|
|
31188
|
-
(option) => `${emitDocsText(option.docsText)}${id(option.id)}${option.name}${option.text
|
|
31192
|
+
(option) => `${emitDocsText(option.docsText)}${id(option.id)}${option.name}${option.text === option.name ? "" : ` = ${quote(option.text)}`},`
|
|
31189
31193
|
);
|
|
31190
31194
|
return `${emitDocsText(value.docsText)}${id(value.id)}enum ${value.name} {
|
|
31191
31195
|
${options.map((option) => indentNeoSourceNonEmptyLines(option, 2)).join("\n")}
|
|
@@ -31989,11 +31993,6 @@ function assertUniqueEmittedPaths(files) {
|
|
|
31989
31993
|
paths.set(key, file);
|
|
31990
31994
|
}
|
|
31991
31995
|
}
|
|
31992
|
-
function looksLikeId(value) {
|
|
31993
|
-
return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(
|
|
31994
|
-
value
|
|
31995
|
-
);
|
|
31996
|
-
}
|
|
31997
31996
|
function assertIdentifier(value, kind) {
|
|
31998
31997
|
if (!isValidNeoIdentifier(value)) {
|
|
31999
31998
|
throw new Error(
|
|
@@ -33730,6 +33729,7 @@ var init_world_system_kinds_generated = __esm({
|
|
|
33730
33729
|
Tile: "tile",
|
|
33731
33730
|
ObjectBase: "objectBase",
|
|
33732
33731
|
ObjectCollider: "objectCollider",
|
|
33732
|
+
SortingGroup: "sortingGroup",
|
|
33733
33733
|
LayerGroupBase: "layerGroupBase",
|
|
33734
33734
|
SpriteObject: "spriteObject",
|
|
33735
33735
|
ObjectPlacementTile: "objectPlacementTile",
|
|
@@ -36085,6 +36085,22 @@ var init_world_system_classes_generated = __esm({
|
|
|
36085
36085
|
],
|
|
36086
36086
|
worldKind: "objectCollider"
|
|
36087
36087
|
},
|
|
36088
|
+
{
|
|
36089
|
+
classId: "system_69150540-b653-4bd0-a4fa-43a9f39da72b",
|
|
36090
|
+
name: "NeoSortingGroup",
|
|
36091
|
+
isAbstract: false,
|
|
36092
|
+
schemaFields: [
|
|
36093
|
+
{
|
|
36094
|
+
memberId: "system_fb90f48f-fcc0-4c98-bc22-70a8ea01170e",
|
|
36095
|
+
memberKind: "bool",
|
|
36096
|
+
defaultValue: false,
|
|
36097
|
+
docsText: "Sort this group against the scene root, ignoring any enclosing sorting group. Maps to SortingGroup.sortAtRoot.",
|
|
36098
|
+
required: true,
|
|
36099
|
+
schemaKey: "SortAtRoot"
|
|
36100
|
+
}
|
|
36101
|
+
],
|
|
36102
|
+
worldKind: "sortingGroup"
|
|
36103
|
+
},
|
|
36088
36104
|
{
|
|
36089
36105
|
classId: "system_bf076e9b-c8da-47dc-bae3-7527d0c307a8",
|
|
36090
36106
|
name: "NeoLayerGroupBase",
|
|
@@ -36111,6 +36127,42 @@ var init_world_system_classes_generated = __esm({
|
|
|
36111
36127
|
memberKind: "sprite",
|
|
36112
36128
|
required: true,
|
|
36113
36129
|
schemaKey: "Sprite"
|
|
36130
|
+
},
|
|
36131
|
+
{
|
|
36132
|
+
memberId: "system_9fcab37a-9743-4e35-8eee-80cb560f1433",
|
|
36133
|
+
memberKind: "bool",
|
|
36134
|
+
defaultValue: false,
|
|
36135
|
+
docsText: "Mirrors the sprite horizontally about its own centre. Maps to SpriteRenderer.flipX.",
|
|
36136
|
+
required: true,
|
|
36137
|
+
schemaKey: "FlipX"
|
|
36138
|
+
},
|
|
36139
|
+
{
|
|
36140
|
+
memberId: "system_ddd09f08-1656-4404-b36b-5570a4c01fcf",
|
|
36141
|
+
memberKind: "bool",
|
|
36142
|
+
defaultValue: false,
|
|
36143
|
+
docsText: "Mirrors the sprite vertically about its own centre. Maps to SpriteRenderer.flipY.",
|
|
36144
|
+
required: true,
|
|
36145
|
+
schemaKey: "FlipY"
|
|
36146
|
+
},
|
|
36147
|
+
{
|
|
36148
|
+
memberId: "system_f2a8c86d-ace5-421b-9475-0f3f6f97b2a6",
|
|
36149
|
+
memberKind: "enum",
|
|
36150
|
+
defaultValue: ["system_9d607a4f-60c3-4347-94fc-f24b538bf468"],
|
|
36151
|
+
docsText: "How this sprite reacts to sprite masks. Maps to SpriteRenderer.maskInteraction. The web canvas has no real sprite mask, so anything other than None previews as a distinguishable treatment rather than as the mask itself \u2014 only Unity renders the real thing.",
|
|
36152
|
+
enumId: "system_4e6c4d6f-1d0b-402a-ad3a-be92242dceec",
|
|
36153
|
+
multiselect: false,
|
|
36154
|
+
required: true,
|
|
36155
|
+
schemaKey: "MaskInteraction"
|
|
36156
|
+
},
|
|
36157
|
+
{
|
|
36158
|
+
memberId: "system_6f32f1f2-83ea-42fc-8647-34ed0946b7f1",
|
|
36159
|
+
memberKind: "int",
|
|
36160
|
+
defaultValue: null,
|
|
36161
|
+
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.",
|
|
36162
|
+
minValue: -32768,
|
|
36163
|
+
maxValue: 32767,
|
|
36164
|
+
required: false,
|
|
36165
|
+
schemaKey: "SortingOrder"
|
|
36114
36166
|
}
|
|
36115
36167
|
],
|
|
36116
36168
|
worldKind: "spriteObject"
|
|
@@ -49650,7 +49702,6 @@ var init_localization_types = __esm({
|
|
|
49650
49702
|
LOCALIZED_TEXT_LINK_KINDS = [
|
|
49651
49703
|
"member-value",
|
|
49652
49704
|
"member-default-value",
|
|
49653
|
-
"member-enum-option",
|
|
49654
49705
|
"dialogue-description",
|
|
49655
49706
|
"dialogue-node-text",
|
|
49656
49707
|
"dialogue-choice-text",
|