Live data from Hacker News

Fidget

mattkeeter.com

51–57 of 57 posts

Re: Fidget

#51

Here is a thought experiment. What if 3D printers support implicit representation natively. Resin printers are basically physical marching cube machines. FSM would need an algorithm for following contours but should be doable.

Relatedly, here’s a slicer built around Fidget https://github.com/Wulfsta/WeekendSlicer/tree/main

Re: Fidget

#52
> Doing brute force evaluation on 1024² pixels, the bytecode interpreter takes 5.8 seconds, while the JIT backend takes 182 milliseconds – a 31× speedup!

> Note that the speedup is less dramatic with smarter algorithms; brute force doesn't take advantage of interval arithmetic or tape simplification! The optimized rendering implementation in Fidget draws this image in 6 ms using the bytecode interpreter, or 4.6 ms using the JIT backend, so the improvement is only about 25%.

I love how this is focused on how the JIT backend is less important with the algorithmic optimizations, and not on how the algorithmic optimizations give a 1000x improvement with bytecode and 40x with JIT.

Re: Fidget

#53

A bit of a tangent, but I've been shopping around for the best code based CAD software. I gave cad query a shot and had a few issues. Any recommendations? My use case is 3D printing.

From the other comment/video:

For people who don't like opening videos:

* OpenSCAD

* DSLCAD

* CadQuery

* Build123d

* Cascade Studio

* Declaracad

* Replicad

Re: Fidget

#54
post #51

Here is a thought experiment. What if 3D printers support implicit representation natively. Resin printers are basically physical marching cube machines. FSM would need an algorithm for following contours but should be doable.

Relatedly, here’s a slicer built around Fidget https://github.com/Wulfsta/WeekendSlicer/tree/main

Still very early work, mind you! This is mostly a proof of concept in its current state, but I will add more features if Fidget gets a 2D equivalent to Mesh, so I don’t have to worry about path extraction from meshes. Thanks for the mention! :)

Re: Fidget

#55
post #17

Hi, this is my project :) I particularly love this corner of CS because there's something for everyone – data structures and algorithms, low-level performance work, compilers, rendering / computer graphics, UI/UX for design tools, GPGPU programming, and more! I'll be answering questions in the threads as I see them, but feel free to connect on social media ( https://mattkeeter.com/links/ ) or follow my blog's RSS fee…

This is really great, thank you for doing this. Tangentially, while browsing through your blog I found this: https://www.mattkeeter.com/projects/machined-pen/the_plan.jp... This illustrates beautifully an idea that's been rattling around in my head for a while: what if the process you went through to design this manufacturing plan was the user facing cad api? When I approach a "making" problem--whether it's carpentry…

>What sequence of operations do I need to perform to achieve the desired end result? The "cad api" (literally an api in the case of code cad tools or the visual representation thereof in traditional mouse driven interfaces) does not work this way, and forces me to think about how to represent the finished shape not about how I'll actually make it.

Im not sure about CLI tools but I'd say that most parametric design (ie fusion, solidworks) software have robust DFM features as it is. Many softwares have a timeline that represents a series of steps taken to create your intended part. In fusion you can set up your project for Milling, sheet metal, or 3d printing and modify the tool paths and bends in suite.

Not sure what software you are using but I would step away from CLI of free tools if you are serious about parametric modeling

Re: Fidget

#56
post #55

Earlier quoted context omitted.

This is really great, thank you for doing this. Tangentially, while browsing through your blog I found this: https://www.mattkeeter.com/projects/machined-pen/the_plan.jp... This illustrates beautifully an idea that's been rattling around in my head for a while: what if the process you went through to design this manufacturing plan was the user facing cad api? When I approach a "making" problem--whether it's carpentry…

>What sequence of operations do I need to perform to achieve the desired end result? The "cad api" (literally an api in the case of code cad tools or the visual representation thereof in traditional mouse driven interfaces) does not work this way, and forces me to think about how to represent the finished shape not about how I'll actually make it. Im not sure about CLI tools but I'd say that most parametric design (i…

I'm not complaining so much about the lack of features. What I don't like as a cad user is that the modeling interface is basically an evolution of the drafting table. I have to think like a draftsperson rather than simply describing how I'll make the part.

Re: Fidget

#57
post #37

Earlier quoted context omitted.

This wouldn't be an issue if I locked my computer in a safe, but the rest of the system is changing underneath me: I may have a new laptop, a new CMake version, a new Qt install location, etc. Having everything managed through Cargo does a great job of isolating me from those kind of changes.

Just in case you are unaware, these build issues are entirely solvable by defining a Nix flake for your project, resulting in a repeatable, reproducible build every time: https://nixos.org/ https://wiki.nixos.org/wiki/Flakes

> build issues are entirely solvable

Until they're not, at which point if you're not a nix+flake wizard you're completely at sea :)

Post reply on HN