mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-08-16 21:53:23 +00:00
fix(highway_3d): stop the lane at the hit line (#994)
ship-ci / ci (push) Has been cancelled
ship-ci / ci (push) Has been cancelled
The lane maps chart time to z exactly as notes do, over the window [now - BEHIND, now + AHEAD]. That puts its near edge at +TS*BEHIND — BEHIND seconds PAST the hit line, toward the player. Nothing is ever drawn there: drawNote and the chord frames both clamp to Math.min(0, dZ(dt)), so notes stop dead at z = 0. The overhang was therefore lane surface with nothing on it. Clamp the floor geometry's near edge to the hit line. The far edge is deliberately untouched — it still lands at -AHEAD*TS, aligned with the note horizon, which is why the span stays AHEAD+BEHIND in the sliced path and the clamp is applied per slice (a slice entirely past the line collapses to zero length and is skipped before the arpeggio probe, so it costs nothing). All four floor sites move together — the sliced lane (which also feeds both divider loops), the fallback lane, its dividers, and the fret boundary extension lines. They shared the identical `+ TS * BEHIND` shift; fixing only some would leave fret lines poking past a lane that now stops. Closes #991 Signed-off-by: Kris Anderson <topkoa@gmail.com>
This commit is contained in:
@@ -212,6 +212,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
engine (`app.js`, `highway.js`, `playSong`, `showScreen`, the capability registry).
|
||||
|
||||
### Fixed
|
||||
- **3D Highway: the lane stops at the hit line** (#991) — the highway lane, its
|
||||
dividers, and the fret boundary extension lines ran `BEHIND` seconds *past* the
|
||||
hit line toward the player. Nothing is ever drawn in that strip (notes and chord
|
||||
frames clamp to `Math.min(0, dZ(dt))`), so it read as lane with no notes on it.
|
||||
The floor geometry now ends at the hit line; its far edge is unchanged, still
|
||||
`-AHEAD*TS` at the note horizon.
|
||||
- **Career passports review polish** — the passport tabs and book overlay carry
|
||||
proper ARIA semantics (`aria-selected`/`aria-controls`/`tabpanel`;
|
||||
`role="dialog"` + `aria-modal` with focus moved to the close button on open
|
||||
|
||||
Reference in New Issue
Block a user