Preserve shared boundaries when smooth-meshing multi-colour layers
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 278
- Forks
- 31
- Avg merge
- 13h 32m
- Merged PRs (30d)
- 4
Description
Problem
When a multi-head layer contains multiple colour groups, Kromacut smooth-meshes each group independently. Each group treats a shared colour boundary as its outside edge and moves its boundary vertices inward, leaving visible gaps between adjacent colours. The gap is part of the generated mesh, so it affects exports as well as the 3D preview.
Reported during PR #38: https://github.com/vycdev/Kromacut/pull/38#issuecomment-4757223435
Expected behaviour
Adjacent colour regions in the same physical layer must meet exactly, with no gaps, overlap, duplicate boundary faces, or non-manifold edges. The outer silhouette should still benefit from smooth meshing.
Intended solution
Implement colour-aware smooth topology for a whole layer:
- Build one shared boundary and vertex field from the full labelled colour grid.
- Reuse the same boundary vertices at interfaces between colour groups.
- Assign faces/materials to their colour group without moving each side of an interface independently.
- Add topology and regression tests for side-by-side and corner-contacting multi-colour regions.
Scope
This should be a proper shared-topology solution. Do not solve it by silently falling back to greedy meshing for multi-colour layers.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the smooth-meshing implementation and the discussion in PR #38, then reproduce a layer with side-by-side and corner-contacting colour regions. Trace how shared boundaries and material faces are generated. Done means adjacent regions share boundaries without gaps, overlaps, duplicate boundary faces, or non-manifold edges, while the outer silhouette remains smooth and topology tests cover both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100