100 Commits
Author SHA1 Message Date
Emmett Lalish 7b33277245 Remove duplicate Smoothing APIs (#1814)
* almost updated scallop

* scallop working

* fixed scallop

* sharpened scallop

* removed some smoothing APIs

* fixed some tests

* tests passing

* updated bindings examples

* fix formatting

* fix more formatting
2026-09-07 12:44:38 +12:00
Emmett Lalish 81e94c86c5 Smooth quads (#1794)
* smooth quads showing promise

* cleaned up test naming

* fixed quads

* minor updates

* fixed SDF noise

* unmark temporarily fixed halfedges

* small refactor

* cleanup

* edge collapse keeps prop verts simple now

* fixed a flat faces bug

* deflake test

* big improvement in aligning tangents
2026-08-18 17:30:40 +12:00
Emmett Lalish 969b1417af Improved decimation (#1789)
* added new decimator

* fixed some bugs

* new cost, no inversion

* added global tolerance bound

* add delaunay criterion

* pseudoinverse for coplanar collapse

* small refactor

* fixed property interpolation

* avoid vertNormal, which may not exist yet

* fixed some collinear collapse problems

* fixed prop interp

* loosened MatchesTriNormals slightly

* removed RemoveDegenerates

* fix maxCost

* improved cost precision

* factored Merger

* fixed uninitialized data

* iwyu in tests

* fixed early return

* fixed short collapse ordering

* verified and updated tests

* minor test updates

* some fixes, but problems remain

* fixed visitation

* clean up short edge collapse logic

* fixed degenerates

* new verts are visited

* fixed firstNewVert bug

* efficiently recalculate face normals

* constrain property edges

* some edge swap fixes

* improved swap

* added prop test function

* fixed more properties issues

* fixed property swaps

* collapse more degenerates

* small perf improvement

* cleanup

* fix tsan
2026-08-11 12:28:09 +12:00
Emmett Lalish 8d674676f5 Fix dividers (#1771)
* fix editor resize

* small pointer event refactor
2026-07-07 13:38:46 -07:00
Emmett Lalish 2c98e8b96a fix camera radius reset (#1733) 2026-05-24 22:28:37 +12:00
Emmett Lalish 541c33bd2a v3.5 (#1730)
bump version
2026-05-23 16:25:32 +12:00
Emmett Lalish 9719c34993 fix docs and binding defaults (#1729) 2026-05-23 14:52:04 +12:00
Emmett Lalish 8cab4b607c Fix CalculateNormals (#1724)
* no flat faces for setNormals

* make SmoothOut self-consistent
2026-05-19 23:16:36 +12:00
Emmett Lalish 74ea61bd73 Some partial fixes for normals (#1716)
* fixed several bugs, updated bindings

* move MeshGL to its own header

* temporarily make test pass

* fix install
2026-05-16 22:49:23 +12:00
Emmett Lalish 2acc4831f6 Keep editor camera steady when rerunning scripts (#1701)
* reorganized editor code

* keep editor camera steady when rerunning a script
2026-05-08 16:35:13 +12:00
Emmett Lalish 58b328a98a More smoothing fixes (#1671)
* clean up simplify

* improved boolean edge collapse

* fixed tangent numerical precision

* improved tangent from normal

* fillet test looking good

* updated smoothing tests

* fix wasm test

* undo format

* fix tolerance stacking

* fix TSAN?

* try again

* fix bug
2026-04-29 17:18:12 +12:00
Emmett Lalish 97df55ba1d fix dropdown (#1657)
* fix dropdown

* help ensure the page doesn't scroll accidientally
2026-04-16 20:34:16 +12:00
Emmett Lalish a74d946271 Verify bounding box (#1653)
* 30 failed tests - glad I'm checking now

* harmonize bounding boxes

* a few more CSS tweaks

* fix label spacing

* reversion

* long overdue rearrangements
2026-04-14 08:52:20 +12:00
Emmett Lalish 56110f65bd Smooth missing normals (#1651)
* smoothing cleanup

* needs debug

* test working

* need to sanitize halfedges

* sanitize quad tangents

* added missing error bindings

* testing passing

* fixed no normal verts

* fix build

* fix MSVC

* fix MSVC again
2026-04-13 22:31:33 +12:00
Emmett Lalish f9c0b2cd75 updated examples to sit on grid, fixed UX (#1644)
* updated examples to sit on grid, fixed UX

* fixed rounded frame
2026-04-13 09:07:07 +12:00
Emmett Lalish abbf20c590 lots of grid UX updates (#1641) 2026-04-12 15:42:39 +12:00
Emmett Lalish d93943fc7e fix a bunch of small UX details (#1630) 2026-04-08 12:53:10 +12:00
Emmett Lalish 7b048b89a4 a few small UX improvements to ManifoldCAD (#1628)
a few small UX improvements
2026-04-07 10:01:07 +12:00
Emmett Lalish 4613509768 consistent transformations of normals (#1602)
* consistent transformations of normals

* added backside API to MeshGL

* fix GCC compile

* addressing feedback

* stray struct
2026-03-29 23:05:13 +13:00
Emmett Lalish fb0aa7e4d7 OIDC is the worst (#1611) 2026-03-25 23:20:59 +13:00
Emmett Lalish 4faa8316d3 update package-lock (#1608)
* update package-lock

* fix action

* update checkout version

* more tweaks
2026-03-25 22:09:28 +13:00
Emmett Lalish ca7a6c01a3 Fix normals (#1600)
* fix gltf normals output

* fix nan normals
2026-03-19 12:18:02 +13:00
Emmett Lalish 5d21276946 Try again to fix npm publish (#1582)
* update package-locks

* more package updates

* skip test

* bump action version

* bump node version
2026-03-14 13:54:48 +13:00
Emmett Lalish 842f58f1e4 fix npm publish (#1581) 2026-03-14 10:40:21 +13:00
Emmett Lalish 46e8a6dc86 fix test (#1532)
* allow overlap

* removed test
2026-02-16 23:20:10 +13:00
Emmett Lalish 61c4af291c Make keyholing more robust in triangulator (#1528)
* added test

* find better keyhole start vert
2026-02-13 21:41:43 +13:00
Emmett Lalish 31214804c9 Fix face normals (#1475)
* tighten tests

* refactor normal calculations

* fixed smooth slerp

* fixed face normals

* cleanup

* addressing comments

* tighten sine surface test

* more renaming

* fixed sine surface test

* cleanup
2025-12-30 23:26:30 +13:00
Emmett Lalish e031fc471c Add perturbation test (#1467)
* added test

* tightened test

* fixed test

* remove cross-section dependency
2025-12-21 23:19:41 +13:00
Emmett Lalish 337e13fba0 new symbolic perturbation (#1445)
* new symbolic perturbation

* added perturbation test, not passing yet

* matched triangulations in test

* added second test

* try to fix tests

* small refactor

* fix compile
2025-12-16 20:52:46 +13:00
Emmett Lalish 04f210d112 Cleanup of Boolean3 (#1443)
* simplified members

* more cleanup

* rename to A and B where reversible
2025-12-01 10:54:51 +13:00
Emmett Lalish 04cb690671 updated examples (#1429) 2025-11-15 11:06:16 -08:00
Emmett Lalish 798d83c8d7 v3.3.2 (#1428)
* try and fix build_wheels

* bump oneTBB version

* prod SDist
2025-11-15 00:36:54 -08:00
Emmett Lalish a06d4502cd v3.3.1 (#1426) 2025-11-14 13:44:56 -08:00
Emmett Lalish b51858f648 fix gear examples (#1423) 2025-11-14 01:15:26 -08:00
Emmett Lalish 3b589b94cb v3.3.0 (#1419) 2025-11-13 11:00:23 -08:00
Emmett Lalish 7054c63029 updated involute gear library and exmaple (#1416)
* updated involute gear library and exmaple

* disable gersemi
2025-11-12 01:42:01 -08:00
Emmett Lalish ca375ea079 added test from #1309 (#1345) 2025-08-26 02:24:16 -07:00
Emmett Lalish 87b8167659 fixed meshID regression (#1287)
* fixed meshID regression

* fix compiler
2025-06-12 00:31:33 -07:00
Emmett Lalishandpca006132 551e1a12cf v3.1 (#1259)
* bump version

* bindings: include string in manifold3d

---------

Co-authored-by: pca006132 <john.lck40@gmail.com>
2025-05-14 12:43:54 -07:00
Emmett Lalish 2cf3dfd0ec default offset to round (#1257) 2025-05-14 02:17:50 -07:00
Emmett Lalish 1d18e60d74 fixed coplanar property collapse (#1255)
* fixed coplanar property collapse

* fix CI

* fix CI more
2025-05-11 03:15:29 -07:00
Emmett Lalish 1ec20369ca added simplify to WASM bindings (#1246) 2025-05-01 02:48:05 -07:00
Emmett Lalish cd57073179 revert to old, robust decimator (#1243) 2025-05-01 01:53:54 -07:00
Emmett Lalish 41d8d97d7c use input faceID (#1241)
* use input faceID

* addressing feedback
2025-04-30 03:19:42 -07:00
Emmett Lalish 54baa62b4a Remove triProperties (#1232)
* started adding halfedge prop support

* fixed bugs

* attempt to push props through triangulation

* fixed a few bugs

* fixed MANIFOLD_ASSERT

* fixed bug

* updated edge_op

* fixed sort

* fixed compactProps

* more updates

* a few more

* fixed a bug

* fixed old bug

* fixed bug

* fixed edge swap

* small WASM update

* updated boolean

* updated smoothing

* removed triProperties

* reduce test memory

* format

* moved numProp out of meshRelation

* moved properties out of meshRelation

* harmonize includes

* remove unused

* update test to check simplify with properties

* fix CI

* more CI fixes

* undo no-unused req

* renamed internal faceID to coplanarID

* fixed tests

* updated quad short path
2025-04-28 03:14:04 -07:00
Emmett Lalish f3a6a477da Don't simplify unless requested (#1185)
* don't simplify unless requested

* small fixes
2025-04-25 03:45:41 -07:00
Emmett Lalish 994814921e Update README.md (#1237) 2025-04-24 11:06:07 +12:00
Emmett Lalish 272a22439f bump CI ubuntu version (#1230) 2025-04-18 22:10:15 -07:00
Emmett Lalish 09fb03cff2 added MANIFOLD_ASSERT (#1225)
* added MANIFOLD_ASSERT and rearranged includes

* fixes

* fix format and compile

* uniform format

* update clang-format
2025-04-12 02:18:42 -07:00
Emmett Lalish ca7d6c326c updated status doc (#1210)
updated comment
2025-03-31 02:29:44 -07:00
Emmett Lalish 00a589dafe Fix triangulator handling of splinters (#1205)
* added tests

* relax convexity check

* un-disabled tests

* updated minimize_testcase

* added minimized test

* fix keyhole
2025-03-31 02:04:46 -07:00
Emmett Lalish 444399393a Fix Revolve clipping (#1200)
fixed sign error
2025-03-28 08:53:45 +13:00
Emmett Lalish 8e34f97194 improved MeshGL docs (#1178)
* added docs

* addressing feedback
2025-03-07 13:12:21 -08:00
Emmett Lalishandpca006132 954df798b2 New decimator (#1175)
* merging

* mostly working

* implemented, but crashes

* runs serially

* fix compile issues

* fixed empty meshes

* fix parallel error dumping

* fixed parallelization

* fix compiler

* run black

* improved triangulation

* remove unreferenced verts

* addressing feedback

---------

Co-authored-by: pca006132 <john.lck40@gmail.com>
2025-03-05 20:42:39 -08:00
Emmett Lalish c16b521193 improved decimation (#1147)
* improved decimation

* only collapse intersected Boolean edges

* ensure retains verts are not removed

* collapse all short edges

* fix compile

* gotten part

* cleanup

* pca's patch
2025-02-19 01:47:41 -08:00
Emmett Lalish c149dd5088 fix default JS parameter binding for simplify (#1146)
fix default parameter binding
2025-02-16 01:06:15 -08:00
Emmett Lalishandpca006132 f2da5eab66 Better faces (#1040)
* refactor

* separate propVert from createFaces

* working, but very slow

* no longer slow

* added test

* loosen test

* merging

* update nix actions

* fix

---------

Co-authored-by: pca006132 <john.lck40@gmail.com>
2025-02-13 00:51:48 -08:00
Emmett Lalish 56fec978c6 update author info (#1130) 2025-01-04 21:47:44 -08:00
Emmett Lalish 98b8142519 v3.0.1 (#1126)
bump version
2024-12-27 12:03:06 -08:00
Emmett Lalish c50b0f80ff Fixed unreferenced vert seg fault (#1110)
* added test

* update test

* fixed unreferenced verts

* no repro locally anymore...

* fix facing triangle removal, simplify unreferenced vert removal

* remove unreferenced verts less often
2024-12-17 11:14:07 -08:00
Emmett Lalish 847016c069 fix meshIO alpha type (#1101) 2024-12-04 12:27:38 -08:00
Emmett Lalish 517a224f44 finer timing in ManifoldCAD.org (#1099)
split working time and export time
2024-12-04 11:11:36 -08:00
Emmett Lalish a13ceab979 add user bitbybit (#1098)
add bitbybit
2024-12-03 21:37:33 -08:00
Emmett Lalish f1a8693016 Fix DedupePropVerts (#1092)
* added test

* fixed dedupePropVerts

* size_t
2024-12-03 15:19:41 -08:00
Emmett Lalish 560e37e985 fix bug JS binding for project() (#1071)
fix bug, add test
2024-11-23 22:23:14 -08:00
Emmett Lalish db08c23988 Try to restrict codecov again (#1069)
* restrict again

* switch from remove to extract
2024-11-23 10:53:24 -08:00
Emmett Lalish 7d27a437ab update lcov excludes (#1068)
* update lcov excludes

* try double quotes

* add cross section, remove headers

* fix mac CI?

* remove pkg-config
2024-11-23 09:39:42 -08:00
Emmett Lalish 70abe63963 fix codecov (#1032)
* fix codecov

* try verbose

* update to v5
2024-11-20 09:22:17 -08:00
Emmett Lalish 978f84107f fix download-artifact (#1062) 2024-11-18 15:32:00 -08:00
Emmett Lalish 78915ae28d Update README.md (#1060)
Turns out Babylon.js uses Manifold too!
2024-11-18 10:48:51 -08:00
Emmett Lalishandpca006132 f22435f1e5 Fix publishing (#1056)
* try to fix npm artifacts

* fix python SDist

* cibuildwheel: build universal binary for macos

* try to build all binaries

* skip builds on incompatible architecture

* again

* typo...

* typo?

* update

---------

Co-authored-by: pca006132 <john.lck40@gmail.com>
2024-11-18 18:01:00 +08:00
Emmett Lalish 5d127e57fb v3.0 (#1024)
* nanobind link

* update READMEs

* bump version

* update npm README
2024-11-17 21:27:58 -08:00
Emmett Lalish 18101057b5 fixed properties (#1051)
* fixed properties

* fix formatting

* fix compile

* consolidate debug functions
2024-11-16 21:26:14 -08:00
Emmett Lalishandpca006132 e7e0780114 Disable exceptions by default (#1044)
* removed ASSERT

* removed MANIFOLD_EXCEPTIONS

* fix CI

* fix performance regression

* avoid copying in Is2Manifold

* back to two assert flavors

---------

Co-authored-by: pca006132 <john.lck40@gmail.com>
2024-11-15 11:54:26 -08:00
Emmett Lalish 0b957bf8df added linalg docs (#1043) 2024-11-14 15:34:08 -08:00
Emmett Lalish 0f7cecaf1a SDF boundary cleanup (#1037)
* tighten test

* fixed SDF eggcrate

* addressing feedback
2024-11-13 22:08:45 -08:00
Emmett Lalish a41a361123 remove deterministic flag (#1033)
faster > deterministic
2024-11-13 21:15:35 -08:00
Emmett Lalish 55722a0ce3 Update Readme (#1025)
* nanobind link

* addessing feedback

* added users and packages

* dependency table

* fix merge docs

* fix build

* added docs
2024-11-07 11:19:28 -08:00
Emmett Lalish 2b29dca503 Update bindings (#1023)
* add setTolerance to WASM bindings

* update manifold_revolve C API

* fix formatting
2024-11-05 14:40:25 -08:00
Emmett Lalish 82140d3479 Remove GetProperties() (#1022)
* organize member docs

* remove GetProperties

* updated WASM bindings
2024-11-05 13:34:45 -08:00
Emmett Lalish 8e9bdb2614 updated linalg docs (#1020)
* updated linalg docs

* add missing icon, update readme deps
2024-11-04 00:04:36 -08:00
Emmett Lalish a8a90c7d34 switched property indexing from vector to scalar (#1016)
* switched property indexing from vector to scalar

* updated WASM bindings

* update python bindings
2024-11-01 11:45:32 -07:00
Emmett Lalish 649b69a140 Update README (#1015)
* add forgotten images

* update README
2024-10-29 15:54:16 -07:00
Emmett Lalish 97cb8dbffa Doxygen updates (#1014)
* reorganize docs

* further organization

* fixed mismatched names

* fix clang-format 19 diff

* fix clang-format 19 diff again
2024-10-29 15:19:36 -07:00
Emmett Lalish d1a8de2e00 update tolerance defaults (#1007)
* update tolerance defaults

* remove kFloatTolerance

* update test

* quick fix

* added tolerance test
2024-10-29 09:42:54 -07:00
Emmett Lalish a0d2c3ab25 remove CGAL comparisons (#1009)
* remove CGAL

* fix format
2024-10-22 22:09:50 -07:00
Emmett Lalish 80221a3511 Precision renaming (#1008)
* rename refineToPrecision

* rename kTolerance

* the precision rename
2024-10-22 15:28:09 -07:00
Emmett Lalish e647093bbe removed RotateUp and uint (#1000)
* removed RotateUp and uint

* avoid new API

* simplify

* change error reporting

* fixed error reporting

* fix compile

* addressing feedback
2024-10-20 21:48:26 -07:00
Emmett Lalish 54517b7546 Separate coplanarity from faceID (#991)
* separated faceID

* clean up tests

* fix AsOriginal

* reenable CreateFaces and keep mesh relation intact

* fix compilation

* updates docs
2024-10-19 10:04:08 -07:00
Emmett Lalishandpca006132 e06765346e Replace GLM with linalg (#984)
* added linalg

* removed GLM

* fix matrix multiplication

* more matrix constructors

* fixed more functions

* fixed matrix notation

* more fixes

* fix ostream

* further fixes

* added more rotation functions

* compiles

* some fixes

* fix2

* fix build

* another warning...

* fix install

* for wasm?

* no warning for unknown options

* proper fix?

* remove legacy warning flags

* format

* misc constexpr

---------

Co-authored-by: pca006132 <john.lck40@gmail.com>
2024-10-15 11:22:03 -07:00
Emmett Lalish 4d7613bd4f Add RefineToPrecision (#938)
* added RefineToPrecision, but needs work

* fixed 1-d triangulations

* added test of precision

* fixed approximation

* added bindings

* cleanup

* forgot to include
2024-09-27 17:19:29 -07:00
Emmett Lalish 9f62dbb048 Remove mesh (#950)
* removed a bunch of mesh

* compiles

* fix test

* cleanup

* fix compile issues
2024-09-27 16:46:55 -07:00
Emmett Lalish 456b8ceb3b fix deployment (#937) 2024-09-18 14:57:16 +08:00
Emmett Lalish ced53e2109 Make create faces optional (#935)
* avoid createFaces calls, need to separate relation from coplanarity

* simplified SetProperties

* fixed merge test

* simplified calculateCurvature

* fixed WASM + cleanup

* more cleanup
2024-09-17 14:59:05 -07:00
Emmett Lalish c75f068a03 update README links (#920) 2024-09-10 13:20:10 -07:00
Emmett Lalish fbf07bf92a SDF collapse (#894)
* refactor to collapse verts

* fixed missing triangles

* tests pass

* cleanup, docs

* Moved LevelSet from MeshGL to Manifold

* update bindings

* minor fixes

* more python fixes

* update clang-format version

* updated sinesurface test

* revert unneeded change

* fixed WASM

* update Python

* remove opposed triangles

* update format version

* fix format

* remove unreferenced verts

* fix 4-manifolds

* reduce blob resolution

* avoid collapsing thin surfaces

* cleanup, tighten tests

* compromise heuristic

* update test

* slight heuristic tweak and update docs

* loosen genus test
2024-09-01 15:52:47 -07:00
Emmett Lalish db4470c3f3 fix accidentally disabled tests (#902) 2024-08-20 10:36:38 -07:00
Emmett Lalish 844334380a Fix smoothing regression (#897)
* tighten test to catch coplanar violation

* fixed regression
2024-08-13 11:09:29 -07:00
Emmett Lalish 3bf7f4b33d SDF Refactor (#876)
* added static LevelSet

* removed Morton codes

* store voxels

* new levelset working

* cleanup

* moved LevelSet to MeshGL

* small updates

* removed sdf library

* updated WASM bindings

* cleanup FindSurface

* updated test

* fix formatting

* loosen test slightly

* off-by-one

* fix sizing

* tweak test
2024-07-26 09:17:51 -07:00
Emmett Lalish 0617d344bc fix shadowing warning (#867) 2024-07-16 11:10:09 -07:00