Missing events: Transform emits none and does not count steps; SetController, Hide, Detach and vars emit nothing #18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
How it was found
Code review of the omniastra repo (findings supplied by the user, 2026-10-06). No file:line given. Not re-verified by me in this session.
Confidence it is a bug
Medium. Clear from reading, but whether silence is intended for these effects is a design question.
Explanation
Transformhas no event and does not count toward steps.SetController,Hide,Detachand variable changes emit no events either. Triggers cannot react to them and step limits do not bound loops through them.Suggested fix
Emit events for these effects and count them as steps, or document them as intentionally silent.
Fixed on local branch fix/review-findings in
5562b2f(not pushed yet), with a design decision for you to confirm: I did not add new event kinds (the observation has a fixed 32-slot event vocabulary and new kinds would change every game's history). Instead Transform, SetController, Hide, Detach, Reveal and Attach now spend a step per object (so the step budget bounds them), and the silent effects (Transform, SetController, Hide, Detach, SetVar, ModVar) are documented as intentionally silent in ir.rs and DESIGN.md. Test transform_spends_steps_so_it_cannot_dodge_the_budget fails on the old code. If you want events for them, that is a follow-up.Decision recorded: keep these effects silent and documented, with step accounting (already in the PR). Reasons: new EventKinds would shift the fixed 32-slot event vocabulary in the observation and change every game's history, and no current game or generator has a trigger on Transform, SetController, Hide, Detach or variable changes. Revisit if a game family needs such triggers. Included in PR #25.