• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

orion-ecs / keen-eye / 30227593377
64%

Build:
DEFAULT BRANCH: main
Ran 27 Jul 2026 12:36AM UTC
Jobs 1
Files 1051
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Jul 2026 12:30AM UTC coverage: 63.898% (+0.2%) from 63.743%
30227593377

push

github

tyevco
fix(samples): Keep the NOVAFALL ball inside the shaft so a lucky fall cannot escape the floors

A player reported getting the ball past the bottom of the screen, falling
below where floors spawn, and then being unable to collide with anything
while the score climbed forever. The run became unloseable.

The escape is reachable in ordinary play: the ball's terminal fall speed
(1100 u/s) far exceeds the fastest the shaft rises (340 u/s), so threading
a few gaps in a row genuinely outruns the shaft. Nothing bounded
position.Y downward, and floors were only ever maintained down to a fixed
screen-space band (ShaftHeight + FloorSpacing), so once the ball was below
that band no floor could ever exist beneath it and CollisionSystem could
never fire again. Depth — and therefore score — accrues from the scroll
speed rather than from the ball, so it kept climbing; CrushSystem only
tests the ceiling, so nothing could end the run. With adversarial
gap-chasing the escape happens within ~3.5 seconds of play.

The fix clamps rather than kills. NOVAFALL's fantasy is that falling is
safety, so killing a player for threading gaps well would invert it. The
original TI-83 behaviour is the right one: the ball rides the bottom of
the shaft and the rising floors sweep up into it, which is self-correcting
and creates tension instead of punishing good play.

- BallMovementSystem: clamp position.Y to Tuning.ShaftHeight - ball.Radius,
  mirroring the existing wall clamp exactly, and zero the downward velocity
  so a bottomed-out ball rests instead of banking speed it can never spend.
  Zeroing (not bouncing) keeps velocity.Y >= 0, which is what
  CollisionSystem's landing test requires, so a floor rising into a
  bottomed-out ball still lands it normally.
- FloorScrollSystem: fill the shaft relative to max(view bottom, ball)
  instead of the view bottom alone, as defence in depth. Floor identity
  stays a pure function of (seed, floorIndex); with the clamp in place the
  view bou... (continued)

8968 of 13251 branches covered (67.68%)

Branch coverage included in aggregate %.

9 of 9 new or added lines in 2 files covered. (100.0%)

9 existing lines in 3 files now uncovered.

53087 of 83864 relevant lines covered (63.3%)

1.0 hits per line

Coverage Regressions

Lines Coverage ∆ File
5
78.07
-3.51% src/KeenEyes.Parallelism/JobHandle.cs
3
69.15
-0.53% src/KeenEyes.TestBridge/Process/ManagedProcess.cs
1
94.57
-0.78% src/KeenEyes.Logging/Providers/FileLogProvider.cs
Jobs
ID Job ID Ran Files Coverage
1 30227593377.1 27 Jul 2026 12:36AM UTC 1051
63.9
GitHub Action Run
Source Files on build 30227593377
  • Tree
  • List 1051
  • Changed 23
  • Source Changed 4
  • Coverage Changed 23
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30227593377
  • f2bc2f55 on github
  • Prev Build on main (#30205636603)
  • Next Build on main (#30292890254)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc