lines

lines · sources · schema v1

LINES is a procedural mono-video source that renders soft-edged parallel stripes whose orientation, count, thickness, and scroll you dial in. The shader rotates the UV space by Orient (0 = horizontal lines, 1 = vertical, anything between = diagonal), then computes wave = abs(sin(2pi * Amp * (position + Phase))) along that axis and lights up bright bands wherever the wave falls under the Thickness threshold, with a smoothstep soft edge straddling it. The result is a grayscale grating written equally to all three RGB channels (alpha 1). The pattern auto-scrolls on its own (Phase advances steadily over time, time * 0.15 wrapped to 0..1) so it is visibly alive without touching a knob; your Phase value adds on top of that drift. Patch the OUT into an OUTPUT screen, a video mixer, or a colorizer; use it as a structural test pattern or as a moving modulation texture for downstream video modules.

LINES is a procedural mono-video source that renders soft-edged parallel stripes whose orientation, count, thickness, and scroll you dial in. The shader rotates the UV space by Orient (0 = horizontal lines, 1 = vertical, anything between = diagonal), then computes wave = abs(sin(2pi * Amp * (position + Phase))) along that axis and lights up bright bands wherever the wave falls under the Thickness threshold, with a smoothstep soft edge straddling it. The result is a grayscale grating written equally to all three RGB channels (alpha 1). The pattern auto-scrolls on its own (Phase advances steadily over time, time * 0.15 wrapped to 0..1) so it is visibly alive without touching a knob; your Phase value adds on top of that drift. Patch the OUT into an OUTPUT screen, a video mixer, or a colorizer; use it as a structural test pattern or as a moving modulation texture for downstream video modules.

the faceplate

linesfmmono-videoorientcvampcvthicknesscvphasecvoutmono-videoaudiocvgatepitch
5 inputs · 1 outputs · 5 params

inputs

idcablewhat it does
fmmono-videomono-video FM modulator input. The fmDepth uniform is plumbed but this Phase 0 build does not yet feed the texture into the shader, so patching it has no visible effect for now; the port exists so the I/O surface stays forward-compatible (Phase 3 hookup).
mono video stream
orientcvCV input that modulates the Orient control, rotating the grating between horizontal (0) and vertical (1) through diagonal in between.
control voltage (CV); modulates orient (additive offset — ±1 CV sweeps the full range, centered on the knob)
ampcvCV input that modulates the Amp control, changing how many stripes pack across the screen (the spatial frequency of the grating).
control voltage (CV); modulates amp (additive offset — ±1 CV sweeps the full range, centered on the knob)
thicknesscvCV input that modulates the Thickness control, widening or narrowing the bright bands (the stripe duty cycle).
control voltage (CV); modulates thickness (additive offset — ±1 CV sweeps the full range, centered on the knob)
phasecvCV input that modulates the Phase control, sliding the stripe pattern along its axis on top of the built-in auto-scroll.
control voltage (CV); modulates phase (additive offset — ±1 CV sweeps the full range, centered on the knob)

outputs

idcablewhat it does
outmono-videomono-video output carrying the rendered grayscale line/grating pattern. Route it to an OUTPUT screen, a video mixer, or a colorizer.
mono video stream

params

idlabelrangedefaultcurve
orientOrient0..1linear
ampAmp0.5..50lpxlinear
thicknessThickness0..1linear
phasePhase0..1linear
fmDepthFM Depth0..1linear

controls

controlwhat it does
AmpLine frequency in lines-per-width (lpx), 0.5 to 50 (linear). Higher values pack more stripes across the frame; low values give a few broad bands. Default 12.
FM DepthDepth of the forward-compatible FM modulator, 0 to 1 (linear). The uniform is plumbed but multiplied by 0.0 in this Phase 0 shader, and there is no CV input or card fader for it, so it currently has no visible effect. Default 0.
OrientLine orientation, 0 to 1 (linear). 0 = horizontal lines (the wave varies along Y), 1 = vertical lines (varies along X), intermediate values rotate the grating diagonally through pi/2. Default 0.
PhasePhase offset, 0 to 1 (linear), sliding the stripes along their axis. Added on top of the steady built-in auto-scroll, so the pattern drifts even at 0. Default 0.
ThicknessBand duty cycle, 0 to 1 (linear). It is the threshold below which the wave lights up: 0 = razor-thin bright lines, raising it fattens the bright bands until near 1 the frame goes mostly white. Default 0.35.

source

lines.ts on GitHub.

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