@moku-labs/game 0.15.39 → 0.15.41

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.
Files changed (34) hide show
  1. package/README.md +1 -1
  2. package/dist/app/page.d.mts +1 -1
  3. package/dist/app/system.d.mts +3 -3
  4. package/dist/app.d.mts +3 -3
  5. package/dist/app.mjs +1 -1
  6. package/dist/assets.d.mts +1 -1
  7. package/dist/{capture-PTJXDpxK.mjs → capture-BtS6_oWr.mjs} +61 -1
  8. package/dist/{commands-CMFdiDcg.d.mts → commands-DLk06fiL.d.mts} +5 -5
  9. package/dist/control.d.mts +4 -4
  10. package/dist/control.mjs +1 -1
  11. package/dist/{define-D27mfOhZ.d.mts → define-CgU4dz0e.d.mts} +2 -2
  12. package/dist/{headless-CRqMxzqv.d.mts → headless-1e3gEF1Y.d.mts} +1 -1
  13. package/dist/{headless-Bxxl_mQX.mjs → headless-CCiUwvlp.mjs} +1 -1
  14. package/dist/{index-DFAjLwxi.d.mts → index-D12s9KZ2.d.mts} +19 -7
  15. package/dist/index.d.mts +5 -5
  16. package/dist/index.mjs +2 -2
  17. package/dist/inspect.d.mts +6 -6
  18. package/dist/jsx-dev-runtime.d.mts +1 -1
  19. package/dist/jsx-runtime.d.mts +1 -1
  20. package/dist/{run-G4m1APMv.mjs → run-8s7kh2QD.mjs} +2 -2
  21. package/dist/{runtime-CbLZyDXj.d.mts → runtime-Bpg0WmM8.d.mts} +1 -1
  22. package/dist/{src-B2vblgmb.mjs → src-CWVwT9UM.mjs} +1858 -721
  23. package/dist/testing.d.mts +4 -4
  24. package/dist/testing.mjs +2 -2
  25. package/dist/{types-54KzmAA6.d.mts → types-B-o8Ul1v.d.mts} +2 -2
  26. package/dist/{types-0Br0SjTB.d.mts → types-CFEtGENK.d.mts} +1 -1
  27. package/dist/{types-H1FiWmKa.d.mts → types-DQ9VHXun.d.mts} +4 -4
  28. package/dist/{types-C_dk-lXz.d.mts → types-DrkR03nL.d.mts} +413 -31
  29. package/dist/{types-CGPWYbZO.d.mts → types-gQATSj41.d.mts} +2 -2
  30. package/dist/{visual-DjTJ02c3.d.mts → visual-pHKIFBSQ.d.mts} +6 -6
  31. package/dist/visual.d.mts +1 -1
  32. package/dist/visual.mjs +1 -1
  33. package/llms.txt +14 -4
  34. package/package.json +1 -1
package/README.md CHANGED
@@ -200,7 +200,7 @@ A rest node waits. A player answer comes through the gate. A world event comes t
200
200
  | `barrier` | The save is written durably after this node. Rollback cannot cross it. |
201
201
  | Flow | `defineFlow(id, { nodes, start, edges })`. A flow with `outcomes` is a node of another flow. |
202
202
  | Edge target | A node name, `exit("outcome")` to leave a sub-flow, or `to("node", mapper)`. |
203
- | Slot | `slot("name")`. Features contribute sub-flows to it. |
203
+ | Slot | `slot("name")`, or `slot("name", { shop: type<{ tab: string }>() })` with named outcomes. Features contribute sub-flows to it with `contribution(slot, { flow, order })`. A contribution that exits a declared outcome leaves the slot at once through the slot's edge. |
204
204
  | Feature | `defineFeature(name, { nodes?, flows?, contribute?, features? })`. A plugin that adds to the graph. `features` declares the sub-features of the feature; `flattenFeatures` turns the tree into the plugin list. |
205
205
  | Effect | `await fx(descriptor)` for awaited effects, `fx.emit(hint(...))` for cosmetic ones. |
206
206
  | Transition | Rest node to rest node, as one transaction. An error rolls back and retries. |
@@ -1,4 +1,4 @@
1
- import { m as StartedPage, r as GameConfig, t as AnyGameApp, u as PageOptions } from "../types-H1FiWmKa.mjs";
1
+ import { m as StartedPage, r as GameConfig, t as AnyGameApp, u as PageOptions } from "../types-DQ9VHXun.mjs";
2
2
 
3
3
  //#region src/app/page.d.ts
