You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
summary:"Declare polled memory in `state`; use per-field `normalize` when a transient candidate should retain its last accepted value.",
414
-
targets:&[
415
-
MigrationTarget::Language("state"),
416
-
MigrationTarget::Language("normalize"),
417
-
],
413
+
summary:"Declare polled memory in `state`; use a trailing field `if` with `value` and `old` when a transient candidate should retain its last accepted value.",
Copy file name to clipboardExpand all lines: docs/MIGRATION_CAPABILITIES.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ This index maps common source-language concepts to canonical SplitScript APIs an
14
14
|`asl.state.string-n` — Bounded native stringN state | ASL | Use a typed pattern | Use an explicitly decoded state path such as `as utf8(50)`; choose the encoding from evidence. Canonical targets: `state`. [Recipe](ASL_PORTING.md#bounded-native-stringn-state). |
15
15
|`asl.state.version-label` — Version-labelled state blocks | ASL | Use a typed pattern | Use named layouts in one state block and return the selected layout from `onAttach`. Canonical targets: `state`. [Recipe](ASL_PORTING.md#version-labelled-asl-states). |
16
16
|`asl.memory.deep-pointer` — DeepPointer | ASL | Supported directly | Use typed state paths for polled fields or `process.follow` for discovered paths. Canonical targets: `state`, `Process.follow`. |
17
-
|`asl.state.memory-watcher` — MemoryWatcher | ASL | Use a typed pattern | Declare polled memory in `state`; use per-field `normalize`when a transient candidate should retain its last accepted value. Canonical targets: `state`, `normalize`. [Recipe](ASL_PORTING.md#retaining-the-last-accepted-field-value). |
17
+
|`asl.state.memory-watcher` — MemoryWatcher | ASL | Use a typed pattern | Declare polled memory in `state`; use a trailing field `if` with `value` and `old`when a transient candidate should retain its last accepted value. Canonical targets: `state`. [Recipe](ASL_PORTING.md#retaining-the-last-accepted-field-value). |
18
18
|`asl.timer.on-start` — timer.OnStart | ASL | Use a typed pattern | Observe the `timer.state()` transition in `whileAttached` and reset run-scoped script state there. Canonical targets: `whileAttached`, `timer.state`. [Recipe](ASL_PORTING.md#run-scoped-one-shot-splits). |
19
19
|`asl.lifecycle.exit` — exit game-time cleanup | ASL | Supported directly | Use guarded `onDetached` cleanup and `timer.pauseGameTime()`. Canonical targets: `onDetached`, `timer.pauseGameTime`. [Recipe](ASL_PORTING.md#process-exit-game-time-cleanup). |
20
20
|`asl.settings.dynamic-lookup` — Dynamic settings lookup | ASL | Supported directly | Declare an exact string key with `key "..."`, then use `settings.enabled(key)` or `oldSettings.enabled(key)` for boolean settings. Choice and file settings remain statically typed. Canonical targets: `settings`, `oldSettings`. |
0 commit comments