@neocompose/cli 0.24.9 → 0.25.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neocompose/cli",
3
- "version": "0.24.9",
3
+ "version": "0.25.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.24.9 -->
12
+ <!-- reviewed-through-cli: 0.25.0 -->
13
13
 
14
14
  # Neo Compose CLI
15
15
 
@@ -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.9 -->
85
+ <!-- reviewed-through-cli: 0.25.0 -->
86
86
  ```
87
87
 
88
88
  The quoted version above is checked too, so this instruction cannot go stale
@@ -92,6 +92,20 @@ entry and its declared type is the entry type; `public Set<Config> Configs`
92
92
  selects several. An initializer body for a single-select lookup returns one
93
93
  entry, never a set.
94
94
 
95
+ Declare a multicast event as `NeoAction<…>`. Its value is an ordered listener
96
+ set, so give it a bracketed list of method groups — never a lambda, and never
97
+ a bare method group — and never mark it `required`: the rest state is the
98
+ empty set.
99
+
100
+ ```neo
101
+ public NeoAction<int> OnDamaged = [PlayHitFlash, ApplyDamage];
102
+ ```
103
+
104
+ Subscribe and unsubscribe with `+=` and `-=` against the member reference
105
+ itself; both are durable writes deduplicated by target identity, so
106
+ re-running a subscription cannot double-subscribe. Invoke it as a statement —
107
+ an action is never a value, never a return type, and never assigned with `=`.
108
+
95
109
  Keep generic project relations as typed top-level declarations in
96
110
  `Relations.neo`. Let the compiler derive identities for owned descriptors and
97
111
  concrete generic bindings.