4
4
  /**
@@ -1,6 +1,6 @@
1
- import { Mr as PlayerStateProvider } from "../types-C_dk-lXz.mjs";
2
- import { ht as PlatformProvider } from "../index-DFAjLwxi.mjs";
3
- import { _ as SystemShellFactory, g as SystemName, h as SystemModules } from "../types-H1FiWmKa.mjs";
1
+ import { Nr as PlayerStateProvider } from "../types-DrkR03nL.mjs";
2
+ import { ht as PlatformProvider } from "../index-D12s9KZ2.mjs";
3
+ import { _ as SystemShellFactory, g as SystemName, h as SystemModules } from "../types-DQ9VHXun.mjs";
4
4
  import { Back, Haptics, KeepAwake, Lifecycle, Store } from "@moku-labs/system";
5
5
 
6
6
  //#region src/app/system.d.ts
package/dist/app.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { Dr as Json } from "./types-C_dk-lXz.mjs";
2
- import { U as StringTable } from "./types-0Br0SjTB.mjs";
3
- import { a as GameHandle, c as MemoryProvider, d as SaveKind, f as Scenario, g as SystemName, i as GameDefinition, l as PageAgent, n as GameApp, o as GamePluginConfigs, p as ScreenSeams, r as GameConfig, s as HeadlessSeams, v as WithGameState } from "./types-H1FiWmKa.mjs";
1
+ import { Or as Json } from "./types-DrkR03nL.mjs";
2
+ import { U as StringTable } from "./types-CFEtGENK.mjs";
3
+ import { a as GameHandle, c as MemoryProvider, d as SaveKind, f as Scenario, g as SystemName, i as GameDefinition, l as PageAgent, n as GameApp, o as GamePluginConfigs, p as ScreenSeams, r as GameConfig, s as HeadlessSeams, v as WithGameState } from "./types-DQ9VHXun.mjs";
4
4
  import { AnyPluginInstance } from "@moku-labs/core";
5
5
 
6
6
  //#region src/app/define.d.ts
package/dist/app.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { Ft as audioPlugin, H as platformPlugin, i as screen, m as flattenFeatures, t as createApp, wt as effectsPlugin } from "./src-B2vblgmb.mjs";
1
+ import { Ft as audioPlugin, H as platformPlugin, i as screen, m as flattenFeatures, t as createApp, wt as effectsPlugin } from "./src-CWVwT9UM.mjs";
2
2
  import { t as memory } from "./memory-CWlqhS7l.mjs";
3
3
  import { n as fakeClock, r as isFakeClock } from "./fake-hnJcJeYf.mjs";
4
4
  //#region src/app/define.ts
package/dist/assets.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { d as Manifest } from "./types-C_dk-lXz.mjs";
1
+ import { d as Manifest } from "./types-DrkR03nL.mjs";
2
2
 
3
3
  //#region src/plugins/assets/scan/cli.d.ts
4
4
  /**
@@ -114,6 +114,66 @@ function collectFlows(main, extra) {
114
114
  for (const flow of extra) addFlow(flow, flows);
115
115
  return flows;
116
116
  }
117
+ /** Edges without a rest node the runner allows per node of the expanded graph, above the floor. */
118
+ const RESTLESS_PER_NODE = 4;
119
+ /**
120
+ * Counts the nodes of one entry as the loop passes through it: a node is one, a sub-flow is its
121
+ * own expanded size, a slot is one for its own edge plus the expanded sizes of its contributions.
122
+ *
123
+ * @param entry - A node, sub-flow or slot.
124
+ * @param walk - The sizes known so far, the flows being counted and the contributions reader.
125
+ * @returns The expanded size of the entry.
126
+ */
127
+ function entrySize(entry, walk) {
128
+ if (entry.kind === "node") return 1;
129
+ if (entry.kind === "flow") return expandedSize(entry, walk);
130
+ let size = 1;
131
+ for (const { flow } of walk.contributionsOf(entry.name)) size += expandedSize(flow, walk);
132
+ return size;
133
+ }
134
+ /**
135
+ * Counts the nodes of a flow with every sub-flow and slot contribution expanded where it is
136
+ * used: a sub-flow entered from sixteen nodes counts sixteen times. Each flow is counted once and
137
+ * remembered; a flow that is already being counted, a sub-flow or a slot that leads back into
138
+ * itself, counts one.
139
+ *
140
+ * @param flow - The flow to count.
141
+ * @param walk - The sizes known so far, the flows being counted and the contributions reader.
142
+ * @returns The expanded node count of the flow.
143
+ */
144
+ function expandedSize(flow, walk) {
145
+ const known = walk.sizes.get(flow.id);
146
+ if (known !== void 0) return known;
147
+ if (walk.counting.has(flow.id)) return 1;
148
+ walk.counting.add(flow.id);
149
+ let size = 0;
150
+ for (const entry of Object.values(flow.nodes)) size += entrySize(entry, walk);
151
+ walk.counting.delete(flow.id);
152
+ walk.sizes.set(flow.id, size);
153
+ return size;
154
+ }
155
+ /**
156
+ * Computes how many edges the loop may take without arriving at a rest node before the next one
157
+ * fails: four per node of the expanded graph, never fewer than 64. The graph is expanded from the
158
+ * main flow: a sub-flow counts once per entry that uses it, a slot counts its contributions,
159
+ * because the loop takes their edges once per pass. A legal graph comes to rest long before the
160
+ * cap; a loop of transit nodes that never rests would freeze the game.
161
+ *
162
+ * @param main - The top-level flow.
163
+ * @param contributionsOf - Reads the contributions of a slot, in order.
164
+ * @returns The cap of edges without a rest node.
165
+ * @example
166
+ * ```ts
167
+ * restlessCapOf(mainFlow, () => []); // 64 for a graph of up to sixteen expanded nodes
168
+ * ```
169
+ */
170
+ function restlessCapOf(main, contributionsOf) {
171
+ return Math.max(64, RESTLESS_PER_NODE * expandedSize(main, {
172
+ sizes: /* @__PURE__ */ new Map(),
173
+ counting: /* @__PURE__ */ new Set(),
174
+ contributionsOf
175
+ }));
176
+ }
117
177
  /**
118
178
  * Renders a position as a path: the node of every frame, outermost first.
119
179
  *
@@ -1329,4 +1389,4 @@ async function captureFrame(mctx, options) {
1329
1389
  return shot === void 0 ? void 0 : answerOf(mctx, shot, options.against);
1330
1390
  }
1331
1391
  //#endregion
1332
- export { pushEntry as _, sheetAlone as a, collectFlows as c, findNode as d, framePath as f, compact as g, slotNames as h, servePaused as i, describeGraph as l, isRestCheckpoint as m, captureFrame as n, epochOf as o, graphHash as p, serveCaptures as r, pageNow as s, cancelCaptures as t, describedNode as u };
1392
+ export { compact as _, sheetAlone as a, collectFlows as c, findNode as d, framePath as f, slotNames as g, restlessCapOf as h, servePaused as i, describeGraph as l, isRestCheckpoint as m, captureFrame as n, epochOf as o, graphHash as p, serveCaptures as r, pageNow as s, cancelCaptures as t, describedNode as u, pushEntry as v };
@@ -1,8 +1,8 @@
1
- import { $r as Time, D as DebugSwitches, Ir as Snapshot, Rr as StoreApi, Vr as Api, Y as Api$1, Yr as FrameRate, ar as FlowState, nn as Api$2, nr as Bookmark, ot as Captured, w as ScenesApi } from "./types-C_dk-lXz.mjs";
2
- import { P as AnimApi, a as AudioApi, h as EffectsApi, r as UiApi } from "./types-54KzmAA6.mjs";
3
- import { N as InputApi } from "./types-0Br0SjTB.mjs";
4
- import { t as HeadlessApp } from "./headless-CRqMxzqv.mjs";
5
- import { n as Command, r as ControlApp } from "./types-CGPWYbZO.mjs";
1
+ import { D as DebugSwitches, Hr as Api, Lr as Snapshot, Xr as FrameRate, Y as Api$1, ei as Time, nn as Api$2, or as FlowState, ot as Captured, rr as Bookmark, w as ScenesApi, zr as StoreApi } from "./types-DrkR03nL.mjs";
2
+ import { P as AnimApi, a as AudioApi, h as EffectsApi, r as UiApi } from "./types-B-o8Ul1v.mjs";
3
+ import { N as InputApi } from "./types-CFEtGENK.mjs";
4
+ import { t as HeadlessApp } from "./headless-1e3gEF1Y.mjs";
5
+ import { n as Command, r as ControlApp } from "./types-gQATSj41.mjs";
6
6
 
7
7
  //#region src/plugins/flow/doors/commands.d.ts
8
8
  /**
@@ -1,7 +1,7 @@
1
- import { t as HeadlessApp } from "./headless-CRqMxzqv.mjs";
2
- import { i as InputArguments, n as Command, o as InputSchema, s as Ran } from "./types-CGPWYbZO.mjs";
3
- import { t as commands } from "./commands-CMFdiDcg.mjs";
4
- import { t as defineCommand } from "./define-D27mfOhZ.mjs";
1
+ import { t as HeadlessApp } from "./headless-1e3gEF1Y.mjs";
2
+ import { i as InputArguments, n as Command, o as InputSchema, s as Ran } from "./types-gQATSj41.mjs";
3
+ import { t as commands } from "./commands-DLk06fiL.mjs";
4
+ import { t as defineCommand } from "./define-CgU4dz0e.mjs";
5
5
 
6
6
  //#region src/plugins/flow/doors/dev.d.ts
7
7
  /**
package/dist/control.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  import { n as controlRefused, t as controlReadOnly } from "./dev-BNndV-hU.mjs";
2
2
  import { s as defineCommand } from "./session-DuZfGZWk.mjs";
3
- import { n as commands, t as run } from "./run-G4m1APMv.mjs";
3
+ import { n as commands, t as run } from "./run-8s7kh2QD.mjs";
4
4
  export { commands, controlReadOnly, controlRefused, defineCommand, run };
@@ -1,5 +1,5 @@
1
- import { t as HeadlessApp } from "./headless-CRqMxzqv.mjs";
2
- import { c as Source, n as Command, o as InputSchema } from "./types-CGPWYbZO.mjs";
1
+ import { t as HeadlessApp } from "./headless-1e3gEF1Y.mjs";
2
+ import { c as Source, n as Command, o as InputSchema } from "./types-gQATSj41.mjs";
3
3
 
4
4
  //#region src/plugins/flow/doors/define.d.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { Br as RngState, Dr as Json, Ln as Api$1, _r as Answer, ar as FlowState, cr as RouteStep, or as JournalEntry, qr as Api } from "./types-C_dk-lXz.mjs";
1
+ import { Jr as Api, Ln as Api$1, Or as Json, Vr as RngState, lr as RouteStep, or as FlowState, sr as JournalEntry, vr as Answer } from "./types-DrkR03nL.mjs";
2
2
 
3
3
  //#region src/plugins/flow/headless.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { p as graphHash, u as describedNode } from "./capture-PTJXDpxK.mjs";
1
+ import { p as graphHash, u as describedNode } from "./capture-BtS6_oWr.mjs";
2
2
  //#region src/plugins/flow/headless.ts
3
3
  const noPayload = null;
4
4
  /** Seed of a repro that pins no rng state, the seed `saveOf` writes. */
