Prompted by a comment on Paul Ford’s piece "The Web Is More Than Enough" on Hacker News, a developer created a Nudibranch‑themed Fabergé egg 3D model this morning using Three.js. The author posted a preview of the Three.js version; the uploaded preview was about 77 KB in size.
In the same thread, the author then asked Claude — specifically the Claude Opus 5.5 Medium model running in the regular Claude Chat environment — to port that Three.js model to plain (Vanilla) JavaScript using WebGL, without relying on Three.js. Claude produced a Vanilla JS version as well; the preview of that output was about 98 KB.
The author notes the two versions are not identical and points to the Claude transcript for details about the differences. They say they do not fully understand why the outputs diverged, but the experiment shows that Claude Opus 5.5 is capable of generating 3D modeling code for Vanilla JS + WebGL without using the Three.js library.
When glancing at the source, the author finds the Three.js implementation slightly easier to read, though they also note they rarely inspect the real source of 3D projects closely, so that readability difference is not a major concern.
In short: this hands‑on test demonstrates Claude Opus 5.5 can port a Three.js 3D model into a native JavaScript/WebGL implementation, producing a working but not perfectly identical result.
Involved people and technologies
- Paul Ford (author of the Hacker News discussion starter)
- Claude (Opus 5.5 Medium model, used via Claude Chat)
- Three.js (original 3D framework)
- Vanilla JavaScript and WebGL (target platform for the port)
(Source: the author’s own post and the accompanying previews and Claude transcript.)



