inspect-glb
Use before loading, placing, scaling, or animating GLB models in PlayCanvas to measure bounds, grounding, clips, joints, and hierarchy with the bundled offline inspector.
Savant verdict: Review advised
Security analysis or source-hub review identified patterns requiring attention.
Live evaluation
Not evaluated yet. Workspaces can request a live evaluation.
Security assessment
Scan pending.
Structure
- Ships 1 executable scriptscripts/inspect.mjs. Review what they do before enabling the skill for agents with tool access.
- No license declaredConfirm you may reuse this skill before importing it into your repository.
- The source hub's security checks flagged this skillSnyk: warn (Risk: MEDIUM · 1 issue)
SKILL.md
--- name: inspect-glb description: Use before loading, placing, scaling, or animating GLB models in PlayCanvas to measure bounds, grounding, clips, joints, and hierarchy with the bundled offline inspector. --- # 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. ```sh 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: ```sh npx --yes @gltf-transform/cli@4.4.2 copy in.glb scratch.glb ``` The Engine cannot load `EXT_meshopt_compression`; see `load-assets` before shipping such files.