handlePointerDown(e, 'scrub')}
onpointermove={handlePointerMove}
onpointerup={handlePointerUp}
onmousemove={handleHoverMove}
onmouseleave={handleMouseLeave}
onwheel={handleWheel}
onkeydown={handleTrackKeydown}
>
{#if app.thumbnails.length > 0}
{#each app.thumbnails as thumb, i}
{/each}
{/if}
{#each keyframes as kf, i}
{#if i > 0}
{@const prevPct = (keyframes[i - 1] / duration) * 100}
{@const kfPct = (kf / duration) * 100}
{/if}
{/each}
{#if app.trimRange}
{/if}
{#if app.trimRange}
{/if}
{#if app.trimRange}
handlePointerDown(e, 'in')}
onpointermove={handlePointerMove}
onpointerup={handlePointerUp}
role="slider"
aria-label="Trim in point"
aria-valuenow={inTime}
tabindex="0"
>
handlePointerDown(e, 'out')}
onpointermove={handlePointerMove}
onpointerup={handlePointerUp}
role="slider"
aria-label="Trim out point"
aria-valuenow={outTime}
tabindex="0"
>
{/if}