refactor(packages): the mechanic packages use ludic_base only, and ask through ports

ludic.clock, .effects, .inventory, .wallet, .weather and .tracks say
'uses ludic_base' (ludic.base uses nothing). ClockWorld, PackRules,
WeatherWorld and TracksWorld are export ports whose defaults are the old
fallbacks; clock_bind, inv_bind, weather_bind and tracks_bind are gone,
and the tests bind their fakes. The base README's toy does the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-25 05:36:11 +03:00
parent f4062010e9
commit 63e29f024c
31 changed files with 130 additions and 149 deletions

View file

@ -22,16 +22,13 @@ export function tracks_config_reading(name_at: int, fresh: float, recent: float)
}
function tk_now() -> float {
if tk_world == null or tk_world.now == null { return 0.0 }
return tk_world.now()
return TracksWorld.now()
}
function tk_named() -> bool {
if tk_world == null or tk_world.skill == null { return true }
return tk_world.skill() >= tk_name_at
return TracksWorld.skill() >= tk_name_at
}
function tk_bearing(yaw: float) -> string {
if tk_world == null or tk_world.bearing == null { return "" }
return tk_world.bearing(yaw)
return TracksWorld.bearing(yaw)
}