#226 standardize arcade examples on GameApp module layout FIXED#228
Conversation
|
@solidsole Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
salazarsebas
left a comment
There was a problem hiding this comment.
Review — request changes (all CI workflows failing)
The modular split direction is correct (pong with components.rs / systems.rs / test.rs is a good reference), and README rewrites align with the issue intent.
CI blocker — all six examples fail
Every triggered workflow fails at cargo fmt --check:
| Example | Failure |
|---|---|
snake |
Extra closing brace in src/lib.rs (~line 775) |
flappy_bird, geometry_dash, pong, space_invaders, tetris |
Formatting violations |
None of the examples reached cargo test or stellar contract build.
Required fix
Per example:
cd examples/<name>
cargo fmt
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
stellar contract buildScope gaps vs #226
snakeshould be classified Canonical with a completeEXAMPLE_STANDARDREADME; verify all §4 sections are present.- Transitional examples need the banner from
EXAMPLE_STANDARD.md§7. - Add or extend tests for invalid actions and
GameApptick integration where missing.
Verdict
Re-request review after all six examples pass CI end-to-end.
|
DONE... -All transitional templates now explicitly carry the warning banners. -Every single arcade game matches the canonical layout structure (components.rs, systems.rs, and test.rs). -The local tests compile and pass with flying colors under the split-module organization. |
|
PLEASE REVIEW... AND PING ME BACK |
|
@salazarsebas please review... |
|
The workflow keeps failing |
|
@salazarsebas please review... |
Findings
I reviewed the six in-scope arcade examples:
The main issues found were:
Outdated dependency version
README standard mismatch
snakewas referenced as the maintainedGameAppdemonstration, but its README did not satisfyEXAMPLE_STANDARD.md§4.Missing classification banners
Inconsistent module layout
snake,flappy_bird, andgeometry_dashalready had the desired layout:tetris,space_invaders, andpongneeded standard module layout cleanup.Test coverage gaps
GameApptick integrationFix features implemented
Updated dependency version
Updated all six examples to:
Made
snakethe Canonical referenceRewrote:
Added Canonical classification and all required sections from
EXAMPLE_STANDARD.md§4.Marked the other examples as Transitional
Rewrote or updated READMEs for:
Each now includes the required Transitional banner pointing to
snake.Standardized module layout
Added missing standard files:
Refactored older code so:
lib.rsfocuses on contract entrypoints and wiring.components.rscontains component/domain data structures.systems.rscontains reusable gameplay/system helpers.Added test coverage
Added or improved tests for:
GameApptick integrationExamples:
GameApptick smoke tests.Preserved gameplay behavior
The work intentionally avoided gameplay rule changes or feature additions, matching the issue’s out-of-scope requirements.
CLOSE #226