@storylet-studio/runtime 0.7.0 → 0.8.1
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/README.md +10 -0
- package/dist/index.cjs +689 -57
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +117 -19
- package/dist/index.d.ts +117 -19
- package/dist/index.js +689 -57
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -15,3 +15,13 @@ Held to the conformance corpus (`@storylet-studio/conformance`): every
|
|
|
15
15
|
behaviour here is pinned by a case with hand-written expectations, and the
|
|
16
16
|
native ports must reproduce this runtime's results bit-for-bit where the
|
|
17
17
|
PRNG is involved (mulberry32, `src/prng.ts`).
|
|
18
|
+
|
|
19
|
+
## One registry per game
|
|
20
|
+
|
|
21
|
+
Every property value lives in a `ScopeRegistry` (`@wildwinter/scoperegistry`), one per
|
|
22
|
+
game. Pass the game's as `new Engine(bundle, { registry })` to share it with any other engine
|
|
23
|
+
(Patter, say): the engine registers `@story` under `story` and every other bag under a key
|
|
24
|
+
starting `storylets/`, `@world` is the game's to register, and `saveGame()` leaves the values
|
|
25
|
+
to the game, which saves the registry once. Without one the engine makes its own registry, self-backs
|
|
26
|
+
`@world`, and `saveGame()` carries every value, so one call is still the whole run. Version 1
|
|
27
|
+
envelopes still load. See [Running it with Patter](https://storylet.studio/play/with-patter/#one-registry).
|