reshaper

reshaper · output

RESHAPER is a coordinate-remap video processor that emulates a CRT raster scan whose horizontal and vertical sweeps are patchable instead of fixed. For every output pixel it reads a horizontal coordinate from the X field and a vertical coordinate from the Y field (the red channel of each mono-video texture), then samples the Z source video at that remapped position. With X and Y unpatched it falls back to identity ramps (screen-u, screen-v), so Z passes straight through like a normal display. Feed X/Y from shaped ramps (e.g. SHAPEDRAMPS folds, triangles, or radial fields) and the source video is rebuilt inside that deformed coordinate space — folded, mirrored, or circularised. On top of the field remap, the source's own brightness at each screen pixel pushes the lookup: luma above mid-grey lifts, below pushes back, scaled by X Disp / Y Disp — the classic Rutt/Etra "raised terrain" displacement. The final color is multiplied by Intensity and the R/G/B tint. Usage: patch a video into Z for a quick scanline display; drive X and/or Y from a ramp generator to warp it, or just dial X Disp / Y Disp for a luma-relief effect from Z alone. Output is a standard video texture, so chain it downstream (e.g. LINES into RESHAPER into MONOGLITCH). There is a live preview screen showing the remapped output, and two switches beside it that do opposite things: SCREEN turns the preview off to reclaim its space (the module goes on rendering either way), and MONITOR hides the control bands so the picture has the whole plate to itself - drag the bottom-right corner to size it, and click MONITOR again to bring the controls back. Either way it is a viewport only; neither changes the output resolution.

RESHAPER is a coordinate-remap video processor that emulates a CRT raster scan whose horizontal and vertical sweeps are patchable instead of fixed. For every output pixel it reads a horizontal coordinate from the X field and a vertical coordinate from the Y field (the red channel of each mono-video texture), then samples the Z source video at that remapped position. With X and Y unpatched it falls back to identity ramps (screen-u, screen-v), so Z passes straight through like a normal display. Feed X/Y from shaped ramps (e.g. SHAPEDRAMPS folds, triangles, or radial fields) and the source video is rebuilt inside that deformed coordinate space — folded, mirrored, or circularised. On top of the field remap, the source's own brightness at each screen pixel pushes the lookup: luma above mid-grey lifts, below pushes back, scaled by X Disp / Y Disp — the classic Rutt/Etra "raised terrain" displacement. The final color is multiplied by Intensity and the R/G/B tint. Usage: patch a video into Z for a quick scanline display; drive X and/or Y from a ramp generator to warp it, or just dial X Disp / Y Disp for a luma-relief effect from Z alone. Output is a standard video texture, so chain it downstream (e.g. LINES into RESHAPER into MONOGLITCH). There is a live preview screen showing the remapped output, and two switches beside it that do opposite things: SCREEN turns the preview off to reclaim its space (the module goes on rendering either way), and MONITOR hides the control bands so the picture has the whole plate to itself - drag the bottom-right corner to size it, and click MONITOR again to bring the controls back. Either way it is a viewport only; neither changes the output resolution.

the faceplate

reshaperxmono-videoymono-videozvideointensitycvxDispcvyDispcvoutvideoaudiocvgatepitch
6 inputs · 1 outputs · 6 params

inputs

idcablewhat it does
xmono-videoX — mono-video horizontal coordinate field. Its red channel replaces the linear horizontal scan ramp, so each output pixel reads its source u from this texture. Unpatched, it defaults to the identity ramp (no horizontal remap); patch a shaped ramp here to fold, mirror, or warp the image along X.
mono video stream
ymono-videoY — mono-video vertical coordinate field. Its red channel replaces the linear vertical scan ramp, supplying the source v for each output pixel. Unpatched, it defaults to the identity ramp (no vertical remap); patch a shaped ramp here to deform the image along Y.
mono video stream
zvideoZ — source video to be remapped (polymorphic video; mono-video, image, or keys upcast in cleanly). It is sampled at the remapped (X, Y) coordinate. Unpatched, RESHAPER shows flat mid-grey rather than black so a cold-spawned card isn't a void.
RGB video stream
intensitycvintensity — CV input that modulates the Intensity control (linear), scaling the output brightness/contribution of the remapped video.
control voltage (CV); modulates intensity (additive offset — ±1 CV sweeps the full range, centered on the knob)
xDispcvxDisp — CV input that modulates the X Disp control (linear), driving the horizontal luma-displacement amount from automation or another module.
control voltage (CV); modulates xDisp (additive offset — ±1 CV sweeps the full range, centered on the knob)
yDispcvyDisp — CV input that modulates the Y Disp control (linear), driving the vertical luma-displacement amount from automation or another module.
control voltage (CV); modulates yDisp (additive offset — ±1 CV sweeps the full range, centered on the knob)

outputs

idcablewhat it does
outvideoout — the remapped RGB video (the rendered FBO texture, same image shown in the on-card preview). Chain it into any downstream video module.
RGB video stream

params

idlabelrangedefaultcurve
intensityIntensity0..2linear
xDispX Disp-1..1linear
yDispY Disp-1..1linear
tintRTint R0..1linear
tintGTint G0..1linear
tintBTint B0..1linear

controls

controlwhat it does
IntensityIntensity (0..2, default 1) — overall output gain on the remapped video; 0 blacks the output, 1 is unity, above 1 boosts toward clipping (the result is clamped).
Tint BTint B (0..1, default 1) — multiplies the blue channel of the output; lower to remove blue from the tint.
Tint GTint G (0..1, default 1) — multiplies the green channel of the output; lower to remove green from the tint.
Tint RTint R (0..1, default 1) — multiplies the red channel of the output; lower to remove red from the tint.
X DispX Disp (-1..1, default 0) — horizontal luma displacement. Each pixel's source u is shifted by (sourceLuma − 0.5) × this amount, so bright areas of Z push one way and dark areas the other (Rutt/Etra raised-terrain); 0 disables horizontal displacement.
Y DispY Disp (-1..1, default 0) — vertical luma displacement. Each pixel's source v is shifted by (sourceLuma − 0.5) × this amount, lifting bright pixels and pushing dark ones vertically; 0 disables vertical displacement.

source

reshaper.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo