Skip to content

News Ticker

The scrolling headline bar of a news broadcast: a label block, headlines sliding right to left between separators, and a clock. Loops perfectly.

Text layer, V4 Titles2DSeamless loop, verified80 lines of codev1.0.0

In Text & data

Next: Glitch TextSurprise me

News Ticker preview
Starting live preview…
00:00:00:00 / 00:00:00:01

Live, running the real source.

Open in the title maker

Your current settings go with it. Combine several clips and hand them over together from your sequence.

Effect controls

Presets

Leave empty for no clock block.

1

The preview runs the same code your AI receives. These settings travel with the hand-off.

Info

What it is

The scrolling headline bar along the bottom of a news broadcast: a coloured label block at the left (BREAKING), a dark bar with headlines that scroll right to left with small separators between them, and a clock at the right. The scroll is a whole number of repeats of the headline strip per loop, so it repeats seamlessly. Type up to three headlines, the label and the clock, choose the theme (breaking, business, sport or mono) and how many strips scroll past per loop.

Reuse it in your own idea

  • Breaking news: Breaking red.
  • Markets: Business blue.
  • Match day: Sport green, fast.

Which part is reusable

src/news-ticker.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses the demo harness only for the demo.

Good to know

  • System fonts differ between computers; pass fontFamily and load the font first for identical renders.
  • The scroll speed follows the strip's length: more headlines scroll faster for the same loop length.

Technical details

Technical details
Implementation
Canvas 2D — plain browser JavaScript, no libraries · ES module src/news-ticker.js
Exports
  • createNewsTicker({ headlines?, label?, theme?, repeats?, clock?, y?, fontFamily? }) => { draw(ctx, info, width, height) }
  • THEMES: { breaking, business, sport, mono }
Dependencies (exact)
  • apw-runtime@1.0.0 (demo) — Demo harness. The reusable source has no dependencies.
How it fits a scene

Coordinates: The bar is centred at 88% of the height and 108 units tall on a 1080 canvas; the label is at the left, the clock at the right, headlines scroll between them.

Lighting: A soft shadow above the bar lifts it off the picture.

Timing: Pure function of info.progress; the strip is measured once.

Output
1080×1080, 30 fps, 10 s · procedural (computed from the frame number) · seamless loop — The headline strip scrolls a whole number of its own lengths per loop, so the last frame meets the first.
Tested
Rendered 300 frames on 2026-10-08 in Chrome 154.0.8037.97 headless on Linux 7.0.0-38-generic (x64), Node 22.14.0 (Canvas 2D). Same frame twice from fresh pages: identical. Loop: Frame 0 vs end state (progress 1): mean |Δ| 0.0000, max |Δ| 0 of 255.
Performance
One fill per headline per frame; negligible. Best with three or four headlines of under about 70 characters each.
Export a video yourself
Download the source, then in the folder: npm install npm run render -- news-ticker/1.0.0 --out my-video.mp4Needs Node 18+, ffmpeg and Chrome/Chromium. Add --params my-settings.json (from Copy settings) for your own settings.
Version
1.0.0 · sha256:7f50d8fdd86eb729…
Files
License
MIT. Copyright (c) 2026 AI Pixel Wizard. Released under the MIT License. See LICENSE in this folder. License details
Provenance
Original code written for AI Pixel Wizard in October 2026, to the catalog quality bar (docs/QUALITY.md).
BinMore like this

Wave Text

Text layer2DSeamless loop6 seconds