Thunderous
Devlog

A paper doll, a stand on the floor, and fighting bare-handed

Five headset passes (60 to 64) over a day. Small fixes to the hub first, then the start of something bigger: an equipment screen, so what you're wearing stops living in your backpack. Small things that were wrong The vau…

Five headset passes (60 to 64) over a day. Small fixes to the hub first, then the start of something bigger: an equipment screen, so what you're wearing stops living in your backpack.

Small things that were wrong

The vault's board showed "14/12" when you had more stored than its rows could show. It counts in spaces now, and in pass 60 it "makes perfect sense".

The portal had three sound problems. A half-opened portal could cut off its own closing sound, putting the key back in could start a second opening sound on top of the first, and the discovery fee's counter never reset between runs. Astra found all three in a code review before I merged; pass 61 had "only one sound playing".

The camera journal's stand was sunk 20 cm into a step along the east wall. Its placement test had measured the wall once, 1.2 meters up, and kept the stand in front of that. But the foot doesn't touch the wall at 1.2 meters. It touches a step that runs along the base of the wall, 40 cm further into the room. The stand moved beside the east arch and turned to face the middle of the room. The test now casts a grid of rays down under the whole footprint and checks every vertex can be seen from where you stand, each at its own height. Pass 61: "now its base is on the floor". Pass 62: the facing is "quite a bit better".

An equipment screen

Until now the weapon you'd equipped was just one of the things in your grid, taking up its cells: half the grid for a greatsword. I answered eleven questions about how it should work, and it's being built in slices.

Slice 1 takes worn items out of the grid into their own store. Each item is always in exactly one place, so nothing can be duplicated or lost moving between them. The rule for which item goes in which slot is mine: EquipRules.Accepts, my fifth piece of code. Claude set it up the usual way, a signature and a comment saying what it must do, plus tests that fail until it's right.

Slice 2 is a paper doll on B, beside the carry: the figure of what you're wearing. You drag an item onto a slot to wear it, and "Take off" puts it back. What comes off is lifted in the hand that did the swapping, so you can place it in the grid or throw it out with the trigger. If you take your weapon off you fight bare-handed, which works the way you'd hope. Pass 63: it "did feel right ... never ceases to entertain me". Pass 64: the doll "does perfectly well for now". It's a plain outline; a more realistic silhouette can come later.

Astra's review

Astra reviewed the equipment branch and found real problems, some older than the branch:

  • Dying kept your worn gear while emptying the grid.
  • A socketed weapon left on the floor or the table freed its gem, so the gem could be used twice. That gap predates this work.
  • A weapon hidden in your pack could still parry.
  • The sharpening glints could come back while you were bare-handed.
  • The vice and the sheath could both try to hold the weapon at once.
  • Restoring a save trusted whatever the slots said.

All fixed, four of them first watched failing in a test. Cursor checked the docs against the code and found that a drag could put a light in the off-hand slot, which isn't open yet, plus six stale passages.

Two bugs from dragging

Dragging an item between stores sometimes ended the drag twice, and the item lost its place. The guard was around one call, not around the whole operation. A drop now ends its drag exactly once, and a counter checks it.

Still rough

  • The gloves slot sits close enough to the main hand that two drops in pass 64 landed in the wrong one. Watching it.
  • You can't drag out of a slot yet; "Take off" does it.
  • The off-hand slot opens in slice 4, armor in slice 5.
  • Chest placement after the fix hasn't been seen in a run yet. No chest was dealt in passes 63 and 64.

Test suite at the end: 2,551 of 2,558, with the same three known failures as before.