roble3/cc-blender-skill

source-part-segmentation

Segment overlapping visual parts from source images, wireframes, texture atlases, and decals before mesh reconstruction.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/roble3/cc-blender-skill --skill source-part-segmentation

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Source Part Segmentation

Use this before contour-to-mesh when a source image contains overlapping or touching designed parts. The output is not “nice masks”; it is a source-of-truth part inventory that downstream geometry must obey.

Inputs

  • source image, wireframe, decal, or texture atlas;
  • optional manual seed manifest with named parts, polygons, seed points, rough rectangles, or HSV/color ranges;
  • source manifest with structural/decorative/context classification and expected part count.

Workflow

  1. Choose the cleanest modality: alpha, edge, dark-line, bright-on-dark, color-band, or atlas region.
  2. Extract contours and hierarchy to identify candidate objects, holes, nested details, and strokes.
  3. If components touch, run distance-transform marker watershed first.
  4. If watershed over/under-splits, switch to seeded segmentation:
  • create named part seeds (bbox, polygon, or seed_point + optional flood/HSV tolerance);
  • save one mask per named structural part;
  • mark ambiguous overlaps explicitly instead of merging them.
  1. Classify masks as structural, decorative, face_feature, aura_context, or validation_only.
  2. Pass structural masks to contour-to-mesh; pass feature masks/landmarks to landmark-fit-repair; pass atlas regions to atlas-uv-fitting.

Hard rules

  • Do not infer repeated parts from symmetry; segment what the source shows.
  • Do not merge overlapping components if the manifest expects separate structural meshes.
  • Do not proceed to final modeling when part count differs between source images; write a conflict report or canonical policy.
  • If automatic segmentation is ambiguous, write an ambiguity report and require or create manual seed rectangles/points.
  • Keep stroke/line masks separate from filled-part masks; wireframe strokes are guides unless explicitly used as the contour boundary.

Seed manifest schema

json
{
  "schema": "source_part_seed_manifest.v1",
  "image": "path/to/source.png",
  "parts": [
    {"name":"leaf_top", "class":"structural", "bbox":[x,y,w,h], "mode":"non_background"},
    {"name":"face_shell", "class":"structural", "polygon":[[x,y],[x,y],...], "mode":"polygon"}
  ]
}

Allowed mode values: polygon, bbox, non_background, dark_lines, bright_on_dark, hsv_range.

Scripts

  • scripts/segment_source_parts.py produces component masks and a JSON report from an image, with optional watershed.
  • scripts/seeded_part_masks.py converts a named seed manifest into deterministic named masks and a part inventory.

Sources distilled

  • OpenCV contours/hierarchy/moments are the base measurement layer.
  • OpenCV distance transform + marker watershed is the first automated split method for touching components.
  • Active contour refinement can improve a rough mask boundary after segmentation.

Related by task

from this repository

More skills

All skills
roble3
Community

blender-modeling

Create and edit 3D meshes in Blender — primitives, hard-surface modeling, mesh operators, modifier stacks (Bevel, Subdivision, Boolean, Mirror, Array, Solidify), bmesh-level edits, retopology basics. Use whenever the user asks to "make/model/create/build a 3D object", "shape/sculpt this", "add a cube/sphere/cylinder/etc.", "extrude/inset/bevel this face", "add a modifier", or any geometry-creation request that isn't a wireframe trace. Make sure to use this skill even if the user does not say "mo

installs
2
GitHub stars
116
Updated
Oct 12
roble3
Community

blender-cameras

Set up Blender cameras with cinematic intent — focal length, depth of field (f-stop / focus object), composition (rule of thirds, leading lines), animated cameras (orbit, dolly, push-in), tracking constraints. Use whenever the user asks to "set up the camera", "frame the shot", "make it look cinematic / hero / portrait / wide-angle / telephoto", "add depth of field", "orbit the camera", or any composition/framing request. Make sure to use this skill even if the user does not say "camera" — also

installs
2
GitHub stars
109
Updated
Oct 12
roble3
Community

blender-lighting

Light Blender scenes professionally — three-point setups, HDRI environments, studio/cinematic/dramatic configurations, light groups, color temperature, soft vs hard shadows. Use whenever the user asks to "light the scene", "set up lighting", "make it look cinematic / dramatic / studio / outdoor / sunset", "add a key light", "use HDRI", or any lighting-related request. Make sure to use this skill even if the user does not say "light" — also covers "make it look professional", "studio shot", "mood

installs
2
GitHub stars
109
Updated
Oct 12
roble3
Community

blender-pro-workflow

End-to-end production workflow guidance for Blender — the order to assemble scenes (block-out → camera → light → forms → materials → detail → render → composite → export), critique protocols, time budgets, and recovery patterns. Use whenever the user asks to "make a complete scene / hero shot / production-quality render", "what's the right order to do this", "set up a full pipeline", or has a multi-step request crossing modeling + lighting + materials + rendering. Make sure to use this skill for

installs
2
GitHub stars
109
Updated
Oct 12