Skip to content

Runtime: Bevy 0.20 adventure state machine and playable desktop fixture - #2

Merged
WilliamRagstad merged 5 commits into
codex/scene-formatfrom
codex/adventure-runtime
Oct 25, 2026
Merged

WilliamRagstad merged 5 commits into
codex/scene-formatfrom
codex/adventure-runtime

Conversation

@WilliamRagstad

Copy link
Copy Markdown
Member

Make validated scenes playable with a deterministic adventure state machine and native Bevy UI. The Last Light can now be completed by collecting the fuse, learning the repair instructions, unlocking the lantern, fitting the fuse and lighting the beacon.

Pin Bevy 0.20.0 (Rust 1.97.1+) and keep the default build headless. The optional desktop feature provides labeled, normalized hotspot rectangles, inventory, modal dialogue choices, room transitions, number-key controls and the terminal ending. The Bevy plugin processes commands in order; rejected actions leave state unchanged. Original Bevy 0.6 templates are updated.

Validation on this branch independently: cargo test --locked (13 tests), cargo clippy --locked --all-targets --all-features -- -D warnings, and formatting passed. Tests cover the complete ending, recovery without the fuse, one-shot actions, dialogue history, hit testing and headless Bevy integration.

Play: cargo run --locked --features desktop --example last_light.

Second of three stacked changes; depends on #1 and targets its branch. Retarget to main after #1 merges. Save/load and the recorded walkthrough follow in the third PR.

@WilliamRagstad
WilliamRagstad marked this pull request as ready for review October 25, 2026 17:23
@WilliamRagstad
WilliamRagstad merged commit cf6a461 into codex/scene-format Oct 25, 2026
2 checks passed
@WilliamRagstad
WilliamRagstad deleted the codex/adventure-runtime branch October 25, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant