feat: expand resource discovery to 18 finite ResourceNodes
Add 6 new resources: farm_crop_01 (farming), berry_bush_river_02 (river bank), berry_patch_mill_01 (mill foraging), tree_forest_grove_01/02 (deep forest), wood_pile_mill_01 (mill stockpile). Extend tests to 18 resources, >=9 food, >=9 wood, >=6 berry, farming context assertion.
This commit is contained in:
@@ -124,13 +124,19 @@ func _run() -> void:
|
||||
"animal_camp_river_01",
|
||||
"berry_bush_01",
|
||||
"berry_bush_02",
|
||||
"berry_bush_river_02",
|
||||
"berry_patch_mill_01",
|
||||
"berry_patch_river_01",
|
||||
"berry_patch_south_01",
|
||||
"farm_crop_01",
|
||||
"tree_01",
|
||||
"tree_02",
|
||||
"tree_forest_grove_01",
|
||||
"tree_forest_grove_02",
|
||||
"tree_north_outskirts_01",
|
||||
"tree_river_resource_01",
|
||||
"tree_south_edge_01",
|
||||
"wood_pile_mill_01",
|
||||
"wood_pile_village_01"
|
||||
],
|
||||
"Jajce resources should preserve all stable and discoverable IDs"
|
||||
@@ -142,6 +148,7 @@ func _run() -> void:
|
||||
var berry_context_count := 0
|
||||
var village_context_count := 0
|
||||
var outskirt_context_count := 0
|
||||
var farming_context_count := 0
|
||||
for resource in resources:
|
||||
var node := resource as ResourceNode
|
||||
var id := String(node.node_id)
|
||||
@@ -157,6 +164,8 @@ func _run() -> void:
|
||||
village_context_count += 1
|
||||
if id.contains("_outskirts_") or id.contains("_edge_") or id.contains("_river_"):
|
||||
outskirt_context_count += 1
|
||||
if id.begins_with("farm_"):
|
||||
farming_context_count += 1
|
||||
metadata_valid = (
|
||||
metadata_valid
|
||||
and node.comfort_distance > 0.0
|
||||
@@ -164,12 +173,13 @@ func _run() -> void:
|
||||
and node.safety_risk <= 1.0
|
||||
)
|
||||
_check(metadata_valid, "Jajce resources should define discovery metadata")
|
||||
_check(food_count >= 6, "Jajce should expose at least six finite food resources")
|
||||
_check(wood_count >= 6, "Jajce should expose at least six finite wood resources")
|
||||
_check(food_count >= 9, "Jajce should expose at least nine finite food resources")
|
||||
_check(wood_count >= 9, "Jajce should expose at least nine finite wood resources")
|
||||
_check(animal_context_count >= 2, "Jajce food discovery should include animal-camp contexts")
|
||||
_check(berry_context_count >= 4, "Jajce food discovery should include berry contexts")
|
||||
_check(berry_context_count >= 6, "Jajce food discovery should include berry contexts")
|
||||
_check(village_context_count >= 1, "Jajce discovery should include at least one village stockpile")
|
||||
_check(outskirt_context_count >= 4, "Jajce discovery should include outskirts/river contexts")
|
||||
_check(farming_context_count >= 1, "Jajce food discovery should include farming contexts")
|
||||
_check(world.has_node("WorldObjects/StorageSites"), "JajceWorld should expose StorageSites")
|
||||
var pantry := world.get_node("WorldObjects/StorageSites/VillagePantry") as StorageNode
|
||||
_check(pantry != null, "JajceWorld should include a typed VillagePantry StorageNode")
|
||||
@@ -235,7 +245,7 @@ func _run() -> void:
|
||||
adapter.pantry_storage = pantry
|
||||
root.add_child(adapter)
|
||||
var food_candidates := adapter.get_resource_candidates(SimulationIds.ACTION_GATHER_FOOD)
|
||||
_check(food_candidates.size() >= 6, "Adapter should expose all authored food candidates")
|
||||
_check(food_candidates.size() >= 9, "Adapter should expose all authored food candidates")
|
||||
var candidate_metadata_valid := true
|
||||
for candidate in food_candidates:
|
||||
candidate_metadata_valid = (
|
||||
|
||||
Reference in New Issue
Block a user