Tiny4k - Charity Crawford -bouncing Spinner Tus... (2026)

| Module | Approx. Size (bytes) | Description | |--------|----------------------|-------------| | Entry / Loader | 64 | Minimal WinMain/main that sets up a window and OpenGL/DirectX context. | | Math / RNG | 128 | Fixed‑point sin/cos tables, fast pseudo‑random for colour variation. | | Geometry | 256 | Procedurally generated vertex data for the spinner (no vertex buffers needed). | | Renderer | 800 | Vertex shader (GLSL/HLSL) + fragment shader (≈ 500 B) that draws the spinner and implements glow. | | Animation / Physics | 200 | Bouncing logic, spin speed, collision response. | | Audio (optional) | 0–512 | Tiny procedural synth (e.g., 8‑bit square wave) or raw PCM embedded as raw bytes. | | Utilities | 100 | Minimal string handling, error checking. | | Padding / Alignment | 0–256 | For compiler‑specific alignment. | | Total | ≈ 2 KB | Leaves room for extra polish or a larger shader. |

The numbers are illustrative; your actual binary will differ based on compiler, platform, and how aggressively you pack the data.


clang -Os -ffunction-sections -fdata-sections -fno-exceptions \
      -fno-rtti -flto -s -march=native -o tiny4k tiny4k.c \
      -lGL -lX11 -Wl,--gc-sections

Tip: Use the size tool (or objdump -h) after every build to monitor the binary size. Aim for ≤ 4 KB including the embedded shaders. Tiny4k - Charity Crawford -Bouncing Spinner Tus...


| Platform | Compiler | Linker | Shader Language | Build System | |----------|----------|--------|-----------------|--------------| | Windows | MSVC (cl.exe) / MinGW (gcc) | link.exe / ld | GLSL (OpenGL 3.3 core) | NMake / Makefile | | Linux | gcc / clang | ld | GLSL (OpenGL 3.3 core) | Makefile | | macOS | clang | ld | GLSL (OpenGL 3.2) | Makefile |

TL;DR – This guide shows you how to build a tiny (≤ 4 KB) demoscene intro that features a 3‑D “bouncing spinner” visual, in the style of the Charity Crawford demo. We cover the whole pipeline: tool‑chain setup, maths, rendering tricks, memory budgeting, and final size‑tuning. Feel free to adapt the code for any platform (PC‑Windows, Linux, or even bare‑metal) – the core ideas are platform‑agnostic. | Module | Approx


The title "Bouncing Spinner" refers to specific tropes within the industry:

Scene Progression:

"Tiny4k — Charity Crawford — Bouncing Spinner Tus..." appears to be the title or partial title of a short-form video or photo set, likely from a creative or adult-oriented media series focused on very brief, high-resolution clips (the "Tiny4k" prefix suggests 4K micro-content). The phrase combines a performer name (Charity Crawford) with a descriptive scene or prop ("Bouncing Spinner Tus..."), indicating a single-scene release emphasizing motion and visual detail.

If you were to write about Tiny4k and Charity Crawford in a respectful and informative manner, focusing on their professional contributions: Tip: Use the size tool (or objdump -h