Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Termesh

████████╗███████╗██████╗ ███╗   ███╗ ███████╗███████╗██╗  ██╗
╚══██╔══╝██╔════╝██╔══██╗████╗ ████║ ██╔════╝██╔════╝██║  ██║
   ██║   █████╗  ██████╔╝██╔████╔██║ █████╗  ███████╗███████║
   ██║   ██╔══╝  ██╔══██╗██║╚██╔╝██║ ██╔══╝  ╚════██║██╔══██║
   ██║   ███████╗██║  ██║██║ ╚═╝ ██║ ███████╗███████║██║  ██║
   ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝ ╚══════╝╚══════╝╚═╝  ╚═╝

ASCII STL renderer that runs in your browser.

Live Demo →

Snowflake Demo

What it does

Converts 3D models (.stl files) into ASCII art. Built with C++ compiled to WebAssembly for performance.

You can load preset models or upload your own files. The renderer outputs 240x80 character displays that automatically resize to fit your screen.

Tech

  • C++17 → WebAssembly (via Emscripten)
  • JavaScript ES modules
  • Tailwind CSS

The heavy lifting (STL parsing and ASCII conversion) happens in the WASM module. JavaScript handles file I/O and UI.

Project structure

├── index.html
├── models/              # preset .stl files
├── src/
│   ├── index.js         # Emscripten glue code
│   ├── index.wasm       # compiled C++ binary
│   ├── main.js          # app logic
│   ├── tabs.js
│   ├── wasm-module.js
│   └── dom-utils.js
└── styles/
    ├── main.css
    └── production.css

Running locally

You need a web server (CORS requirements):

python -m http.server

Then open http://localhost:8000

Deploy

Push to GitHub, enable Pages in Settings → Pages, deploy from main branch. Done.

About

ASCII STL renderer for the terminal. Converts 3D models to character art using C++17 and WebAssembly.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages