Credibility pass: comments say what the code can't, and the seams are gone
Engine: pit-rim exits live in one helper (pitRimExits) shared by the resolver and the automaton; chargeReach names the six-stride cap; dust sight is inDust + dustAtEnd; PushPending is exported once; the force-field counter builds its events in one list; drawUnderSlowDeath says what it draws under. Test groups are named for the rule they pin, not the revision that introduced it. Client: one smoothstep; one edgeScar per battle-scarred edge; one board-zone rule (which also seats the caption strip on phones); the compass names live in SIDE_NAMES; net.flash() is the one toast; MediaQuery replaces two hand-rolled matchMedia listeners; sprites carry their sizes as plain numbers and their CSS in one rule each; canvas helpers are formatted like the rest of the tree. Comments that told how a cel or a fallback used to look now say what it draws. The actions-over notice no longer blames a pickup when slime ended the turn. Server and ops: dataRoot() is the one data directory; headlineOf builds its deeds without a cast; the rollup and skills read the same way the code behaves. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
85690f0e23
commit
6e49fc9020
@@ -561,7 +561,7 @@ describe("the boobytrap keeps its secret", () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("a pit on the board's rim (M4Q7)", () => {
|
||||
describe("a pit on the board's rim (rev 17)", () => {
|
||||
/** A square on the outer rim with a warp mouth on one side, entered from
|
||||
* the square opposite the mouth; its other neighbouring squares listed. */
|
||||
function rimPitSite(state: GameState) {
|
||||
@@ -637,7 +637,7 @@ describe("a pit on the board's rim (M4Q7)", () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("a wave names its victims before it pushes (LK97)", () => {
|
||||
describe("a wave names its victims before it pushes (rev 20)", () => {
|
||||
/** A wall between two squares, a wizard on its near side with one open
|
||||
* square behind them and a wall beyond it, and a caster's square beside. */
|
||||
function site(state: GameState) {
|
||||
@@ -692,7 +692,6 @@ describe("spells cast at a slime wait in the gel", () => {
|
||||
expect(cast.state.slimeTraps[cellKey(spot.cell)]?.length).toBe(1);
|
||||
// Nobody is hurt yet; the victim walks in on their own turn.
|
||||
state = must(cast.state, caster.id, { type: "endTurn", draw: 2 });
|
||||
victim.position = { ...caster.position };
|
||||
const v = state.players.find((p) => p.id === victim.id)!;
|
||||
v.position = { ...caster.position };
|
||||
const walk = applyCommand(state, victim.id, { type: "move", direction: spot.side });
|
||||
|
||||
Reference in New Issue
Block a user