| 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
sizetool (orobjdump -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
Only words with 2 or more characters are accepted
Max 200 chars total
Space is used to split words, "" can be used to search for a whole string (not indexed search then)
AND, OR and NOT are prefix words, overruling the default operator
+/|/- equals AND, OR and NOT as operators.
All search words are converted to lowercase.