feat(packages): ludic.hints - a rail of things that are true now and can be acted on now: cards as an open registry (urgency, a glyph or an item's picture, the chip's line, three steps and how not to be here again) asked through a port whether each is true, the most urgent few once a pass in registry order within an urgency, a card opened off the rail, walked along it and put down when its subject stops being true, and "I know this" muting kept by the card's key (a key this build lacks is carried through); opened, closed, muted and unmuted as facts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-25 09:36:10 +03:00
parent 1005a677f2
commit fe9d28bf4e
12 changed files with 540 additions and 0 deletions

View file

@ -0,0 +1,8 @@
# port.ludic - what the rail asks the game. Unbound: nothing is ever true, and the rail may show.
export port HintsWorld {
true_now: fn(int) -> bool = fn hn_never # is card i true right now? Pure and cheap: asked once a pass
showing: fn() -> bool = fn hn_yes # the rail is wanted (in play, the player's switch on)
}
function hn_never(i: int) -> bool { return false }
function hn_yes() -> bool { return true }