rimlike/scenes/ai
megaproxy d98d2c2425 Renewable resources: tree growth + WildGrowth + Quarry on BigRockNode
Trees: 4 growth stages (Sapling→Young→Growing→Mature), only Mature
yields wood. WildGrowth ticker fires every in-game hour; rejection-
samples grass tiles and plants a sapling with ~30% probability (capped
at MAP_TREE_LIMIT=60). New `paint_plant_tree` designation lets the
player manually plant — ghost sapling registered as a build_site that
ConstructionProvider fulfils. Stage round-trips through save/load.
Initial seed mixes 4 saplings + 6 mature so growth is visible day 1.

Quarry: new BigRockNode entity (2×2 permanent stone outcrop, never
depletes). 3 nodes seeded far from cabin. New QuarryWorkbench
(extends Workbench, auto-FOREVER `quarry_stone` bill, recipe drops
1 stone per 300 work-ticks). New `paint_quarry` designation only
accepts BigRockNode tiles. CraftingProvider now supports recipes
with `ingredient_count == 0` — skips ingredient-fetch and goes
straight to walk+craft toils. Recipe gains `ingredient_count` field
(defaults 0). Save/load layering: big_rock_node spawns at priority 0
(same as rock/tree), quarry_workbench at priority 2 (after the node).

UI: Plant tree + Build quarry buttons added to Build drawer.
build_drawer_thumb gains `plant_tree` (sapling sprout in dirt) and
`paint_quarry` (stone block + chisel + cut-stone pile) shapes.
inspect_tooltip recognises BigRockNode + shows tree growth stage on
hover.

Delegation: gdscript-refactor (Sonnet ×2) for trees full impl +
quarry skeleton; quick-edit (Haiku) for CraftingProvider no-ingredient
plumbing + TopBar polish; integration handled on Opus.
2026-05-16 16:36:16 +01:00
..
bill.gd
bill.gd.uid
chop_provider.gd Chop/mine designation gate + reachability gates on Doctor & Eat 2026-05-15 14:53:50 +01:00
chop_provider.gd.uid
cleaning_provider.gd Job: target_node claim so pawns don't cluster on the same target 2026-05-12 13:45:44 +01:00
cleaning_provider.gd.uid
construction_provider.gd ConstructionProvider: skip unreachable build sites 2026-05-15 15:09:19 +01:00
construction_provider.gd.uid
crafting_provider.gd Renewable resources: tree growth + WildGrowth + Quarry on BigRockNode 2026-05-16 16:36:16 +01:00
crafting_provider.gd.uid
decision.gd Decision: remove rest from NEEDS_CATEGORIES so work fires before fallback 2026-05-12 13:37:21 +01:00
decision.gd.uid
doctor_provider.gd Chop/mine designation gate + reachability gates on Doctor & Eat 2026-05-15 14:53:50 +01:00
doctor_provider.gd.uid
eat_provider.gd Chop/mine designation gate + reachability gates on Doctor & Eat 2026-05-15 14:53:50 +01:00
eat_provider.gd.uid
hauling_provider.gd Hauling/JobRunner: fail unreachable walks; pre-check haul reachability 2026-05-12 13:58:47 +01:00
hauling_provider.gd.uid
job.gd Job: target_node claim so pawns don't cluster on the same target 2026-05-12 13:45:44 +01:00
job.gd.uid
job_runner.gd Hauling/JobRunner: fail unreachable walks; pre-check haul reachability 2026-05-12 13:58:47 +01:00
job_runner.gd.uid
mine_provider.gd Chop/mine designation gate + reachability gates on Doctor & Eat 2026-05-15 14:53:50 +01:00
mine_provider.gd.uid
plant_provider.gd Job: target_node claim so pawns don't cluster on the same target 2026-05-12 13:45:44 +01:00
plant_provider.gd.uid
quality.gd
quality.gd.uid
recipe.gd Renewable resources: tree growth + WildGrowth + Quarry on BigRockNode 2026-05-16 16:36:16 +01:00
recipe.gd.uid
recipe_catalog.gd Renewable resources: tree growth + WildGrowth + Quarry on BigRockNode 2026-05-16 16:36:16 +01:00
recipe_catalog.gd.uid
rest_provider.gd
rest_provider.gd.uid
sleep_provider.gd
sleep_provider.gd.uid
status.gd
status.gd.uid
status_catalog.gd
status_catalog.gd.uid
thought.gd
thought.gd.uid
thought_catalog.gd
thought_catalog.gd.uid
toil.gd
toil.gd.uid
wolf_spawner.gd
wolf_spawner.gd.uid
work_provider.gd
work_provider.gd.uid