February 26, 2026

Chemistry class meets comment clash

Show HN: Modern Reimplementation of the Speck Molecule Renderer

Molecule glow-up lands, but commenters demand smoother atoms

TLDR: A modern reboot of the Speck molecule viewer brings slick visuals and a streamlined browser engine. Commenters praised the effort but fixated on a 'splotchy' look, pushing a math-first trick (raymarching) for ultra-smooth atoms, while others shared aspirational nods to Illustrate—proof the community cares about beauty and accuracy.

Speck, the old-school molecule viewer, just got a glow-up: a modern rebuild with full-screen visuals, a slick control panel, and a faster pipeline. It’s rewritten in TypeScript and runs on WebGL 2 (a graphics tech for the browser), juggling color and surface details in one pass and adding smarter shadows (AO, or ambient occlusion) with quick smoothing (FXAA, fast anti-aliasing). Translation: prettier molecules, fewer clicks, more wow.

But the comments turned into a lab coat cage match. User zokier drops the biggest hot take: why not use raymarching with SDFs (a math-first way to draw perfect spheres and cylinders)? If molecules are just balls and sticks, math should make them buttery smooth—so why does the demo look “kinda splotchy”? Suddenly it’s Team Pipeline vs Team Pure Math. Meanwhile, flobosg brings wholesome vibes: shout-out to David Goodsell’s Illustrate, a science-art project, and a confession: “meant to try this, didn’t get far,” which the thread turns into a mood meme. The vibe: beautiful nerd art, one loud nitpick, and a whole lot of “I should build this too.” It’s science class meets Reddit drama, and the atoms are not the only things bonding.

Key Points

  • Modern Speck is a TypeScript-based reimplementation of Rye Terrell’s Speck molecule renderer.
  • Rendering upgrades include full-viewport rendering and single-pass color/normal output via MRT.
  • Instanced rendering is used for atoms and bonds to reduce draw calls and improve efficiency.
  • Post-processing uses ping-pong rendering for AO and FXAA, avoiding texture copying.
  • The project uses WebGL 2 with PicoGL.js, is built with Vite, includes a Tweakpane UI, and provides npm dev/build scripts.

Hottest takes

"Shouldn't raymarched sdfs be perfect for this?" — zokier
"the rendering from speck/modernspeck seems kinda splotchy" — zokier
"Nice! I’ve been meaning to do something similar ... but sadly haven’t progressed much" — flobosg
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.