feat: deliver emergent Jajce commitments

This commit is contained in:
Rijad Zuzo
2026-08-12 21:15:58 +02:00
parent dc0f59fcf0
commit 6b50580598
28 changed files with 2145 additions and 206 deletions
@@ -1,8 +1,8 @@
class_name SimulationScalingBenchmark
extends RefCounted
const SCHEMA_VERSION := 2
const WORKLOAD_ID := &"full_fidelity_combatant_headless_arrival_v2"
const SCHEMA_VERSION := 3
const WORKLOAD_ID := &"full_fidelity_emergent_headless_arrival_v3"
const RECENT_FACTS_PER_NPC := 3
const STARTING_CLOCK_TICK := 50
@@ -25,6 +25,14 @@ func prepare_manager(
var no_opportunities: Array[OpportunityStateRecord] = []
manager.relationship_system.restore(no_relationships)
manager.opportunity_system.restore(no_opportunities, 0)
var no_situations: Array[SituationStateRecord] = []
var no_journal_entries: Array[QuestJournalEntryStateRecord] = []
var no_commitments: Array[CommitmentStateRecord] = []
manager.situation_system.restore(no_situations, 0)
manager.quest_journal_system.restore(no_journal_entries, 0)
manager.commitment_system.restore(no_commitments, 0)
manager.conversation_history.clear()
manager._next_conversation_act_id = 0
for npc_id in population:
var npc_random := _create_random_source(seed_value, npc_id, 0)
@@ -83,6 +91,8 @@ func measure_manager(
var start_json: String = manager.serialize_state()
var start_event_count: int = manager.economic_events.size()
var start_known_count: int = manager.event_knowledge_system.get_all_sorted().size()
var start_situation_count: int = manager.situation_system.get_all_sorted().size()
var start_commitment_count: int = manager.commitment_system.get_all_sorted().size()
var start_tick: int = manager.tick_count
var measured_arrivals := 0
var simulation_usec := 0
@@ -134,6 +144,11 @@ func measure_manager(
"events_recorded": manager.economic_events.size() - start_event_count,
"start_known_reference_count": start_known_count,
"end_known_reference_count": manager.event_knowledge_system.get_all_sorted().size(),
"start_situation_count": start_situation_count,
"end_situation_count": manager.situation_system.get_all_sorted().size(),
"start_commitment_count": start_commitment_count,
"end_commitment_count": manager.commitment_system.get_all_sorted().size(),
"conversation_act_count": manager.conversation_history.size(),
"final_checksum": end_json.sha256_text(),
}