@maka/maka-cli 5.66.0 → 5.68.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 (123) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/_index.d.ts +1 -0
  3. package/bundle/typescript/src/commands/game/_index.js +1 -0
  4. package/bundle/typescript/src/commands/game/_index.js.map +1 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +6 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js +4 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js.map +1 -1
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.d.ts +103 -0
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js +423 -25
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.d.ts +15 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +61 -4
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.d.ts +39 -3
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +85 -4
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.d.ts +37 -17
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js +53 -115
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js.map +1 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.d.ts +55 -0
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js +203 -0
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js.map +1 -0
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +23 -0
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +42 -7
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +27 -0
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +28 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/order.js +69 -1
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/order.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/register.d.ts +15 -2
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/register.js +32 -6
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/register.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/review.d.ts +39 -0
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/review.js +48 -0
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/review.js.map +1 -0
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.d.ts +35 -0
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.js +108 -0
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/sprites.js.map +1 -0
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.d.ts +27 -0
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +7 -2
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.d.ts +57 -0
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.js +162 -0
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.js.map +1 -0
  47. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +31 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.d.ts +87 -0
  51. package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js +320 -0
  52. package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js.map +1 -0
  53. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +32 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +8 -1
  56. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +98 -11
  58. package/bundle/typescript/src/commands/game/sideQuest/game.js +239 -35
  59. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.d.ts +24 -0
  61. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js +63 -0
  62. package/bundle/typescript/src/commands/game/sideQuest/headless-harness.js.map +1 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +9 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +9 -0
  65. package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
  66. package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +57 -1
  67. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +62 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  69. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +10 -3
  70. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +5 -1
  71. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.d.ts +108 -0
  73. package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.js +186 -0
  74. package/bundle/typescript/src/commands/game/sideQuest/resonance-actions.js.map +1 -0
  75. package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.d.ts +88 -0
  76. package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.js +137 -0
  77. package/bundle/typescript/src/commands/game/sideQuest/sprite-powers.js.map +1 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/types/repro.d.ts +106 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/types/repro.js +2 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/types/repro.js.map +1 -0
  81. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +32 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/types/seed/device-seed.d.ts +12 -0
  83. package/bundle/typescript/src/commands/game/sideQuest/ui.d.ts +9 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/ui.js +3 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-dump.d.ts +17 -1
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-dump.js +250 -36
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-dump.js.map +1 -1
  89. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.d.ts +30 -1
  90. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.js +58 -0
  91. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-review.js.map +1 -1
  92. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.d.ts +85 -0
  93. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js +100 -0
  94. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js.map +1 -0
  95. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.d.ts +45 -3
  96. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.js +45 -3
  97. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.js.map +1 -1
  98. package/bundle/typescript/src/commands/game/sideQuest/utilities/commit-ref.d.ts +13 -0
  99. package/bundle/typescript/src/commands/game/sideQuest/utilities/commit-ref.js +22 -0
  100. package/bundle/typescript/src/commands/game/sideQuest/utilities/commit-ref.js.map +1 -0
  101. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +13 -1
  102. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +36 -3
  103. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  104. package/bundle/typescript/src/commands/game/sideQuest/utilities/handoff.d.ts +42 -0
  105. package/bundle/typescript/src/commands/game/sideQuest/utilities/handoff.js +57 -0
  106. package/bundle/typescript/src/commands/game/sideQuest/utilities/handoff.js.map +1 -0
  107. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +14 -0
  108. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  109. package/bundle/typescript/src/commands/game/sideQuest/utilities/repro-launch.d.ts +68 -0
  110. package/bundle/typescript/src/commands/game/sideQuest/utilities/repro-launch.js +147 -0
  111. package/bundle/typescript/src/commands/game/sideQuest/utilities/repro-launch.js.map +1 -0
  112. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +39 -0
  113. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
  114. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.d.ts +1 -0
  115. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +46 -0
  116. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js.map +1 -0
  117. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.d.ts +3 -1
  118. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +352 -42
  119. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  120. package/bundle/typescript/src/tools/log/log.class.d.ts +17 -0
  121. package/bundle/typescript/src/tools/log/log.class.js +30 -1
  122. package/bundle/typescript/src/tools/log/log.class.js.map +1 -1
  123. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/thread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/thread.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { Command, ICommand } from './command.js';
2
+ /**
3
+ * KILL COMPLEX FORM (SR5e p.250-251) -- "unravel <name>".
4
+ *
5
+ * The last of the seven Resonance actions on p.250 that this game did
6
+ * not have (see resonance-actions.ts for the audit that found it).
7
+ *
8
+ * THE GAME ALREADY KNEW THIS HOLE WAS HERE, which is the best argument
9
+ * for filling it. dispel.ts refuses counterspelling against Resonance
10
+ * with a deliberate, canon-correct line -- "What's woven around X isn't
11
+ * mana -- it's RESONANCE. Your counterspelling finds nothing to grip."
12
+ * Somebody stood exactly on the edge of this gap, described it
13
+ * precisely, and had no verb to point at. Now that refusal names a real
14
+ * route instead of an absence.
15
+ *
16
+ * RAW: Software + Resonance [Level] v. Complex Form Level + Resonance
17
+ * (the threader's). Every net hit reduces the hits from the form's
18
+ * ORIGINAL threading test; drive that to zero and the form ends. Then
19
+ * you "resist Fading as if you had threaded the complex form you
20
+ * targeted" -- the toll is the form's, not yours, which is what makes
21
+ * killing a big weave genuinely dangerous rather than free.
22
+ *
23
+ * WHAT IT CAN REACH TODAY, said plainly because it is a real limit and
24
+ * not a small one: NOTHING IN A SOLO GAME -- not because the route is
25
+ * closed but because it is GATED. An NPC CAN reach ThreadCommand:
26
+ * `order` runs a command as the companion through NPC.runCommand, which
27
+ * parses the same registry. What stops it is ThreadCommand's own
28
+ * isTechnomancer() check ("The Resonance doesn't know your voice"),
29
+ * and no NPC is a technomancer today. So no NPC holds a form, and a
30
+ * solo runner meets no weave to cut. The reachable target today is
31
+ * another PLAYER on a shared run.
32
+ *
33
+ * That distinction is the load-bearing half: "structurally impossible"
34
+ * and "open but gated" imply very different costs for the NPC-
35
+ * technomancer feature. The plumbing already exists, and an NPC
36
+ * technomancer inherits this through `order` for free.
37
+ *
38
+ * THE WRITERS OF sustainedForms, enumerated -- and a warning about how
39
+ * to enumerate them. `grep sustainedForms` near a mutator finds
40
+ * thread.ts's push and this file's filter, and MISSES thread.ts's drop
41
+ * path, which aliases first (`const held = actor.sustainedForms`) and
42
+ * splices the alias on a later line. An alias defeats a name-grep, so
43
+ * the search that looks thorough returns an incomplete answer. The full
44
+ * set is: thread.ts push (creates), thread.ts splice-via-alias
45
+ * (releases), unravel.ts filter (kills). All three run as a command
46
+ * actor; none can be an NPC while the gate above stands.
47
+ *
48
+ * It refuses your OWN forms on purpose: "thread drop <form>" already
49
+ * releases those, for free, and routing a free action through an
50
+ * opposed test that can hurt you would be a worse answer to the same
51
+ * question.
52
+ */
53
+ export declare class UnravelCommand extends Command implements ICommand {
54
+ protected static verb: string;
55
+ protected static description: string;
56
+ execute(args?: string[]): Promise<string>;
57
+ }
@@ -0,0 +1,162 @@
1
+ import { Command } from './command.js';
2
+ import { rollPool, formatRoll } from '../utilities/dice.js';
3
+ import { hint } from '../utilities/hints.js';
4
+ import { fuzzyPickName } from '../utilities/fuzzy-match.js';
5
+ import { Player } from '../models/player.js';
6
+ import { FORMS } from './thread.js';
7
+ /**
8
+ * KILL COMPLEX FORM (SR5e p.250-251) -- "unravel <name>".
9
+ *
10
+ * The last of the seven Resonance actions on p.250 that this game did
11
+ * not have (see resonance-actions.ts for the audit that found it).
12
+ *
13
+ * THE GAME ALREADY KNEW THIS HOLE WAS HERE, which is the best argument
14
+ * for filling it. dispel.ts refuses counterspelling against Resonance
15
+ * with a deliberate, canon-correct line -- "What's woven around X isn't
16
+ * mana -- it's RESONANCE. Your counterspelling finds nothing to grip."
17
+ * Somebody stood exactly on the edge of this gap, described it
18
+ * precisely, and had no verb to point at. Now that refusal names a real
19
+ * route instead of an absence.
20
+ *
21
+ * RAW: Software + Resonance [Level] v. Complex Form Level + Resonance
22
+ * (the threader's). Every net hit reduces the hits from the form's
23
+ * ORIGINAL threading test; drive that to zero and the form ends. Then
24
+ * you "resist Fading as if you had threaded the complex form you
25
+ * targeted" -- the toll is the form's, not yours, which is what makes
26
+ * killing a big weave genuinely dangerous rather than free.
27
+ *
28
+ * WHAT IT CAN REACH TODAY, said plainly because it is a real limit and
29
+ * not a small one: NOTHING IN A SOLO GAME -- not because the route is
30
+ * closed but because it is GATED. An NPC CAN reach ThreadCommand:
31
+ * `order` runs a command as the companion through NPC.runCommand, which
32
+ * parses the same registry. What stops it is ThreadCommand's own
33
+ * isTechnomancer() check ("The Resonance doesn't know your voice"),
34
+ * and no NPC is a technomancer today. So no NPC holds a form, and a
35
+ * solo runner meets no weave to cut. The reachable target today is
36
+ * another PLAYER on a shared run.
37
+ *
38
+ * That distinction is the load-bearing half: "structurally impossible"
39
+ * and "open but gated" imply very different costs for the NPC-
40
+ * technomancer feature. The plumbing already exists, and an NPC
41
+ * technomancer inherits this through `order` for free.
42
+ *
43
+ * THE WRITERS OF sustainedForms, enumerated -- and a warning about how
44
+ * to enumerate them. `grep sustainedForms` near a mutator finds
45
+ * thread.ts's push and this file's filter, and MISSES thread.ts's drop
46
+ * path, which aliases first (`const held = actor.sustainedForms`) and
47
+ * splices the alias on a later line. An alias defeats a name-grep, so
48
+ * the search that looks thorough returns an incomplete answer. The full
49
+ * set is: thread.ts push (creates), thread.ts splice-via-alias
50
+ * (releases), unravel.ts filter (kills). All three run as a command
51
+ * actor; none can be an NPC while the gate above stands.
52
+ *
53
+ * It refuses your OWN forms on purpose: "thread drop <form>" already
54
+ * releases those, for free, and routing a free action through an
55
+ * opposed test that can hurt you would be a worse answer to the same
56
+ * question.
57
+ */
58
+ export class UnravelCommand extends Command {
59
+ static verb = 'unravel';
60
+ static description = 'Kill a complex form somebody else is sustaining (technomancers): "unravel <name>" -- Software + Resonance vs their form. Net hits eat the hits that wove it; drive them to zero and it collapses. You resist the fading as though you had threaded it yourself. Your own forms come off free with "thread drop".';
61
+ async execute(args = []) {
62
+ const actor = this.actor;
63
+ if (!actor.isTechnomancer()) {
64
+ return `Complex forms are Resonance, and the Resonance doesn't answer to you. Only a technomancer can unravel one.`;
65
+ }
66
+ // Everyone standing here who is holding something, minus you.
67
+ const room = actor.currentLocation;
68
+ const holders = (room?.getActors() ?? [])
69
+ .filter((a) => a instanceof Player && a !== actor && (a.sustainedForms?.length ?? 0) > 0);
70
+ const targetName = args.join(' ').trim();
71
+ if (holders.length === 0) {
72
+ // Distinguish "nobody is weaving" from "you asked for a name that
73
+ // isn't here" -- the two have different fixes and one message for
74
+ // both sends players hunting for a typo that isn't there.
75
+ const ownForms = actor.sustainedForms.length > 0;
76
+ return `Nothing woven here but your own${ownForms ? ` -- and yours come off free.${hint(` ("thread drop <form>")`)}` : `, and you hold nothing either.`}`;
77
+ }
78
+ let target = holders[0];
79
+ if (targetName) {
80
+ const picked = fuzzyPickName(targetName, holders.map(h => h.name));
81
+ if (!picked) {
82
+ // Naming your own forms is a common and reasonable mistake.
83
+ if (fuzzyPickName(targetName, [actor.name])) {
84
+ return `Your own weave doesn't fight you.${hint(` ("thread drop <form>" releases it, free.)`)}`;
85
+ }
86
+ return `Nobody here by that name is sustaining anything. Holding a form: ${holders.map(h => h.name).join(', ')}.`;
87
+ }
88
+ target = holders.find(h => h.name === picked) ?? holders[0];
89
+ }
90
+ else if (holders.length > 1) {
91
+ return `Unravel WHOSE weave? Holding a form: ${holders.map(h => h.name).join(', ')}.`;
92
+ }
93
+ // The oldest form they hold -- the one that has been shaping the
94
+ // fight longest, and the one a player means by "unravel her".
95
+ const held = target.sustainedForms[0];
96
+ const form = FORMS.find(f => f.key === held.key);
97
+ const formName = form?.name ?? held.key;
98
+ const level = held.level;
99
+ // Fall back to the Level for a form woven before hits were
100
+ // recorded; see Player.sustainedForms.
101
+ const standing = held.hits ?? level;
102
+ // OPPOSED: Software + Resonance [Level] v. Level + their Resonance.
103
+ const software = actor.skillRating('software');
104
+ const roll = rollPool(Math.max(1, actor.resonance + (software > 0 ? software : -1) + actor.woundModifier - actor.sustainingPenalty));
105
+ // Hits capped by the Level, the same limit threading works under.
106
+ const hits = Math.min(roll.hits, level);
107
+ const defense = rollPool(Math.max(1, level + target.resonance));
108
+ const net = Math.max(0, hits - defense.hits);
109
+ const poolParts = [`Resonance ${actor.resonance}`, software > 0 ? `software ${software}` : `no software -1`];
110
+ if (actor.woundModifier < 0)
111
+ poolParts.push(`wounds ${actor.woundModifier}`);
112
+ if (actor.sustainingPenalty > 0)
113
+ poolParts.push(`sustaining -${actor.sustainingPenalty}`);
114
+ this.logger.meta(`Kill Complex Form (${poolParts.join(', ')}) [Level ${level}]: ${formatRoll(roll)} v. ${formatRoll(defense)}`);
115
+ actor.performAction('unravels a complex form', formName);
116
+ const remaining = Math.max(0, standing - net);
117
+ const collapsed = remaining === 0;
118
+ const lines = [
119
+ `You take hold of the ${formName} riding ${target.name} and PULL:`,
120
+ ];
121
+ if (collapsed) {
122
+ target.sustainedForms = target.sustainedForms.filter(f => f !== held);
123
+ lines.push(` The weave comes apart in your hands -- ${formName} collapses off ${target.name}.`);
124
+ this.scene.addWorldEvent(`${actor.name} unravelled the ${formName} ${target.name} was sustaining in ${room?.name ?? 'the room'}.`);
125
+ }
126
+ else if (net > 0) {
127
+ held.hits = remaining;
128
+ lines.push(` Threads part and the weave SAGS -- ${net} of its ${standing} hold${standing === 1 ? '' : 's'} torn out, ${remaining} still gripping.`);
129
+ }
130
+ else {
131
+ lines.push(` It holds. ${target.name}'s weave slides out from under you untouched.`);
132
+ }
133
+ // FADING AS THOUGH YOU HAD THREADED IT (p.251) -- their form's
134
+ // value, your Resonance and Willpower to resist. Physical past your
135
+ // own Resonance, the same overreach law threading works under: a
136
+ // technomancer who reaches for a weave bigger than they are pays in
137
+ // body, and that is the whole risk of the action.
138
+ const overreach = level > actor.resonance;
139
+ const fadingValue = Math.max(2, level + (form?.fvDelta ?? 0));
140
+ const resist = rollPool(Math.max(1, actor.willpower + actor.resonance));
141
+ const fadingTaken = Math.max(0, fadingValue - resist.hits);
142
+ this.logger.meta(`Fading (${fadingValue}${overreach ? ', OVERREACH -- physical' : ''}): resist ${formatRoll(resist)}`);
143
+ if (fadingTaken === 0) {
144
+ lines.push(` The fading washes past you.`);
145
+ }
146
+ else if (overreach) {
147
+ actor.takeDamage(fadingTaken);
148
+ lines.push(` You reached past your own Resonance and it burns coming back -- ${fadingTaken} PHYSICAL: ${actor.conditionSummary()}`);
149
+ }
150
+ else {
151
+ const { stun, overflow } = actor.takeStun(fadingTaken);
152
+ lines.push(` The fading bites -- ${stun} stun: ${actor.stunSummary()}`);
153
+ if (overflow > 0) {
154
+ lines.push(` It's more than your mind can hold -- ${overflow} box${overflow === 1 ? '' : 'es'} spill into your body: ${actor.conditionSummary()}`);
155
+ }
156
+ }
157
+ this.logger.write(`UnravelCommand: ${actor.name} v. ${target.name}'s ${held.key} L${level} -- ${hits} v ${defense.hits} (net ${net}), ${standing} -> ${remaining}, fading ${fadingValue} (took ${fadingTaken}${overreach ? ' physical' : ''}).`);
158
+ this.scene.updateStatus();
159
+ return lines.join('\n');
160
+ }
161
+ }
162
+ //# sourceMappingURL=unravel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unravel.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/unravel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO;IAC/B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,MAAM,CAAC,WAAW,GAAG,kTAAkT,CAAC;IAElV,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5B,OAAO,4GAA4G,CAAC;QACtH,CAAC;QAED,8DAA8D;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,kEAAkE;YAClE,kEAAkE;YAClE,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YACjD,OAAO,kCAAkC,QAAQ,CAAC,CAAC,CAAC,+BAA+B,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC,EAAE,CAAC;QAC5J,CAAC;QAED,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,4DAA4D;gBAC5D,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC5C,OAAO,oCAAoC,IAAI,CAAC,4CAA4C,CAAC,EAAE,CAAC;gBAClG,CAAC;gBACD,OAAO,oEAAoE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACpH,CAAC;YACD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,wCAAwC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACxF,CAAC;QAED,iEAAiE;QACjE,8DAA8D;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,2DAA2D;QAC3D,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QAEpC,oEAAoE;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACrI,kEAAkE;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,CAAC,aAAa,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC7G,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhI,KAAK,CAAC,aAAa,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG;YACZ,wBAAwB,QAAQ,WAAW,MAAM,CAAC,IAAI,YAAY;SACnE,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,4CAA4C,QAAQ,kBAAkB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YACjG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,mBAAmB,QAAQ,IAAI,MAAM,CAAC,IAAI,sBAAsB,IAAI,EAAE,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;QACrI,CAAC;aAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,wCAAwC,GAAG,WAAW,QAAQ,QAAQ,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,SAAS,kBAAkB,CAAC,CAAC;QACvJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,IAAI,+CAA+C,CAAC,CAAC;QACxF,CAAC;QAED,+DAA+D;QAC/D,oEAAoE;QACpE,iEAAiE;QACjE,oEAAoE;QACpE,kDAAkD;QAClD,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,aAAa,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEvH,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,qEAAqE,WAAW,cAAc,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACvI,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,UAAU,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,0CAA0C,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,0BAA0B,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACtJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,KAAK,KAAK,OAAO,IAAI,MAAM,OAAO,CAAC,IAAI,SAAS,GAAG,MAAM,QAAQ,OAAO,SAAS,YAAY,WAAW,UAAU,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACjP,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
@@ -16,4 +16,4 @@
16
16
  * No import.meta here (engine-graph law) -- this file is loaded by the