@@ -1,6 +1,6 @@
1
- import { $n as FeaturePlugin, An as NumericFields, B as ShapeValue, Bn as EmitterIdOf, C as SceneSpec, Cn as TagType, Dr as Json, Dt as PassKind, En as Ease, F as NineSliceValue, Gn as TextStylesOf, Gr as State$4, Hn as HudKeysOf, Hr as Config$4, Jr as Config$8, K as TransformValue, L as OverlayValue, Ln as Api$2, Mn as ProjectionSpec, N as HudPartValue, Nn as ReducedMotion, Or as Root, Qn as FeatureDescription, Qr as ThermalReading, Rn as BundlesOf, Rr as StoreApi, S as SceneDefinition, Sn as SystemFor, Sr as State$2, T as State$7, Tn as DescriptionNode, Tr as Config$5, U as SpriteOptions, Ur as Events, Vn as GameTypes, Vr as Api$3, W as SpriteValue, Wn as State$3, Wr as PauseReason, X as Config$6, Xr as RateChange, Y as Api$4, Zr as State$8, _ as AnySceneProjection, _n as Mut, _r as Answer, _t as FrameRing, a as Config$1, an as State$9, bn as ResourceType, br as Config$2, c as LoadBundles, dr as Descriptor, dt as ViewportSize, er as FeatureTree, f as ReadyBundles, fn as ComponentType, fr as Effect, gt as FrameRecord, hr as Hint, i as BundleSpec, jn as ProjectionMotion, jr as Patch, kr as State$5, l as LoadReason, lr as SceneIdOf, m as Tier, mr as GuideOptions, ni as Events$1, nn as Api$6, o as DefineBundles, p as State$1, pn as ComponentValue, pr as EffectOptions, q as sprite, qn as defineFlow, qr as Api$5, r as BundleMap, ri as Require, rn as Config$9, rr as DefineNode, rt as State$6, t as Api, ti as Config$10, u as LoadResult, un as ComponentHandle, v as Config$7, vn as Narrowed, vr as Api$1, w as ScenesApi, x as LayerMap, xn as SystemDefinition, y as DefineScene, yn as QueryTerm, zn as Config$3, zr as RngApi } from "./types-C_dk-lXz.mjs";
2
- import { A as GlowValue, B as Target, C as BlurValue, D as FilterComponent, F as AnimPlayerValue, H as HapticKind, I as Config$11, K as defineAnimation, L as FramesValue, M as OutlineValue, N as UniformDeclaration, O as FilterSpec, P as AnimApi, Q as play, R as MotionKeyframe, S as AlphaValue, T as DisplacementValue, U as SfxDescriptor, W as Step, _ as State$12, a as AudioApi, b as EmitterDefinition, c as MusicDescriptor, d as State$11, f as VolumesFor, h as EffectsApi, j as NoiseValue, k as FilterValueOf, l as MusicOptions, lt as OverlayApi, m as Config$13, n as State$13, r as UiApi, s as Config$12, t as Config$14, w as ColorMatrixValue, x as EmitterValue, y as EmitterConfig, z as State$10 } from "./types-54KzmAA6.mjs";
3
- import { B as Message, C as State$16, D as TextStyleInput, G as TypedTr, H as State$14, I as Argument, J as ResolvedStyle, L as Config$15, M as Config$16, N as InputApi, O as TextStyles, P as State$15, R as I18nApi, S as Point, T as TextBind, V as Part, W as TextKey, Y as Style, Z as WhenFlags, b as Config$17, g as IntrinsicElementsFor, h as defineTokens, j as defineComponent, k as TextValue, q as IsFlags, s as PopupComponent, v as BindField, w as TextApi, x as CountdownValue, y as BindOptions, z as IntlKit } from "./types-0Br0SjTB.mjs";
1
+ import { $n as FeatureDescription, $r as ThermalReading, An as NumericFields, Ar as State$5, B as ShapeValue, Bn as EmitterIdOf, Br as RngApi, C as SceneSpec, Cn as TagType, Cr as State$2, Dt as PassKind, En as Ease, Er as Config$5, F as NineSliceValue, Gn as TextStylesOf, Gr as PauseReason, Hn as HudKeysOf, Hr as Api$3, Jn as defineFlow, Jr as Api$5, K as TransformValue, Kr as State$4, L as OverlayValue, Ln as Api$2, Mn as ProjectionSpec, Mr as Patch, N as HudPartValue, Nn as ReducedMotion, Or as Json, Qr as State$8, Rn as BundlesOf, S as SceneDefinition, Sn as SystemFor, T as State$7, Tn as DescriptionNode, U as SpriteOptions, Ur as Config$4, Vn as GameTypes, W as SpriteValue, Wn as State$3, Wr as Events, X as Config$6, Y as Api$4, Yr as Config$8, Zr as RateChange, _ as AnySceneProjection, _n as Mut, _t as FrameRing, a as Config$1, an as State$9, bn as ResourceType, c as LoadBundles, dt as ViewportSize, er as FeaturePlugin, f as ReadyBundles, fn as ComponentType, fr as Descriptor, gr as Hint, gt as FrameRecord, hr as GuideOptions, i as BundleSpec, ii as Require, ir as DefineNode, jn as ProjectionMotion, kr as Root, l as LoadReason, m as Tier, mr as EffectOptions, ni as Config$10, nn as Api$6, o as DefineBundles, p as State$1, pn as ComponentValue, pr as Effect, q as sprite, r as BundleMap, ri as Events$1, rn as Config$9, rt as State$6, t as Api, tr as FeatureTree, u as LoadResult, un as ComponentHandle, ur as SceneIdOf, v as Config$7, vn as Narrowed, vr as Answer, w as ScenesApi, x as LayerMap, xn as SystemDefinition, xr as Config$2, y as DefineScene, yn as QueryTerm, yr as Api$1, zn as Config$3, zr as StoreApi } from "./types-DrkR03nL.mjs";
2
+ import { A as GlowValue, B as Target, C as BlurValue, D as FilterComponent, F as AnimPlayerValue, H as HapticKind, I as Config$11, K as defineAnimation, L as FramesValue, M as OutlineValue, N as UniformDeclaration, O as FilterSpec, P as AnimApi, Q as play, R as MotionKeyframe, S as AlphaValue, T as DisplacementValue, U as SfxDescriptor, W as Step, _ as State$12, a as AudioApi, b as EmitterDefinition, c as MusicDescriptor, d as State$11, f as VolumesFor, h as EffectsApi, j as NoiseValue, k as FilterValueOf, l as MusicOptions, lt as OverlayApi, m as Config$13, n as State$13, r as UiApi, s as Config$12, t as Config$14, w as ColorMatrixValue, x as EmitterValue, y as EmitterConfig, z as State$10 } from "./types-B-o8Ul1v.mjs";
3
+ import { B as Message, C as State$16, D as TextStyleInput, G as TypedTr, H as State$14, I as Argument, J as ResolvedStyle, L as Config$15, M as Config$16, N as InputApi, O as TextStyles, P as State$15, R as I18nApi, S as Point, T as TextBind, V as Part, W as TextKey, Y as Style, Z as WhenFlags, b as Config$17, g as IntrinsicElementsFor, h as defineTokens, j as defineComponent, k as TextValue, q as IsFlags, s as PopupComponent, v as BindField, w as TextApi, x as CountdownValue, y as BindOptions, z as IntlKit } from "./types-CFEtGENK.mjs";
4
4
  import { Log } from "@moku-labs/common/browser";
