chroma_solstice/rooms
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
..
_pre_migration_backup various fixes 2026-08-07 00:31:45 -04:00
old basic serialization worx* 2015-03-17 01:59:14 -04:00
2.sav we're back baby 2026-08-07 01:57:48 -04:00
3.sav level editor improvements 2026-08-07 01:01:49 -04:00
4.sav level editor improvements 2026-08-07 01:01:49 -04:00
5.sav level editor improvements 2026-08-07 01:01:49 -04:00
blocker_test.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
corner_trimino_test.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
corner_trimino_test_copy.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
default.sav various fixes 2026-08-07 00:31:45 -04:00
jorge2.sav Update authored puzzle levels 2026-08-12 14:52:06 -04:00
jorge_room.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
just_blocker.sav just some level things idk whats going on here 2026-08-15 09:05:42 -04:00
ok.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
old_yellow_3.sav level editor improvements 2026-08-07 01:01:49 -04:00
room_01_05.sav Add drag painting to level editor 2026-08-11 14:11:57 -04:00
room_05_09.sav new level experiments 2026-08-11 19:16:22 -04:00
room_05_14.sav cool ideas 2026-08-13 09:17:40 -04:00
room_05_15.sav note blocks and sticky test 2026-08-13 12:45:41 -04:00
room_05_18.sav new level experiments 2026-08-11 19:16:22 -04:00
room_08_07.sav player blocker 2026-08-11 20:29:35 -04:00
room_08_13.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
room_09_13.sav Update authored puzzle levels 2026-08-12 14:52:06 -04:00
room_10_15.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
room_11_09.sav sav fixes 2026-08-07 17:49:13 -04:00
room_12_14.sav supposedly fix saving 2026-08-12 17:20:11 -04:00
room_13_08.sav wired switches and doors 2026-08-11 22:55:58 -04:00
room_13_13.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
room_13_14.sav supposedly fix saving 2026-08-12 17:20:11 -04:00
room_13_14_2.sav cool ideas 2026-08-13 09:17:40 -04:00
room_14_07.sav wired switches and doors 2026-08-11 22:55:58 -04:00
room_14_14.sav supposedly fix saving 2026-08-12 17:20:11 -04:00
room_16_17.sav Add named Marks and cross-room NPC pathfinding 2026-08-21 15:56:53 -04:00
spiky_test.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
spiky_test_2.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
spiky_test_3.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
sticky_test_5.sav just some level things idk whats going on here 2026-08-15 09:05:42 -04:00
test_patt.sav level editor improvements 2026-08-07 01:01:49 -04:00
test_patt_update.sav level editor improvements 2026-08-07 01:01:49 -04:00
testing_movement.sav Add named Marks and cross-room NPC pathfinding 2026-08-21 15:56:53 -04:00
testing_sticky.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
testing_sticky_3.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
testing_sticky_4.sav just some level things idk whats going on here 2026-08-15 09:05:42 -04:00
testing_sticky_two.sav cool ideas 2026-08-13 09:17:40 -04:00
tetromino_loop_t.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
village_1.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
village_2.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
village_3.sav Replace box variants with a moveable adhesion property 2026-08-21 16:34:01 -04:00
village_4.sav sav fixes 2026-08-07 17:49:13 -04:00
village_start.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
white_asymmetrical.sav level editor improvements 2026-08-07 01:01:49 -04:00
white_ok.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
white_primary.sav sav fixes 2026-08-07 17:49:13 -04:00
world.sav Add named Marks and cross-room NPC pathfinding 2026-08-21 15:56:53 -04:00
yellow_1.sav sav fixes 2026-08-07 17:49:13 -04:00
yellow_2.sav better wirer behavior etc 2026-08-12 00:12:26 -04:00
yellow_3.sav sav fixes 2026-08-07 17:49:13 -04:00
yellow_4.sav sav fixes 2026-08-07 17:49:13 -04:00
yellow_5.sav level editor improvements 2026-08-07 01:01:49 -04:00
yellow_6.sav level editor improvements 2026-08-07 01:01:49 -04:00
yellow_arches.sav level editor improvements 2026-08-07 01:01:49 -04:00
yellow_asymmetrical.sav level editor improvements 2026-08-07 01:01:49 -04:00
yellow_cc_moustache.sav level editor improvements 2026-08-07 01:01:49 -04:00
yellow_color_changing_levvel_1.sav sav fixes 2026-08-07 17:49:13 -04:00
yellow_skull.sav sav fixes 2026-08-07 17:49:13 -04:00
yellow_smile.sav level editor improvements 2026-08-07 01:01:49 -04:00