PySdfScad VS vite

Compare PySdfScad vs vite and see what are their differences.

PySdfScad

Openscad interpretor written in python and using signed-distance-functions (by traverseda)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
PySdfScad vite
6 791
16 64,913
- 0.9%
10.0 9.9
about 1 year ago about 4 hours ago
OpenSCAD TypeScript
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

PySdfScad

Posts with mentions or reviews of PySdfScad. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-19.
  • CAD Sketcher, free and open-source project bringing CAD like tools to Blender3d
    8 projects | news.ycombinator.com | 19 Feb 2023
    > To clarify, can this method be used as a fully functional replacement to BREP for a mechanical (machine design) CAD system?

    I think so, but there are some open problems. Also it depends on the senior people. Inigo Quilez is a world class expert in this domain, and for the most part we're copying his work, get him on board and you'll be golden.

    Fundamentally it makes sense, BREP is about representing boundaries and you can definitely use SDFs to represent the area under a boundary (infinite SDFs are possible, although obviously you can't turn them in to a mesh). Enclose a volume with boundaries and you can mesh that out just fine. A bit different from CSG-based SDFs, but entirely plausible.

    >what approach would you recommend?

    If I was to do this I'd take the constraint solver from solvespace (same one used in this post) and start using it to generate SDFs. At that point you're already 80% of the way to your end goal.

    I mean if I was personally to do this I'd start by making a system that implements everything openscad can do, try to get some funding going, and than add in a solvespace based workbench for doing 2D cad that you can import into an openscad-ish language. You can see my efforts here: https://github.com/traverseda/PySdfScad

    That's tackling it from a different angle than BREP though. I think that openscad but better is a surprisingly viable thing though, especially if you use it to do things like generate the gears/screws/whatever you import into your BREP based CAD project. Use scriptable CAD as the underpinning for more advances CAD.

    > How long would you estimate it would take for three full time senior developers to get a useful system out?

    Well define "useful"? Honestly I think you can get 80% done in under a month. I built the first pysdfscad in a week or two and replicated 80% of openscad's features. Fogleman built the library I used for pysdfscad in under a month.

    I'd expect something pretty good in under a year at that kind of rate. There would be some outstanding problems, like it would be a challenge to figure out how to apply a fillet/chamfer to an edge, but not an insurmountable challenge. Geometry import is another place where you're going to spend a lot of time/money but is very important.

    So let's say two or three years with three very competent seniors working on it to get a pretty good CAD program, with a GUI.

  • I created an openscad interpreter that supports chamfers and fillets
    1 project | /r/3Dprinting | 17 Feb 2023
  • Show HN: PySdfScad,an openSCAD interpretor using signed-distance-functions
    1 project | news.ycombinator.com | 15 Feb 2023
  • Show HN: PySdfScad, my early work on an openscad interpretor with fillets
    1 project | news.ycombinator.com | 10 Feb 2023
  • Ask HN: What would be your stack if you are building an MVP today?
    47 projects | news.ycombinator.com | 26 Jan 2023
    Depends on exactly what I'm making, the answer is probably different if I'm making like a chat app or something more data centric.

    For something really minimal, an internal tool, I'd probably use grist. Grist is a "no code" spreadsheet program that is open source and works on a relational database. I just threw together an inventory management system for my weekly dnd group in a few minutes, and I've shared it with the group. I find the relational mindset grist uses a lot easier to reason about than traditional spreadsheets.

    The next level up would be django with htmx. Very minimal javascript, I might embed a javascript "applet" like a map into it if needed. This covers 99% of data driven apps.

    If I wanted to build something like say discord I'd probably use a pretty similar stack for the MVP, but with server-sent-events (htmx with server sent events is nice) and web components for more complicated interactions. That's probably why I'm not in charge for building complicated single page webapps with a lot of interdependent state though. I maintain this approach should work but haven't had a real chance to test it in the wild.

    If I'm writing CAD software I'm probably going with QT/python/(numpy/jax/compute-shaders/sympy/etc). Python might not be the fastest, but when you're accelerating it with one of those machine learning libraries it can be really powerful. I've actually been working on something CAD-ish using that stack here: https://github.com/traverseda/PySdfScad

    That's probably roughly the same stack I'd use for things like computer vision, machine learning, etc. Ironically anything where performance is important I'd probably choose python over a compiled language.

    Mind you the QT python documentation is really not great, for a really minimal MVP I might swap qt out for pyimgui which is amazing for rapid prototyping but is going to be a real pain to do things like syntax highlight a text editor or embed HTML content.

    Embedded electronics? Probably micropython on an ESP32 for an MVP. A REPL on your microcontroller is really nice. Robotics I'd probably use buildroot to build a custom linux distro.

    I don't have much experience with mobile development, so I'd probably end up using QT with python and pyqtdeploy, but that's not an approach I'd recommend anyone else follow. I'm keeping an eye on Tauri in that space, although I really wish they made it easier to bundle in things that aren't single page javascript web apps (like a python application).

    So yeah, mostly I'd use python. Master of some trades, jack of a bunch of others, it's flexible and powerful enough that I feel happy to have specialized in it, even if deploying apps to end users can be finicky and annoying. I'd avoid the javascript ecosystem as much as possible, and where I'd have to use javascript I'd prefer to make self-contained web components.

  • GitHub - traverseda/PySdfScad: Openscad interpretor written in python and using signed-distance-functions
    2 projects | /r/openscad | 16 Jan 2023

vite

Posts with mentions or reviews of vite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-03.
  • FlowDiver: The Road to SSR - Part 1
    3 projects | dev.to | 3 May 2024
    Given our team's collective proficiency within the React ecosystem, we decided to leverage this expertise for our project. Initially, we contemplated utilizing Next.js; however, due to the limited practical experience with this technology among key engineers and the pressing timeline to develop the first prototype, we opted for a Single Page Application(SPA) approach. For bundling, we selected Vite, primarily due to its super fast build times, simplicity of configuration, and potential for a nearly seamless transition to server-side rendering.
  • Inflight Magazine no. 9
    5 projects | dev.to | 1 May 2024
    We are continuing to add new project templates for various types of projects, and we've recently created one for the infamous combination of React with Vite tooling.
  • Top 12+ Battle-Tested React Boilerplates for 2024
    5 projects | dev.to | 29 Apr 2024
    Vite focuses on providing an extremely fast development server and workflow speed in web development. It uses its own ES module imports during development, speeding up the startup time.
  • Vite vs Nextjs: Which one is right for you?
    3 projects | dev.to | 29 Apr 2024
    Vite and Next.js are both top 5 modern development framework right now. They are both great depending on your use case so we’ll discuss 4 areas: Architecture, main features, developer experience and production readiness. After learning about these we’ll have a better idea of which one is best for your project.
  • Setup React Typescript with Vite & ESLint
    1 project | dev.to | 25 Apr 2024
    import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' import path from 'path' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], server: { port: 3000 }, css: { devSourcemap: true }, resolve: { alias: { '~': path.resolve(__dirname, './src') } } })
  • Approaches to Styling React Components, Best Use Cases
    2 projects | dev.to | 24 Apr 2024
    I am currently utilizing Vite:
  • Getting started with TiniJS framework
    7 projects | dev.to | 20 Apr 2024
    Homepage: https://vitejs.dev/
  • Use CSS Variables to style react components on demand
    1 project | dev.to | 16 Apr 2024
    Without any adding any dependencies you can connect react props to raw css at runtime with nothing but css variables (aka "custom properties"). If you add CSS modules on top you don't have to worry about affecting the global scope so components created in this way can be truly modular and transferrable. I use this with vite.
  • RubyJS-Vite
    11 projects | news.ycombinator.com | 15 Apr 2024
    Little confused as to why it has vite in it‘s name, it seems unrelated to https://vitejs.dev/
  • Ask HN: How do we include JavaScript scripts in a browser these days?
    1 project | news.ycombinator.com | 13 Apr 2024
    it says in their docs that they recommend Vite https://vitejs.dev/

    it goes like this.

    1. you create a repo folder, you cd into it.

    2. you create a client template using vite which can be plain typescript, or uses frameworks such as react or vue, at https://vitejs.dev/guide/

    3. you cd in that client directory, you npm install, then you npm run dev, it should show you that it works at localhost:5173

    4. you follow the instructions on your url, you do npm install @web3modal/wagmi @wagmi/core @wagmi/connectors viem

    5. you follow the further instructions.

    > It seems like this is for npm or yarn to pull from a remote repository maintained by @wagmi for instance. But then what?

    you install the wagmi modules, then you import them in your js code, those code can run upon being loaded or upon user actions such as button clicks

    > Do I just symlink to the node_modules directory somehow? Use browserify? Or these days I'd use webpack or whatever the cool kids are using these days?

    no need for those. browserify is old school way of transpiling commonjs modules into browser-compatible modules. webpack is similar. vite replaces both webpack and browserify. vite also uses esbuild and swc under the hood which replaces babel.

    > I totally get how node package management works ... for NODE. But all these client-side JS projects these days have docs that are clearly for the client-side but the ES2015 module examples they show seem to leave out all instructions for how to actually get the files there, as if it's obvious.

    pretty much similar actually. except on client-side, you have src and dist folders. when you run "npm run build" vite will compile the src dir into dist dir. the outputs are the static files that you can serve with any http server such as npx serve, or caddy, or anything really.

    > What gives? And finally, what exactly does "browserify" do these days, since I think Node supports both ES modules and and CJS modules? I also see sometimes UMD universal modules

    vite supports both ecmascript modules and commonjs modules. but these days you'll just want to stick with ecmascript which makes your code consistently use import and export syntax, and you get the extra benefit of it working well with your vscode intellisense.

    > In short, I'm a bit confused how to use package management properly with browsers in 2024: https://modern-web.dev/guides/going-buildless/es-modules/

    if people want plain js there is unpkg.com and esm.sh way, but the vite route is the best for you as it's recommended and tested by the providers of your modules.

    > And finally, if you answer this, can you spare a word about typescript? Do we still need to use Babel and Webpack together to transpile it to JS, and minify and tree-shake, or what?

    I recommend typescript, as it gives you better type-safety and better intellisense, but it really depends. If you're new to it, it can slow you down at first. But as your project grows you'll eventually see the value of it. In vite there are options to scaffold your project in pure js or ts.

What are some alternatives?

When comparing PySdfScad and vite you can also consider the following projects:

manifold - Geometry library for topological robustness

Next.js - The React Framework

SolveSpace-Daily-Engineering - app4soft's engineering experiments in SolveSpace — FLOSS parametric 2D/3D CAD & CAE (.slvs files repository) Follow ➡ https://twitter.com/search?q=solvespace+from%3Aapp4soft

parcel - The zero configuration build tool for the web. 📦🚀

supabase - The open source Firebase alternative.

esbuild - An extremely fast bundler for the web

deno - A modern runtime for JavaScript and TypeScript.

swc - Rust-based platform for the Web

jetstream - Tailwind scaffolding for the Laravel framework.

astro - The web framework for content-driven websites. ⭐️ Star to support our work!

redwood - The App Framework for Startups

Rollup - Next-generation ES module bundler