explaingit

sk1ppr/broadsheet

Analysis updated 2026-05-18

46RustAudience · developerComplexity · 3/5Setup · moderate

TLDR

A Rust library for building newspaper styled 2D animations that explain how algorithms and data structures work, exportable as video.

Mindmap

mindmap
  root((Broadsheet))
    What it does
      Algorithm animation engine
      Newspaper visual style
      Records to video
    Tech stack
      Rust
      macroquad
      ffmpeg
    Use cases
      Explainer videos
      Live presentation mode
      Data structure widgets
    Audience
      Developers
      Educators
    Setup
      cargo add broadsheet
      ffmpeg for video export

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build an animated explainer video for how a data structure like a skip list or hash ring works.

USE CASE 2

Present a coding talk in slideshow mode, stepping through animation beats live.

USE CASE 3

Generate a quick low frame rate preview pass to proof read a full animation before final export.

USE CASE 4

Create a themed presentation deck using the built in newspaper, midnight, or plain color themes.

What is it built with?

Rustmacroquadffmpeg

How does it compare?

sk1ppr/broadsheetpandorafuture/wx-cliion-elgreco/rivers
Stars464645
LanguageRustRustRust
Setup difficultymoderatehardmoderate
Complexity3/54/54/5
Audiencedeveloperdeveloperdata

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Rust and cargo, plus ffmpeg installed separately if you want to export to video instead of PNG frames.

The README does not state the license terms directly, only a badge linking to a LICENSE file.

In plain English

Broadsheet is a Rust library for building 2D animations that explain algorithms and data structures, styled to look like the pages of an old newspaper: off white paper, ink colored strokes, a single spot color, serif headlines, and monospace data. It is built on top of a graphics library called macroquad and is meant for people making explainer videos about how code works. You write a movie as Rust code. First you declare a starting scene made of shapes like circles, arrows, and text, some of them hidden at the start. Then you script a sequence of animated beats, such as fading a shape in, moving it, highlighting it, or changing text, either one after another or at the same time. Built in widgets can generate a whole data structure with one function call, including an array, hash table, linked list, tree, graph, hash ring, and skip list, and each returns handles you can then animate. Named roles like Active, Visited, Found, or Deleted map to specific colors so you can talk about algorithm state without hardcoding colors everywhere. While building a movie, running it opens a live preview window with playback controls: pausing, stepping frame by frame, jumping to named section markers, and scrubbing, which is meant to help you line up narration with the animation. A slideshow mode lets the movie pause at marked boundaries so you can present it live, advancing forward or back one step at a time. To turn a movie into an actual video file, you run it with a record flag and it renders at a fixed frame rate, piping frames into ffmpeg if that is installed on your machine, or writing individual PNG frames if not. Several export flags control things like output resolution scaling, a fast low frame rate preview pass, exporting a single still frame, or adding a newsprint style grain and vignette effect to the final video. The library is available as a crate through cargo add broadsheet, and its only dependency outside of Rust itself is ffmpeg, and only when exporting video.

Copy-paste prompts

Prompt 1
Write a broadsheet movie in Rust that animates a linked list insertion.
Prompt 2
Show me how to use the broadsheet slideshow mode to present an algorithm explainer live.
Prompt 3
Help me export a broadsheet animation to an MP4 video using ffmpeg.
Prompt 4
Explain how the Role system in broadsheet maps algorithm states like Visited or Found to colors.

Frequently asked questions

What is broadsheet?

A Rust library for building newspaper styled 2D animations that explain how algorithms and data structures work, exportable as video.

What language is broadsheet written in?

Mainly Rust. The stack also includes Rust, macroquad, ffmpeg.

What license does broadsheet use?

The README does not state the license terms directly, only a badge linking to a LICENSE file.

How hard is broadsheet to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is broadsheet for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.