agentsclimarketplace

Skill

Skill murphy977/3d-eyes/skill

Use when the user reports a 3D model or scene looking wrong (black/invisible/gigantic/untextured model, holes, weird shading), asks to check or QA a 3D file (GLB, GLTF, OBJ, PLY, STL, .splat), works with Gaussian splats, or generates 3D assets with AI and wants them verified. Requires the 3d-eyes MCP server.From its SKILL.md

Install
npx -y skills add murphy977/3d-eyes --skill skill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.7 KB, 864 tokens by cl100k_base, as published. Nobody here has run it

Debugging 3D files with 3d-eyes

You have eyes for 3D. The 3d-eyes MCP server renders any mesh or Gaussian splat file so you can look at it instead of guessing from code. Trust what you see in the render plus the JSON report over any assumption.

Workflow

  1. Always start with inspect_scene(path). Look at the contact sheet (6 orthographic views + perspective) and read the findings before theorizing.
  2. Need a closer look? render_views(path, cameras=[{"azimuth": ..., "elevation": ..., "distance": 1.2}]) - small distance zooms in, ortho: true for exact silhouettes.
  3. Fix the problem by editing the user's file or code (trimesh one-liners below).
  4. Verify with diff_renders(before, after) and show the user the comparison image. Never claim a fix worked without looking at it.

Symptom → cause table

What you see (or the user reports)Likely causeFirst checkTypical fix
Model renders black / dark in their engineFlipped normalsRed faces in contact sheet (highlight_backfaces)mesh.invert() or trimesh.repair.fix_normals(mesh)
Red patches on some sides onlyPartially flipped facesflipped_normals finding says "inconsistent winding"trimesh.repair.fix_normals(mesh)
Model invisible or microscopicScale unit mismatch (mm vs m)scale_anomaly finding; extents in statsScale by 1000 or 0.001 on export
Model gigantic, camera inside itSame, opposite directionextents > 1000Scale by 0.001
Gray/white/magenta untextured surfaceBroken texture pathsmissing_textures finding lists the filesFix relative paths or re-export as GLB (embeds textures)
Seams, shading artifacts along an edgeNon-manifold finsnonmanifold findingDelete/split extra faces on the offending edges
Raycasts/physics/boolean ops fail on a fine-looking modelDegenerate facesdegenerate_faces findingmesh.update_faces(mesh.nondegenerate_faces())
Splat scene has blobs floating in mid-air / hazeTraining floatersfloaters in the splat report + white specks in rendersCrop by bounding box, prune by opacity, or retrain
File "won't load" anywhereCorrupt/mislabeled fileinspect_scene returns a parse error reportFollow the error's fix field

Interpreting the contact sheet

  • Red triangles (default highlight_backfaces=true) = faces whose winding normal points away from the camera. A closed, correct mesh shows almost no red. Red everywhere = fully inverted; red patches = inconsistent winding.
  • Views that look empty at standard distance while stats show geometry = scale or offset problem; check bounds in the report.
  • For splats: isolated bright specks away from the subject are floaters; the report's floaters.examples gives their world coordinates for cropping.

Rules of thumb

  • Inspect before and after every fix; attach the diff image in your reply.
  • The report's symptom fields are written to match what renders show - use them to connect findings to pixels.
  • AI-generated assets (Meshy, Tripo, Hunyuan3D, TRELLIS outputs): run inspect_scene as QA before the user ships them - flipped normals and missing textures are the two most common generator defects.
  • When the user's engine (Three.js, Unity, Blender) shows a problem that the contact sheet does NOT show, the bug is in their engine setup (lighting, camera, material assignment), not the asset - say so.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.