Interesting "vibecoded" in-browser 3D CAD: NASSCAD

Single file, so can be saved locally and the code inspected:

I tried a quick union of a cuboid and two cylinders. It worked. Then I created a cone intersecting all three unioned shapes and tried to subtract it. Fail. Admittedly difficult, but undo is AWOL.

It looks interesting but I’ll stick with FreeCAD for now

Yeah, it suffers from the limitations/failings of most vibe-coded stuff.

EDIT: This is a very difficult problem, so it’s not surprising that an early version has such difficulties. It’s great that the developer is responsive here and working to improve this.

Saved a copy, and maybe some day when I have time, if it’s still relevant I’ll dig through the 12,571 lines of code and figure out EDIT: what I can learn from it.

Hi James , i fix it now . have a good day . step coming soon

Actually, I’m an experienced Assembly, C++, and VB.NET developer. Claude AI just boosts my productivity. Also, just a heads-up, the code is locked under a Creative Commons CC BY 4.0 license. As for the software stack, you can check nasscad.com: it’s a 100% local, single-file HTML app powered by JavaScript, Web Workers, and a robust WebAssembly (WASM) CSG geometry engine (Manifold) under the hood. live long and prosper

Have you sent Emmett Lalish a PR for adding it to his list of users? I don’t see it at GitHub - elalish/manifold: Geometry library for topological robustness · GitHub right now and he invites PRs.

Hi Michael,

Just wanted to say a genuine thank you — I had no idea the proper way to get my contribution officially attributed was through a PR. You took the time to point that out, and that means a lot.

PR #1765 is now open. Fingers crossed Emmett merges it!

I should mention — I’m 56 and still very much in the DOS / PC XT-AT philosophy. My mental model for navigating projects is still somewhere around C:> DIR and CD NASSCAD. Old habits die hard, and honestly I don’t want them to. but starting to love structures and logic of github …

Nasser (Nx-Nass) — NASSCAD

I finally got a moment to go read the original Reddit post.

I think that “vibe-coding” gets thrown around a lot.

My personal opinion is that “vibe-coding” should be used only in its original sense where you don’t care what the LLM yeets into your code base, just yolo it. I don’t think it applies to all LLM usage. Using an LLM to generate code, but applying human judgement to its output and iterating towards a goal of the code being human-readable and human-maintainable, isn’t in the same class of development as letting the stochastic parrot drive the bus.

Agreed.

Unfortunately, a too-hasty reaction is a potential pitfall of modern immediate communications and one which I should better guard against.

@Nasser My apologies if any offense was felt — it was intended as descriptive and I see that that was based on an insufficient examination of the situation.

I’ve edited my post above and look forward to seeing future iterations.

I’m especially glad of this being a single file and would dearly love to see a “Literate Programming” text be made out of it — some folks have put forward that wrapping a program thus makes it easier not just for human developers, but also for AI.