Commit graph

13 commits

Author SHA1 Message Date
Your Name
7d84f595e4 Replace box variants with a moveable adhesion property
Collapse the spiky/sticky/skewer box-variant assets into a single per-
instance `adhesion` property on any moveable block, chosen in the editor
via a dropdown next to the colour picker and stored in the .sav alongside
the class.

- spiky -> sticky: soft grab on every true edge (goopy shader)
- skewer -> gluey: rigid weld on every true edge (spiked outline)
- old trailing-face sticky is removed; its saves fold into new sticky

Move the spike geometry + drawGlueySprite into shaders.lua, fold drawing
and the adhesion flag into GenericMoveable, and delete the three
Generic{Sticky,Spiky,Skewer} classes and box_variants.lua. Room:createEntity
normalises legacy spiky_/skewer_/sticky_ class prefixes so old saves load,
and serialization emits `adhesion`. World/map previews and the movement
proxy follow the rename.

Backfill rooms/*.sav to the new format via tools/backfill_adhesion.lua
(41 objects across 8 files). Update tests to the two-mode model; the two
tests asserting the removed lateral-shear limitation are dropped and a
legacy-load migration test added. 27/27 pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-21 16:34:01 -04:00
Your Name
c348b81a93 Add named Marks and cross-room NPC pathfinding
- Mark: a debug non-collidable named destination (pixel-art target icon),
  editor tool + name modal, globally-unique names, programmatic Room:addMark
- NPCs walk to Marks: each RGB copy is a per-room resident (like the player),
  running its own A* on its own colour layer, transferring rooms as it crosses
  seams; rendered and collided by the room it currently stands in
- Player copies are obstacles in NPC pathfinding
- A* is footprint-aware for multi-cell NPCs
- Editor: click an NPC to open a filterable destination picker
- Ink: Dialogue.open binds walk_to; Jorge can be sent to "end"/"begin"
- Fix: a blocked NPC now replans each tick and resumes instead of freezing
- [npc] move diagnostics under DEBUG (start/goal/route or block reason)
- Docs (adding-npcs) + CLAUDE.md LÖVE 11.x/float-colour corrections
- Fix test harness loadSprite stub; movement tests green (28)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-21 15:56:53 -04:00
Your Name
8fae34b803 Unify editor input with room preview transform 2026-08-12 03:01:22 -04:00
Your Name
3c5e6daf06 Add white room browsing mode 2026-08-12 03:01:22 -04:00
Your Name
23fe9d1c58 Test regular door occupancy resolution 2026-08-12 00:37:49 -04:00
Your Name
17140fe39f Add powered neon wire rendering 2026-08-12 00:37:49 -04:00
Your Name
cb1b5006b9 Join co-located player colors 2026-08-12 00:30:13 -04:00
Your Name
9731202739 Prevent doors closing through occupants 2026-08-12 00:21:53 -04:00
Your Name
6a5c2fc951 better wirer behavior etc 2026-08-12 00:12:26 -04:00
Your Name
bc4976b324 wired switches and doors 2026-08-11 22:55:58 -04:00
Your Name
a60f46d585 player blocker 2026-08-11 20:29:35 -04:00
Your Name
c3a2692351 Add spiky box variants 2026-08-11 20:08:58 -04:00
Your Name
f549eaf523 Add directional sticky and skewer box variants 2026-08-11 15:07:11 -04:00