Workbench sprites — swap procedural draw for tileset art per variant

- Carpenter → FG_Interior (24, 20) 16×32 wood cabinet w/ drawers
- Smelter   → FG_Marketplace (8, 30) anvil + hot metal
- Hearth    → FG_Interior (16, 32) stove w/ burners
- Millstone → FG_Interior (17, 40) wood barrel + procedural wheel overlay

Adds label_text setter so the sprite rebuilds idempotently whether the
caller assigns label before or after setup() (world.gd assigns after,
SaveSystem after). Setter also calls _maybe_build_light() to fix a
pre-existing Phase 11 bug where Hearth never built its PointLight2D
(label_text was still default when _ready fired).

Unrecognised label_texts fall through to _draw_generic so ad-hoc
workbench variants keep rendering.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
megaproxy 2026-05-12 15:23:28 +01:00
parent 0b09db9fd6
commit c4f94fb543
3 changed files with 170 additions and 118 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d24k3glxf7xt4"
path="res://.godot/imported/FG_Marketplace.png-44bb1301a91d0a5f6f9519ce316c9fed.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/tiles/FG_Marketplace.png"
dest_files=["res://.godot/imported/FG_Marketplace.png-44bb1301a91d0a5f6f9519ce316c9fed.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1