tempest
tempest · outputTEMPEST (P1) — a Tempest-style vector-tube shooter as a video SOURCE. This phase renders the glowing additive-line "well" (the QuadraScan vector look): a bright near rim ring, a dim far pit ring, and radial lane lines, with the player CLAW riding the near rim. The CV input `rim` (0..1, wraps) drives the claw's position around the rim — the authentic rotary-spinner control, e.g. a gamepad joystick axis — and the SHAPE param picks the tube cross-section (circle / square / star). Every line segment is expanded on the CPU into a glowing quad (1px gl.LINES clamp to a dim, dotted stipple on the real GPU), so the web reads solid + luminous at any orientation. `out` is a normal downstream video texture. Enemies, fire, scoring, the audio-breathing tube and the video-textured surface land in later phases; the pure geometry/projection core lives in tempest-core.ts.
the faceplate
inputs
| id | cable | what it does |
|---|---|---|
rim | cv | CV input for the claw's position around the near rim (0..1, linear, wrapping). This is the authentic rotary-spinner control — a gamepad joystick axis is the intended source. It targets the RIM param directly, so a cable here overrides the on-face control. control voltage (CV); modulates rim (additive offset — ±1 CV sweeps the full range, centered on the knob) |
outputs
| id | cable | what it does |
|---|---|---|
out | video | The additive-line well render: rim ring, pit ring, radial lanes and the player claw, drawn as glowing quads into this node's own framebuffer. With nothing patched in, the picture is still complete — the tube does not need an input to exist. RGB video stream |
params
| id | label | range | default | curve |
|---|---|---|---|---|
rim | Rim | 0..1 | — | linear |
shape | Shape | 0..? | — | discrete |
controls
| control | what it does |
|---|---|
| Rim | RIM (0..1, linear, wrapping, default centred). Where the player claw sits around the near rim of the tube. It WRAPS rather than clamping, so a rising ramp walks the claw round and round. Also the target of the RIM cv jack. |
| Shape | SHAPE (discrete: circle / square / star). The tube's cross-section, which the rim ring, the pit ring and every radial lane are all built from — so this re-draws the entire well, not a detail of it. The names come from the engine's own TUBE_SHAPES list, so the face and the renderer cannot disagree about which tube is which. |
source
tempest.ts on GitHub.