diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-05 21:37:14 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-05 21:37:14 +0100 |
| commit | afded2b335a469ac550c345d1676a910a650a988 (patch) | |
| tree | 99d4e0c1ad607841f716832dc0769234cfc9f0e8 /src/gpu/texture_manager.cc | |
| parent | 73b3e19f46a138c89562357d23082c85fd2c0bf3 (diff) | |
fix(timeline-editor): Dynamic sequence bounds, mouse wheel scroll, responsive layout
Bug Fix #1: Dynamic Sequence Start Time
- Sequences now dynamically adjust start position based on earliest effect
- Sequence box shrinks from left when effects move later in time
- Calculate visual bounds: min(effect.startTime) to max(effect.endTime)
- Sequence position: seq.startTime + minEffectStart
- Sequence width: maxEffectEnd - minEffectStart
- Time display shows actual visual start time, not fixed seq.startTime
- Eliminates empty space at sequence start when effects are delayed
Bug Fix #2: Mouse Wheel Horizontal Scroll
- Mouse wheel now scrolls timeline horizontally (natural navigation)
- Prevents default vertical scroll behavior on timeline container
- More intuitive than using horizontal scrollbar
- Smooth scrolling with deltaY mapped to scrollLeft
Bug Fix #3: Responsive Layout
- Container now uses 100% width (was: fixed 1400px max)
- Added window resize event listener to re-render timeline
- Body uses box-sizing: border-box for proper padding
- Timeline recalculates on browser window resize
- Works correctly when going fullscreen
Technical details:
- seqVisualStart = seq.startTime + Math.min(effect.startTime)
- seqVisualEnd = seq.startTime + Math.max(effect.endTime)
- Wheel event uses { passive: false } to allow preventDefault()
- Window resize debouncing not needed (renderTimeline is fast)
Diffstat (limited to 'src/gpu/texture_manager.cc')
0 files changed, 0 insertions, 0 deletions