5
5
  import { PluginCtx } from "@moku-labs/core";
6
6
 
@@ -602,6 +602,9 @@ declare const rendererPlugin: import("@moku-labs/core").PluginInstance<"renderer
602
602
  *
603
603
  * // A game gives the next scene a fixed 3 ms of each frame (two thirds of it by default) while the old one stays on the screen.
604
604
  * createApp({ plugins: [...screen, boardFeature], pluginConfigs: { scenes: { buildMs: 3 } } });
605
+ *
606
+ * // No veil and no loader over a scene being left, on any switch.
607
+ * createApp({ plugins: [...screen, boardFeature], pluginConfigs: { scenes: { leave: false } } });
605
608
  * ```
606
609
  */
607
610
  declare const scenesPlugin: import("@moku-labs/core").PluginInstance<"scenes", Config$7, State$7, ScenesApi, {
@@ -1203,14 +1206,15 @@ declare function ready(bundle: string | readonly string[]): Descriptor<boolean |
1203
1206
  * layer names come from the keys of `layers` and that `ui`, so a projection whose `layer` or
1204
1207
  * `lift` is not among them does not compile — and throws here for a caller without types.
1205
1208
  * `bundles` names bundles that depend on the committed state: the scene is mounted once those
1206
- * are in too.
1209
+ * are in too. `leave` is what a live switch shows over the scene when it is left, merged over the
1210
+ * config's: `false` shows nothing.
1207
1211
  *
1208
1212
  * @param id - Id of the scene. A node names it with `defineNode({ scene: id })`.
1209
- * @param scene - The bundle, the optional bundles of state, the layers, the projections and the
1210
- * optional music key.
1213
+ * @param scene - The bundle, the optional bundles of state, the layers, the projections, the
1214
+ * optional music key and the optional `leave`.
1211
1215
  * @returns The scene as frozen data, ready for the `scenes` key of a feature.
1212
1216
  * @throws {Error} For an integer-like layer name, for a `layer` or `lift` that is not declared, for two HUD layers,
1213
- * an `above` other than `"overlays"`, and a `ui` declared after the HUD layer.
1217
+ * an `above` other than `"overlays"`, a `ui` declared after the HUD layer, and a `leave` of the wrong shape.
1214
1218
  * @example
1215
1219
  * ```ts
1216
1220
  * // features/board/view/scene.ts of a game.
@@ -1235,6 +1239,14 @@ declare function ready(bundle: string | readonly string[]): Descriptor<boolean |
1235
1239
  * projections: [wardRoom, wardGlows]
1236
1240
  * });
1237
1241
  * wardScene.bundles?.({ player: {}, session: { episode: "ep02" } }); // ["ep02"]
