tool: scenariotest: EDN scenario + play-loop harness - #170
Merged
Conversation
Dev-scoped arenas that skip dungeon gen and boot the real play/dispatch loop, so interaction bugs (starting with water+burning / #162) can be reviewed interactively without hunting a seed. Co-authored-by: Cursor <cursoragent@cursor.com>
nnunley
reviewed
Jul 22, 2026
| [(str "scenariotest: " (or (:name sc) "scenario"))] | ||
| (or (:log sc) []) | ||
| (when (:desc sc) [(:desc sc)]))) | ||
| base {:terrain terrain |
Collaborator
There was a problem hiding this comment.
I wonder if this is an indication that we should have a struct or type defined to represent world state, since this sort of empty initialization should be already set up on the default base world state.
nnunley
approved these changes
Jul 22, 2026
nnunley
left a comment
Collaborator
There was a problem hiding this comment.
It does look like there's some common code that should be extracted to avoid duplication and risks of having replicated state, particularly at the base of the world state initialization. That said, this is still non-blocking.
|
This was referenced Jul 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tools/scenariotest.lg+tools/scenariotest/build.lg: load a handcrafted EDN arena (no dungeon gen) and drive it through the realxsofy.play/ dispatch loop.ent/spawn, with regression coverage for overlapping positions.tools/lighttest.lg(isolated TUI), but this one boots the game sim on purpose so turn-order / status / fire paths are faithful.Run
In the TUI, normal game keys (
.wait, movement keys,Esc/Ctrl-Cquit). Unhandled menu screens are dismissed in this draft.Test plan
lg tools/scenariotest.lg --checkprints the arena summary and exits 0--check:burning)Made with Cursor