1681-engine 0.5.10 → 0.6.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/README.md +12 -6
  3. package/dist/1681-engine.js +582 -522
  4. package/dist/ai/behaviorTree.js +198 -0
  5. package/dist/ai/buildTree.js +54 -0
  6. package/dist/audio/spatial.js +118 -0
  7. package/dist/cjs/electron/webPatcher.d.ts +4 -1
  8. package/dist/cjs/electron/webPatcher.js +9 -2
  9. package/dist/dialogue/DialogueRunner.js +173 -0
  10. package/dist/dialogue/expr.js +137 -0
  11. package/dist/dialogue/validateDialogue.js +52 -0
  12. package/dist/ecs/prefab.js +94 -0
  13. package/dist/electron/webPatcher.js +16 -10
  14. package/dist/input/Actions.js +58 -27
  15. package/dist/input/InputCapture.js +98 -0
  16. package/dist/input/Keymap.js +32 -26
  17. package/dist/input/inputTape.js +68 -0
  18. package/dist/mobile/backButton.js +40 -0
  19. package/dist/mobile/capacitor.js +48 -0
  20. package/dist/mobile/screen.js +31 -0
  21. package/dist/mobile.js +12 -0
  22. package/dist/nav/flowField.js +58 -0
  23. package/dist/nav/steering.js +77 -0
  24. package/dist/net/InterpolationBuffer.js +30 -23
  25. package/dist/net/LagCompensator.js +100 -0
  26. package/dist/net/Room.js +122 -43
  27. package/dist/net/RoomHost.js +13 -4
  28. package/dist/net/SpatialHash.js +66 -0
  29. package/dist/types/ai/behaviorTree.d.ts +133 -0
  30. package/dist/types/ai/behaviorTree.d.ts.map +1 -0
  31. package/dist/types/ai/buildTree.d.ts +55 -0
  32. package/dist/types/ai/buildTree.d.ts.map +1 -0
  33. package/dist/types/audio/spatial.d.ts +107 -0
  34. package/dist/types/audio/spatial.d.ts.map +1 -0
  35. package/dist/types/dialogue/DialogueRunner.d.ts +78 -0
  36. package/dist/types/dialogue/DialogueRunner.d.ts.map +1 -0
  37. package/dist/types/dialogue/expr.d.ts +12 -0
  38. package/dist/types/dialogue/expr.d.ts.map +1 -0
  39. package/dist/types/dialogue/script.d.ts +78 -0
  40. package/dist/types/dialogue/script.d.ts.map +1 -0
  41. package/dist/types/dialogue/validateDialogue.d.ts +21 -0
  42. package/dist/types/dialogue/validateDialogue.d.ts.map +1 -0
  43. package/dist/types/ecs/prefab.d.ts +84 -0
  44. package/dist/types/ecs/prefab.d.ts.map +1 -0
  45. package/dist/types/electron/webPatcher.d.ts +4 -1
  46. package/dist/types/electron/webPatcher.d.ts.map +1 -1
  47. package/dist/types/index.d.ts +15 -1
  48. package/dist/types/index.d.ts.map +1 -1
  49. package/dist/types/input/Actions.d.ts +14 -0
  50. package/dist/types/input/Actions.d.ts.map +1 -1
  51. package/dist/types/input/InputCapture.d.ts +53 -0
  52. package/dist/types/input/InputCapture.d.ts.map +1 -0
  53. package/dist/types/input/Keymap.d.ts +12 -6
  54. package/dist/types/input/Keymap.d.ts.map +1 -1
  55. package/dist/types/input/inputTape.d.ts +66 -0
  56. package/dist/types/input/inputTape.d.ts.map +1 -0
  57. package/dist/types/mobile/backButton.d.ts +30 -0
  58. package/dist/types/mobile/backButton.d.ts.map +1 -0
  59. package/dist/types/mobile/capacitor.d.ts +62 -0
  60. package/dist/types/mobile/capacitor.d.ts.map +1 -0
  61. package/dist/types/mobile/index.d.ts +4 -0
  62. package/dist/types/mobile/index.d.ts.map +1 -0
  63. package/dist/types/mobile/screen.d.ts +27 -0
  64. package/dist/types/mobile/screen.d.ts.map +1 -0
  65. package/dist/types/nav/flowField.d.ts +31 -0
  66. package/dist/types/nav/flowField.d.ts.map +1 -0
  67. package/dist/types/nav/steering.d.ts +47 -0
  68. package/dist/types/nav/steering.d.ts.map +1 -0
  69. package/dist/types/net/InterpolationBuffer.d.ts +5 -0
  70. package/dist/types/net/InterpolationBuffer.d.ts.map +1 -1
  71. package/dist/types/net/LagCompensator.d.ts +70 -0
  72. package/dist/types/net/LagCompensator.d.ts.map +1 -0
  73. package/dist/types/net/Room.d.ts +72 -3
  74. package/dist/types/net/Room.d.ts.map +1 -1
  75. package/dist/types/net/RoomHost.d.ts +8 -3
  76. package/dist/types/net/RoomHost.d.ts.map +1 -1
  77. package/dist/types/net/SpatialHash.d.ts +25 -0
  78. package/dist/types/net/SpatialHash.d.ts.map +1 -0
  79. package/dist/types/ui/ScrollView.d.ts.map +1 -1
  80. package/dist/ui/ScrollView.js +10 -8
  81. package/package.json +5 -1
