@rpgm-tools/neo-angband-core 1.18.0 → 1.19.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 (258) hide show
  1. package/README.md +2 -3
  2. package/dist/agent/boundary.d.ts +87 -0
  3. package/dist/agent/boundary.d.ts.map +1 -0
  4. package/dist/agent/boundary.js +116 -0
  5. package/dist/agent/boundary.js.map +1 -0
  6. package/dist/agent/entity-views.d.ts.map +1 -1
  7. package/dist/agent/entity-views.js +14 -0
  8. package/dist/agent/entity-views.js.map +1 -1
  9. package/dist/agent/index.d.ts +5 -0
  10. package/dist/agent/index.d.ts.map +1 -1
  11. package/dist/agent/index.js +2 -0
  12. package/dist/agent/index.js.map +1 -1
  13. package/dist/agent/inspect.d.ts +159 -0
  14. package/dist/agent/inspect.d.ts.map +1 -0
  15. package/dist/agent/inspect.js +324 -0
  16. package/dist/agent/inspect.js.map +1 -0
  17. package/dist/agent/known-level.d.ts +72 -0
  18. package/dist/agent/known-level.d.ts.map +1 -0
  19. package/dist/agent/known-level.js +114 -0
  20. package/dist/agent/known-level.js.map +1 -0
  21. package/dist/agent/loadout.d.ts.map +1 -1
  22. package/dist/agent/loadout.js +20 -1
  23. package/dist/agent/loadout.js.map +1 -1
  24. package/dist/agent/perceive.d.ts.map +1 -1
  25. package/dist/agent/perceive.js +37 -5
  26. package/dist/agent/perceive.js.map +1 -1
  27. package/dist/agent/types.d.ts +147 -0
  28. package/dist/agent/types.d.ts.map +1 -1
  29. package/dist/agent/types.js.map +1 -1
  30. package/dist/color.d.ts +11 -0
  31. package/dist/color.d.ts.map +1 -1
  32. package/dist/color.js +46 -0
  33. package/dist/color.js.map +1 -1
  34. package/dist/combat/melee.d.ts +2 -0
  35. package/dist/combat/melee.d.ts.map +1 -1
  36. package/dist/combat/melee.js +7 -2
  37. package/dist/combat/melee.js.map +1 -1
  38. package/dist/combat/mon-melee.d.ts +1 -0
  39. package/dist/combat/mon-melee.d.ts.map +1 -1
  40. package/dist/combat/mon-melee.js +3 -0
  41. package/dist/combat/mon-melee.js.map +1 -1
  42. package/dist/datafile.d.ts +2 -5
  43. package/dist/datafile.d.ts.map +1 -1
  44. package/dist/datafile.js.map +1 -1
  45. package/dist/effects/handlers.d.ts.map +1 -1
  46. package/dist/effects/handlers.js +2 -0
  47. package/dist/effects/handlers.js.map +1 -1
  48. package/dist/effects/interpreter.d.ts +2 -0
  49. package/dist/effects/interpreter.d.ts.map +1 -1
  50. package/dist/effects/interpreter.js.map +1 -1
  51. package/dist/events.d.ts +46 -1
  52. package/dist/events.d.ts.map +1 -1
  53. package/dist/events.js +5 -1
  54. package/dist/events.js.map +1 -1
  55. package/dist/game/context.d.ts +14 -0
  56. package/dist/game/context.d.ts.map +1 -1
  57. package/dist/game/context.js.map +1 -1
  58. package/dist/game/describe.d.ts +5 -1
  59. package/dist/game/describe.d.ts.map +1 -1
  60. package/dist/game/describe.js +11 -2
  61. package/dist/game/describe.js.map +1 -1
  62. package/dist/game/effect-attack.d.ts +2 -0
  63. package/dist/game/effect-attack.d.ts.map +1 -1
  64. package/dist/game/effect-attack.js +11 -9
  65. package/dist/game/effect-attack.js.map +1 -1
  66. package/dist/game/effect-env.d.ts.map +1 -1
  67. package/dist/game/effect-env.js +8 -1
  68. package/dist/game/effect-env.js.map +1 -1
  69. package/dist/game/effect-general.d.ts.map +1 -1
  70. package/dist/game/effect-general.js +3 -0
  71. package/dist/game/effect-general.js.map +1 -1
  72. package/dist/game/effect-melee.d.ts.map +1 -1
  73. package/dist/game/effect-melee.js +14 -0
  74. package/dist/game/effect-melee.js.map +1 -1
  75. package/dist/game/effect-mon-origin.d.ts.map +1 -1
  76. package/dist/game/effect-mon-origin.js +2 -0
  77. package/dist/game/effect-mon-origin.js.map +1 -1
  78. package/dist/game/effect-monster.d.ts.map +1 -1
  79. package/dist/game/effect-monster.js +5 -0
  80. package/dist/game/effect-monster.js.map +1 -1
  81. package/dist/game/effect-teleport.d.ts.map +1 -1
  82. package/dist/game/effect-teleport.js +8 -1
  83. package/dist/game/effect-teleport.js.map +1 -1
  84. package/dist/game/effect-terrain.d.ts.map +1 -1
  85. package/dist/game/effect-terrain.js +7 -1
  86. package/dist/game/effect-terrain.js.map +1 -1
  87. package/dist/game/loop.d.ts +4 -0
  88. package/dist/game/loop.d.ts.map +1 -1
  89. package/dist/game/loop.js +18 -0
  90. package/dist/game/loop.js.map +1 -1
  91. package/dist/game/mon-cmd.d.ts.map +1 -1
  92. package/dist/game/mon-cmd.js +16 -9
  93. package/dist/game/mon-cmd.js.map +1 -1
  94. package/dist/game/mon-death.d.ts +1 -1
  95. package/dist/game/mon-death.d.ts.map +1 -1
  96. package/dist/game/mon-death.js +4 -2
  97. package/dist/game/mon-death.js.map +1 -1
  98. package/dist/game/mon-place.d.ts.map +1 -1
  99. package/dist/game/mon-place.js +4 -1
  100. package/dist/game/mon-place.js.map +1 -1
  101. package/dist/game/mon-side.d.ts.map +1 -1
  102. package/dist/game/mon-side.js +5 -0
  103. package/dist/game/mon-side.js.map +1 -1
  104. package/dist/game/monster-turn.d.ts.map +1 -1
  105. package/dist/game/monster-turn.js +9 -2
  106. package/dist/game/monster-turn.js.map +1 -1
  107. package/dist/game/obj-cmd.d.ts +4 -0
  108. package/dist/game/obj-cmd.d.ts.map +1 -1
  109. package/dist/game/obj-cmd.js +31 -1
  110. package/dist/game/obj-cmd.js.map +1 -1
  111. package/dist/game/object-inspect.d.ts +2 -2
  112. package/dist/game/object-inspect.d.ts.map +1 -1
  113. package/dist/game/object-inspect.js +7 -5
  114. package/dist/game/object-inspect.js.map +1 -1
  115. package/dist/game/pickup.d.ts.map +1 -1
  116. package/dist/game/pickup.js +10 -1
  117. package/dist/game/pickup.js.map +1 -1
  118. package/dist/game/player-turn.d.ts.map +1 -1
  119. package/dist/game/player-turn.js +9 -0
  120. package/dist/game/player-turn.js.map +1 -1
  121. package/dist/game/project-cast.d.ts +4 -0
  122. package/dist/game/project-cast.d.ts.map +1 -1
  123. package/dist/game/project-cast.js +11 -2
  124. package/dist/game/project-cast.js.map +1 -1
  125. package/dist/game/project-feat.d.ts.map +1 -1
  126. package/dist/game/project-feat.js +2 -0
  127. package/dist/game/project-feat.js.map +1 -1
  128. package/dist/game/project-monster.d.ts +1 -0
  129. package/dist/game/project-monster.d.ts.map +1 -1
  130. package/dist/game/project-monster.js +13 -1
  131. package/dist/game/project-monster.js.map +1 -1
  132. package/dist/game/project-player.d.ts +1 -0
  133. package/dist/game/project-player.d.ts.map +1 -1
  134. package/dist/game/project-player.js +4 -0
  135. package/dist/game/project-player.js.map +1 -1
  136. package/dist/game/ranged-cmd.d.ts.map +1 -1
  137. package/dist/game/ranged-cmd.js +7 -2
  138. package/dist/game/ranged-cmd.js.map +1 -1
  139. package/dist/game/resolved-events.d.ts +10 -0
  140. package/dist/game/resolved-events.d.ts.map +1 -0
  141. package/dist/game/resolved-events.js +28 -0
  142. package/dist/game/resolved-events.js.map +1 -0
  143. package/dist/game/scheduler.d.ts.map +1 -1
  144. package/dist/game/scheduler.js +7 -1
  145. package/dist/game/scheduler.js.map +1 -1
  146. package/dist/game/target.d.ts.map +1 -1
  147. package/dist/game/target.js +3 -0
  148. package/dist/game/target.js.map +1 -1
  149. package/dist/game/thrust.d.ts.map +1 -1
  150. package/dist/game/thrust.js +7 -0
  151. package/dist/game/thrust.js.map +1 -1
  152. package/dist/game/trap.d.ts.map +1 -1
  153. package/dist/game/trap.js +3 -0
  154. package/dist/game/trap.js.map +1 -1
  155. package/dist/game/world.d.ts.map +1 -1
  156. package/dist/game/world.js +4 -0
  157. package/dist/game/world.js.map +1 -1
  158. package/dist/host/io.d.ts +1 -1
  159. package/dist/host/io.d.ts.map +1 -1
  160. package/dist/host/io.js +1 -1
  161. package/dist/host/io.js.map +1 -1
  162. package/dist/index.d.ts +1 -0
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +1 -0
  165. package/dist/index.js.map +1 -1
  166. package/dist/mod/save-blocks.d.ts +1 -1
  167. package/dist/mon/lore-file.d.ts +24 -2
  168. package/dist/mon/lore-file.d.ts.map +1 -1
  169. package/dist/mon/lore-file.js +115 -23
  170. package/dist/mon/lore-file.js.map +1 -1
  171. package/dist/obj/randart-file.d.ts +44 -13
  172. package/dist/obj/randart-file.d.ts.map +1 -1
  173. package/dist/obj/randart-file.js +304 -53
  174. package/dist/obj/randart-file.js.map +1 -1
  175. package/dist/obj/randart.d.ts +1 -1
  176. package/dist/obj/randart.d.ts.map +1 -1
  177. package/dist/obj/randart.js +29 -5
  178. package/dist/obj/randart.js.map +1 -1
  179. package/dist/player/options-file.d.ts +11 -29
  180. package/dist/player/options-file.d.ts.map +1 -1
  181. package/dist/player/options-file.js +98 -32
  182. package/dist/player/options-file.js.map +1 -1
  183. package/dist/player/options.d.ts +1 -1
  184. package/dist/player/options.js +1 -1
  185. package/dist/save/compress.d.ts +2 -2
  186. package/dist/save/compress.js +2 -2
  187. package/dist/session/game.d.ts.map +1 -1
  188. package/dist/session/game.js +14 -0
  189. package/dist/session/game.js.map +1 -1
  190. package/dist/session/save.d.ts +8 -1
  191. package/dist/session/save.d.ts.map +1 -1
  192. package/dist/session/save.js +22 -16
  193. package/dist/session/save.js.map +1 -1
  194. package/dist/version.d.ts +1 -1
  195. package/dist/version.js +1 -1
  196. package/dist/visuals/prefs.d.ts +2 -26
  197. package/dist/visuals/prefs.d.ts.map +1 -1
  198. package/dist/visuals/prefs.js +2 -29
  199. package/dist/visuals/prefs.js.map +1 -1
  200. package/package.json +7 -1
  201. package/src/agent/boundary.ts +175 -0
  202. package/src/agent/entity-views.ts +12 -0
  203. package/src/agent/index.ts +17 -0
  204. package/src/agent/inspect.ts +389 -0
  205. package/src/agent/known-level.ts +196 -0
  206. package/src/agent/loadout.ts +19 -0
  207. package/src/agent/perceive.ts +44 -4
  208. package/src/agent/types.ts +116 -0
  209. package/src/color.ts +48 -0
  210. package/src/combat/melee.ts +9 -0
  211. package/src/combat/mon-melee.ts +4 -0
  212. package/src/datafile.ts +2 -5
  213. package/src/effects/handlers.ts +2 -0
  214. package/src/effects/interpreter.ts +2 -0
  215. package/src/events.ts +46 -1
  216. package/src/game/context.ts +14 -0
  217. package/src/game/describe.ts +13 -2
  218. package/src/game/effect-attack.ts +11 -7
  219. package/src/game/effect-env.ts +8 -1
  220. package/src/game/effect-general.ts +3 -0
  221. package/src/game/effect-melee.ts +16 -0
  222. package/src/game/effect-mon-origin.ts +3 -0
  223. package/src/game/effect-monster.ts +7 -0
  224. package/src/game/effect-teleport.ts +8 -1
  225. package/src/game/effect-terrain.ts +9 -1
  226. package/src/game/loop.ts +22 -0
  227. package/src/game/mon-cmd.ts +18 -8
  228. package/src/game/mon-death.ts +5 -0
  229. package/src/game/mon-place.ts +4 -1
  230. package/src/game/mon-side.ts +6 -0
  231. package/src/game/monster-turn.ts +8 -2
  232. package/src/game/obj-cmd.ts +26 -0
  233. package/src/game/object-inspect.ts +7 -3
  234. package/src/game/pickup.ts +9 -1
  235. package/src/game/player-turn.ts +9 -0
  236. package/src/game/project-cast.ts +15 -2
  237. package/src/game/project-feat.ts +2 -0
  238. package/src/game/project-monster.ts +20 -1
  239. package/src/game/project-player.ts +5 -0
  240. package/src/game/ranged-cmd.ts +7 -2
  241. package/src/game/resolved-events.ts +49 -0
  242. package/src/game/scheduler.ts +8 -1
  243. package/src/game/target.ts +3 -0
  244. package/src/game/thrust.ts +7 -0
  245. package/src/game/trap.ts +3 -0
  246. package/src/game/world.ts +5 -0
  247. package/src/host/io.ts +1 -1
  248. package/src/index.ts +1 -0
  249. package/src/mon/lore-file.ts +127 -28
  250. package/src/obj/randart-file.ts +313 -58
  251. package/src/obj/randart.ts +32 -11
  252. package/src/player/options-file.ts +100 -42
  253. package/src/player/options.ts +1 -1
  254. package/src/save/compress.ts +2 -2
  255. package/src/session/game.ts +18 -0
  256. package/src/session/save.ts +33 -17
  257. package/src/version.ts +1 -1
  258. package/src/visuals/prefs.ts +2 -52
