rimlike/scenes/entities
megaproxy 2396528034 Bed: replace procedural draw with 1×2 vertical bundle sprite
The procedural 3/4-perspective bed (16×16 box of stacked draw_rect calls)
gets replaced with a 16×32 single-column Sprite2D cropped from the ElvGames
House Interior tileset. The sprite spans the bed's tile plus the tile
immediately south — head with rounded pillow + frame in the bed tile, body
and wood foot rail in the foot tile. The foot tile stays walkable in the
pathfinder (Phase-4 simplification, matches small rocks).

Three variants chosen deterministically by tile hash so the same bed renders
the same colour across boots and saves:
  • (32, 22) brown wood frame
  • (35, 22) blue quilt
  • (38, 22) pink quilt
Crops are LEFT-edge columns of the 2-/3-wide bundle beds — visually verified
in /tmp/bed_candidates.png against MIDDLE/RIGHT alternatives. LEFT shows the
clearest pillow shape + visible wood frame in a single column.

Setup work (sprite, position, y-sort) now lives inside setup() not _ready()
because _ready fires inside add_child() before the caller passes in the real
tile — same lesson as BigRock. _build_sprite() is idempotent (drops the
previous Sprite child) so the save-load flow (factory.setup → factory
on_build_tick → from_dict.setup) re-creates the sprite without leaks.

_draw() now renders only the medical-cross overlay when is_medical is true
— sprite handles ghost alpha via modulate. _complete() solidifies the sprite
from 0.4 to 1.0 alpha. The quality-tinted procedural sheets are dropped;
quality still drives sleep mood, just not visual colour.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 14:49:05 +01:00
..
.gitkeep Phase 0 scaffold + asset audit findings 2026-05-10 20:09:11 +01:00
bed.gd Bed: replace procedural draw with 1×2 vertical bundle sprite 2026-05-12 14:49:05 +01:00
bed.gd.uid Phase 8 — Beds, sleep need, thoughts, mood, Sulking soft-break 2026-05-11 13:21:15 +01:00
bed.tscn Phase 8 — Beds, sleep need, thoughts, mood, Sulking soft-break 2026-05-11 13:21:15 +01:00
big_rock.gd Add BigRock: 2×2 mineable boulder with full mining/path/save support 2026-05-12 14:34:24 +01:00
big_rock.gd.uid Bed: replace procedural draw with 1×2 vertical bundle sprite 2026-05-12 14:49:05 +01:00
big_rock.tscn Add BigRock: 2×2 mineable boulder with full mining/path/save support 2026-05-12 14:34:24 +01:00
corpse.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
corpse.gd.uid Phase 14: Death + Corpses + Burial + Cremation 2026-05-11 18:48:15 +01:00
corpse.tscn Phase 14: Death + Corpses + Burial + Cremation 2026-05-11 18:48:15 +01:00
cremation_pyre.gd Phase 14: Death + Corpses + Burial + Cremation 2026-05-11 18:48:15 +01:00
cremation_pyre.gd.uid Phase 14: Death + Corpses + Burial + Cremation 2026-05-11 18:48:15 +01:00
crop.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
crop.gd.uid Phase 7 — Crops, hunger, eating, cooking chain (grain → flour → bread) 2026-05-11 11:38:47 +01:00
crop.tscn Phase 7 — Crops, hunger, eating, cooking chain (grain → flour → bread) 2026-05-11 11:38:47 +01:00
door.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
door.gd.uid Phase 5 — Designation, BuildJob, Wall/Floor/Door, Crate; 3/4 perspective pivot 2026-05-10 22:11:40 +01:00
door.tscn Phase 5 — Designation, BuildJob, Wall/Floor/Door, Crate; 3/4 perspective pivot 2026-05-10 22:11:40 +01:00
floor.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
floor.gd.uid Phase 5 — Designation, BuildJob, Wall/Floor/Door, Crate; 3/4 perspective pivot 2026-05-10 22:11:40 +01:00
floor.tscn Phase 5 — Designation, BuildJob, Wall/Floor/Door, Crate; 3/4 perspective pivot 2026-05-10 22:11:40 +01:00
grave_marker.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
grave_marker.gd.uid Phase 14: Death + Corpses + Burial + Cremation 2026-05-11 18:48:15 +01:00
grave_slot.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
grave_slot.gd.uid Phase 14: Death + Corpses + Burial + Cremation 2026-05-11 18:48:15 +01:00
item.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
item.gd.uid Phase 4 — Trees, Rocks, Items, Stockpiles, Hauling 2026-05-10 21:32:39 +01:00
item.tscn Phase 4 — Trees, Rocks, Items, Stockpiles, Hauling 2026-05-10 21:32:39 +01:00
rock.gd Add BigRock: 2×2 mineable boulder with full mining/path/save support 2026-05-12 14:34:24 +01:00
rock.gd.uid Phase 4 — Trees, Rocks, Items, Stockpiles, Hauling 2026-05-10 21:32:39 +01:00
rock.tscn Phase 4 — Trees, Rocks, Items, Stockpiles, Hauling 2026-05-10 21:32:39 +01:00
torch.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
torch.gd.uid Phase 11 — Day/night cycle + Lighting (taken before Phase 9 per recommendation) 2026-05-11 15:54:15 +01:00
torch.tscn Phase 11 — Day/night cycle + Lighting (taken before Phase 9 per recommendation) 2026-05-11 15:54:15 +01:00
tree.gd Visual pass 2: tree + rock + stone wall sprite swaps 2026-05-12 14:19:06 +01:00
tree.gd.uid Phase 4 — Trees, Rocks, Items, Stockpiles, Hauling 2026-05-10 21:32:39 +01:00
tree.tscn Phase 4 — Trees, Rocks, Items, Stockpiles, Hauling 2026-05-10 21:32:39 +01:00
wall.gd Visual pass 2: tree + rock + stone wall sprite swaps 2026-05-12 14:19:06 +01:00
wall.gd.uid Phase 5 — Designation, BuildJob, Wall/Floor/Door, Crate; 3/4 perspective pivot 2026-05-10 22:11:40 +01:00
wall.tscn Phase 5 — Designation, BuildJob, Wall/Floor/Door, Crate; 3/4 perspective pivot 2026-05-10 22:11:40 +01:00
wolf.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
wolf.gd.uid Phase 9+10: Status/Doctor/Medical bed + Wolves/WolfSpawner 2026-05-11 16:11:36 +01:00
wolf.tscn Phase 9+10: Status/Doctor/Medical bed + Wolves/WolfSpawner 2026-05-11 16:11:36 +01:00
workbench.gd Phase 16: Save/load full coverage + autosave + UI 2026-05-11 19:24:59 +01:00
workbench.gd.uid Phase 6 — Recipe / Bill / Workbench / CraftingProvider / Quality / Skills 2026-05-10 23:52:41 +01:00
workbench.tscn Phase 6 — Recipe / Bill / Workbench / CraftingProvider / Quality / Skills 2026-05-10 23:52:41 +01:00