Skip to content

wranngle/ORBFORGE

Repository files navigation

ORBFORGE

burning rings · glassy globes · plasma cores · 3D wireframe sculptures · live WebGL console · 40 parameters · seeded randomize · 12 built-in presets · transparent animated WebP + GIF export

AI agent avatar synthesizer: shape an orb, download the loop

Features | Presets | Grab an orb | Getting started | Shortcuts

Free, runs entirely in your browser, no login or account required.

❤️ Sponsor this project ❤️

CI Release License Last commit Contributors

GitHub stars Follow on GitHub


The ORBFORGE console: a living orb rendering live in WebGL beside the 40-parameter control rig

ORBFORGE is a WebGL console that renders a living animated orb — a burning ring, a glassy globe, a plasma core, a 3D wireframe sculpture — and exports it as a transparent animated WebP or GIF, seed and full recipe baked into every file. Dial the 40 parameters by hand, roll a seeded archetype, or start from one of 12 built-in presets; loop durations solve to whole cycle counts, so every export repeats without a visible seam. It is a static page with no build step, no server, and no account.

🔥 Features

  • 🔆 Live WebGL preview: seven surface texture styles (smoke, ridged filaments, plasma cells, banded rings, woven threads, stipple dots, wire lattice) that wrap a true 3D sphere via longitude/latitude — spinning dot, wire, and ring matrices — plus torus and sphere lighting, a volumetric core with radial plasma filaments, orbiting tracers, adjustable playback speed, glow, chromatic aberration, and a video-player transport (play, pause, scrub, speed, fullscreen) over the render.
  • 🎛️ 40 parameters in seven groups, each with a slider, hold-to-repeat steppers, and a typeable value field. Hovering a parameter draws a pink marching-ants marquee around the exact region of the render it controls, tracked live by the shader.
  • 🎲 Seeded, archetype-weighted randomize: each roll picks a coherent archetype (comet ring, plasma ball, glassy sphere, wire mesh, lit sculpture, thick aura) with correlated parameter ranges, so distinct species emerge instead of uniform noise. Every roll stamps a human-readable seed (plasma-4f2a) that deterministically rebuilds the same orb.
  • 🧅 Preset overlays: stack up to 3 presets additively above the base orb for composite looks; overlays ride along in the animation and the JSON.
  • 🖼️ Transparent by default: true alpha out of the box, or bake in a solid or gradient backdrop with hex-precise colors.
  • 📤 Animated WebP + GIF export: browser-native WebP encoding muxed into a transparent animated file, plus a built-in median-cut, Floyd-Steinberg, LZW GIF encoder for universal playback. A target-file-size auto-tuner picks resolution, fps, and quality to fit a byte cap; the size estimate updates live; the finished file previews in-dialog.
  • 💾 12 built-in presets plus user presets saved to localStorage, with undoable delete.
  • 🧾 Event log: every action emits an ECS-shaped JSONL record you can copy or download as .jsonl.

🎨 Preset gallery

All twelve built-in presets rendered by the engine, from Ember comet to Obsidian sculpt

12 built-ins, one dropdown.

📦 Grab an orb

All 12 built-ins ship pre-exported as animated WebPs on the latest release; seven preview below. Drop one straight into a chat avatar, an agent UI, or a README.

Orb Preview Size Frames
My default My default orb 3.9 MB 151
Ember comet Ember comet orb 3.4 MB 137
Solar flare Solar flare orb 590 KB 121
Plasma ring Plasma ring orb 1.9 MB 91
Ghost trail Ghost trail orb 4.0 MB 163
Whisper thread Whisper thread orb 2.6 MB 126
Supernova Supernova orb 539 KB 151

Every orb above is a real engine export.

🚀 Getting started

  1. Clone and serve

    git clone https://github.com/wranngle/ORBFORGE && cd orb_forge
    python3 -m http.server 8080
  2. Open http://localhost:8080, pick a preset or hit RANDOMIZE, then click EXPORT ANIMATION.

Or skip the clone: the same page is live at orbforge.wranngle.com.

WebGL is required for the preview; WebP export uses browser-native WebP encoding (Chrome, Edge, or a recent Firefox), and Safari falls back to the built-in GIF encoder.

🎮 JSON I/O and shortcuts

Control Action
⌘/Ctrl + Z Undo
⌘/Ctrl + Shift + Z, or ⌘/Ctrl + Y Redo
Space Play or pause
F Fullscreen
JSON copy, download, paste Full parameter config out, full config back in
Seed dialog Re-enter any seed (plasma-4f2a) to rebuild the exact orb; seeds are also stamped in the export JSON

🌐 Where an orb goes

A finished orb is a small transparent looping image, so it goes anywhere one does.

Agent avatars
a face for your AI agent's idle and thinking states
Chat UIs
profile pictures that move in Slack, Discord, Teams
Loading states
a looping indicator in place of a spinner
Stream overlays
OBS and Twitch talking or brb badges
README headers
the glowing-glyph treatment this page uses
...anywhere an image goes
the export is a plain file

Named surfaces are usage examples, not integrations.

⭐ Star history

GitHub stars

View the interactive star history, drawn live even while star-history's image API is down.

License

MIT © Wranngle Systems LLC. See LICENSE.

About

WebGL synthesizer for a burning comet-ring orb: 34 live parameters plus transparent animated WebP export.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors