mcpField
I
inspect-glb

inspect-glb

github.com/playcanvasDevelopment31319 installsUpdated 1w ago
Repository

About inspect-glb

inspect-glb is a development skill for examining GLB model files before configuring transforms or animations. It reports bounds and scene metadata, while noting when measurements need runtime confirmation.

Key features

  1. 01Inspect dimensions, center, and ground offset
  2. 02Report bounds source and pose
  3. 03List nodes, clips, joints, and animation targets
  4. 04Flag cases requiring runtime checks

Use cases

  1. 01Choose model scale and pivot offsets
  2. 02Identify animation names and targets
  3. 03Place static models using inspected bounds

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/playcanvas/skills --skill inspect-glb

After installing, type/inspect-glbin Claude Code to confirm it loaded.

Bundled filesscripts/inspect.mjs

Details

From the project README

Inspect GLBs

Resolve scripts/inspect.mjs relative to this skill and run it before choosing transforms or animation names. Shortlist files; do not dump a whole asset pack into context.

node <skill-directory>/scripts/inspect.mjs public/models/*.glb

Read the output

  • dims, center, and groundOffset give the uniform scale input, the pivot offset, and the Y seat. Non-zero center.x or center.z means the model does not sit on its root.
  • boundsSource: trust bounds for placement only when it is vertices. accessor-minmax can over-estimate rotated nodes by up to 41 percent; incomplete or null means do not calibrate. boundsNotes gives the cause.
  • boundsPose: static and default-morph are the authored pose; bind is the skinned rest pose.
  • requiresRuntimeCheck flags morphs, skins, or partial decoding; confirm extents in the app.
  • nodePaths, clips, joints, and animationTargets feed configure-animation.

Bounds cannot prove facing. Confirm it in the running app and record the yaw with calibrate-model. Runtime meshInstance.aabb expands conservatively for morphs, so place static models from inspected bounds.

Compressed files

The inspector decodes plain, interleaved, quantized, and sparse buffers. For Draco, Meshopt, or external buffers, inspect a lossless scratch copy; do not use optimize, which applies extra transforms:

npx --yes @gltf-transform/[email protected] copy in.glb scratch.glb

The Engine cannot load EXT_meshopt_compression; see load-assets before shipping such files.

Comments

Markdown supported