feedBack/tests/js
Byron Gamatos a858617d71
fix(bend): GP8 short-bend curve loss + 2D curve timing + 3D bnv gating (#535)
Post-merge Codex review of the bend-curve PRs (#531/#532) surfaced edge cases:

- GP8 (#531 P2): bnv timing used rn.sustain, which is zeroed for notes <= 0.2s,
  so short GP8 bends kept the scalar bn but lost bt/bnv. Use the beat duration
  `dur` (matching the GP5 path) so the curve survives.
- 2D highway (#532 P2): bnvNormalizedPoints mapped x over the curve's own t-range
  [first,last] instead of the note span, so curves not starting at 0 / ending at
  sus were time-distorted. Now maps over [0, sus] (clamped), with a curve-span
  fallback when sus<=0 (existing no-sus callers unaffected).
- 3D highway (#532 P3): the sustain ribbon + bend chevron were gated on bn>0, so a
  note carrying an authoritative bnv with bn==0 drew no ribbon/marker. Both now
  also fire on bnv presence; chevron steps derived from max(bn, bnv peak).

Codex-reviewed: clean (no findings). +1 JS test (sus-relative mapping + fallback).
JS 8/8, 250 core GP/song tests pass.

NB: GP8's short-bend path still lacks a dedicated synthetic-GPIF fixture (same gap
as the GP8 offset-prop-names P3) — _gpx_bend_shape units cover the function; the
fix is the one-line caller change.

Part of got-feedback/feedback#334.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 00:46:36 +02:00
..
alpha_warning_banner.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
app_tour_library.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_effects_host.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
audio_effects_test_harness.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_element_accessor.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_session_compat.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_session_host.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
audio_session_input.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_session_mix.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
audio_session_monitoring.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_session_routes.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
audio_session_stems_bridge.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_session_stems.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
audio_session_test_harness.js Clean release snapshot 2026-06-16 18:47:13 +02:00
beats_loaded.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_claims.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_diagnostics.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_lifecycle.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_manifest_runtime.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_multi_provider.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_ownership.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_test_harness.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities_versioning.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capability_inspector_nav.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capability_inspector_render.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
diagnostics_summary.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
handshapes_pipeline.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_arp_deferral.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_camera_framing.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_fret_label_render_order.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_fret_row_labels.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_fret_spacing.test.js Improve wording in terminology cleanup 2026-06-16 19:43:45 +01:00
highway_3d_lean_sustain.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_lefty.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_panel_controls.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_pool_warm.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_render_order.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_resize_reframe.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_slide_target.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_smooth_clock_pause.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_sustain_bloom.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_3d_sustain_rail.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_adaptive_scale.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_audio_barrier.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_bend_curve.test.js fix(bend): GP8 short-bend curve loss + 2D curve timing + 3D bnv gating (#535) 2026-06-21 00:46:36 +02:00
highway_chord_render_cache.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_colors_facade.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_filtered_notes.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_monotonic_clock.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_note_state.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_pause_throttle.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_phrases.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_string_colors.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway_visibility.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
juce_engine_reroute.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
legacy_shim_hits.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
library_card_actions.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
live_guitar_tone_source.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
live_performance_hud.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
loop_api.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
loop_restart.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
midi_input_domain.test.js feat(onboarding): input-device setup step + core-owned midi-input domain (#526) 2026-06-19 16:31:16 +02:00
note_detection_domain.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
pedal_cables.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
playback_app_adapter.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
playback_compat.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
playback_diagnostics.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
playback_domain.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
playback_test_harness.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
plugin_style_injection.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
plugins_page.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
progress_calibration.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
settings_autosave.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
song_close.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
song_event_payload.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
song_restart.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
song_seek.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
speed_reset.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00
test_utils.js Clean release snapshot 2026-06-16 18:47:13 +02:00
tour_engine.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
tuner_auto_open.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
tuner_core.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
tuning_display.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
tuning_targets.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
v3_songs_scroll.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
v3_songs_tuning.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
venue_instrument_pov.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
venue_mood_fx.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
venue_scene_3d.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
venue_viz.test.js Clean release snapshot 2026-06-16 18:47:13 +02:00
visualization_domain.test.js Purge external-format terminology from code, tests and docs 2026-06-16 19:36:53 +01:00