@neocompose/cli 0.72.4 → 0.73.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,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.73.0] - 2026-10-08
4
+
5
+ - Trigger dialogues from NeoScript. `root.Dialogues` mirrors the generated C# `Dialogues`, with `TryTrigger(dialogueId, onFinish)`, `CanTrigger(dialogueId)`, `VisitCount`, and `HasVisited`. Standard groups get `TryTrigger(onFinish)` and `CanTrigger()`, lookup groups take their entry class, and `NeoDialogueReference` gets `TryTrigger(onFinish)` and `CanTrigger()`. `TryTrigger` compiles only in functions and dialogue actions. `neo test`, `neo script eval`, and dialogue dry runs return false.
6
+ - Completion, signature help, hover, go to definition, references, rename, and semantic highlighting for `root.Dialogues` paths, from local `NeoDialogueGroup` declarations.
7
+ - Breaking: source type names match C#. Rename `: Dialogue` to `: NeoDialogue` in `.neoflow` files, `DialogueGroup` to `NeoDialogueGroup`, `PriorityGroup` to `NeoPriorityGroup`, and the `Dialogue` member type to `NeoDialogueReference`. The old names are compile errors that name their replacement. Stored data doesn't change. `neo pull` writes the new names.
8
+ - A dialogue group can't be named after a `Dialogues` member: `TryTrigger`, `CanTrigger`, `VisitCount`, `HasVisited`, `OnTrigger`, `OnEligible`, or `OnEligibleError`.
9
+ - `VisitCount` and `HasVisited` are compile errors in a migration body, as they already were in construction bodies.
10
+ - A multiselect dialogue lookup reads in NeoScript as a `Set<string>` of dialogue ids. A single dialogue lookup is a `NeoDialogueReference`.
11
+ - An error in a field's type is reported at the field. When stored data named the field, it used to surface only as "Class Save has no stored member Count."
12
+ - Export schema 39 requires Neo Compose SDK 0.63.0. Inline runtime data uses schema 37.
13
+
3
14
  ## [0.72.4] - 2026-10-08
4
15
 
5
16
  - Restore null-safe constructor arguments and guarded method calls rejected by 0.72.2. Coalescing checks the result type, else-if conditions inherit preceding false-branch facts, and unrelated member writes preserve receiver guards.
package/README.md CHANGED
@@ -281,7 +281,7 @@ use the native typed intrinsic:
281
281
  Reference(Assets.Capitol)
282
282
  Reference(root.Assets.Cosmetics.Pants)
283
283
  Reference<PantsAsset>(key: "pants.long")
284
- Reference<Dialogue>(id: "dialogue-id")
284
+ Reference<NeoDialogue>(id: "dialogue-id")
285
285
  ```
286
286
 
287
287
  `Project.neo`, typed texture/audio templates, localization configuration and
@@ -321,7 +321,7 @@ bytes keep the local file and place the verified remote side under
321
321
  ## NeoFlow dialogue authoring
322
322
 
323
323
  Each `.neoflow` file contains exactly one sealed, non-generic class directly
324
- derived from the system `Dialogue` type and exactly one required trigger
324
+ derived from the system `NeoDialogue` type and exactly one required trigger
325
325
  override. Dialogue functions and lexical value bindings are ordinary typed
326
326
  Neo code. Main-locale prose is inline; other locales and workflow metadata
327
327
  remain in localized-text records.
@@ -334,7 +334,7 @@ options, and outcomes require one.
334
334
  ```neoflow
335
335
  @id("capitol-dialogue-id")
336
336
  @settings(name: "Capitol: cold boot", saveOptionChoices: true)
337
- sealed class CapitolColdBoot : Dialogue {
337
+ sealed class CapitolColdBoot : NeoDialogue {
338
338
  @primary Outpost capitol = Assets.Capitol;
339
339
 
340
340
  @id("can-start-function-id")