Skip to content

fix(W2#14): add spring and moving-platform to timing level-29 - #151

Merged
sv-tmueller merged 1 commit into
mainfrom
feat/138-timing
Aug 16, 2026
Merged

fix(W2#14): add spring and moving-platform to timing level-29#151
sv-tmueller merged 1 commit into
mainfrom
feat/138-timing

Conversation

@sv-tmueller

Copy link
Copy Markdown
Owner

Summary

Fix W2#14 (timing, level-29.json) by adding spring and moving-platform mechanics to make the exit reachable.

Problem

Level-29 ("timing") has a 4-row vertical gap (spawn row 9, exit row 5). The player's max jump rise is 2 tiles, and the exit tile at (17, 5) has no floor beneath it — making the level unreachable.

Solution

Added two mechanics entries:

  1. Boost spring at tile (8, 9) — impulseY: -440

    • Rise: 440² / (2 × 900) / 16 ≈ 6.7 tiles, easily clearing the 4-row gap
    • Provides an alternate boosted route from the spawn floor to upper platforms
  2. Moving platform from (17, 9) → (17, 5) — vertical lift

    • Makes both endpoint tiles standable via the validator's extraStandable mechanism
    • Rides the player from the ground floor directly to the exit row

Validation

  • ✅ Reachability validator: exit reachable (BFS finds path spawn → row 9 traversal → (17,9) → platform ride → (17,5) = exit)
  • ✅ All 1340 tests pass
  • ✅ Typecheck clean
  • ✅ Lint clean

Closes #138

Add mechanics to level-29.json (timing) to make the exit reachable:
- Boost spring at col 8, row 9 (impulseY -440, ~6.7 tile rise) bridges
  the 4-row vertical gap from the spawn floor to upper platforms
- Moving platform from (17,9) to (17,5) lifts the player to the exit
  row, making the floating exit tile standable

Both mechanics are modeled by the reachability validator BFS. Verified
all 1340 tests pass, typecheck clean, lint clean.

Closes #138
@vercel

vercel Bot commented Aug 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pitfall Ready Ready Preview Aug 16, 2026 7:23am

@sv-tmueller
sv-tmueller merged commit a8d65e7 into main Aug 16, 2026
6 checks passed
@sv-tmueller
sv-tmueller deleted the feat/138-timing branch August 16, 2026 07: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.

feat(levels): fix W2#14 timing (springs + moving terrain)

1 participant