Asset Shepherd -- Broken Robot

Gallery
1Upload
Rewind…

Start a new path from Upload. This saved version remains intact until the replacement validates.

You

Uploaded broken_robot.glb.

Asset ShepherdThe GLB parsed successfully at 182 x 122 x 40 m with 180 triangles.

2Describe
Rewind…

Revise the description and recalculate every dependent target and repair turn. This saved version remains intact until the revision validates.

You

A broken static robot that should match the clean robot's scale, upright pose, grounding, and display-name contract.

Asset ShepherdI’d shepherd this for Unreal within 1.22 x 1.82 x 0.4 m.

You

Confirmed the proposed target.

3Shepherd

Asset Shepherd says: I propose this change: the robot asset requires physical normalization: it is currently 100x oversized (182m vs 1.82m target height), lying on its side (dominant X axis should be Y), floating 39m above ground, and has invalid naming.

CheckFindingStatusAction taken
GLB structure 16 nodes · 15 meshes · 15 primitives.
Size and pose Measured 182 x 122 x 40 m; target approximately 1.22 x 1.82 x 0.4 m. !→✓ Applied — fit proportionally, rotate Z -90°, ground at Y=0; 182 x 122 x 40 m → 1.22 x 1.82 x 0.4 m
Topology 0 boundary · 0 non-manifold · 0 winding after position projection. Mesh detail preserved — 180 triangles is within the 15,000-triangle normal gameplay soft cap.
Materials and textures 9 materials · 0 textures · 0 images. ! No change — report only.
Display names 9 display names need cleanup. !→✓ Applied — “bad mesh” → “Mesh_000”; “bad mesh” → “Mesh_001”; “(unnamed)” → “Mesh_002”; “3InvalidMesh” → “Mesh_003”; “robot root” → “Node_000”; “duplicate part” → “Node_001”; “duplicate part” → “Node_002”; “(unnamed)” → “Node_003”; “4Leg” → “Node_004”
You

Approved the proposed repair.

Asset ShepherdThe normalization transform successfully corrected the robot's orientation, scale, and grounding; remaining: Material budget exceeded.

Refine…

Job details

Source measured
SHA-256
a7603f8086b0
Bounds
182.000 × 122.000 × 40.000 m
Orientation
X dominant · FLOATS_ABOVE
Resources
180 triangles · 9 materials · 0 textures
Features
0 skins · 0 animations · no morph targets
Structure
ELIGIBLE_STATIC_MESH
Appearance
NOT_EVALUATED · declared metadata only
Target assumptions frozen
Original intent
A broken static robot that should match the clean robot's scale, upright pose, grounding, and display-name contract.
Requested
STATIC_GAME_ASSET
Supported goal
STATIC_MESH_READY
Target bounds
1.22 × 1.82 × 0.4 m
Next tool
Unreal
Typical viewing
Normal Gameplay
Support
FULL
Rules frozen

Agent-resolved rules · 1.82 m target
07f8cefc80f4

Family unreal-static-game-asset-family-v1. Confirmed intent, bounded derivation, family defaults, and any explicit user adjustments are recorded per rule.

Policy ID
unreal-static-game-asset-family-v1-resolved-cef37d745f58
Version
1
Canonical SHA-256
07f8cefc80f4900b71daa36ded2b1713646243e7e4bac06d8d89b4a4925cf045
Engine
unreal
Asset type
static_mesh
Target height
182 cm
Height tolerance
± 9.1 cm
Require Y-up geometry
Yes
Infer vertical from dominant extent
Yes
Require ground contact
Yes
Ground tolerance
0.91 cm
Name pattern
^[A-Z][A-Za-z0-9_]*$
Unique node names
Yes
Unique mesh names
Yes
Maximum triangles
15,000
Maximum materials
8
Maximum textures
16
Maximum texture dimension
4096px
Automatic display-name repair
Yes
Approval for physical normalization
Yes
Rule sources
asset_type
family default
budgets.max_materials
family default
budgets.max_texture_dimension
family default
budgets.max_textures
family default
budgets.max_triangles
confirmed intent
engine
family default
expected_height_cm.target
confirmed intent
expected_height_cm.tolerance
derived intent
naming.pattern
family default
naming.require_unique_mesh_names
family default
naming.require_unique_node_names
family default
orientation.ground_tolerance_cm
derived intent
orientation.infer_vertical_from_dominant_extent
family default
orientation.require_ground_contact
family default
orientation.require_y_up_geometry
family default
repair_policy.auto_rename
family default
repair_policy.require_approval_for_normalization_transform
family default
Tool findings and action plan 7

VERTEX REPRESENTATION240 expected attribute-seam splits · 0 losslessly compactable duplicate tuples

POSITION TOPOLOGY0 boundary edges · 0 non-manifold edges · 0 inconsistent shared edges

MESH_NAME_DUPLICATEERROR · AUTO_SAFE · Target-specific expectation

MESH_NAME_INVALIDERROR · AUTO_SAFE · Target-specific expectation

MESH_NAME_MISSINGERROR · AUTO_SAFE · Target-specific expectation

NODE_NAME_DUPLICATEERROR · AUTO_SAFE · Target-specific expectation

NODE_NAME_INVALIDERROR · AUTO_SAFE · Target-specific expectation

NODE_NAME_MISSINGERROR · AUTO_SAFE · Target-specific expectation

MATERIAL_BUDGET_EXCEEDEDWARNING · REPORT_ONLY · Target-specific expectation

10 registered candidate(s); 1 require approval.

AUTO_SAFERename mesh:0 to Mesh_000 while preserving its index.

AUTO_SAFERename mesh:1 to Mesh_001 while preserving its index.

AUTO_SAFERename mesh:2 to Mesh_002 while preserving its index.

AUTO_SAFERename mesh:3 to Mesh_003 while preserving its index.

AUTO_SAFERename node:0 to Node_000 while preserving its index.

AUTO_SAFERename node:1 to Node_001 while preserving its index.

AUTO_SAFERename node:2 to Node_002 while preserving its index.

AUTO_SAFERename node:3 to Node_003 while preserving its index.

AUTO_SAFERename node:4 to Node_004 while preserving its index.

APPROVAL_REQUIREDApply the agent-requested reversible root transform.

Decision, verification, package verified
Decision
Physical plan approved
Verification
PASSED_WITH_REMAINING_WARNINGS
Package
verified result

Private workspace state expires 2026-09-11 · no raw transcript is packaged.