Show HN: Consol3 – A 3D engine in the terminal that executes on the CPU

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Consol3

    A graphics engine that executes entirely on the CPU

  • This is really fun, thank you for sharing it!

    Recently, I've personally and professionally been going between TUI and deep 3D (mesh shading FTW) so this was fun to see. Your work is inspiring me to think about how to apply those principles to my own work. There have been other ascii renders but I've not seen anything quite like Consol3.

    I made a half-baked PR with some initial Mac support [1]. I don't have time this weekend but I'll pull on it later -- or maybe somebody here with more low-level Mac skills with me can take a look?

    [1] https://github.com/Victormeriqui/Consol3/pull/37

  • frogmouth

    A Markdown browser for your terminal

  • Textual is not 3d too, but is also great for TUIs.

    Textualize/Frogmouth has a TUI tree control: https://github.com/Textualize/frogmouth

    FWICS browsh

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • carbonyl

    Chromium running inside your terminal

  • supports WebGL over SSH/MoSH

    https://www.brow.sh/docs/introduction/ :

    > The terminal client updates and renders in realtime so that, for instance, you can watch videos. It uses the UTF-8 half-block trick () to get 2 colours from every character cell, thus simulating basic graphics.

    https://github.com/fathyb/carbonyl :

    > Carbonyl originally started as html2svg and is now the runtime behind it.

    Always wondered how brew.sh added the brew sprite there; that's real nice.

    TIL that e.g. Kitty term can basically framebuffer modified Chrome?

    https://github.com/chase/awrit :

    > Yep, actual Chromium being rendered in your favorite terminal that supports the Kitty terminal graphics protocol.

    FWIW Cloudflare has clientless Remote Browser Isolation that also splits the browser at the rendering engine.

    A TUI Manim renderer would be neat. Re: Teaching math with Manim and interactive 3d: https://github.com/bernhard-42/jupyter-cadquery/issues/99

    What would you add to make it easier to teach with this entirely CPU + software rendering codebase?

    What prompts for learning would you suggest?

    - Pixar in a Box, Wikipedia history of CG industry: https://westurner.github.io/hnlog/#comment-36265807

    - "Rotate a wireframe cube or the camera perspective with just 2d pixels to paint to; And then rotate the cube about a point other than the origin, and then move the camera while the cube is rotating"

    - OTOH, ManimML, Yellowbrick, and the ThreeJS Wave/Particle simulator might be neat with a slow terminal framebuffer too

  • awrit

    A full graphical web browser for Kitty terminal with mouse and keyboard support

  • supports WebGL over SSH/MoSH

    https://www.brow.sh/docs/introduction/ :

    > The terminal client updates and renders in realtime so that, for instance, you can watch videos. It uses the UTF-8 half-block trick () to get 2 colours from every character cell, thus simulating basic graphics.

    https://github.com/fathyb/carbonyl :

    > Carbonyl originally started as html2svg and is now the runtime behind it.

    Always wondered how brew.sh added the brew sprite there; that's real nice.

    TIL that e.g. Kitty term can basically framebuffer modified Chrome?

    https://github.com/chase/awrit :

    > Yep, actual Chromium being rendered in your favorite terminal that supports the Kitty terminal graphics protocol.

    FWIW Cloudflare has clientless Remote Browser Isolation that also splits the browser at the rendering engine.

    A TUI Manim renderer would be neat. Re: Teaching math with Manim and interactive 3d: https://github.com/bernhard-42/jupyter-cadquery/issues/99

    What would you add to make it easier to teach with this entirely CPU + software rendering codebase?

    What prompts for learning would you suggest?

    - Pixar in a Box, Wikipedia history of CG industry: https://westurner.github.io/hnlog/#comment-36265807

    - "Rotate a wireframe cube or the camera perspective with just 2d pixels to paint to; And then rotate the cube about a point other than the origin, and then move the camera while the cube is rotating"

    - OTOH, ManimML, Yellowbrick, and the ThreeJS Wave/Particle simulator might be neat with a slow terminal framebuffer too

  • jupyter-cadquery

    An extension to render cadquery objects in JupyterLab via pythreejs

  • supports WebGL over SSH/MoSH

    https://www.brow.sh/docs/introduction/ :

    > The terminal client updates and renders in realtime so that, for instance, you can watch videos. It uses the UTF-8 half-block trick () to get 2 colours from every character cell, thus simulating basic graphics.

    https://github.com/fathyb/carbonyl :

    > Carbonyl originally started as html2svg and is now the runtime behind it.

    Always wondered how brew.sh added the brew sprite there; that's real nice.

    TIL that e.g. Kitty term can basically framebuffer modified Chrome?

    https://github.com/chase/awrit :

    > Yep, actual Chromium being rendered in your favorite terminal that supports the Kitty terminal graphics protocol.

    FWIW Cloudflare has clientless Remote Browser Isolation that also splits the browser at the rendering engine.

    A TUI Manim renderer would be neat. Re: Teaching math with Manim and interactive 3d: https://github.com/bernhard-42/jupyter-cadquery/issues/99

    What would you add to make it easier to teach with this entirely CPU + software rendering codebase?

    What prompts for learning would you suggest?

    - Pixar in a Box, Wikipedia history of CG industry: https://westurner.github.io/hnlog/#comment-36265807

    - "Rotate a wireframe cube or the camera perspective with just 2d pixels to paint to; And then rotate the cube about a point other than the origin, and then move the camera while the cube is rotating"

    - OTOH, ManimML, Yellowbrick, and the ThreeJS Wave/Particle simulator might be neat with a slow terminal framebuffer too

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts