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

@ -21,17 +21,13 @@ program TracksTest {
placed_last = i
}
bind TracksWorld { now: fn fake_now, skill: fn fake_skill, bearing: fn fake_bearing, placed: fn fake_placed }
function fresh() -> void {
now = 10.0
skill = 1
placed_n = 0
placed_last = -1
let w = new TracksWorld
w.now = fn fake_now
w.skill = fn fake_skill
w.bearing = fn fake_bearing
w.placed = fn fake_placed
tracks_bind(w)
tracks_config(3, 4)
tracks_config_reading(1, 0.5, 2.5)
tracks_reset()