1242
+ *
1243
+ * // Leaving the board dims it in navy and turns the game's ring texture once the switch took 400 ms.
1244
+ * defineScene("board", {
1245
+ * bundle: "board",
1246
+ * layers: { cells: {} },
1247
+ * projections: [],
1248
+ * leave: { cover: { color: 0x0b1020, alpha: 0.6 }, loader: { texture: "ui.loader.ring" } }
1249
+ * }).leave; // { cover: { color: 0x0b1020, alpha: 0.6 }, loader: { texture: "ui.loader.ring" } }
1238
1250
  * ```
1239
1251
  */
1240
1252
  declare function defineScene<Layers extends LayerMap, const Projections extends readonly AnySceneProjection[], Player extends Json = Json, Session extends Json = Json>(id: string, scene: SceneSpec<Layers, Projections, string, string, Player, Session>): SceneDefinition;
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { $t as ShaderWhat, Ar as types_d_exports$10, At as PerfChange, Bt as PerfLongFrameLine, Cr as types_d_exports$3, Ct as PERF_CAUSES, Dt as PassKind, E as types_d_exports$13, Et as PROBLEM_RULES, Fr as SaveUnreadableError, Ft as PerfEventLine, G as Transform, Gt as PerfStartupLine, H as SpriteBlend, Ht as PerfMeasured, I as Overlay, It as PerfEventName, J as AdaptiveScale, Jn as exit, Jt as PoolTrimDetail, Kn as types_d_exports$6, Kr as types_d_exports$9, Kt as PerfTelemetryLine, L as OverlayValue, Lt as PerfGapLine, M as HudPart, Mt as PerfCollectorLine, N as HudPartValue, Nt as PerfCounts, Ot as PassRecord, P as NineSlice, Pt as PerfDisplay, Qt as ShaderEventDetail, R as Parent, Rt as PerfHeaderLine, St as OverlayWhat, Tn as DescriptionNode, Tt as PERF_LOG_VERSION, Ut as PerfSampleLine, V as Sprite, Vt as PerfMarkLine, Wt as PerfSpikeLine, Xn as to, Xt as ProblemRule, Yn as slot, Yt as ProblemEventDetail, Z as MonitorConfig, Zn as type, Zt as SHADER_WHATS, _t as FrameRing, at as types_d_exports$12, bt as MonitorSections, ei as types_d_exports$15, en as WarmDetail, g as types_d_exports$1, gt as FrameRecord, ht as FrameReadout, j as Display, jt as PerfChangeEntry, kt as PerfCause, mt as FrameReadResult, nt as PoolTrim, on as types_d_exports$17, pt as FrameColumns, q as sprite, qt as PerfThermalLine, st as MonitorCounts, tn as DEMAND_REASONS, vt as LongFrameEntry, wt as PERF_GAP_BUCKETS, xt as OverlayEventDetail, yt as MONITOR_SECTIONS, z as Shape, zt as PerfLogLine } from "./types-C_dk-lXz.mjs";
2
- import { $ as sequence, E as FilterArea, G as HAPTIC_KINDS, H as HapticKind, J as frames, K as defineAnimation, Q as play, V as types_d_exports, X as mark, Y as haptic, Z as parallel, at as stopSfx, ct as wait, et as set, i as types_d_exports$16, it as stagger, nt as spawn, ot as tween, p as types_d_exports$2, q as external, rt as spawned, st as use, tt as sfx, ut as types_d_exports$4, v as types_d_exports$5 } from "./types-54KzmAA6.mjs";
3
- import { A as types_d_exports$14, E as TextFormat, F as types_d_exports$8, K as types_d_exports$7, d as DebugTrigger, f as LocalWrite, h as defineTokens, j as defineComponent, m as popup, p as ScrollState, u as Box, x as CountdownValue, y as BindOptions } from "./types-0Br0SjTB.mjs";
4
- import { $ as system, A as Draggable, At as Text, B as Touchable, C as AnimPlayer, Ct as debugPlugin, D as defineBundles, Dt as animPlugin, E as defineScene, Et as assetsPlugin, F as PointerOver, G as Exiting, H as Traced, I as Pressable, J as Order, K as Layer, L as Pressed, M as Held, Mt as defineTextStyles, N as Hovered, Nt as label, O as load, Ot as projection, P as Pointer, Q as resource, R as Swipeable, S as defineMotion, St as effectsPlugin, T as Frames, Tt as audioPlugin, U as PASS_KINDS, V as Traceable, W as frameAt, X as component, Y as Tree, Z as mut, _ as defineStyle, _t as modelPlugin, a as defineEmitter, at as defineFeature, b as messageDuration, bt as i18nPlugin, c as Alpha, ct as uiPlugin, d as Displacement, dt as scenesPlugin, et as tag, f as Glow, ft as rendererPlugin, g as resolve, gt as types_d_exports$11, h as music, ht as PlatformProvider, i as screen, it as schedule, j as DropTarget, jt as bind, k as ready, kt as Countdown, l as Blur, lt as timePlugin, m as Outline, mt as BackResult, n as createPlugin, nt as guide, o as Emitter, ot as flattenFeatures, p as Noise, pt as platformPlugin, q as Now, r as defineGame, rt as hint, s as defineFilter, st as worldPlugin, t as createApp, tt as defineEffect, u as ColorMatrix, ut as textPlugin, v as tr, vt as lifecyclePlugin, w as Animation, wt as clockPlugin, x as cubicBezier, xt as flowPlugin, y as messageArgument, yt as inputPlugin, z as Tappable } from "./index-DFAjLwxi.mjs";
5
- export { type AdaptiveScale, Alpha, types_d_exports as Anim, AnimPlayer, Animation, types_d_exports$1 as Assets, types_d_exports$2 as Audio, type BackResult, type BindOptions, Blur, Box, types_d_exports$3 as Clock, ColorMatrix, Countdown, type CountdownValue, DEMAND_REASONS, types_d_exports$4 as Debug, DebugTrigger, type DescriptionNode, Displacement, Display, Draggable, DropTarget, types_d_exports$5 as Effects, Emitter, Exiting, type FilterArea, types_d_exports$6 as Flow, type FrameColumns, type FrameReadResult, type FrameReadout, type FrameRecord, type FrameRing, Frames, Glow, HAPTIC_KINDS, type HapticKind, Held, Hovered, HudPart, type HudPartValue, types_d_exports$7 as I18n, types_d_exports$8 as Input, Layer, types_d_exports$9 as Lifecycle, LocalWrite, type LongFrameEntry, MONITOR_SECTIONS, types_d_exports$10 as Model, type MonitorConfig, type MonitorCounts, type MonitorSections, NineSlice, Noise, Now, Order, Outline, Overlay, type OverlayEventDetail, type OverlayValue, type OverlayWhat, PASS_KINDS, PERF_CAUSES, PERF_GAP_BUCKETS, PERF_LOG_VERSION, PROBLEM_RULES, Parent, type PassKind, type PassRecord, type PerfCause, type PerfChange, type PerfChangeEntry, type PerfCollectorLine, type PerfCounts, type PerfDisplay, type PerfEventLine, type PerfEventName, type PerfGapLine, type PerfHeaderLine, type PerfLogLine, type PerfLongFrameLine, type PerfMarkLine, type PerfMeasured, type PerfSampleLine, type PerfSpikeLine, type PerfStartupLine, type PerfTelemetryLine, type PerfThermalLine, types_d_exports$11 as Platform, type PlatformProvider, Pointer, PointerOver, type PoolTrim, type PoolTrimDetail, Pressable, Pressed, type ProblemEventDetail, type ProblemRule, types_d_exports$12 as Renderer, SHADER_WHATS, SaveUnreadableError, types_d_exports$13 as Scenes, ScrollState, type ShaderEventDetail, type ShaderWhat, Shape, Sprite, type SpriteBlend, Swipeable, Tappable, Text, type TextFormat, types_d_exports$14 as TextTypes, types_d_exports$15 as Time, Touchable, Traceable, Traced, Transform, Tree, types_d_exports$16 as Ui, type WarmDetail, types_d_exports$17 as World, animPlugin, assetsPlugin, audioPlugin, bind, clockPlugin, component, createApp, createPlugin, cubicBezier, debugPlugin, defineAnimation, defineBundles, defineComponent, defineEffect, defineEmitter, defineFeature, defineFilter, defineGame, defineMotion, defineScene, defineStyle, defineTextStyles, defineTokens, effectsPlugin, exit, external, flattenFeatures, flowPlugin, frameAt, frames, guide, haptic, hint, i18nPlugin, inputPlugin, label, lifecyclePlugin, load, mark, messageArgument, messageDuration, modelPlugin, music, mut, parallel, platformPlugin, play, popup, projection, ready, rendererPlugin, resolve, resource, scenesPlugin, schedule, screen, sequence, set, sfx, slot, spawn, spawned, sprite, stagger, stopSfx, system, tag, textPlugin, timePlugin, to, tr, tween, type, uiPlugin, use, wait, worldPlugin };
1
+ import { $t as ShaderWhat, At as PerfChange, Bt as PerfLongFrameLine, Ct as PERF_CAUSES, Dt as PassKind, E as types_d_exports$13, Et as PROBLEM_RULES, Ft as PerfEventLine, G as Transform, Gt as PerfStartupLine, H as SpriteBlend, Ht as PerfMeasured, I as Overlay, Ir as SaveUnreadableError, It as PerfEventName, J as AdaptiveScale, Jt as PoolTrimDetail, Kn as types_d_exports$6, Kt as PerfTelemetryLine, L as OverlayValue, Lt as PerfGapLine, M as HudPart, Mt as PerfCollectorLine, N as HudPartValue, Nt as PerfCounts, Ot as PassRecord, P as NineSlice, Pt as PerfDisplay, Qn as type, Qt as ShaderEventDetail, R as Parent, Rt as PerfHeaderLine, St as OverlayWhat, Tn as DescriptionNode, Tt as PERF_LOG_VERSION, Ut as PerfSampleLine, V as Sprite, Vt as PerfMarkLine, Wt as PerfSpikeLine, Xn as slot, Xt as ProblemRule, Yn as exit, Yt as ProblemEventDetail, Z as MonitorConfig, Zn as to, Zt as SHADER_WHATS, _t as FrameRing, at as types_d_exports$12, bt as MonitorSections, en as WarmDetail, g as types_d_exports$1, gt as FrameRecord, ht as FrameReadout, j as Display, jr as types_d_exports$10, jt as PerfChangeEntry, kt as PerfCause, mt as FrameReadResult, nt as PoolTrim, on as types_d_exports$17, pt as FrameColumns, q as sprite, qn as contribution, qr as types_d_exports$9, qt as PerfThermalLine, st as MonitorCounts, ti as types_d_exports$15, tn as DEMAND_REASONS, vt as LongFrameEntry, wr as types_d_exports$3, wt as PERF_GAP_BUCKETS, xt as OverlayEventDetail, yt as MONITOR_SECTIONS, z as Shape, zt as PerfLogLine } from "./types-DrkR03nL.mjs";
2
+ import { $ as sequence, E as FilterArea, G as HAPTIC_KINDS, H as HapticKind, J as frames, K as defineAnimation, Q as play, V as types_d_exports, X as mark, Y as haptic, Z as parallel, at as stopSfx, ct as wait, et as set, i as types_d_exports$16, it as stagger, nt as spawn, ot as tween, p as types_d_exports$2, q as external, rt as spawned, st as use, tt as sfx, ut as types_d_exports$4, v as types_d_exports$5 } from "./types-B-o8Ul1v.mjs";
3
+ import { A as types_d_exports$14, E as TextFormat, F as types_d_exports$8, K as types_d_exports$7, d as DebugTrigger, f as LocalWrite, h as defineTokens, j as defineComponent, m as popup, p as ScrollState, u as Box, x as CountdownValue, y as BindOptions } from "./types-CFEtGENK.mjs";
4
+ import { $ as system, A as Draggable, At as Text, B as Touchable, C as AnimPlayer, Ct as debugPlugin, D as defineBundles, Dt as animPlugin, E as defineScene, Et as assetsPlugin, F as PointerOver, G as Exiting, H as Traced, I as Pressable, J as Order, K as Layer, L as Pressed, M as Held, Mt as defineTextStyles, N as Hovered, Nt as label, O as load, Ot as projection, P as Pointer, Q as resource, R as Swipeable, S as defineMotion, St as effectsPlugin, T as Frames, Tt as audioPlugin, U as PASS_KINDS, V as Traceable, W as frameAt, X as component, Y as Tree, Z as mut, _ as defineStyle, _t as modelPlugin, a as defineEmitter, at as defineFeature, b as messageDuration, bt as i18nPlugin, c as Alpha, ct as uiPlugin, d as Displacement, dt as scenesPlugin, et as tag, f as Glow, ft as rendererPlugin, g as resolve, gt as types_d_exports$11, h as music, ht as PlatformProvider, i as screen, it as schedule, j as DropTarget, jt as bind, k as ready, kt as Countdown, l as Blur, lt as timePlugin, m as Outline, mt as BackResult, n as createPlugin, nt as guide, o as Emitter, ot as flattenFeatures, p as Noise, pt as platformPlugin, q as Now, r as defineGame, rt as hint, s as defineFilter, st as worldPlugin, t as createApp, tt as defineEffect, u as ColorMatrix, ut as textPlugin, v as tr, vt as lifecyclePlugin, w as Animation, wt as clockPlugin, x as cubicBezier, xt as flowPlugin, y as messageArgument, yt as inputPlugin, z as Tappable } from "./index-D12s9KZ2.mjs";
5
+ export { type AdaptiveScale, Alpha, types_d_exports as Anim, AnimPlayer, Animation, types_d_exports$1 as Assets, types_d_exports$2 as Audio, type BackResult, type BindOptions, Blur, Box, types_d_exports$3 as Clock, ColorMatrix, Countdown, type CountdownValue, DEMAND_REASONS, types_d_exports$4 as Debug, DebugTrigger, type DescriptionNode, Displacement, Display, Draggable, DropTarget, types_d_exports$5 as Effects, Emitter, Exiting, type FilterArea, types_d_exports$6 as Flow, type FrameColumns, type FrameReadResult, type FrameReadout, type FrameRecord, type FrameRing, Frames, Glow, HAPTIC_KINDS, type HapticKind, Held, Hovered, HudPart, type HudPartValue, types_d_exports$7 as I18n, types_d_exports$8 as Input, Layer, types_d_exports$9 as Lifecycle, LocalWrite, type LongFrameEntry, MONITOR_SECTIONS, types_d_exports$10 as Model, type MonitorConfig, type MonitorCounts, type MonitorSections, NineSlice, Noise, Now, Order, Outline, Overlay, type OverlayEventDetail, type OverlayValue, type OverlayWhat, PASS_KINDS, PERF_CAUSES, PERF_GAP_BUCKETS, PERF_LOG_VERSION, PROBLEM_RULES, Parent, type PassKind, type PassRecord, type PerfCause, type PerfChange, type PerfChangeEntry, type PerfCollectorLine, type PerfCounts, type PerfDisplay, type PerfEventLine, type PerfEventName, type PerfGapLine, type PerfHeaderLine, type PerfLogLine, type PerfLongFrameLine, type PerfMarkLine, type PerfMeasured, type PerfSampleLine, type PerfSpikeLine, type PerfStartupLine, type PerfTelemetryLine, type PerfThermalLine, types_d_exports$11 as Platform, type PlatformProvider, Pointer, PointerOver, type PoolTrim, type PoolTrimDetail, Pressable, Pressed, type ProblemEventDetail, type ProblemRule, types_d_exports$12 as Renderer, SHADER_WHATS, SaveUnreadableError, types_d_exports$13 as Scenes, ScrollState, type ShaderEventDetail, type ShaderWhat, Shape, Sprite, type SpriteBlend, Swipeable, Tappable, Text, type TextFormat, types_d_exports$14 as TextTypes, types_d_exports$15 as Time, Touchable, Traceable, Traced, Transform, Tree, types_d_exports$16 as Ui, type WarmDetail, types_d_exports$17 as World, animPlugin, assetsPlugin, audioPlugin, bind, clockPlugin, component, contribution, createApp, createPlugin, cubicBezier, debugPlugin, defineAnimation, defineBundles, defineComponent, defineEffect, defineEmitter, defineFeature, defineFilter, defineGame, defineMotion, defineScene, defineStyle, defineTextStyles, defineTokens, effectsPlugin, exit, external, flattenFeatures, flowPlugin, frameAt, frames, guide, haptic, hint, i18nPlugin, inputPlugin, label, lifecyclePlugin, load, mark, messageArgument, messageDuration, modelPlugin, music, mut, parallel, platformPlugin, play, popup, projection, ready, rendererPlugin, resolve, resource, scenesPlugin, schedule, screen, sequence, set, sfx, slot, spawn, spawned, sprite, stagger, stopSfx, system, tag, textPlugin, timePlugin, to, tr, tween, type, uiPlugin, use, wait, worldPlugin };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as sfx, $t as flowPlugin, A as types_exports$7, At as Glow, B as defineMotion, Bt as Animation, C as types_exports$14, Ct as messageDuration, D as types_exports$10, Dt as Blur, E as types_exports$11, Et as Alpha, F as types_exports$2, Ft as audioPlugin, G as external, Gt as MONITOR_SECTIONS, H as platformPlugin, Ht as rendererPlugin, I as types_exports$1, It as scenesPlugin, J as mark, Jt as PERF_LOG_VERSION, K as frames, Kt as PERF_CAUSES, L as types_exports, Lt as assetsPlugin, M as types_exports$5, Mt as Outline, N as types_exports$4, Nt as defineFilter, O as types_exports$9, Ot as ColorMatrix, P as types_exports$3, Pt as debugPlugin, Q as set, Qt as worldPlugin, R as uiPlugin, Rt as animPlugin, S as types_exports$15, St as messageArgument, T as types_exports$12, Tt as Emitter, U as HAPTIC_KINDS, Ut as PASS_KINDS, V as textPlugin, Vt as Frames, W as defineAnimation, Wt as frameAt, X as play, Xt as SHADER_WHATS, Y as parallel, Yt as PROBLEM_RULES, Z as sequence, Zt as DEMAND_REASONS, _ as defineBundles, _t as Tappable, a as cubicBezier, an as modelPlugin, at as use, b as types_exports$17, bt as Traced, c as hint, cn as timePlugin, ct as Draggable, d as defineScene, dt as Hovered, et as spawn, f as tr, ft as Pointer, g as music, gt as Swipeable, h as defineEmitter, ht as Pressed, i as screen, in as type, it as tween, j as types_exports$6, jt as Noise, k as types_exports$8, kt as Displacement, l as schedule, ln as clockPlugin, lt as DropTarget, m as flattenFeatures, mt as Pressable, n as createPlugin, nn as slot, nt as stagger, o as defineEffect, on as SaveUnreadableError, ot as wait, p as defineFeature, pt as PointerOver, q as haptic, qt as PERF_GAP_BUCKETS, r as defineGame, rn as to, rt as stopSfx, s as guide, sn as lifecyclePlugin, st as inputPlugin, t as createApp, tn as exit, tt as spawned, u as projection, ut as Held, v as load, vt as Touchable, w as types_exports$13, wt as effectsPlugin, x as types_exports$16, xt as i18nPlugin, y as ready, yt as Traceable, z as resolve, zt as AnimPlayer } from "./src-B2vblgmb.mjs";
1
+ import { $ as sfx, $t as flowPlugin, A as types_exports$7, At as Glow, B as defineMotion, Bt as Animation, C as types_exports$14, Ct as messageDuration, D as types_exports$10, Dt as Blur, E as types_exports$11, Et as Alpha, F as types_exports$2, Ft as audioPlugin, G as external, Gt as MONITOR_SECTIONS, H as platformPlugin, Ht as rendererPlugin, I as types_exports$1, It as scenesPlugin, J as mark, Jt as PERF_LOG_VERSION, K as frames, Kt as PERF_CAUSES, L as types_exports, Lt as assetsPlugin, M as types_exports$5, Mt as Outline, N as types_exports$4, Nt as defineFilter, O as types_exports$9, Ot as ColorMatrix, P as types_exports$3, Pt as debugPlugin, Q as set, Qt as worldPlugin, R as uiPlugin, Rt as animPlugin, S as types_exports$15, St as messageArgument, T as types_exports$12, Tt as Emitter, U as HAPTIC_KINDS, Ut as PASS_KINDS, V as textPlugin, Vt as Frames, W as defineAnimation, Wt as frameAt, X as play, Xt as SHADER_WHATS, Y as parallel, Yt as PROBLEM_RULES, Z as sequence, Zt as DEMAND_REASONS, _ as defineBundles, _t as Tappable, a as cubicBezier, an as type, at as use, b as types_exports$17, bt as Traced, c as hint, cn as lifecyclePlugin, ct as Draggable, d as defineScene, dt as Hovered, et as spawn, f as tr, ft as Pointer, g as music, gt as Swipeable, h as defineEmitter, ht as Pressed, i as screen, in as to, it as tween, j as types_exports$6, jt as Noise, k as types_exports$8, kt as Displacement, l as schedule, ln as timePlugin, lt as DropTarget, m as flattenFeatures, mt as Pressable, n as createPlugin, nn as exit, nt as stagger, o as defineEffect, on as modelPlugin, ot as wait, p as defineFeature, pt as PointerOver, q as haptic, qt as PERF_GAP_BUCKETS, r as defineGame, rn as slot, rt as stopSfx, s as guide, sn as SaveUnreadableError, st as inputPlugin, t as createApp, tn as contribution, tt as spawned, u as projection, un as clockPlugin, ut as Held, v as load, vt as Touchable, w as types_exports$13, wt as effectsPlugin, x as types_exports$16, xt as i18nPlugin, y as ready, yt as Traceable, z as resolve, zt as AnimPlayer } from "./src-CWVwT9UM.mjs";
2
2
  import { $ as component, H as Shape, I as Display, J as Exiting, L as HudPart, Q as Tree, R as NineSlice, S as bind, T as label, U as Sprite, V as Parent, W as Transform, X as Now, Y as Layer, Z as Order, b as Countdown, d as LocalWrite, et as mut, g as popup, it as tag, l as DebugTrigger, nt as system, p as ScrollState, q as sprite, s as Box, tt as resource, v as defineTokens, w as defineTextStyles, x as Text, y as defineStyle, z as Overlay } from "./visual-ClVRMUAi.mjs";
3
3
  import { t as defineComponent } from "./component-DGg5DqKK.mjs";
4
- export { Alpha, types_exports as Anim, AnimPlayer, Animation, types_exports$1 as Assets, types_exports$2 as Audio, Blur, Box, types_exports$3 as Clock, ColorMatrix, Countdown, DEMAND_REASONS, types_exports$4 as Debug, DebugTrigger, Displacement, Display, Draggable, DropTarget, types_exports$5 as Effects, Emitter, Exiting, types_exports$6 as Flow, Frames, Glow, HAPTIC_KINDS, Held, Hovered, HudPart, types_exports$7 as I18n, types_exports$8 as Input, Layer, types_exports$9 as Lifecycle, LocalWrite, MONITOR_SECTIONS, types_exports$10 as Model, NineSlice, Noise, Now, Order, Outline, Overlay, PASS_KINDS, PERF_CAUSES, PERF_GAP_BUCKETS, PERF_LOG_VERSION, PROBLEM_RULES, Parent, types_exports$11 as Platform, Pointer, PointerOver, Pressable, Pressed, types_exports$12 as Renderer, SHADER_WHATS, SaveUnreadableError, types_exports$13 as Scenes, ScrollState, Shape, Sprite, Swipeable, Tappable, Text, types_exports$14 as TextTypes, types_exports$15 as Time, Touchable, Traceable, Traced, Transform, Tree, types_exports$16 as Ui, types_exports$17 as World, animPlugin, assetsPlugin, audioPlugin, bind, clockPlugin, component, createApp, createPlugin, cubicBezier, debugPlugin, defineAnimation, defineBundles, defineComponent, defineEffect, defineEmitter, defineFeature, defineFilter, defineGame, defineMotion, defineScene, defineStyle, defineTextStyles, defineTokens, effectsPlugin, exit, external, flattenFeatures, flowPlugin, frameAt, frames, guide, haptic, hint, i18nPlugin, inputPlugin, label, lifecyclePlugin, load, mark, messageArgument, messageDuration, modelPlugin, music, mut, parallel, platformPlugin, play, popup, projection, ready, rendererPlugin, resolve, resource, scenesPlugin, schedule, screen, sequence, set, sfx, slot, spawn, spawned, sprite, stagger, stopSfx, system, tag, textPlugin, timePlugin, to, tr, tween, type, uiPlugin, use, wait, worldPlugin };
4
+ export { Alpha, types_exports as Anim, AnimPlayer, Animation, types_exports$1 as Assets, types_exports$2 as Audio, Blur, Box, types_exports$3 as Clock, ColorMatrix, Countdown, DEMAND_REASONS, types_exports$4 as Debug, DebugTrigger, Displacement, Display, Draggable, DropTarget, types_exports$5 as Effects, Emitter, Exiting, types_exports$6 as Flow, Frames, Glow, HAPTIC_KINDS, Held, Hovered, HudPart, types_exports$7 as I18n, types_exports$8 as Input, Layer, types_exports$9 as Lifecycle, LocalWrite, MONITOR_SECTIONS, types_exports$10 as Model, NineSlice, Noise, Now, Order, Outline, Overlay, PASS_KINDS, PERF_CAUSES, PERF_GAP_BUCKETS, PERF_LOG_VERSION, PROBLEM_RULES, Parent, types_exports$11 as Platform, Pointer, PointerOver, Pressable, Pressed, types_exports$12 as Renderer, SHADER_WHATS, SaveUnreadableError, types_exports$13 as Scenes, ScrollState, Shape, Sprite, Swipeable, Tappable, Text, types_exports$14 as TextTypes, types_exports$15 as Time, Touchable, Traceable, Traced, Transform, Tree, types_exports$16 as Ui, types_exports$17 as World, animPlugin, assetsPlugin, audioPlugin, bind, clockPlugin, component, contribution, createApp, createPlugin, cubicBezier, debugPlugin, defineAnimation, defineBundles, defineComponent, defineEffect, defineEmitter, defineFeature, defineFilter, defineGame, defineMotion, defineScene, defineStyle, defineTextStyles, defineTokens, effectsPlugin, exit, external, flattenFeatures, flowPlugin, frameAt, frames, guide, haptic, hint, i18nPlugin, inputPlugin, label, lifecyclePlugin, load, mark, messageArgument, messageDuration, modelPlugin, music, mut, parallel, platformPlugin, play, popup, projection, ready, rendererPlugin, resolve, resource, scenesPlugin, schedule, screen, sequence, set, sfx, slot, spawn, spawned, sprite, stagger, stopSfx, system, tag, textPlugin, timePlugin, to, tr, tween, type, uiPlugin, use, wait, worldPlugin };
@@ -1,9 +1,9 @@
1
- import { Ir as Snapshot, Un as Position, Y as Api$2, ct as RenderStats, dn as ComponentSchema, gn as FrameDiff, h as Usage, hn as EntitySnapshot, in as Explained, ir as FlowGraph, it as Under, nn as Api$1, or as JournalEntry, t as Api$3, wr as Api } from "./types-C_dk-lXz.mjs";
2
- import { a as AudioApi, g as EffectsStats, h as EffectsApi, r as UiApi, u as SoundEntry } from "./types-54KzmAA6.mjs";
3
- import { c as UiNode } from "./types-0Br0SjTB.mjs";
4
- import { t as HeadlessApp } from "./headless-CRqMxzqv.mjs";
5
- import { a as InputOf, c as Source, i as InputArguments, l as WatchApp, o as InputSchema, t as CheatEntry, u as WatchInput } from "./types-CGPWYbZO.mjs";
6
- import { n as defineSource } from "./define-D27mfOhZ.mjs";
1
+ import { Lr as Snapshot, Tr as Api, Un as Position, Y as Api$2, ar as FlowGraph, ct as RenderStats, dn as ComponentSchema, gn as FrameDiff, h as Usage, hn as EntitySnapshot, in as Explained, it as Under, nn as Api$1, sr as JournalEntry, t as Api$3 } from "./types-DrkR03nL.mjs";
2
+ import { a as AudioApi, g as EffectsStats, h as EffectsApi, r as UiApi, u as SoundEntry } from "./types-B-o8Ul1v.mjs";
3
+ import { c as UiNode } from "./types-CFEtGENK.mjs";
4
+ import { t as HeadlessApp } from "./headless-1e3gEF1Y.mjs";
5
+ import { a as InputOf, c as Source, i as InputArguments, l as WatchApp, o as InputSchema, t as CheatEntry, u as WatchInput } from "./types-gQATSj41.mjs";
6
+ import { n as defineSource } from "./define-CgU4dz0e.mjs";
7
7
 
8
8
  //#region src/plugins/flow/doors/read.d.ts
9
9
  /**
@@ -1,2 +1,2 @@
1
- import { a as jsxs, i as jsxDEV, n as JSX, r as jsx, t as Fragment } from "./runtime-CbLZyDXj.mjs";
1
+ import { a as jsxs, i as jsxDEV, n as JSX, r as jsx, t as Fragment } from "./runtime-Bpg0WmM8.mjs";
2
2
  export { Fragment, type JSX, jsx, jsxDEV, jsxs };
@@ -1,2 +1,2 @@
1
- import { a as jsxs, n as JSX, r as jsx, t as Fragment } from "./runtime-CbLZyDXj.mjs";
1
+ import { a as jsxs, n as JSX, r as jsx, t as Fragment } from "./runtime-Bpg0WmM8.mjs";
2
2
  export { Fragment, type JSX, jsx, jsxs };
@@ -1,6 +1,6 @@
1
- import { a as sheetAlone, p as graphHash } from "./capture-PTJXDpxK.mjs";
1
+ import { a as sheetAlone, p as graphHash } from "./capture-BtS6_oWr.mjs";
2
2
  import { a as isDev, i as isControl, n as controlRefused, o as notInstalled, r as isAgent, t as controlReadOnly } from "./dev-BNndV-hU.mjs";
3
- import { n as reproBookmark } from "./headless-Bxxl_mQX.mjs";
3
+ import { n as reproBookmark } from "./headless-CCiUwvlp.mjs";
4
4
  import { a as readTarget, i as isProjectionTarget, l as inputSchema, n as isTainted, o as inputOrEmpty, r as recordCheat, s as defineCommand } from "./session-DuZfGZWk.mjs";
5
5
  //#region src/plugins/anim/control.ts
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { _ as UiIntrinsicElements, a as JsxChild, t as DescriptionNode } from "./types-0Br0SjTB.mjs";
1
+ import { _ as UiIntrinsicElements, a as JsxChild, t as DescriptionNode } from "./types-CFEtGENK.mjs";
2
2
 
3
3
  //#region src/plugins/ui/jsx/runtime.d.ts
4
4
  /** What the compiler passes as props: the children plus whatever the tag declared. */