From 6abd53c6f52b6a16b0a44b6e90bb40c052c53a04 Mon Sep 17 00:00:00 2001 From: megaproxy Date: Fri, 15 May 2026 19:23:41 +0100 Subject: [PATCH] =?UTF-8?q?Cabin=20demo:=20bump=20height=208=C3=976=20?= =?UTF-8?q?=E2=86=92=208=C3=977=20so=20beds=20fit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Beds are 1×2 (foot tile + head tile extending up), but the seeded cabin was 8×6 with the north interior row at y=24 directly below the perimeter wall at y=23. Bed headboards clipped into the wall. Shift cabin origin up one row (44, 23 → 44, 22) and bump height (6 → 7) so the interior is now 6×5 (rows 23..27). Bed at row 24 has its head land in the new row 23 — interior floor, not wall. Affected: _seed_phase5_demo_buildings and _prestamp_cabin_for_room_detector (must stay in sync). Bottom wall + door + workbench + bed + torch + crate positions all unchanged in absolute coords — only the top wall moved up. Interior crate now sits at (50, 23) instead of (50, 24); comment updated. The user mentioned eventually wanting no premade buildings at all. That's a future change (probably Phase 19 onboarding or Phase 20 polish); kept out of scope. Co-Authored-By: Claude Opus 4.7 (1M context) --- scenes/world/world.gd | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/scenes/world/world.gd b/scenes/world/world.gd index 1542287..1d36b7a 100644 --- a/scenes/world/world.gd +++ b/scenes/world/world.gd @@ -436,15 +436,18 @@ func _seed_phase5_demo_buildings() -> void: # Pre-queue a furnished cabin so the construction loop runs end-to-end # without needing player-paint UI (deferred to Phase 17). # - # Layout — 8×6 stone cabin at (44, 23), south door, wood floor inside: + # Layout — 8×7 stone cabin at (44, 22), south door, wood floor inside: # • Perimeter walls (skipping the door slot) # • Door at (47, 28) — middle of the south wall - # • Wood floor across the 6×4 interior + # • Wood floor across the 6×5 interior (rows 23..27) # • One pre-built crate inside (north-east corner of the interior) # • Two stockpile-target crates outside (Phase 4 hauling target) - var origin := Vector2i(44, 23) + # Bumped from 8×6 → 8×7 so the north interior row (23) is free for the + # bed sprites to extend into (beds are 1×2, anchored at the foot, head + # extends one tile up). Previously the headboards clipped into the wall. + var origin := Vector2i(44, 22) var w := 8 - var h := 6 + var h := 7 var door_x := w / 2 - 1 # 3 → tile (47, y_bottom). Centred door. var door_tile := origin + Vector2i(door_x, h - 1) @@ -476,7 +479,7 @@ func _seed_phase5_demo_buildings() -> void: # Auto-built so the cabin shows furnished on first frame. var interior_crate: Crate = CRATE_SCENE.instantiate() add_child(interior_crate) - interior_crate.setup(origin + Vector2i(w - 2, 1)) # (50, 24) + interior_crate.setup(origin + Vector2i(w - 2, 1)) # (50, 23) — top-right of interior while interior_crate.is_buildable(): interior_crate.on_build_tick() @@ -877,9 +880,10 @@ func _apply_season_tint(season: StringName) -> void: # Layout mirrors _seed_phase5_demo_buildings: 8×6 cabin at (44, 23), # door at (47, 28), 6×4 wood floor interior. func _prestamp_cabin_for_room_detector() -> void: - var origin := Vector2i(44, 23) + # Matches _seed_phase5_demo_buildings: 8×7 cabin at (44, 22), 6×5 interior. + var origin := Vector2i(44, 22) var w := 8 - var h := 6 + var h := 7 var door_x := w / 2 - 1 # 3 → tile x=47 var door_tile := origin + Vector2i(door_x, h - 1)