17
17
  * server.
18
18
  */
19
- export declare const ENGINE_VERSION = "1.14.0";
19
+ export declare const ENGINE_VERSION = "1.16.0";
@@ -55,5 +55,35 @@
55
55
  // types/save-file.ts).
56
56
  // - The engine no longer accepts a seed's puzzles[] as live content;
57
57
  // it migrates them on load (factories/seed-migration.ts).
58
- export const ENGINE_VERSION = '1.14.0';
58
+ // 1.15.0 (2026-08-28): A PICKET HOLDS ITS CELL. Two shared-session
59
+ // surfaces move, both about a guarding NPC:
60
+ // - COMMAND SEMANTICS: walking onto a guard's doorway no longer
61
+ // displaces them, so "go <dir>" is now refused where it used to
62
+ // succeed. Grid seats are derived in passes and an exact cell used
63
+ // to win, so stepping into the doorway re-seated the guard one
64
+ // square over and doorwayBlocker stopped seeing them (reported as
65
+ // "I was able to just, push Wraith away by moving to the vault
66
+ // door"). A shared table can now be blocked by a body that
67
+ // previously waved everyone through.
68
+ // - NPC BRIEFS, which the hosting server builds: a guarding NPC is
69
+ // told they ARE the barrier. They were told about every barrier
70
+ // around them and never about that, so a picket beside an open
71
+ // door offered to let people past while the geometry refused.
72
+ // 1.16.0 (2026-08-28): SPRITES BECOME REAL COMPANIONS. Three shared-
73
+ // session surfaces move:
74
+ // - SAVE-SHAPE FIELDS the server writes back: a technomancer's
75
+ // registered sprites are a LIST (registeredSprites[]) rather than
76
+ // one slot, because canon caps them at LOGIC and a Logic-many cap
77
+ // over a single field is the same vanishing one step downstream.
78
+ // The old singular field is still READ for existing saves and no
79
+ // longer written, so no SAVE_VERSION bump is owed (the `bodies?`
80
+ // precedent at save-file.ts).
81
+ // - COMMAND SEMANTICS in shared scenes: new verbs `sprites`,
82
+ // `unravel` (Kill Complex Form) and `decompile`; `recall` gained
83
+ // Call/Dismiss Sprite; `compile` no longer implicitly releases;
84
+ // `order <sprite> stand down` no longer destroys the registration.
85
+ // - COMPANION MOVEMENT: a sprite now heels on its own plane, so a
86
+ // jacked-in technomancer keeps it and a walking one does not drag
87
+ // it through the meat world. It was exactly backwards.
88
+ export const ENGINE_VERSION = '1.16.0';
59
89
  //# sourceMappingURL=engine-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,sEAAsE;AACtE,6CAA6C;AAC7C,iEAAiE;AACjE,qCAAqC;AACrC,oEAAoE;AACpE,6DAA6D;AAC7D,uEAAuE;AACvE,kDAAkD;AAClD,iEAAiE;AACjE,mEAAmE;AACnE,gEAAgE;AAChE,8DAA8D;AAC9D,kEAAkE;AAClE,kDAAkD;AAClD,kEAAkE;AAClE,4DAA4D;AAC5D,qEAAqE;AACrE,yDAAyD;AACzD,sEAAsE;AACtE,2CAA2C;AAC3C,qEAAqE;AACrE,yDAAyD;AACzD,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,sEAAsE;AACtE,0DAA0D;AAC1D,2BAA2B;AAC3B,uEAAuE;AACvE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,sEAAsE;AACtE,6CAA6C;AAC7C,iEAAiE;AACjE,qCAAqC;AACrC,oEAAoE;AACpE,6DAA6D;AAC7D,uEAAuE;AACvE,kDAAkD;AAClD,iEAAiE;AACjE,mEAAmE;AACnE,gEAAgE;AAChE,8DAA8D;AAC9D,kEAAkE;AAClE,kDAAkD;AAClD,kEAAkE;AAClE,4DAA4D;AAC5D,qEAAqE;AACrE,yDAAyD;AACzD,sEAAsE;AACtE,2CAA2C;AAC3C,qEAAqE;AACrE,yDAAyD;AACzD,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,sEAAsE;AACtE,0DAA0D;AAC1D,2BAA2B;AAC3B,uEAAuE;AACvE,8DAA8D;AAC9D,mEAAmE;AACnE,4CAA4C;AAC5C,kEAAkE;AAClE,oEAAoE;AACpE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,mEAAmE;AACnE,+DAA+D;AAC/D,yCAAyC;AACzC,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,kEAAkE;AAClE,qEAAqE;AACrE,yBAAyB;AACzB,iEAAiE;AACjE,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,kCAAkC;AAClC,+DAA+D;AAC/D,qEAAqE;AACrE,oEAAoE;AACpE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { Direction } from '../types/shared/direction-enum.js';
2
+ import { ISceneSeedJson } from '../types/seed/scene-seed.js';
3
+ import { IReproFixture } from '../types/repro.js';
4
+ /**
5
+ * BUILDING THE BENCH A REVIEW ITEM SHIPS WITH.
6
+ *
7
+ * Two rooms and one sealed door between them. That is the whole scene,
8
+ * on purpose: a repro is a bench, not a run, and every room you have to
9
+ * walk through to reach the thing under test is a room the reproduction
10
+ * can go wrong in.
11
+ *
12
+ * THIS FILE OWNS THE INVARIANTS, and that is the reason it exists
13
+ * rather than the specs carrying raw seed JSON. The author of a repro
14
+ * states INTENT -- "a guard in the doorway", "a keypad sealing north" --
15
+ * and everything that intent implies is derived here, once, for every
16
+ * repro that will ever be written.
17
+ *
18
+ * The invariant that motivated the design: an NPC marked `guarding`
19
+ * whose startSpot is not the sealed exit's spot. Nothing throws.
20
+ * `holdsGround` is simply never consulted, because doorwayOccupants
21
+ * reads the exit cell and the guard is not standing in it. The scene
22
+ * builds, the walkthrough passes, and the repro demonstrates the
23
+ * opposite of what it claims -- a check whose two sides fail together
24
+ * cannot see the failure, which is the dominant defect shape in this
25
+ * codebase's history. An author cannot make that mistake here, because
26
+ * an author never supplies the spot.
27
+ *
28
+ * The other invariants are refusals rather than derivations, and they
29
+ * refuse LOUDLY rather than degrading. A repro that silently does less
30
+ * than it says is the failure mode this whole feature is built against,
31
+ * so "drop the field and carry on" -- which is what the runtime does
32
+ * with a code on a lock -- is exactly the wrong behaviour here.
33
+ */
34
+ /** The room the device stands in, which is also the room that declares
35
+ * the exit it seals. */
36
+ export declare const REPRO_BARRIER_ROOM = "The Approach";
37
+ /** Through the door. */
38
+ export declare const REPRO_FAR_ROOM = "The Far Side";
39
+ /** The one spot that matters, and the one an author never has to name.
40
+ * Both rooms have it: a doorway has two sides, and a guard posted on
41
+ * the far side stands in their own. */
42
+ export declare const REPRO_DOORWAY_SPOT = "doorway";
43
+ /**
44
+ * Somewhere to stand that is NOT the doorway, so "move to the door" is
45
+ * a real move with a real before-state. Without it the runner starts in
46
+ * the doorway and the whole class of "I walked onto the guard's cell"
47
+ * items cannot be reproduced at all.
48
+ *
49
+ * NOT called "open floor", which was the first name and was wrong for a
50
+ * reason worth recording: "open floor" is the ENGINE's phrase for
51
+ * having no named spot at all (see move.ts -- "You peel off to the open
52
+ * floor"). Naming a real spot that made a positioned NPC render as
53
+ * "Grier at the open floor, Grier on the open floor" -- one clause from
54
+ * the spot, one from the generic fallback, reading exactly like a
55
+ * duplicate-render bug. Every reviewer sent to a bench would have filed
56
+ * it. A fixture must not borrow the engine's words for "none".
57
+ */
58
+ export declare const REPRO_FLOOR_SPOT = "back wall";
59
+ /** A fixture that cannot be built into an honest bench. Thrown, never
60
+ * swallowed -- the caller turns it into a sentence for whoever wrote
61
+ * the spec. */
62
+ export declare class ReproFixtureError extends Error {
63
+ constructor(message: string);
64
+ }
65
+ export interface IReproBuild {
66
+ seed: ISceneSeedJson;
67
+ /** What the builder actually named things, so a caller can print
68
+ * steps that refer to them without guessing. */
69
+ names: {
70
+ device?: string;
71
+ npcs: string[];
72
+ direction: Direction;
73
+ barrierRoom: string;
74
+ farRoom: string;
75
+ startRoom: string;
76
+ };
77
+ /** Things worth saying that are not refusals -- a mundane sent to
78
+ * dispel a ward, a key stranded behind its own door. */
79
+ warnings: string[];
80
+ }
81
+ export declare function buildReproScene(fixture: IReproFixture): IReproBuild;
82
+ /** The archetype a fixture asks for, resolved. Separate from the build
83
+ * because the launcher hands the NAME to the game (which rolls the
84
+ * character itself) while the headless walkthrough needs the spread to
85
+ * make a save out of. */
86
+ export declare function reproArchetypeName(fixture: IReproFixture): string;
87
+ export declare function reproArchetype(fixture: IReproFixture): import("../archetypes.js").IArchetype;