@@ -0,0 +1,78 @@
1
+ import { type ExprValue } from './expr.js';
2
+ import type { DialogueScript, DialogueStep } from './script.js';
3
+ export interface DialogueOptions {
4
+ /** The variables conditions read and `set` writes; shared with the game (default a fresh object). */
5
+ vars?: Record<string, unknown>;
6
+ /** Functions an expression may call, beside the built-in `visited(node)` and `chose(node, index)`. */
7
+ functions?: Record<string, (...args: ExprValue[]) => ExprValue>;
8
+ /** A `do` command: what the game does for it. */
9
+ onCommand?: (name: string, args: readonly unknown[], runner: DialogueRunner) => void;
10
+ /** A line's or a choice's text in the player's language, before `{…}` is filled in (default as written). */
11
+ translate?: (text: string, key: string | undefined) => string;
12
+ }
13
+ /** Where a dialogue was, and what it knew, for a save: plain data. */
14
+ export interface DialogueSave {
15
+ node: string | null;
16
+ line: number;
17
+ vars: Record<string, unknown>;
18
+ visits: Record<string, number>;
19
+ chosen: string[];
20
+ }
21
+ /**
22
+ * Runs a `DialogueScript`: hands the game one step at a time — a line, a set of choices, the end — and moves on when
23
+ * the game says the line was read (`next`) or a choice made (`choose`). It draws nothing: the game's own box shows a
24
+ * `ShownLine` however it likes (a typewriter, a portrait from `tags`).
25
+ *
26
+ * ```ts
27
+ * const talk = new DialogueRunner(script, { vars: save.flags, onCommand: (name, args) => game.run(name, args) });
28
+ * let step = talk.start();
29
+ * // on a press: step = step.type === 'line' ? talk.next() : talk.choose(picked);
30
+ * ```
31
+ */
32
+ export declare class DialogueRunner {
33
+ readonly script: DialogueScript;
34
+ private readonly options;
35
+ readonly vars: Record<string, unknown>;
36
+ private node;
37
+ private line;
38
+ private step;
39
+ private readonly visits;
40
+ private readonly chosen;
41
+ private readonly scope;
42
+ constructor(script: DialogueScript, options?: DialogueOptions);
43
+ /** The step showing now. */
44
+ get current(): DialogueStep;
45
+ /** The node the dialogue is in, or null once it has ended. */
46
+ get at(): string | null;
47
+ /** How many times a node was entered. */
48
+ visited(node: string): number;
49
+ /** Begins at `node` (default the script's `start`, else its first node). */
50
+ start(node?: string | undefined): DialogueStep;
51
+ /** The line showing was read: on to the next line, the choices, or wherever the node leads. */
52
+ next(): DialogueStep;
53
+ /** Picks a choice by its `index` (as shown). A locked or unknown index changes nothing. */
54
+ choose(index: number): DialogueStep;
55
+ /** Jumps to a node from outside (the game's own event broke in). */
56
+ jump(node: string): DialogueStep;
57
+ /** Ends the dialogue now. */
58
+ stop(): DialogueStep;
59
+ /** The value of an expression over this dialogue's variables, for a game that shares the language. */
60
+ evaluate(source: string): ExprValue;
61
+ save(): DialogueSave;
62
+ /** Puts a saved dialogue back where it was, without running the node's `set` and `do` again. */
63
+ restore(save: DialogueSave): DialogueStep;
64
+ private go;
65
+ private enter;
66
+ /** The step from the current line on: the next line that holds, else the choices, else the way on. */
67
+ private show;
68
+ private offered;
69
+ private wayOn;
70
+ private finish;
71
+ private nodeOf;
72
+ private test;
73
+ private assign;
74
+ private run;
75
+ /** `text` translated, with each `{expression}` replaced by its value; `{{` and `}}` are braces. */
76
+ private text;
77
+ }
78
+ //# sourceMappingURL=DialogueRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogueRunner.d.ts","sourceRoot":"","sources":["../../../src/dialogue/DialogueRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,KAAK,EAA+D,cAAc,EAAE,YAAY,EAAe,MAAM,UAAU,CAAC;AAEvI,MAAM,WAAW,eAAe;IAC9B,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACrF,4GAA4G;IAC5G,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;CAC/D;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAKD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IAUvB,QAAQ,CAAC,MAAM,EAAE,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAGvB,MAAM,EAAE,cAAc,EACd,OAAO,GAAE,eAAoB;IAgBhD,4BAA4B;IAC5B,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED,8DAA8D;IAC9D,IAAI,EAAE,IAAI,MAAM,GAAG,IAAI,CAEtB;IAED,yCAAyC;IACzC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7B,4EAA4E;IAC5E,KAAK,CAAC,IAAI,qBAAyD,GAAG,YAAY;IAKlF,+FAA+F;IAC/F,IAAI,IAAI,YAAY;IAMpB,2FAA2F;IAC3F,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAYnC,oEAAoE;IACpE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAIhC,6BAA6B;IAC7B,IAAI,IAAI,YAAY;IAIpB,sGAAsG;IACtG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAInC,IAAI,IAAI,YAAY;IAUpB,gGAAgG;IAChG,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAazC,OAAO,CAAC,EAAE;IAIV,OAAO,CAAC,KAAK;IAab,sGAAsG;IACtG,OAAO,CAAC,IAAI;IAgBZ,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,GAAG;IAOX,mGAAmG;IACnG,OAAO,CAAC,IAAI;CASb"}
@@ -0,0 +1,12 @@
1
+ export type ExprValue = number | string | boolean | null | undefined;
2
+ /** What an expression reads: variables by (dotted) name, and the functions it may call. */
3
+ export interface ExprScope {
4
+ get(name: string): unknown;
5
+ call(name: string, args: ExprValue[]): ExprValue;
6
+ }
7
+ export type CompiledExpr = (scope: ExprScope) => ExprValue;
8
+ /** Compiles `src`; throws with what and where on a syntax error. */
9
+ export declare function compileExpr(src: string): CompiledExpr;
10
+ /** `compileExpr`, kept: a script asks the same few conditions again and again. */
11
+ export declare function expr(src: string): CompiledExpr;
12
+ //# sourceMappingURL=expr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expr.d.ts","sourceRoot":"","sources":["../../../src/dialogue/expr.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAErE,2FAA2F;AAC3F,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC;AAsD3D,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAgHrD;AAID,kFAAkF;AAClF,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAQ9C"}
@@ -0,0 +1,78 @@
1
+ /** One line said: by `speaker` (absent: narration). A bare string is a line of narration. */
2
+ export interface DialogueLine {
3
+ text: string;
4
+ speaker?: string;
5
+ /** Said only when this holds. */
6
+ if?: string;
7
+ /** The game's own marks (a portrait's mood, a sound): handed back with the line. */
8
+ tags?: string[];
9
+ /** A translation key, handed to `translate` with the text. */
10
+ key?: string;
11
+ }
12
+ /** Something the game does, by name: `"open_gate"`, or `{ "name": "give", "args": ["key", 1] }`. */
13
+ export type DialogueCommand = string | {
14
+ name: string;
15
+ args?: unknown[];
16
+ };
17
+ /** One answer the player may pick. */
18
+ export interface DialogueChoice {
19
+ text: string;
20
+ /** Where it leads (absent: the dialogue ends). */
21
+ goto?: string;
22
+ /** Offered only when this holds. */
23
+ if?: string;
24
+ /** When `if` fails, show it greyed out instead of leaving it out (the player sees what they lack). */
25
+ showLocked?: boolean;
26
+ /** Offered only until picked once. */
27
+ once?: boolean;
28
+ /** Assignments run when it is picked: name → expression. */
29
+ set?: Record<string, string>;
30
+ do?: DialogueCommand[];
31
+ key?: string;
32
+ }
33
+ /** A way on from a node with no choices: the first branch whose `if` holds (or that has none) is taken. */
34
+ export interface DialogueBranch {
35
+ if?: string;
36
+ goto: string;
37
+ }
38
+ export interface DialogueNode {
39
+ lines?: (string | DialogueLine)[];
40
+ choices?: DialogueChoice[];
41
+ /** Where to go after the lines when there are no choices: a node, or branches. Absent: the dialogue ends. */
42
+ next?: string | DialogueBranch[];
43
+ /** Assignments run on entering the node, before its lines. */
44
+ set?: Record<string, string>;
45
+ /** Commands run on entering the node, after `set`. */
46
+ do?: DialogueCommand[];
47
+ }
48
+ export interface DialogueScript {
49
+ /** Where `start()` begins (default the first node). */
50
+ start?: string;
51
+ nodes: Record<string, DialogueNode>;
52
+ }
53
+ /** A line as the runner hands it on: with its `{…}` filled in and translated. */
54
+ export interface ShownLine {
55
+ type: 'line';
56
+ node: string;
57
+ speaker: string | undefined;
58
+ text: string;
59
+ tags: readonly string[];
60
+ }
61
+ export interface ShownChoice {
62
+ /** What to pass to `choose`. */
63
+ index: number;
64
+ text: string;
65
+ /** False for a `showLocked` choice whose condition fails: drawn, but not pickable. */
66
+ enabled: boolean;
67
+ }
68
+ export interface ShownChoices {
69
+ type: 'choices';
70
+ node: string;
71
+ choices: ShownChoice[];
72
+ }
73
+ export interface DialogueEnd {
74
+ type: 'end';
75
+ }
76
+ /** Where a dialogue stands: a line to show, choices to offer, or the end. */
77
+ export type DialogueStep = ShownLine | ShownChoices | DialogueEnd;
78
+ //# sourceMappingURL=script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/dialogue/script.ts"],"names":[],"mappings":"AAmBA,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE1E,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sGAAsG;IACtG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,2GAA2G;AAC3G,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,6GAA6G;IAC7G,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IACjC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sDAAsD;IACtD,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrC;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAC;CACb;AAED,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { DialogueScript } from './script.js';
2
+ /** One fault in a script: where (`nodes.gate.choices[1].goto`), and what. */
3
+ export interface DialogueIssue {
4
+ path: string;
5
+ message: string;
6
+ /** An error stops the dialogue when reached; a warning is likely a slip (a node nothing leads to). */
7
+ level: 'error' | 'warning';
8
+ }
9
+ export interface ValidateOptions {
10
+ /** The commands the game handles; when given, a `do` naming another is an error. */
11
+ commands?: readonly string[];
12
+ /** The functions the game registered, beside `visited` and `chose`; when given, a call to another is an error. */
13
+ functions?: readonly string[];
14
+ }
15
+ /**
16
+ * Checks a script without running it, for a test or an editor: every `goto` and `next` names a node, every condition,
17
+ * assignment and `{…}` parses, commands and functions are known (when the lists are given), and every node can be
18
+ * reached from the start.
19
+ */
20
+ export declare function validateDialogue(script: DialogueScript, options?: ValidateOptions): DialogueIssue[];
21
+ //# sourceMappingURL=validateDialogue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateDialogue.d.ts","sourceRoot":"","sources":["../../../src/dialogue/validateDialogue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,UAAU,CAAC;AAEhE,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,kHAAkH;IAClH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,EAAE,CAqFvG"}
@@ -0,0 +1,84 @@
1
+ import type { FieldSpec, FieldsType, FieldValues } from './fields.js';
2
+ import type { ComponentType, Entity, World } from './World.js';
3
+ /** What a prefab's factory values are given: the entity being made and the spawn's own `args`. */
4
+ export interface PrefabContext<A> {
5
+ entity: Entity;
6
+ args: A;
7
+ }
8
+ /**
9
+ * A component's value in a prefab: plain data (copied afresh for every entity, so no two share an object), or a
10
+ * factory called once per entity, for what cannot be copied (a class instance, a sprite) or must differ (a random
11
+ * roll, a position from the spawn's args). `null` in a variant takes away a component its base has.
12
+ */
13
+ export type PrefabValue<T, A = unknown> = T | ((ctx: PrefabContext<A>) => T);
14
+ export type PrefabPart<A = unknown> = readonly [ComponentType<unknown>, PrefabValue<unknown, A> | null];
15
+ /**
16
+ * One part of a prefab, typed: the value is checked against the component's type, and a factory's `ctx` is known.
17
+ * A bare `[type, value]` tuple works too, unchecked.
18
+ */
19
+ export declare function prefabPart<S extends FieldSpec, A = unknown>(type: FieldsType<S>, value: PrefabValue<FieldValues<S>, A> | null): PrefabPart<A>;
20
+ export declare function prefabPart<T, A = unknown>(type: ComponentType<T>, value: PrefabValue<T, A> | null): PrefabPart<A>;
21
+ /** A template for entities: the components each gets, with their starting values. */
22
+ export interface Prefab<A = unknown> {
23
+ readonly name: string;
24
+ /** The components, the base's merged in: a variant's plain-object values are laid over the base's field by field. */
25
+ readonly parts: ReadonlyMap<ComponentType<unknown>, PrefabValue<unknown, A>>;
26
+ readonly base: Prefab<A> | null;
27
+ }
28
+ export interface PrefabOptions<A> {
29
+ /** The prefab this is a variant of: everything it has, with these parts laid over. */
30
+ extends?: Prefab<A>;
31
+ }
32
+ /**
33
+ * Defines a prefab.
34
+ *
35
+ * ```ts
36
+ * const Monster = definePrefab('monster', [prefabPart(Health, { hp: 10, max: 10 }), prefabPart(Brain, () => tree.agent())]);
37
+ * const Boss = definePrefab('boss', [prefabPart(Health, { hp: 200, max: 200 }), prefabPart(Flying, null)], { extends: Monster });
38
+ * spawnPrefab(world, Boss, { with: [[Position, { x: 40, y: 80 }]] });
39
+ * ```
40
+ */
41
+ export declare function definePrefab<A = unknown>(name: string, parts: readonly PrefabPart<A>[], options?: PrefabOptions<A>): Prefab<A>;
42
+ export interface SpawnOptions<A> {
43
+ /** Components added or replaced for this entity only (laid over the prefab's like a variant's). */
44
+ with?: readonly PrefabPart<A>[];
45
+ /** Components of the prefab this entity goes without. */
46
+ without?: readonly ComponentType<unknown>[];
47
+ /** Handed to every factory value. */
48
+ args?: A;
49
+ }
50
+ /** Makes one entity from a prefab: each component's value copied, or made by its factory. */
51
+ export declare function spawnPrefab<A = unknown>(world: World, prefab: Prefab<A>, options?: SpawnOptions<A>): Entity;
52
+ /** Whether `prefab` is `of` or a variant of it, however far down. */
53
+ export declare function isPrefabOf(prefab: Prefab<never> | Prefab<unknown>, of: Prefab<never> | Prefab<unknown>): boolean;
54
+ /** Prefabs as data: `{ "goblin": { "extends": "monster", "components": { "Health": { "hp": 6 }, "Flying": null } } }`. */
55
+ export type PrefabData = Record<string, {
56
+ extends?: string;
57
+ components?: Record<string, unknown>;
58
+ }>;
59
+ /**
60
+ * Prefabs by name, loadable from data a designer edits. Components are named through `component(name, type)`;
61
+ * a value in the data is plain JSON, so factories (a sprite, a brain) are given in code with `factory`.
62
+ */
63
+ export declare class PrefabLibrary {
64
+ private readonly types;
65
+ private readonly factories;
66
+ private readonly prefabs;
67
+ /** Lets data name a component type. */
68
+ component(name: string, type: ComponentType<unknown>): this;
69
+ /** A value made in code for a prefab loaded from data (and its variants): the data cannot hold a function. */
70
+ factory<T>(prefab: string, type: ComponentType<T>, make: (ctx: PrefabContext<unknown>) => T): this;
71
+ /** Adds a prefab made in code. */
72
+ add(prefab: Prefab): this;
73
+ /**
74
+ * Builds the prefabs of `data`, bases before their variants (in any order in the data), and adds them. Throws,
75
+ * naming the prefab, on an unknown component or base, or a prefab that extends itself.
76
+ */
77
+ load(data: PrefabData): this;
78
+ get(name: string): Prefab;
79
+ has(name: string): boolean;
80
+ names(): string[];
81
+ /** `spawnPrefab` by name. */
82
+ spawn<A = unknown>(world: World, name: string, options?: SpawnOptions<A>): Entity;
83
+ }
84
+ //# sourceMappingURL=prefab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefab.d.ts","sourceRoot":"","sources":["../../../src/ecs/prefab.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export declare class WebPatcher {
47
47
  private loaded;
48
48
  /** The tidy a start began: a build waits for it, or it could delete the `.part` folder being filled. */
49
49
  private tidying;
50
+ private tidyChain;
50
51
  constructor(options: WebPatcherOptions);
51
52
  /** This shell's identity. */
52
53
  get shell(): string;
@@ -75,7 +76,9 @@ export declare class WebPatcher {
75
76
  private promote;
76
77
  /** A pointer this shell may load: its own shell, newer than the installed build, its folder whole. */
77
78
  private usable;
78
- /** Removes every patched web but the active, pending and previous one, and any half-made folder. */
79
+ /** Removes every patched web but the active, pending and previous one, and any half-made folder. A call made while
80
+ * one is running waits for it and then runs once more, so two never delete the same folder at once. */
79
81
  tidy(): Promise<void>;
82
+ private tidyOnce;
80
83
  }
81
84
  //# sourceMappingURL=webPatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webPatcher.d.ts","sourceRoot":"","sources":["../../../src/electron/webPatcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKvF,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAC/B,qHAAqH;IACrH,UAAU,EAAE,MAAM,CAAC;IACnB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,qFAAqF;IACrF,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAU;IAST,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAA6C;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAiD;IAC/D,wGAAwG;IACxG,OAAO,CAAC,OAAO,CAAoC;gBAEtB,OAAO,EAAE,iBAAiB;IAkBvD,6BAA6B;IAC7B,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,4GAA4G;IAC5G,UAAU,IAAI,MAAM;IAgCpB,0CAA0C;IAC1C,UAAU,IAAI,MAAM;IAIpB,sHAAsH;IACtH,UAAU,IAAI,IAAI;IAKlB,yEAAyE;IACnE,MAAM,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW1C,kHAAkH;IAClH,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAIjC;;;;OAIG;IACG,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDtG;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAS7B,uGAAuG;IACvG,OAAO,CAAC,OAAO;IAMf,sGAAsG;IACtG,OAAO,CAAC,MAAM;IAId,oGAAoG;IAC9F,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAY5B"}
