Contract-Fed Scheduler Rails for the TD2 SDL Port
Contract-Fed Scheduler Rails for the TD2 SDL Port This checkpoint closes an important bootstrap gap in the SDL port. The runtime already had three promoted scheduler rails: intro_noinput menu_gamep...

Source: DEV Community
Contract-Fed Scheduler Rails for the TD2 SDL Port This checkpoint closes an important bootstrap gap in the SDL port. The runtime already had three promoted scheduler rails: intro_noinput menu_gameplay_entry gameplay_live_race_mid But two of them were still encoded as hardcoded C branches. That was good enough to prove the path, but not good enough to treat the rails as reusable contracts. What changed The non-intro rails now load from a shared contract file: rom_analysis/docs/scheduler_rail_contracts.jsonc That file carries the validated frame windows for: the menu handoff corridor from 1500 -> 2050 the reproducible gameplay seed over 0 -> 11 So td2_scheduler no longer needs embedded anchor tables for menu/gameplay playback. The runtime still uses the callback model for intro, but menu and gameplay now come from versioned contract data. I also tightened the scheduler smoke so it proves more than field values. It now asserts: scheduler.contract_loaded segment_count scheduler_contr