I've been away from the nuclear field for a while, but I imagine it's still using a lot of legacy Fortran codes to do modeling. Fidget has some interesting possibilities as a kernel for a new simulation package.
Fidget
21–30 of 57 posts
Re: Fidget
#22Oh wow. This would have been incredibly useful to have found when I was writing my own implicit-surface drawer. My approach is similar in some ways (interval arithmetic), and different in others (not as optimized, I directly produce GLSL for a fragment shader). Honestly I'm tempted to just toss everything away and replace it with (a reimplementation of) this. Dunno if I should be happy or sad about that.
Re: Fidget
#23I was looking for a live-coding editor (or live preview? hot reloading with visualizer?) for doing creative coding with something like Nannou and after a bunch of searching I came up dry.
Re: Fidget
#24Sorry, tangential but is that rust in the web editor? Do you have a wasm compiler or something? It seems super fast! I was looking for a live-coding editor (or live preview? hot reloading with visualizer?) for doing creative coding with something like Nannou and after a bunch of searching I came up dry.
From the post:
> Fidget includes bindings for Rhai, an embedded scripting language for Rust
Re: Fidget
#25Hi, 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…
You've clearly taken things waaay farther. Nicely done.
Re: Fidget
#26Hi, 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…
How does Fidget differ from libfive and Ao, functionality wise?
Thanks in advance.
Re: Fidget
#27Hi, 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…
Hi Matt, Since you're here I have a quick question. I did not do my homework so please excuse if that's too general or stupid. How does Fidget differ from libfive and Ao, functionality wise? Thanks in advance.
"Ao" was an early codename for libfive, so those are the same thing (at different stages of development).
Fidget is written in Rust, versus C/C++ for libfive. This makes it easier to use as a dependency (in Rust projects) and cross-compile to WebAssembly. Also, I don't have to debug segfaults anymore, except when touching the raw assembly in the JIT.
They both implement a similar set of algorithms (meshing, 2D and 3D rasterization).
Fidget has the potential to be faster due to its JIT, and is faster for 2D / 3D rasterization. (I suspect that the non-JIT interpreter is also faster at rasterization, for architectural reasons)
libfive has more effort put into its meshing algorithms, so it does a better job of handling edge cases (heh). I've heard reports that libfive is faster than Fidget at meshing, but haven't done much investigation.
Fidget is not limited to 2D and 3D functions: it can be used wherever you want to quickly evaluation graphs of math, with arbitrary numbers of inputs and outputs. libfive, on the other hand, is specialized to functions of the form f(x, y, z, *vars) -> v.
Extremely in the weeds: if you know what libfive's "feature"-flavored evaluator is, Fidget doesn't have it.
Re: Fidget
#28Here 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.