@maka/maka-cli 5.60.1 → 5.62.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 (118) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +1 -1
  3. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +4 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/ar.d.ts +31 -0
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js +95 -0
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/ar.js.map +1 -0
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js +4 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js.map +1 -1
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/call.d.ts +9 -0
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +62 -23
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +5 -5
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js +41 -2
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/contacts.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/crew.d.ts +7 -14
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/crew.js +86 -51
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/crew.js.map +1 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/deck.js +1 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/deck.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js +4 -1
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/docwagon.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/emote.js +11 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/emote.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +6 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/follow.d.ts +37 -0
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/follow.js +216 -0
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/follow.js.map +1 -0
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +14 -3
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +4 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js +6 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/inv.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.js +3 -3
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/jobs.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/look.d.ts +21 -1
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +165 -59
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +5 -2
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/note.js +9 -3
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/note.js.map +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js +1 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/commands/pan.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/commands/players.js +4 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/commands/players.js.map +1 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +4 -1
  56. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/commands/register.d.ts +1 -1
  58. package/bundle/typescript/src/commands/game/sideQuest/commands/register.js +10 -5
  59. package/bundle/typescript/src/commands/game/sideQuest/commands/register.js.map +1 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/commands/roles.js +4 -1
  61. package/bundle/typescript/src/commands/game/sideQuest/commands/roles.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/commands/say.d.ts +21 -0
  63. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +95 -8
  64. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +3 -3
  66. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  67. package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js +4 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/commands/silent.js.map +1 -1
  69. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +4 -1
  70. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -1
  71. package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.js +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.js.map +1 -1
  73. package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js +5 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/commands/spells.js.map +1 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js +21 -0
  76. package/bundle/typescript/src/commands/game/sideQuest/commands/stance.js.map +1 -1
  77. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +4 -1
  78. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
  79. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.d.ts +13 -1
  80. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +78 -4
  81. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +43 -1
  83. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js.map +1 -1
  84. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +9 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/game.js +77 -18
  86. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  87. package/bundle/typescript/src/commands/game/sideQuest/headless.js +58 -0
  88. package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +1 -1
  89. package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +8 -0
  90. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +129 -39
  91. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  92. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +5 -2
  93. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +15 -2
  94. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  95. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +1 -1
  96. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
  97. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +6 -0
  98. package/bundle/typescript/src/commands/game/sideQuest/ui.js +21 -0
  99. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  100. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.d.ts +39 -0
  101. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js +111 -0
  102. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js.map +1 -0
  103. package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.d.ts +76 -0
  104. package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.js +98 -0
  105. package/bundle/typescript/src/commands/game/sideQuest/utilities/earshot.js.map +1 -0
  106. package/bundle/typescript/src/commands/game/sideQuest/utilities/generation-capture.js +21 -9
  107. package/bundle/typescript/src/commands/game/sideQuest/utilities/generation-capture.js.map +1 -1
  108. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +16 -0
  109. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +27 -0
  110. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  111. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +12 -0
  112. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  113. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +3 -1
  114. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
  115. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.d.ts +26 -2
  116. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +92 -7
  117. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
  118. package/package.json +1 -1
@@ -0,0 +1,111 @@
1
+ import { isLinked } from './comm-style.js';
2
+ import { isWatched, camerasLive, canSnoopFeeds } from './surveillance.js';
3
+ import { Category } from '../types/shared/item-enum.js';
4
+ /**
5
+ * AROs -- AUGMENTED REALITY OBJECTS (player request 2026-08-26: "we
6
+ * need AROs on anything online"). The 2075 street is not bare: anything
7
+ * broadcasting wears an icon in the eye of anyone whose commlink is up.
8
+ * Until now that layer existed only from the INSIDE -- a jacked-in
9
+ * persona saw hosts, PANs and camera clusters as icons (grid-view.ts),
10
+ * and a decker standing in the same room in the flesh saw a bar.
11
+ *
12
+ * This is the same objects seen from the meat side, and deliberately
13
+ * the SAME GLYPHS (● host, ▣ PAN, ◎ cameras, ▤ a loose device), so the
14
+ * two views read as one world looked at twice rather than two games.
15
+ *
16
+ * WHAT IS DELIBERATELY NOT HERE:
17
+ * - Anything not broadcasting. Silent PANs, air-gapped hosts and
18
+ * powered-down gear have no wireless presence to annotate; that is
19
+ * what silence and a hard line BUY, and grid-view.ts omits them for
20
+ * the same reason.
21
+ * - Loot you have not found. Only items already in plain sight get a
22
+ * tag (Room.plainSightItems -- the same subset take.ts lets you
23
+ * sweep unsearched). An AR overlay that x-rayed a drawer would hand
24
+ * the room's whole inventory to anyone with a commlink and make
25
+ * "search" pointless.
26
+ * - Marks, alert states and host internals. Those are a persona's
27
+ * read, bought by being out there on the grid. AR is the shop
28
+ * window, not the back office.
29
+ */
30
+ /** Whether this actor's AR overlay is actually up right now. */
31
+ export function arSightUp(actor) {
32
+ // Meat only. A persona IS on the grid (grid-view.ts renders it), an
33
+ // astral form is nowhere near a commlink, and a jumped-in rigger is
34
+ // looking through a drone's cameras.
35
+ if (actor.plane !== 'meat')
36
+ return false;
37
+ // Running silent kills the broadcast, and the overlay rides it (see
38
+ // silent.ts, which says so out loud). Checked HERE rather than in
39
+ // hasMatrixEyes so the map's fog rules stay exactly as they were.
40
+ if (actor.runningSilent)
41
+ return false;
42
+ return actor.hasMatrixEyes();
43
+ }
44
+ /**
45
+ * Every ARO in this room, one line each. Empty when AR is down, muted,
46
+ * silent, or nothing here is online.
47
+ */
48
+ export function aroTags(scene, actor, room) {
49
+ if (!arSightUp(actor))
50
+ return [];
51
+ const tags = [];
52
+ // THE HOST's public face. An air-gapped host has no wireless presence
53
+ // at all -- from the street it simply is not there (canReachHost is
54
+ // the persona-side twin of this rule).
55
+ if (room.hasNode && room.nodeAccess !== 'wired') {
56
+ tags.push(room.hostCracked
57
+ ? `● ${room.name} host -- its marquee still turning, its walls in shreds.`
58
+ : `● ${room.name} host -- a public marquee turning slowly over the room.`);
59
+ }
60
+ // EVERY OTHER PRESENCE that is broadcasting. Same test grid-view.ts
61
+ // uses from the other side, so the two views never disagree about who
62
+ // is loud.
63
+ for (const other of scene.getActorsInRoom(room)) {
64
+ if (other === actor)
65
+ continue;
66
+ if (other.isIncapacitated() || !isLinked(other))
67
+ continue;
68
+ const master = other.getPanMaster();
69
+ if (!master)
70
+ continue;
71
+ tags.push(`▣ ${other.name} -- ${master.name} broadcasting, public profile up.`);
72
+ }
73
+ // THE EYES. Whether they are looped is knowledge you had to take from
74
+ // the host, so it shows only to whoever owns the feeds.
75
+ if (isWatched(room)) {
76
+ const rooms = scene.getRooms();
77
+ tags.push(canSnoopFeeds(rooms, room, actor) && !camerasLive(rooms, room)
78
+ ? `◎ Camera cluster -- wireless, and looping empty hallways for the house.`
79
+ : `◎ Camera cluster -- wireless, and watching.`);
80
+ }
81
+ // LOOSE DEVICES lying in plain sight. A wireless deck on a table
82
+ // announces itself; one in a drawer you never opened does not.
83
+ for (const item of room.inventory.getAllItems()) {
84
+ if (item.plane !== 'meat')
85
+ continue;
86
+ if (!room.plainSightItems.has(item.name.toLowerCase()))
87
+ continue;
88
+ if (!WIRELESS_CATEGORIES.has(item.category))
89
+ continue;
90
+ tags.push(`▤ ${item.name} -- powered up and on the grid.`);
91
+ }
92
+ return tags;
93
+ }
94
+ /** The tags as the standard cyan block, or '' when there is nothing to
95
+ * show -- callers append it to their own output. */
96
+ export function aroBlock(scene, actor, room) {
97
+ const tags = aroTags(scene, actor, room);
98
+ if (tags.length === 0)
99
+ return '';
100
+ return `{cyan-fg}AR OVERLAY:{/cyan-fg}\n${tags.map(t => ` {cyan-fg}${t}{/cyan-fg}`).join('\n')}`;
101
+ }
102
+ /** Gear that talks to the grid on its own. Weapons are absent on
103
+ * purpose: a smartgun's link belongs to its carrier's PAN, and it is
104
+ * already covered by their ▣ line. */
105
+ const WIRELESS_CATEGORIES = new Set([
106
+ Category.Commlink,
107
+ Category.Cyberdeck,
108
+ Category.RCC,
109
+ Category.Drone,
110
+ ]);
111
+ //# sourceMappingURL=ar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/ar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import type { Player } from '../models/player.js';
2
+ import type { NPC } from '../models/npc.js';
3
+ import type { Room } from '../models/room.js';
4
+ /**
5
+ * WHO CAN OVERHEAR A MURMUR (playtest, Deditri: "a private place for
6
+ * calls"). A call is audible to the room, and that is correct and
7
+ * load-bearing -- it is how a table learns what a partner is arranging,
8
+ * and NPC AIs react to the half of a conversation they catch. What was
9
+ * missing was anywhere to GO to avoid it: say.ts's call fan-out
10
+ * iterated `room.getActors()` flat, while ordinary speech (Room.say)
11
+ * had been spot-local since the "at" spots pass. Two code paths
12
+ * answering "who hears this" had drifted apart, so ducking into the
13
+ * booths changed nothing -- Patch at the bar and Old Cray in the booths
14
+ * overheard you either way.
15
+ *
16
+ * The place to duck into already existed. The hub seeds carry it and
17
+ * the fiction was already written for it: "High-backed booths built for
18
+ * quiet deals", "the dim table nobody chooses by accident", the Night
19
+ * Market's "shadowed edge". Nothing new is invented here; the call path
20
+ * just respects the position everyone else already respects.
21
+ *
22
+ * THE RULE, and why it is not Room.say's rule: room speech that finds
23
+ * nobody at your spot escalates to a SHOUT and carries room-wide -- that
24
+ * is how you call across a bar. A commlink held to your face never
25
+ * escalates; talking quietly into it is the whole point of it. So a
26
+ * murmur reaches your spot and stops there.
27
+ *
28
+ * WHAT DOES NOT BUY PRIVACY, deliberately:
29
+ * - CIRCULATING (no atSpot) is the compat state and means "anywhere in
30
+ * the room" -- it both reaches and is reached by everything. It is
31
+ * also the common case, and it stays exactly as loud as it has always
32
+ * been.
33
+ * - THE OPEN FLOOR is a real position but it is bare ground in the
34
+ * middle of the room, no cover, always visible (see spots.ts). Being
35
+ * apart from people is not the same as being out of earshot, and a
36
+ * runner muttering into their link in the middle of a bar is not
37
+ * having a private call.
38
+ * Privacy is furniture you go and stand at. You never get it by
39
+ * accident, and you never get it by standing back.
40
+ *
41
+ * Position is read off `Player.atSpot` through spots.ts on every call.
42
+ * Nothing here caches, stores, or derives a second notion of where
43
+ * anybody is.
44
+ */
45
+ /**
46
+ * Everyone in the speaker's room close enough to catch a murmur.
47
+ * From a named spot: whoever shares it, plus anyone circulating.
48
+ * From the open floor or while circulating: the whole room.
49
+ */
50
+ export declare function murmurAudience(speaker: Player): (Player | NPC)[];
51
+ export interface EarshotReading {
52
+ /** The room declares named places at all. When it doesn't there is
53
+ * nowhere in THIS room to duck into and the answer is another room. */
54
+ spotted: boolean;
55
+ /** Where the speaker stands; undefined = circulating (see spots.ts). */
56
+ spot?: string;
57
+ /** Circulating or on the open floor: nothing between you and the room. */
58
+ inTheOpen: boolean;
59
+ /** Who would catch a murmur from here. */
60
+ audience: (Player | NPC)[];
61
+ /** Nobody would. */
62
+ unheard: boolean;
63
+ /** Named places here with nobody at them -- where to go instead. */
64
+ quiet: string[];
65
+ }
66
+ export declare function readEarshot(speaker: Player): EarshotReading;
67
+ /**
68
+ * Named places in this room that nobody is standing at -- the honest
69
+ * answer to "so where do I go", thresholds sorted to the back. A
70
+ * CIRCULATING actor is at none of them and all of them at once (the
71
+ * compat rule), so their presence disqualifies every spot: there is
72
+ * nowhere to get away from somebody who is everywhere. The open floor
73
+ * is never offered; it is the one position that explicitly buys
74
+ * nothing.
75
+ */
76
+ export declare function quietSpotsIn(room: Room, speaker: Player): string[];
@@ -0,0 +1,98 @@
1
+ import { sameSpot, spotOf, spotsActive, OPEN_FLOOR } from './spots.js';
2
+ /**
3
+ * WHO CAN OVERHEAR A MURMUR (playtest, Deditri: "a private place for
4
+ * calls"). A call is audible to the room, and that is correct and
5
+ * load-bearing -- it is how a table learns what a partner is arranging,
6
+ * and NPC AIs react to the half of a conversation they catch. What was
7
+ * missing was anywhere to GO to avoid it: say.ts's call fan-out
8
+ * iterated `room.getActors()` flat, while ordinary speech (Room.say)
9
+ * had been spot-local since the "at" spots pass. Two code paths
10
+ * answering "who hears this" had drifted apart, so ducking into the
11
+ * booths changed nothing -- Patch at the bar and Old Cray in the booths
12
+ * overheard you either way.
13
+ *
14
+ * The place to duck into already existed. The hub seeds carry it and
15
+ * the fiction was already written for it: "High-backed booths built for
16
+ * quiet deals", "the dim table nobody chooses by accident", the Night
17
+ * Market's "shadowed edge". Nothing new is invented here; the call path
18
+ * just respects the position everyone else already respects.
19
+ *
20
+ * THE RULE, and why it is not Room.say's rule: room speech that finds
21
+ * nobody at your spot escalates to a SHOUT and carries room-wide -- that
22
+ * is how you call across a bar. A commlink held to your face never
23
+ * escalates; talking quietly into it is the whole point of it. So a
24
+ * murmur reaches your spot and stops there.
25
+ *
26
+ * WHAT DOES NOT BUY PRIVACY, deliberately:
27
+ * - CIRCULATING (no atSpot) is the compat state and means "anywhere in
28
+ * the room" -- it both reaches and is reached by everything. It is
29
+ * also the common case, and it stays exactly as loud as it has always
30
+ * been.
31
+ * - THE OPEN FLOOR is a real position but it is bare ground in the
32
+ * middle of the room, no cover, always visible (see spots.ts). Being
33
+ * apart from people is not the same as being out of earshot, and a
34
+ * runner muttering into their link in the middle of a bar is not
35
+ * having a private call.
36
+ * Privacy is furniture you go and stand at. You never get it by
37
+ * accident, and you never get it by standing back.
38
+ *
39
+ * Position is read off `Player.atSpot` through spots.ts on every call.
40
+ * Nothing here caches, stores, or derives a second notion of where
41
+ * anybody is.
42
+ */
43
+ /**
44
+ * Everyone in the speaker's room close enough to catch a murmur.
45
+ * From a named spot: whoever shares it, plus anyone circulating.
46
+ * From the open floor or while circulating: the whole room.
47
+ */
48
+ export function murmurAudience(speaker) {
49
+ const others = speaker.currentLocation.getActors().filter(a => a !== speaker);
50
+ const spot = spotOf(speaker);
51
+ if (spot === undefined || spot === OPEN_FLOOR)
52
+ return others;
53
+ return others.filter(a => sameSpot(speaker, a));
54
+ }
55
+ export function readEarshot(speaker) {
56
+ const room = speaker.currentLocation;
57
+ const spot = spotOf(speaker);
58
+ const audience = murmurAudience(speaker);
59
+ return {
60
+ spotted: spotsActive(room),
61
+ spot,
62
+ inTheOpen: spot === undefined || spot === OPEN_FLOOR,
63
+ audience,
64
+ unheard: audience.length === 0,
65
+ quiet: quietSpotsIn(room, speaker),
66
+ };
67
+ }
68
+ /**
69
+ * A THRESHOLD is not a hiding place. The same name convention spots.ts
70
+ * uses to find the spot that owns a doorway (see entrySpotFor) -- an
71
+ * empty doorway is still empty, and still worth listing, but it is the
72
+ * worst place in the room to take a call and must never be the one the
73
+ * report recommends.
74
+ */
75
+ const DOORISH = /door|entrance|entry|threshold|gate/i;
76
+ /**
77
+ * Named places in this room that nobody is standing at -- the honest
78
+ * answer to "so where do I go", thresholds sorted to the back. A
79
+ * CIRCULATING actor is at none of them and all of them at once (the
80
+ * compat rule), so their presence disqualifies every spot: there is
81
+ * nowhere to get away from somebody who is everywhere. The open floor
82
+ * is never offered; it is the one position that explicitly buys
83
+ * nothing.
84
+ */
85
+ export function quietSpotsIn(room, speaker) {
86
+ if (!spotsActive(room))
87
+ return [];
88
+ const others = room.getActors().filter(a => a !== speaker);
89
+ if (others.some(a => spotOf(a) === undefined))
90
+ return [];
91
+ const taken = new Set(others.map(a => spotOf(a)));
92
+ const mine = spotOf(speaker);
93
+ const empty = (room.spots ?? [])
94
+ .map(s => s.name)
95
+ .filter(name => name !== OPEN_FLOOR && name !== mine && !taken.has(name));
96
+ return [...empty.filter(n => !DOORISH.test(n)), ...empty.filter(n => DOORISH.test(n))];
97
+ }
98
+ //# sourceMappingURL=earshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"earshot.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/earshot.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC;IAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAW,CAAC,CAAC,CAAC;AAC5D,CAAC;AAkBD,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;QAC1B,IAAI;QACJ,SAAS,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU;QACpD,QAAQ;QACR,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC9B,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,qCAAqC,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,OAAe;IACtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAW,CAAC,KAAK,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAChB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC"}
@@ -52,15 +52,27 @@ export class GenerationCapture {
52
52
  prompt: clampPrompt(rec.prompt ?? ''),
53
53
  reply: clampReply(rec.reply ?? ''),
54
54
  });
55
- // EVICT THE OLDEST, don't refuse the newest (fixed 2026-08-26 after
56
- // review). The first cut returned early once full, which is
57
- // first-12-wins -- and the records a bad run produces LAST are its
58
- // repair-round failures, precisely the ones worth training on. A
59
- // pathological run therefore dropped its most interesting evidence
60
- // and kept its least. The bound was the point; which end it bites
61
- // was an accident.
62
- while (this.records.length > this.MAX_RECORDS)
63
- this.records.shift();
55
+ // EVICT BY VALUE, NOT BY POSITION (fixed 2026-08-27; supersedes the
56
+ // 2026-08-26 evict-oldest fix, which superseded the original
57
+ // first-12-wins refusal). Both earlier policies were positional,
58
+ // and the first production batch proved position is the wrong axis
59
+ // outright: 12 records, exactly MAX_RECORDS, and pipeline 1 was
60
+ // entirely absent along with pipeline 2's skeleton. But reaching
61
+ // pipeline 3 MEANS pipelines 1 and 2 failed -- so evict-oldest had
62
+ // thrown away precisely the fault records and kept the successful
63
+ // run. The corpus preserved the successes and discarded the faults,
64
+ // the exact inverse of what this module exists for.
65
+ //
66
+ // Successes are cheap and numerous (one per stage per pipeline);
67
+ // faults are the entire point. So when the buffer is full, drop the
68
+ // OLDEST ACCEPTED record, and only fall back to dropping the oldest
69
+ // fault when there is nothing else left to give up. A 12-slot
70
+ // buffer under this policy would have kept everything interesting
71
+ // from that run and lost nothing that mattered.
72
+ while (this.records.length > this.MAX_RECORDS) {
73
+ const victim = this.records.findIndex(r => r.outcome === 'accepted');
74
+ this.records.splice(victim === -1 ? 0 : victim, 1);
75
+ }
64
76
  }
65
77
  /** Writes only when something was actually captured. Never throws --
66
78
  * a corpus is a nice-to-have and must never cost the player a run. */
@@ -1 +1 @@
1
- {"version":3,"file":"generation-capture.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/generation-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generation-capture.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/generation-capture.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,21 @@ import { Scene } from '../models/scene.js';
12
12
  * air-gapped, ◆ persona, ▣ PAN, ◇ data.
13
13
  */
14
14
  export declare function gridIcons(scene: Scene, actor: Player, room: Room): string[];
15
+ /**
16
+ * THE ROOM AS THE GRID DRAWS IT (player ruling 2026-08-26: "looking in
17
+ * the matrix shouldn't show the meatworld"). A persona's `look` used to
18
+ * open with the room's own meat prose -- steam off the noodle pot, the
19
+ * cracked vinyl, whoever is leaning on the counter. None of that is
20
+ * where a persona stands: the grid OVERLAYS a space, it does not
21
+ * furnish it, and a decker reading furniture they cannot touch (from a
22
+ * body slumped rooms away) is the plane fiction coming apart.
23
+ *
24
+ * So this is the orientation that replaces the prose: the room's NAME
25
+ * -- icons are labelled, and the grid map (map.ts) lists rooms by name
26
+ * for exactly the same reason -- and how dense the local grid is. The
27
+ * host itself is deliberately NOT described here: it is an ICON, and
28
+ * gridIcons below already names it with its state and its verbs.
29
+ */
30
+ export declare function gridSculpt(actor: Player, room: Room): string;
15
31
  /** The icons rendered as the standard cyan block, or the thin-grid line. */
16
32
  export declare function gridIconBlock(scene: Scene, actor: Player, room: Room): string;
@@ -63,6 +63,33 @@ export function gridIcons(scene, actor, room) {
63
63
  }
64
64
  return icons;
65
65
  }
