행이나 열마다 시간을 다르게 샘플링해 이미지를 물결치듯 늘이고 휘게 하는 효과Each row or column is sampled at a different time so the image stretches and curves like a wave.
이미지의 각 행이 2ms씩 늦게 샘플링되어 1.2초 동안 위에서 아래로 물결이 퍼지며 서서히 원본으로 돌아온다
지연을 전 행에 균일하게 주어 단순 이동으로 보이거나, 2초 이상 유지해 원본이 계속 왜곡된다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 행 시간차 | 2ms | 1~4ms | 행 index x 시간차 |
| 지연 감소 | 1200ms | 800~1800ms | 지연이 0으로 수렴 |
| 프레임 버퍼 | 72프레임 | 48~96프레임 | 약 3초 분량 링버퍼 |
| 방향 | 위에서 아래 | 상하/좌우 | 슬릿 축 |
| 곡선 | sine | sine/linear | 행 지연 분포 |
// 링버퍼 frames[]에 최근 프레임 저장, 행 y는 지연 d(y)만큼 과거 프레임에서 복사
for(let y=0;y<H;y++){ const d=Math.round((y/H)*maxDelay*(1-p)); // p: 0..1
ctx.drawImage(frames[(head-d+N)%N],0,y,W,1,0,y,W,1);}
// 정적 이미지면 행마다 sin(y*0.02+t)*amp*(1-p) 만큼 x 이동으로 근사그대로 붙여 넣는다Paste as is
<이미지>에 슬릿 스캔 효과를 넣어줘. 캔버스에서 각 행 y마다 sin(y*0.02+t)로 만든 x 이동을 주되, 진폭을 60px에서 0으로 1.2초 동안 power2.out으로 줄여 원본으로 돌아오게 해. 위에서 아래로 위상이 2ms씩 늦어지는 느낌으로 행 위상차를 줘. 난수 없이 progress 순수 함수로 그려 seek 가능하게 해.
Add a slit-scan effect to <image>. On a canvas, shift each row y in x by sin(y*0.02+t), with amplitude decaying from 60px to 0 over 1.2s using power2.out so it returns to the original. Give rows a phase lag from top to bottom of about 2ms each. No randomness; draw as a pure function of progress so it is seekable.
<파일>에 slit-scan 캔버스 근사를 구현해. 행 위상 sin(y*0.02+t), 진폭 60px에서 0, 지속 1200ms, ease power2.out. 0초, 0.4초, 0.8초, 1.3초를 캡처해 물결이 위에서 아래로 퍼지는지, 진폭이 줄어드는지, 1.3초에 원본과 픽셀 일치하는지 확인해.
Implement a slit-scan canvas approximation in <file>: row phase sin(y*0.02+t), amplitude 60px to 0, duration 1200ms, ease power2.out. Capture at 0s, 0.4s, 0.8s, and 1.3s to verify the wave travels top to bottom, amplitude shrinks, and 1.3s matches the original pixel for pixel.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo