I built Meshdiff because clients keep sending me part_v3_FINAL.stl and I have no quick way to see what changed.
Drop two STL/3MF/OBJ files → voxel diff renders in your browser. Green = added material, red = removed. Adjustable tolerance (0.05–1mm). Volume delta metrics.
Privacy first: zero upload to any server. Everything runs client-side in a Web Worker.
Stack: React + TypeScript, React Three Fiber, custom voxel diff engine. No Manifold/CGAL — those assume clean CSG topology; real-world STLs are triangle soup.
If you work with 3D prints, try breaking it with your weirdest files. Real-world meshes are chaos and I need the stress test.
This is pretty cool, and seems to be useful in order to compare various "3D model" generators that are around, would make the comparison a bit easier to make.
Given it runs client-side, could you potentially offer like a CLI as well, or something we could integrate with other things / CI? That'd be a really nifty way of generating these diffs for later inspection.
- Multi group objs are ignored, I only see first group.
- When uploading same file twice, you should warn about it like meld does (meld says: File /home/foo/Downloads/D_LED_3mm.obj is being compared to itself)
Very cool work! Nice job. Road-map looks good too! I always appreciate client/local-first emphasis. I have been seeing a lot of great in-browser apps coming out via 3js,wasm,etc (THANK YOU LLMs)
With interest in this space you may be interested to check out:
- That Open Company in the BIM industry (not personally affiliated, but admirer).
- Fovea ArchVision (also not directly affiliated, but can attest that the team are great people.)
Suggestion: add more than one demo. The default demo right now is a little un-interesting, I'd love to be able to swap that out for a few other ones that show more complex objects.
23 comments
[ 0.22 ms ] story [ 18.6 ms ] threadDrop two STL/3MF/OBJ files → voxel diff renders in your browser. Green = added material, red = removed. Adjustable tolerance (0.05–1mm). Volume delta metrics.
Privacy first: zero upload to any server. Everything runs client-side in a Web Worker.
Stack: React + TypeScript, React Three Fiber, custom voxel diff engine. No Manifold/CGAL — those assume clean CSG topology; real-world STLs are triangle soup.
If you work with 3D prints, try breaking it with your weirdest files. Real-world meshes are chaos and I need the stress test.
Given it runs client-side, could you potentially offer like a CLI as well, or something we could integrate with other things / CI? That'd be a really nifty way of generating these diffs for later inspection.
- When uploading same file twice, you should warn about it like meld does (meld says: File /home/foo/Downloads/D_LED_3mm.obj is being compared to itself)
With interest in this space you may be interested to check out:
- That Open Company in the BIM industry (not personally affiliated, but admirer). - Fovea ArchVision (also not directly affiliated, but can attest that the team are great people.)
And maybe as a preview option between branches ?