66
+ /**
67
+ * THE ROOM AS THE GRID DRAWS IT (player ruling 2026-08-26: "looking in
68
+ * the matrix shouldn't show the meatworld"). A persona's `look` used to
69
+ * open with the room's own meat prose -- steam off the noodle pot, the
70
+ * cracked vinyl, whoever is leaning on the counter. None of that is
71
+ * where a persona stands: the grid OVERLAYS a space, it does not
72
+ * furnish it, and a decker reading furniture they cannot touch (from a
73
+ * body slumped rooms away) is the plane fiction coming apart.
74
+ *
75
+ * So this is the orientation that replaces the prose: the room's NAME
76
+ * -- icons are labelled, and the grid map (map.ts) lists rooms by name
77
+ * for exactly the same reason -- and how dense the local grid is. The
78
+ * host itself is deliberately NOT described here: it is an ICON, and
79
+ * gridIcons below already names it with its state and its verbs.
80
+ */
81
+ export function gridSculpt(actor, room) {
82
+ const header = `{cyan-fg}THE GRID :: ${room.name.toUpperCase()}{/cyan-fg}`;
83
+ // Thin ground says nothing extra on purpose: gridIconBlock's own
84
+ // empty-case line already calls it thin, and where there ARE icons
85
+ // they speak for themselves. Only a host earns a second line.
86
+ if (!room.hasNode)
87
+ return header;
88
+ const ground = canReachHost(actor, room)
89
+ ? `Dense ground -- a host's architecture stands over this patch, and everything on it answers to that.`
90
+ : `Dead ground -- there is architecture here, but no door onto it from the wireless grid.`;
91
+ return `${header}\n{cyan-fg}${ground}{/cyan-fg}`;
92
+ }
66
93
  /** The icons rendered as the standard cyan block, or the thin-grid line. */
67
94
  export function gridIconBlock(scene, actor, room) {
68
95
  const icons = gridIcons(scene, actor, room);
@@ -1 +1 @@
1
- {"version":3,"file":"grid-view.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/grid-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid-view.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/grid-view.ts"],"names":[],"mappings":"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"}
@@ -290,6 +290,18 @@ export function restorePlayer(p, s) {
290
290
  p.resonance = s.attributes.resonance;
291
291
  p.adept = s.attributes.adept;
292
292
  p.skills = { ...s.skills };
293
+ // REGISTERING SPLIT OUT OF COMPILING (2026-08-27). `register` used to
294
+ // roll Compiling, which the books don't support -- Registering is its
295
+ // own Resonance skill (SR5 p.143) and Register Sprite tests
296
+ // "Registering + Resonance" (p.250). Fixing the roll would silently
297
+ // DEMOTE every technomancer who already trained the combined skill:
298
+ // their register would drop to the unskilled -1 overnight for a rule
299
+ // they never broke. They trained the thing that did both, so they
300
+ // keep the rating for both. Runs once -- after this the save has it.
301
+ const sk = p.skills;
302
+ if (sk.registering === undefined && (sk.compiling ?? 0) > 0) {
303
+ sk.registering = sk.compiling;
304
+ }
293
305
  p.karma = s.karma;
294
306
  p.careerKarma = s.careerKarma;
295
307
  for (const reason of s.notorietyReasons)
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/persistence.ts"],"names":[],"mappings":"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"}
@@ -327,8 +327,10 @@ export function renderRoomLayout(room, viewer, isOtherPlayer) {
327
327
  const out = [...rows];
328
328
  if (legend.length > 0)
329
329
  out.push('', ...legend);
330
+ // White, not gray (standing ruling: gray is ANSI bright-black and
331
+ // illegible on stock dark palettes).
330
332
  if (!spotOf(viewer))
331
- out.push(`{gray-fg}(you're circulating -- no fixed spot to mark on the layout){/gray-fg}`);
333
+ out.push(`{white-fg}(you're circulating -- no fixed spot to mark on the layout){/white-fg}`);
332
334
  return out;
333
335
  }
334
336
  /**