package/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # @rpgm-tools/neo-angband-core
2
2
 
3
- The headless game engine behind [Neo Angband](https://github.com/neostryder/neo-angband),
4
- a TypeScript port of [Angband](https://angband.github.io/angband/) 4.2.6.
3
+ The headless game engine behind [Neo Angband](https://github.com/neostryder/neo-angband), a faithful but moddable port of [Angband](https://angband.github.io/angband/), meant to be playable almost anywhere.
5
4
 
6
5
  No renderer, no input, no DOM, no filesystem: rules, world, entities, effects,
7
6
  generation and the save format, as plain modules. Runs in Node and in a browser.
@@ -32,7 +31,7 @@ import { Rng, ENGINE_VERSION, PARITY_BASELINE } from "@rpgm-tools/neo-angband-co
32
31
  const rng = new Rng(1234);
33
32
  console.log(rng.damroll(3, 6), rng.damroll(3, 6), rng.damroll(3, 6)); // 9 13 8
34
33
 
35
- console.log(ENGINE_VERSION, PARITY_BASELINE); // 1.18.0 4.2.6
34
+ console.log(ENGINE_VERSION, PARITY_BASELINE); // 1.19.0 4.2.6
36
35
  ```
37
36
 
38
37
  Two entry points:
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The input boundary: one token for each input wait, and one immutable capture
3
+ * of the game as it stands at that wait.
4
+ *
5
+ * WHY THIS EXISTS. Every AgentView accessor is its own read. A presenter that
6
+ * draws the player from one call, the pack from a second and the monsters from a
7
+ * third cannot show that the three describe the same moment, and a presenter
8
+ * that sends an action back cannot show that the action was chosen against the
9
+ * game that will receive it. A whole-interface mod needs both: a single capture
10
+ * it can draw from, and a token it can hand back with an action so the game can
11
+ * refuse one aimed at a state that has since moved on.
12
+ *
13
+ * WHAT MOVES THE TOKEN. The revision is a counter on GameState, raised by
14
+ * `bumpInputRevision`, and it is raised exactly where the game changes between
15
+ * two input waits:
16
+ * - `runGameLoop`, when a call consumed a command or advanced the game turn. A
17
+ * call that returned INPUT with nothing consumed changed nothing, so a host
18
+ * that re-enters the loop while it waits does not age a token it gave out.
19
+ * - a completed level change, which the host performs after LEVEL_CHANGE and
20
+ * which does not pass back through the loop before the next wait.
21
+ * - the target setters, which change what "the target" means without a turn.
22
+ * Anything that changes state through a queued command is covered by the first.
23
+ *
24
+ * THE EPOCH. The revision starts at 0 for every GameState, so a token kept
25
+ * across a load would otherwise match the new game's first wait. Each GameState
26
+ * gets its own epoch from a module counter the first time it is asked for one,
27
+ * and a token only matches when both numbers do. Neither number is saved, and
28
+ * neither touches the game RNG.
29
+ *
30
+ * PURE. Reading a token or taking a capture changes no game state, no knowledge
31
+ * and no RNG stream; boundary.test.ts holds that against a serialized save, the
32
+ * RNG state, the turn and the command queue.
33
+ */
34
+ import type { GameState } from "../game/context.js";
35
+ import type { AgentView, ItemView, MonsterView, PlayerView, SpellbookView, StoreView, TargetView } from "./types.js";
36
+ /** Identifies one input wait of one game. Compare with `tokenIsCurrent`. */
37
+ export interface InputToken {
38
+ readonly epoch: number;
39
+ readonly revision: number;
40
+ }
41
+ /** Mark that the game changed since the last input wait. */
42
+ export declare function bumpInputRevision(state: GameState): void;
43
+ /** The token for the game as it stands now. Frozen. */
44
+ export declare function inputToken(state: GameState): InputToken;
45
+ /**
46
+ * Whether `token` names the game as it stands now. Anything that is not a token
47
+ * of the right shape, including null, is not current.
48
+ */
49
+ export declare function tokenIsCurrent(state: GameState, token: InputToken | null | undefined): boolean;
50
+ /**
51
+ * The game at one input wait, as plain frozen data.
52
+ *
53
+ * Each part is what the AgentView accessor of the same name returns. A part
54
+ * whose `state:<domain>.read` capability the caller does not hold is null
55
+ * rather than a thrown error, so a capture is always available and never
56
+ * carries more than the caller may read.
57
+ *
58
+ * The map and the message log are not here. The map is large and has its own
59
+ * bulk read; messages() drains a per-decision buffer, so calling it from a
60
+ * capture would change what the next decision sees.
61
+ */
62
+ export interface CoreSnapshot {
63
+ readonly token: InputToken;
64
+ readonly turn: number | null;
65
+ readonly player: PlayerView | null;
66
+ readonly inventory: readonly ItemView[] | null;
67
+ readonly equipment: readonly (ItemView | null)[] | null;
68
+ readonly equipmentSlots: readonly {
69
+ readonly type: string;
70
+ readonly name: string;
71
+ }[] | null;
72
+ readonly quiver: readonly ItemView[] | null;
73
+ readonly floorHere: readonly ItemView[] | null;
74
+ readonly monsters: readonly MonsterView[] | null;
75
+ readonly target: TargetView | null;
76
+ /** False when the target part was not readable, so null above is ambiguous. */
77
+ readonly targetReadable: boolean;
78
+ readonly stores: readonly StoreView[] | null;
79
+ readonly spellbooks: readonly SpellbookView[] | null;
80
+ }
81
+ /**
82
+ * Capture the game through `view`'s own accessors, so every capability check
83
+ * they make still applies. The result is a structured clone, deep-frozen: it
84
+ * shares no object with the live game or with a previous capture.
85
+ */
86
+ export declare function captureCoreSnapshot(state: GameState, view: AgentView): CoreSnapshot;
87
+ //# sourceMappingURL=boundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../src/agent/boundary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAcD,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAExD;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAKvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACnC,OAAO,CAMT;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,cAAc,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAC5F,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAAC;CACtD;AA0BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,YAAY,CAqBd"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * The input boundary: one token for each input wait, and one immutable capture
3
+ * of the game as it stands at that wait.
4
+ *
5
+ * WHY THIS EXISTS. Every AgentView accessor is its own read. A presenter that
6
+ * draws the player from one call, the pack from a second and the monsters from a
7
+ * third cannot show that the three describe the same moment, and a presenter
8
+ * that sends an action back cannot show that the action was chosen against the
9
+ * game that will receive it. A whole-interface mod needs both: a single capture
10
+ * it can draw from, and a token it can hand back with an action so the game can
11
+ * refuse one aimed at a state that has since moved on.
12
+ *
13
+ * WHAT MOVES THE TOKEN. The revision is a counter on GameState, raised by
14
+ * `bumpInputRevision`, and it is raised exactly where the game changes between
15
+ * two input waits:
16
+ * - `runGameLoop`, when a call consumed a command or advanced the game turn. A
17
+ * call that returned INPUT with nothing consumed changed nothing, so a host
18
+ * that re-enters the loop while it waits does not age a token it gave out.
19
+ * - a completed level change, which the host performs after LEVEL_CHANGE and
20
+ * which does not pass back through the loop before the next wait.
21
+ * - the target setters, which change what "the target" means without a turn.
22
+ * Anything that changes state through a queued command is covered by the first.
23
+ *
24
+ * THE EPOCH. The revision starts at 0 for every GameState, so a token kept
25
+ * across a load would otherwise match the new game's first wait. Each GameState
26
+ * gets its own epoch from a module counter the first time it is asked for one,
27
+ * and a token only matches when both numbers do. Neither number is saved, and
28
+ * neither touches the game RNG.
29
+ *
30
+ * PURE. Reading a token or taking a capture changes no game state, no knowledge
31
+ * and no RNG stream; boundary.test.ts holds that against a serialized save, the
32
+ * RNG state, the turn and the command queue.
33
+ */
34
+ import { AgentCapabilityError } from "./types.js";
35
+ const epochs = new WeakMap();
36
+ let nextEpoch = 1;
37
+ function epochOf(state) {
38
+ let e = epochs.get(state);
39
+ if (e === undefined) {
40
+ e = nextEpoch++;
41
+ epochs.set(state, e);
42
+ }
43
+ return e;
44
+ }
45
+ /** Mark that the game changed since the last input wait. */
46
+ export function bumpInputRevision(state) {
47
+ state.inputRevision = (state.inputRevision ?? 0) + 1;
48
+ }
49
+ /** The token for the game as it stands now. Frozen. */
50
+ export function inputToken(state) {
51
+ return Object.freeze({
52
+ epoch: epochOf(state),
53
+ revision: state.inputRevision ?? 0,
54
+ });
55
+ }
56
+ /**
57
+ * Whether `token` names the game as it stands now. Anything that is not a token
58
+ * of the right shape, including null, is not current.
59
+ */
60
+ export function tokenIsCurrent(state, token) {
61
+ if (!token || typeof token !== "object")
62
+ return false;
63
+ return (token.epoch === epochOf(state) &&
64
+ token.revision === (state.inputRevision ?? 0));
65
+ }
66
+ function granted(read) {
67
+ try {
68
+ return { ok: true, value: read() };
69
+ }
70
+ catch (e) {
71
+ if (e instanceof AgentCapabilityError)
72
+ return { ok: false };
73
+ throw e;
74
+ }
75
+ }
76
+ function part(read) {
77
+ const r = granted(read);
78
+ return r.ok ? r.value : null;
79
+ }
80
+ function deepFreeze(value) {
81
+ if (value && typeof value === "object" && !Object.isFrozen(value)) {
82
+ Object.freeze(value);
83
+ for (const v of Object.values(value)) {
84
+ deepFreeze(v);
85
+ }
86
+ }
87
+ return value;
88
+ }
89
+ /**
90
+ * Capture the game through `view`'s own accessors, so every capability check
91
+ * they make still applies. The result is a structured clone, deep-frozen: it
92
+ * shares no object with the live game or with a previous capture.
93
+ */
94
+ export function captureCoreSnapshot(state, view) {
95
+ const target = granted(() => view.target());
96
+ const snap = {
97
+ token: inputToken(state),
98
+ turn: part(() => view.turn()),
99
+ player: part(() => view.player()),
100
+ inventory: part(() => view.inventory()),
101
+ equipment: part(() => view.equipment()),
102
+ equipmentSlots: part(() => {
103
+ view.equipment();
104
+ return state.actor.player.body.slots.map(({ type, name }) => ({ type, name }));
105
+ }),
106
+ quiver: part(() => view.quiver()),
107
+ floorHere: part(() => view.floorItems(state.actor.grid.x, state.actor.grid.y)),
108
+ monsters: part(() => view.monsters()),
109
+ target: target.ok ? target.value : null,
110
+ targetReadable: target.ok,
111
+ stores: part(() => view.stores()),
112
+ spellbooks: part(() => view.spellbooks()),
113
+ };
114
+ return deepFreeze(structuredClone(snap));
115
+ }
116
+ //# sourceMappingURL=boundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../src/agent/boundary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-views.d.ts","sourceRoot":"","sources":["../../src/agent/entity-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAOhD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAOhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,QAAQ,CAyFV;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,iBAAiB,GACvB,UAAU,CAmEZ"}
1
+ {"version":3,"file":"entity-views.d.ts","sourceRoot":"","sources":["../../src/agent/entity-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAOhD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAOhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,QAAQ,CA+FV;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,iBAAiB,GACvB,UAAU,CAuEZ"}
@@ -13,6 +13,8 @@
13
13
  * (perceive and loadout both depend on this; neither depends on the other).
14
14
  */
15
15
  import { ELEMENT_ENTRIES, OBJECT_FLAG_ENTRIES, PLAYER_FLAG_ENTRIES, TMD, } from "../generated/index.js";
16
+ import { tvalIsBook } from "../obj/object.js";
17
+ import { playerObjectToBook } from "../player/spell.js";
16
18
  import { OBJ_MOD_NAMES } from "../obj/bind.js";
17
19
  import { objectValue } from "../obj/value.js";
18
20
  /** OF_* codes for the set flags in an object-flag FlagSet (OF is 1-indexed). */
@@ -104,6 +106,10 @@ export function itemView(handle, obj, state, deps, count) {
104
106
  }
105
107
  const view = {
106
108
  handle,
109
+ kindKey: `kind:${obj.kind.kidx}`,
110
+ ...(handle > 0 ? { itemKey: `gear:${handle}` } : {}),
111
+ nameColor: tvalIsBook(obj.tval) && !playerObjectToBook(state.actor.player, obj)
112
+ ? "slate" : obj.kind.base.attr,
107
113
  label: obj.kind.name,
108
114
  tval: obj.tval,
109
115
  sval: obj.sval,
@@ -130,6 +136,10 @@ export function itemView(handle, obj, state, deps, count) {
130
136
  timeout: obj.timeout,
131
137
  inscription: obj.note ?? null,
132
138
  };
139
+ if (deps.describe)
140
+ view.name = deps.describe(obj);
141
+ if (deps.ignored)
142
+ view.ignored = deps.ignored(obj);
133
143
  if (deps.resolver) {
134
144
  const kindId = deps.resolver.kindIdOrNull(obj.kind.kidx);
135
145
  if (kindId !== null)
@@ -163,6 +173,7 @@ export function playerViewFor(state, deps, over) {
163
173
  exp: p.exp,
164
174
  maxExp: p.maxExp,
165
175
  gold: p.au,
176
+ learnableSpells: p.upkeep.newSpells,
166
177
  depth: state.chunk.depth,
167
178
  maxDepth: p.maxDepth,
168
179
  hp: p.chp,
@@ -203,6 +214,9 @@ export function playerViewFor(state, deps, over) {
203
214
  },
204
215
  dead: state.isDead,
205
216
  winner: p.totalWinner,
217
+ hpWarning: Math.trunc((p.mhp * (state.options?.hitpointWarn ?? 3)) / 10),
218
+ recall: p.wordRecall,
219
+ descent: p.deepDescent,
206
220
  skills: [...p.skills],
207
221
  shape: p.shape?.name ?? null,
208
222
  objectFlags: playerState ? ofCodes(playerState.flags) : [],
@@ -1 +1 @@
1
- {"version":3,"file":"entity-views.js","sourceRoot":"","sources":["../../src/agent/entity-views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-views.js","sourceRoot":"","sources":["../../src/agent/entity-views.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,14 @@
10
10
  export { AGENT_API_VERSION, AGENT_STATE_DOMAINS } from "./types.js";
11
11
  export type { AgentCapabilities, AgentCommand, AgentActions, AgentGlyphSource, AgentController, AgentSession, AgentView, AgentViewDeps, CellView, ControllerOptions, ItemView, LoadoutChange, LoadoutItemRef, LoadoutPlacement, LoadoutSimulation, LoadoutView, MonsterView, PlayerStatusView, PlayerView, SpellbookView, SpellView, StoreItemView, StoreView, TargetView, } from "./types.js";
12
12
  export { createAgentView } from "./perceive.js";
13
+ export { bumpInputRevision, captureCoreSnapshot, inputToken, tokenIsCurrent, } from "./boundary.js";
14
+ export type { CoreSnapshot, InputToken } from "./boundary.js";
15
+ export { captureKnownLevel } from "./known-level.js";
16
+ export type { KnownLevelView, KnownLevelCell, RememberedCell, RememberedObject, ActualCell, TrapView, } from "./known-level.js";
13
17
  export { itemView, playerViewFor } from "./entity-views.js";
14
18
  export type { PlayerViewDerived } from "./entity-views.js";
15
19
  export { simulateLoadout } from "./loadout.js";
20
+ export type { BlastAreaResult, BookItemResult, GridInspectResult, InspectResult, ItemRulesResult, ItemTesterResult, LoadoutSlotsResult, SpellInspectResult, TerrainCatalogueResult, TerrainFeatureView, TileActionsResult, TravelPathResult } from "./inspect.js";
16
21
  export type { LoadoutDerive, LoadoutSimOptions } from "./loadout.js";
17
22
  export { createAgentActions } from "./act.js";
18
23
  export { AgentCapabilityError, installController } from "./controller.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClQ,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -9,6 +9,8 @@
9
9
  */
10
10
  export { AGENT_API_VERSION, AGENT_STATE_DOMAINS } from "./types.js";
11
11
  export { createAgentView } from "./perceive.js";
12
+ export { bumpInputRevision, captureCoreSnapshot, inputToken, tokenIsCurrent, } from "./boundary.js";
13
+ export { captureKnownLevel } from "./known-level.js";
12
14
  export { itemView, playerViewFor } from "./entity-views.js";
13
15
  export { simulateLoadout } from "./loadout.js";
14
16
  export { createAgentActions } from "./act.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2BpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2BpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,159 @@
1
+ import type { GameState } from "../game/context.js";
2
+ import { inputToken } from "./boundary.js";
3
+ import type { AgentCapabilities, AgentViewDeps, LoadoutSimulation } from "./types.js";
4
+ export interface InspectResult {
5
+ readonly token: ReturnType<typeof inputToken>;
6
+ readonly title: string;
7
+ readonly text: string;
8
+ readonly sections?: readonly {
9
+ readonly kind: "title" | "description" | "info";
10
+ readonly text: string;
11
+ }[];
12
+ }
13
+ export interface SpellInspectResult {
14
+ readonly token: ReturnType<typeof inputToken>;
15
+ readonly name: string;
16
+ readonly description: string;
17
+ readonly level: number;
18
+ readonly mana: number;
19
+ readonly failChance: number;
20
+ readonly canCastNow: boolean;
21
+ }
22
+ export interface ItemTesterResult {
23
+ readonly token: ReturnType<typeof inputToken>;
24
+ readonly items: readonly ({
25
+ readonly handle: number;
26
+ } | {
27
+ readonly floor: {
28
+ readonly x: number;
29
+ readonly y: number;
30
+ readonly index: number;
31
+ };
32
+ })[];
33
+ }
34
+ export interface BookItemResult {
35
+ readonly token: ReturnType<typeof inputToken>;
36
+ readonly bookIndex: number;
37
+ readonly spells: readonly number[];
38
+ }
39
+ export interface LoadoutSlotsResult {
40
+ readonly token: ReturnType<typeof inputToken>;
41
+ readonly slots: readonly {
42
+ readonly slot: number;
43
+ readonly name: string;
44
+ readonly comparison: LoadoutSimulation;
45
+ }[];
46
+ }
47
+ export interface GridInspectResult {
48
+ readonly token: ReturnType<typeof inputToken>;
49
+ readonly grids: readonly {
50
+ readonly x: number;
51
+ readonly y: number;
52
+ }[];
53
+ }
54
+ export interface BlastAreaResult extends GridInspectResult {
55
+ readonly radius: number;
56
+ /** A breath's cone width in degrees; null for a ball. */
57
+ readonly arc: number | null;
58
+ readonly element: string | null;
59
+ readonly wallsStop: boolean;
60
+ }
61
+ export interface TravelPathResult {
62
+ readonly token: ReturnType<typeof inputToken>;
63
+ readonly grids: readonly {
64
+ readonly x: number;
65
+ readonly y: number;
66
+ }[];
67
+ }
68
+ export interface TileActionsResult {
69
+ readonly token: ReturnType<typeof inputToken>;
70
+ readonly codes: readonly string[];
71
+ }
72
+ /** One terrain feature from terrain.txt, as a renderer needs it. */
73
+ export interface TerrainFeatureView {
74
+ /** The FEAT_* index that `CellView.feat` and the known level carry. */
75
+ readonly index: number;
76
+ /** The list-terrain.h code, such as "FLOOR" or "LAVA". */
77
+ readonly code: string;
78
+ readonly name: string;
79
+ /** Terrain flag codes (TF_*), such as "PASSABLE" or "FIERY". */
80
+ readonly flags: readonly string[];
81
+ /** "up" for TF_UPSTAIR, "down" for TF_DOWNSTAIR, otherwise null. */
82
+ readonly stairs: "up" | "down" | null;
83
+ /** TF_FIERY: the terrain burns, as lava does. */
84
+ readonly fiery: boolean;
85
+ readonly passable: boolean;
86
+ }
87
+ /** Every bound terrain feature, in index order. It does not change during a game. */
88
+ export interface TerrainCatalogueResult {
89
+ readonly token: ReturnType<typeof inputToken>;
90
+ readonly features: readonly TerrainFeatureView[];
91
+ }
92
+ export interface ItemRulesResult {
93
+ readonly token: ReturnType<typeof inputToken>;
94
+ readonly kinds: readonly {
95
+ readonly kidx: number;
96
+ readonly name: string;
97
+ readonly ignoreAware: boolean;
98
+ readonly ignoreUnaware: boolean;
99
+ readonly noteAware: string | null;
100
+ readonly noteUnaware: string | null;
101
+ }[];
102
+ /** `levels` names the thresholds the game's quality menu offers for the type, by value. */
103
+ readonly quality: readonly {
104
+ readonly itype: number;
105
+ readonly name: string;
106
+ readonly threshold: number;
107
+ readonly thresholdName: string;
108
+ readonly levels: readonly string[];
109
+ }[];
110
+ readonly egos: readonly {
111
+ readonly eidx: number;
112
+ readonly name: string;
113
+ readonly itype: number;
114
+ readonly ignored: boolean;
115
+ }[];
116
+ }
117
+ export declare function createInspectView(state: GameState, deps: AgentViewDeps, caps?: AgentCapabilities): {
118
+ inspectItem: (ref: number | {
119
+ floor: {
120
+ x: number;
121
+ y: number;
122
+ index: number;
123
+ };
124
+ } | {
125
+ store: number;
126
+ index: number;
127
+ }) => InspectResult | null;
128
+ monsterRecall: (raceIndex: number) => InspectResult | null;
129
+ spellInfo: (spellIndex: number) => SpellInspectResult | null;
130
+ bookForItem: (handle: number) => BookItemResult | null;
131
+ compareLoadoutSlots: (ref: {
132
+ readonly from: "gear";
133
+ readonly handle: number;
134
+ } | {
135
+ readonly from: "store";
136
+ readonly store: number;
137
+ readonly index: number;
138
+ }) => LoadoutSlotsResult;
139
+ itemTester: (code: string) => ItemTesterResult;
140
+ projectionPath: (to: {
141
+ x: number;
142
+ y: number;
143
+ }) => GridInspectResult;
144
+ blastArea: (to: {
145
+ x: number;
146
+ y: number;
147
+ }, radius: number, arc?: number | undefined) => BlastAreaResult;
148
+ travelPath: (to: {
149
+ x: number;
150
+ y: number;
151
+ }) => TravelPathResult | null;
152
+ tileActions: (to: {
153
+ x: number;
154
+ y: number;
155
+ }) => TileActionsResult;
156
+ terrainCatalogue: () => TerrainCatalogueResult;
157
+ itemRules: () => ItemRulesResult;
158
+ };
159
+ //# sourceMappingURL=inspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/agent/inspect.ts"],"names":[],"mappings":"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"}