1
+ {"version":3,"file":"webPatcher.d.ts","sourceRoot":"","sources":["../../../src/electron/webPatcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKvF,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAC/B,qHAAqH;IACrH,UAAU,EAAE,MAAM,CAAC;IACnB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,qFAAqF;IACrF,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAU;IAUT,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAA6C;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAiD;IAC/D,wGAAwG;IACxG,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAoC;gBAExB,OAAO,EAAE,iBAAiB;IAkBvD,6BAA6B;IAC7B,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,4GAA4G;IAC5G,UAAU,IAAI,MAAM;IAgCpB,0CAA0C;IAC1C,UAAU,IAAI,MAAM;IAIpB,sHAAsH;IACtH,UAAU,IAAI,IAAI;IAKlB,yEAAyE;IACnE,MAAM,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW1C,kHAAkH;IAClH,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAIjC;;;;OAIG;IACG,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDtG;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAS7B,uGAAuG;IACvG,OAAO,CAAC,OAAO;IAMf,sGAAsG;IACtG,OAAO,CAAC,MAAM;IAId;2GACuG;IACvG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAMP,QAAQ;CAYvB"}
@@ -8,6 +8,7 @@ export { SceneManager } from './engine/SceneManager.js';
8
8
  export { FixedLoop, type FixedLoopOptions } from './engine/FixedLoop.js';
9
9
  export { HiddenPause, type Pausable } from './engine/HiddenPause.js';
10
10
  export { World, defineComponent, defineFields, entityIndex, system, type Entity, type ComponentType, type System, type SystemContext, type SystemPhase, type ComponentValues, } from './ecs/World.js';
11
+ export { definePrefab, prefabPart, spawnPrefab, isPrefabOf, PrefabLibrary, type Prefab, type PrefabPart, type PrefabValue, type PrefabContext, type PrefabOptions, type SpawnOptions, type PrefabData, } from './ecs/prefab.js';
11
12
  export type { FieldKind, FieldSpec, FieldsType, FieldValues, Columns, ArrayOf } from './ecs/fields.js';
12
13
  export { EventBus } from './events/EventBus.js';
13
14
  export { engineSettings, type EngineSettings, type SettingsListener } from './settings.js';
@@ -74,6 +75,7 @@ export { elementVolumeLocked } from './audio/music/musicVoice.js';
74
75
  export { registerSounds, type SoundTable } from './audio/soundTable.js';
75
76
  export { registerTakes, hasTakes } from './audio/sampleBank.js';
76
77
  export { Footsteps, type FootstepOptions, type SurfaceSounds } from './audio/Footsteps.js';
78
+ export { SpatialAudio, spatialMix, type SpatialEmitter, type EmitterOptions as SpatialEmitterOptions, type SpatialMix, type SpatialMixOptions } from './audio/spatial.js';
77
79
  export { renderRecipe, SYNTH_RATE, type SynthRecipe, type SynthLayer } from './audio/synth.js';
78
80
  export { Keyboard } from './input/Keyboard.js';
79
81
  export { Actions, PAD_BUTTONS, type Bindings, type ActionsOptions, type PadState } from './input/Actions.js';
@@ -84,6 +86,8 @@ export { LongPress } from './input/longPress.js';
84
86
  export { AimGesture, aimPoint, spotReach, spotShare, dragSlop, AIM_TAP_SLOP, AIM_EARLY_SLOP, AIM_PRESS_MS, AIM_CENTRE, type AimGestureOptions, type AimShape, type AimEnd } from './input/AimGesture.js';
85
87
  export { TargetLock, pickTarget, nearestTarget, keptTarget, LOCK_PICK_RANGE, LOCK_KEEP_RANGE, LOCK_PICK_CONE, type LockBody, type TargetLockOptions } from './input/TargetLock.js';
86
88
  export { Keymap, mergeKeymap, keymapStorage, keyLabel } from './input/Keymap.js';
89
+ export { InputCapture, padLabel, deviceOf, type CaptureOptions, type InputDevice } from './input/InputCapture.js';
90
+ export { InputRecorder, InputPlayer, type InputTape } from './input/inputTape.js';
87
91
  export { isTouchUi, setNativeShell, setTouchOverrideKey } from './platform/touch.js';
88
92
  export { onAppResume, type ResumeEnv } from './platform/appResume.js';
89
93
  export { timeoutSignal } from './platform/timeoutSignal.js';
@@ -129,6 +133,14 @@ export { navGrid, navGridFromCollision, isOpen, nearWallCost, canStep, NAV_STEPS
129
133
  export { nearestOpen } from './nav/nearestOpen.js';
130
134
  export { findPath, floodFill, reachedCount, octile, type NavGoal, type FindPathOptions } from './nav/findPath.js';
131
135
  export { straightenPath, simplifyPath } from './nav/straightenPath.js';
136
+ export { flowField, followField, type FlowField } from './nav/flowField.js';
137
+ export { seek, flee, arrive, separation, alignment, cohesion, followFlow, combineSteering, applySteering, type SteerVec, type SteerAgent, type StepSource, } from './nav/steering.js';
138
+ export { BehaviorTree, BtAgent, sequence, selector, reactiveSequence, reactiveSelector, parallel, invert, succeed, repeat, retry, cooldown, timeout, wait, condition, action, formatTrace, type BtStatus, type BtNode, type BtRun, type BtTraceLine, type ParallelPolicy, type ActionOptions, } from './ai/behaviorTree.js';
139
+ export { buildTree, type BtSpec, type BtRegistry } from './ai/buildTree.js';
140
+ export { DialogueRunner, type DialogueOptions, type DialogueSave } from './dialogue/DialogueRunner.js';
141
+ export { validateDialogue, type DialogueIssue, type ValidateOptions as DialogueValidateOptions } from './dialogue/validateDialogue.js';
142
+ export { compileExpr, type CompiledExpr, type ExprScope, type ExprValue } from './dialogue/expr.js';
143
+ export type { DialogueScript, DialogueNode, DialogueLine, DialogueChoice, DialogueBranch, DialogueCommand, DialogueStep, ShownLine, ShownChoice, ShownChoices, DialogueEnd, } from './dialogue/script.js';
132
144
  export { SaveStore, type SaveStoreOptions, type SaveInfo, type LoadResult, type LoadFailure } from './save/SaveStore.js';
133
145
  export type { SaveBackend } from './save/SaveBackend.js';
134
146
  export { MemoryBackend } from './save/MemoryBackend.js';
@@ -167,7 +179,9 @@ export { CADENCE, cadenceEarly, cadenceNext } from './net/cadence.js';
167
179
  export { serverNow, serverOffset, noteServerTime, resetServerClock } from './net/serverClock.js';
168
180
  export { PredictedMover } from './net/PredictedMover.js';
169
181
  export { InterpolationBuffer, type InterpolatedState } from './net/InterpolationBuffer.js';
170
- export { Room, type RoomPlayer, type RoomOptions } from './net/Room.js';
182
+ export { Room, BODY_ID_BASE, type RoomPlayer, type RoomBody, type RoomSeen, type RoomOptions, type RoomInterest } from './net/Room.js';
183
+ export { SpatialHash } from './net/SpatialHash.js';
184
+ export { LagCompensator, type RewoundBody, type RewoundHit } from './net/LagCompensator.js';
171
185
  export { RoomHost, type HostSocket, type RoomHostOptions } from './net/RoomHost.js';
172
186
  export { Connection, CLOSE_NO_ANSWER, type ConnectionEvents, type ConnectionOptions } from './net/Connection.js';
173
187
  export { ApiClient, ApiError, type ApiClientOptions, type ApiRequestOptions, type ApiErrorInfo, type ApiMethod, type RefreshResult } from './net/ApiClient.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,10 @@ export declare class Actions<A extends string> {
57
57
  private readonly chords;
58
58
  /** Keys a chord holds this step: their bare bindings read 0 until the key comes up. */
59
59
  private readonly claimed;
60
+ /** Where `poll` takes its values from instead of the devices (a replay), until it returns null. */
61
+ private source;
62
+ /** Handed every step's values after `poll` (a recorder). */
63
+ private readonly taps;
60
64
  private readonly keyDown;
61
65
  constructor(keyboard: Keyboard | null, bindings: Bindings<A>, options?: ActionsOptions);
62
66
  /** Replaces one action's bindings (a player's rebinding). */
@@ -72,6 +76,16 @@ export declare class Actions<A extends string> {
72
76
  rumble(options: RumbleOptions, padIndex?: number): Promise<boolean>;
73
77
  /** Reads every device once; call at the start of each simulation step. */
74
78
  poll(): void;
79
+ /**
80
+ * Takes each step's values from `source` instead of the devices (an `InputPlayer`), until it returns null; then
81
+ * the devices answer again. Pass null to stop at once.
82
+ */
83
+ replay(source: (() => ReadonlyMap<A, number> | null) | null): void;
84
+ /** Whether a replay is driving the actions now. */
85
+ get replaying(): boolean;
86
+ /** Calls `tap` with every step's values right after `poll` (an `InputRecorder`); returns the stop. */
87
+ tap(tap: (values: ReadonlyMap<A, number>) => void): () => void;
88
+ private readDevices;
75
89
  /** Held this step. */
76
90
  down(action: A): boolean;
77
91
  /** How far it is held (0–1): 1 for a key, the trigger or stick amount for analog input. */
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../src/input/Actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../src/input/Actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type PadState } from './Actions.js';
2
+ /** What kind of input a binding is: a key (or chord), a gamepad button or stick half, or a touch button. */
3
+ export type InputDevice = 'keys' | 'pad' | 'touch';
4
+ export declare function deviceOf(binding: string): InputDevice;
5
+ /**
6
+ * How a gamepad binding reads on screen: `pad:a` is "A", `pad:lx-` "Left stick left". `names` overrides any (a
7
+ * PlayStation game's "Cross", the game's own language); a binding that is not a pad's comes back as it is.
8
+ */
9
+ export declare function padLabel(binding: string, names?: Readonly<Record<string, string>>): string;
10
+ export interface CaptureOptions {
11
+ /** Which devices may answer (default keys and pad). */
12
+ devices?: readonly ('keys' | 'pad')[];
13
+ /** Key codes that do not count (default Escape: it cancels instead). */
14
+ ignoreKeys?: readonly string[];
15
+ /** Key codes that cancel the capture (default Escape; the pad's Start and B are buttons like any other). */
16
+ cancelKeys?: readonly string[];
17
+ /** A stick half counts once pushed past this (default 0.6), so a resting stick's drift never binds. */
18
+ axisThreshold?: number;
19
+ /** Where key presses are heard (default `window`). */
20
+ target?: EventTarget;
21
+ /** Where gamepads come from (default `navigator.getGamepads`). */
22
+ gamepads?: () => readonly (PadState | null)[];
23
+ }
24
+ /**
25
+ * Waits for the next input the player gives, for a settings screen's "press a key for Jump": the next key (its
26
+ * `KeyboardEvent.code`), gamepad button or stick half pushed past a threshold, as a binding string `Actions` and
27
+ * `Keymap` take. Inputs already held when the capture began do not count until let go, so the press that opened the
28
+ * capture (Enter, the pad's A) does not bind itself.
29
+ *
30
+ * Call `poll()` once a frame for the gamepad (the browser has no gamepad events worth trusting); keys are heard as
31
+ * they come. The promise resolves to the binding, or null when cancelled (Escape, or `cancel()`).
32
+ */
33
+ export declare class InputCapture {
34
+ readonly result: Promise<string | null>;
35
+ private settle;
36
+ private done;
37
+ private readonly held;
38
+ private readonly options;
39
+ private readonly gamepads;
40
+ private readonly target;
41
+ private readonly onKey;
42
+ constructor(options?: CaptureOptions);
43
+ /** Reads the gamepads once; call every frame while the capture is open. */
44
+ poll(): void;
45
+ /** Stops waiting; the result is null. */
46
+ cancel(): void;
47
+ get open(): boolean;
48
+ private key;
49
+ private finish;
50
+ /** Every pad input down on any pad now, as bindings. */
51
+ private padInputs;
52
+ }
53
+ //# sourceMappingURL=InputCapture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputCapture.d.ts","sourceRoot":"","sources":["../../../src/input/InputCapture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEvD,4GAA4G;AAC5G,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEnD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAErD;AAgCD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAAG,MAAM,CAI9F;AAED,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;IACtC,wEAAwE;IACxE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,4GAA4G;IAC5G,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAChF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;gBAExD,OAAO,GAAE,cAAmB;IAgBxC,2EAA2E;IAC3E,IAAI,IAAI,IAAI;IAWZ,yCAAyC;IACzC,MAAM,IAAI,IAAI;IAId,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,OAAO,CAAC,GAAG;IAUX,OAAO,CAAC,MAAM;IAOd,wDAAwD;IACxD,OAAO,CAAC,SAAS;CAgBlB"}
@@ -1,9 +1,11 @@
1
1
  import type { Actions } from './Actions.js';
2
+ import { type InputDevice } from './InputCapture.js';
2
3
  /**
3
4
  * Which keys each action sits on, as the player has rebound them: one table the input, the key hints on screen and
4
5
  * a settings screen all read. A binding is a `KeyboardEvent.code` (`KeyW`, `Digit1`), so it means the same physical
5
6
  * key on every layout. Each action keeps a list (W and ArrowUp, 1 and Q); a settings screen edits the **first** and
6
- * leaves the alternates alone.
7
+ * leaves the alternates alone. Gamepad inputs (`pad:a`, `pad:lx-`) may be the player's too: each device keeps its own
8
+ * first binding, so a settings screen with a keys column and a pad column edits each without touching the other.
7
9
  *
8
10
  * Two rules: one key serves one action at a time (a key bound twice would fire both, and the player could not tell
9
11
  * which they meant), and reserved keys (Escape, Enter, Tab by default: the interface's own) are never taken.
@@ -34,16 +36,20 @@ export declare class Keymap<A extends string> {
34
36
  /** Every action, in the order the defaults named them. */
35
37
  actions(): A[];
36
38
  isReserved(code: string): boolean;
37
- /** The keys of one action; the first is the one a settings screen shows and edits. */
38
- keysFor(action: A): readonly string[];
39
+ /**
40
+ * The bindings of one action, or only those of one device; the first of a device is the one a settings screen
41
+ * shows and edits.
42
+ */
43
+ keysFor(action: A, device?: InputDevice): readonly string[];
39
44
  /** The inputs an action always has besides the player's keys (the constructor's `fixed`). */
40
45
  fixedFor(action: A): readonly string[];
41
46
  /** Which action a key belongs to, or undefined. */
42
47
  actionFor(code: string): A | undefined;
43
48
  /**
44
- * Puts `code` first on `action`, taking it off whatever else held it; returns the actions that lost it (to tell the
45
- * player). A reserved key is refused (returns null). An action stripped of its last key keeps none: it is unbound
46
- * until something is put back on it.
49
+ * Puts `code` first on `action` in place of the action's first binding of the same device (a key replaces its first
50
+ * key, a pad input its first pad input), taking it off whatever else held it; returns the actions that lost it (to
51
+ * tell the player). A reserved key is refused (returns null). An action stripped of its last key keeps none: it is
52
+ * unbound until something is put back on it.
47
53
  */
48
54
  bind(action: A, code: string): A[] | null;
49
55
  /** Takes every key off `action`. */
@@ -1 +1 @@
1
- {"version":3,"file":"Keymap.d.ts","sourceRoot":"","sources":["../../../src/input/Keymap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,MAAM,CAAC,CAAC,SAAS,MAAM;IAClC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD;;;OAGG;gBAED,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAChD,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAA8B,EACvD,KAAK,GAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAM;IAQnD,OAAO,CAAC,KAAK;IAMb,0DAA0D;IAC1D,OAAO,IAAI,CAAC,EAAE;IAId,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,sFAAsF;IACtF,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,MAAM,EAAE;IAIrC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,MAAM,EAAE;IAItC,mDAAmD;IACnD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKtC;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI;IAczC,oCAAoC;IACpC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAMvB,yCAAyC;IACzC,KAAK,IAAI,IAAI;IAKb,oEAAoE;IACpE,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAM7B;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK1B;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAM,GAAG,IAAI;IAI3G,mEAAmE;IACnE,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAQpC,OAAO,CAAC,OAAO;CAGhB;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAC1C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,WAAW,CAAC,MAAM,CAAa,GACxC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAwBrB;AAED,6GAA6G;AAC7G,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,IAAI,OAAO,CAAC;IAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,IAAI,IAAI,CAAA;CAAE,CAiCzG;AA2BD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAAG,MAAM,CAQ3F"}
1
+ {"version":3,"file":"Keymap.d.ts","sourceRoot":"","sources":["../../../src/input/Keymap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAM,CAAC,CAAC,SAAS,MAAM;IAClC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD;;;OAGG;gBAED,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAChD,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAA8B,EACvD,KAAK,GAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAM;IAQnD,OAAO,CAAC,KAAK;IAMb,0DAA0D;IAC1D,OAAO,IAAI,CAAC,EAAE;IAId,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,MAAM,EAAE;IAK3D,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,MAAM,EAAE;IAItC,mDAAmD;IACnD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKtC;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI;IAgBzC,oCAAoC;IACpC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAMvB,yCAAyC;IACzC,KAAK,IAAI,IAAI;IAKb,oEAAoE;IACpE,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAM7B;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK1B;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAM,GAAG,IAAI;IAI3G,mEAAmE;IACnE,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAQpC,OAAO,CAAC,OAAO;CAGhB;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAC1C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,WAAW,CAAC,MAAM,CAAa,GACxC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAwBrB;AAED,6GAA6G;AAC7G,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,IAAI,OAAO,CAAC;IAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,IAAI,IAAI,CAAA;CAAE,CAiCzG;AA2BD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAAG,MAAM,CAQ3F"}