holoterm
v1.1.3
Published
Stunning interactive 3D graphics and rotating models in your terminal and web with TrueColor and 60 FPS
Maintainers
Readme
🚀 HoloTerm — 3D Holographic Graphics in Your Terminal & Web
Experience dazzling, interactive 3D graphics rendered live inside your command-line interface & websites!
Powered by a custom software rasterizer with Z-buffering, directional lighting, TrueColor (24-bit RGB) ANSI rendering, mouse drag interaction, and a butter-smooth 60 FPS loop.
⚡ Instant Run (Zero Setup)
Run it instantly anywhere without manually installing:
npx holotermOr pass specific models, themes, and modes directly:
npx holoterm --model cat --theme synthwave🧘 Zen / Screensaver Mode:
Let models and palettes continuously cycle automatically every few seconds:
npx holoterm --zen✨ Features & What Makes HoloTerm Unique
🎮 13 Built-in 3D Geometric Primitives:
- ⚔️ Cyber Katana (Curved samurai blade, kissaki tip, tsuba guard & wrapped hilt)
- 🫖 Utah Teapot (The legendary computer graphics benchmark teapot with spout, handle & lid)
- 🐱 Cyber Cat (Cute low-poly cat with pointy ears and curled tail)
- 🪐 Saturn (Detailed planet with 3 majestic concentric rings & Cassini division gaps)
- 🍩 Donut (Classic Torus)
- 🛸 UFO Flying Saucer (Classic alien saucer with cockpit dome, 8 perimeter lights & tractor beam core)
- 💎 Crystal Gem (Geodesic Icosahedron)
- 🧬 DNA Double Helix (HD 3D dual tubular strands with ladder base rungs)
- 🧊 Cyber Cube (Triangulated 3D Cube)
- ♾️ Torus Knot (Complex 3D topological knot)
- 🚀 Rocket Ship (Retro starship with 4 stabilizer fins)
- 🌐 Globe Sphere (UV Sphere)
- 🔺 Pyramids of Giza (Trio of low-poly Egyptian pyramids)
🖱️ Mouse Drag-to-Rotate in Terminal: Click and drag with your mouse directly in modern terminals (Windows Terminal, iTerm2, Alacritty, Kitty) to rotate 3D objects freely in real time!
📁 Wavefront
.OBJ3D File Loader: Load and rotate your own custom 3D models and assets:npx holoterm --obj ./my-mesh.obj --theme synthwave🎨 9 Dynamic Shaders & Color Palettes:
synthwave— Retro neon magenta, purple & cyan gradientscyberpunk— Cyberpunk 2077 electric yellow & cyanrainbow— Continuous spectrum RGB wavefire— Blazing magma & hot fire gradientice— Cold glacier crystalline bluesmatrix— Falling digital phosphor greengold— Metallic golden lusteraurora— Vibrant polar aurora borealisnormalMap— Real-time XYZ surface normal vector visualizer
🖼️ 4 Live Rendering Modes:
solid— Full TrueColor half-block subpixel rasterizer with Z-buffer & lightingwireframe— Vector glowing neon wireframe meshascii— Retro ASCII luminance shader (.:-=+*#%@)points— 3D particle point cloud
📦 100% Zero Dependencies: Lightweight (~21 KB), blazing fast, and starts up in milliseconds.
🕹️ Interactive Controls (During Playback)
| Control | Action |
|---|---|
| [Mouse Drag] | Click & drag to rotate model freely |
| [Mouse Wheel] / [+] [-] | Zoom in / Zoom out |
| [SPACE] | Pause / Resume automatic 3D rotation |
| [A] | Toggle Zen / Screensaver auto-cycle mode |
| [N] / [P] | Next / Previous 3D model |
| [C] | Cycle color themes & shaders |
| [M] | Cycle render modes (solid ➔ wireframe ➔ ascii ➔ points) |
| [W] [A] [S] [D] / [Arrows] | Manual pitch and yaw rotation |
| [ / ] | Decrease / Increase rotation speed |
| [H] | Toggle HUD information overlay |
| [R] | Reset camera and rotation angles |
| [Q] / [ESC] | Clean exit |
🌐 Embedding in Websites / HTML / React
You can also embed the 3D spinner directly onto any webpage using HTML Canvas:
<canvas id="holo-canvas" width="400" height="400"></canvas>
<script type="module">
import { createWebHolo } from 'holoterm/web';
createWebHolo('#holo-canvas', {
model: 'cat', // 'cat', 'teapot', 'saturn', 'blackhole', etc.
theme: 'synthwave', // 'cyberpunk', 'fire', 'matrix', etc.
speed: 1.0,
interactive: true // allows pointer drag rotation
});
</script>🛠️ CLI Options
USAGE:
holoterm [options]
OPTIONS:
-m, --model <name> 3D Model (cat, teapot, katana, saturn, donut, ufo, gem, dna, cube, knot, rocket, sphere, pyramid)
-t, --theme <name> Color theme (synthwave, cyberpunk, rainbow, fire, ice, matrix, gold, aurora, normalMap)
--mode <mode> Render mode: solid, wireframe, ascii, points (default: solid)
-o, --obj <path> Path to custom Wavefront .obj file
-z, --zen Enable auto-cycling Zen/Screensaver mode
-s, --speed <number> Rotation speed multiplier (default: 1.0)
-f, --fps <number> Target frames per second (default: 60)
-h, --help Show help information📄 License
MIT License © 2026
