3D and game file checkers
Standard-library checkers for glTF and Godot files that catch what an engine would drop or misread. Their pages are in the gallery, with the facts each check compared with Godot and Blender.
8 shown here, each at the exact version the library release of October 9, 2026 serves.
What to watch for
- An export can keep every mesh and still lose its animation or its joints.
- A missing resource file in a Godot scene fails at load time, not at save time.
- Check the up axis and the unit before you compare dimensions.
Components
glTF 2.0 structural validator
gltf_structural_validatorCheck that a .gltf or .glb file is internally consistent before an engine loads it: buffers, views, accessors, indices, materials, textures, the node graph, skins and animation samplers.
- Runs with
- Python 3.10 or later
- Entry points
- validate_file, validate, run, main
Godot .tscn and .tres parser and linter
godot_scene_linterParse Godot 4 text scenes and resources and find what fails or silently vanishes on load: missing resource files, unknown or forward resource ids, missing node parents, repeated sibling names, untyped nodes, broken connections, several roots, syntax and format errors.
- Runs with
- Python 3.10 or later
- Entry points
- parse, node_paths, lint, run, main
Axes, handedness and units checker and converter for glTF
axes_units_converterDiagnose a glTF that is Z-up, mirrored or in the wrong unit (checked against expected dimensions and triangle winding) and convert it between up axes, handedness, front-face winding and units, transforming nodes, meshes, skins and animations.
- Runs with
- Python 3.10 or later
- Entry points
- conversion, convert_document, winding_agreement, check, convert, run, main
Animation export trap checker with a Blender declare and repair procedure
animation_export_trap_checkerCatch exports that keep every mesh but lose animation: only the playing action exported, clips merged, channels without targets, clips baked to one pose or over the whole scene range.
- Runs with
- Python 3.10 or later
- Entry points
- export_clips, read_declaration, compare, check, run, main, procedure/declare_clips_blender.py, procedure/push_actions_to_nla.py
Articulation loss checker for exports that drop joint information
articulation_loss_checkerCatch exports that keep every mesh but lose what joints need: parts joined into their parent, origins moved off the hinge, node frames rotated, hierarchies flattened, and joint records in custom properties left out by a default export.
- Runs with
- Python 3.10 or later
- Entry points
- joint_facts, compare, check, run, main
glTF semantic recovery against an asset specification
gltf_semantic_recoveryRecover what an asset means from the file alone (named parts, hierarchy, real dimensions in metres, pivots, part materials, clips with durations) and compare it with a declared asset specification, naming the likely cause of each mismatch.
- Runs with
- Python 3.10 or later
- Entry points
- recover, compare, check, run, main
Asset specification schema with validator and blockout generator
asset_specification_schemaDeclare what a 3D asset must be before it is modelled: parts with parents, dimensions, centres, pivots and materials; joints with axes and limits; clips and behaviors.
- Runs with
- Python 3.10 or later
- Entry points
- schema.json, validate, blockout, check, run, main
Articulation manifest with a Godot runtime joint builder
articulation_manifest_godot_builderGive a glTF asset working hinges and sliders: a manifest binds joints (axis, pivot, limits) to named nodes, a checker validates the binding and predicts poses at the limits, and a Godot 4 node applies it at run time with clamping, clips and a saved scene.
- Runs with
- Python 3.10 or later
- Entry points
- read_manifest, joint_motion, pose, predictions, check, run, main, godot/articulated_asset.gd, godot/articulation_probe.gd, schema.json
Give your agent these components
Your harness downloads them through Baltor with Pro, $49 a month. Cancel any time from your account page.
More from Harness tools
- MCP server settingsConnection entries for MCP servers, written for Claude Code, Codex, Cursor and OpenCode.
- Command-line programsInstall recipes with the published checksum for each platform, and a typed wrapper that checks the arguments before the program runs.
- Slash commandsSaved prompts your harness runs as a command: debugging, reviews, changelogs, audits, refactors and migrations.
- HooksScripts your harness runs before or after a step: block risky commands, check for secrets, enforce commit messages, and format or lint after an edit.
- Tested functionsOne upstream Python function at a time, copied with the code it needs and a test: validators, parsers and formatters your agent can import without adding a dependency.
- Deterministic skillsSkills that give the same answer every time.
- Corner casesThe inputs that break code, ready to test.
- Stop starting from nothingFor a developer whose coding agent starts every task from nothing: give each step the guidance and reusable code it needs.
- Harness FilesSkills, instruction files, tools, hooks and settings your harness picks up: what they are, how a harness gets them, and the setup for each harness.
- Get set upConnect Claude Code, Codex, Cursor, OpenCode, VS Code or Pi over MCP, call the REST API, or give an agent a feed link. Then download your first file.
- Top MCP serversA task-focused MCP shortlist with dated GitHub popularity, setup sources and clear limits on quality and Baltor usage claims.
- Claude Code quickstartWhat you need, the .mcp.json entry to paste, the first search, the first download and the check that it worked, for Claude Code.