Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Preserve shared boundaries when smooth-meshing multi-colour layers

Open
#40 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
typescript

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.

Description

bug

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:

  1. Build one shared boundary and vertex field from the full labelled colour grid.
  2. Reuse the same boundary vertices at interfaces between colour groups.
  3. Assign faces/materials to their colour group without moving each side of an interface independently.
  4. 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.

Dominant language
TypeScript
Stars
290
Forks
32
Avg merge
6h 2m
Merged PRs (30d)
7

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from vycdev/Kromacut

All issues in vycdev/Kromacut

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.