{ "schemaVersion": 1, "status": "CANDIDATE_ONLY_USER_MODEL_REVIEW_REQUIRED", "authoring": "Project-original meshes made by tools/models/build_hero.py; no downloaded character geometry.", "license": "Original project-authored mesh/material work; existing generated face atlas retains SourceAssets/Art/Faces/provenance.json usage/service terms. No exclusive rights claim for generated decal.", "tool": { "name": "Blender", "actualVersion": "5.2.2 LTS" }, "units": "meters; authoring Z up, body-centered pivot at origin; .5m body radius; scale applied, object scales 1", "export": { "axisForward": "-Z", "axisUp": "Y", "globalScale": 1, "applyUnitScale": true, "applyScaleOptions": "FBX_SCALE_ALL", "bakeAnim": false, "selection": "Body separately; knight equipment assembly of named meshes. Review face/ribbon/studio excluded." }, "attachments": { "Helmet": "Upper sphere shell with open front, eye/mouth clearance", "Sword": "Body-left, short blunt toy blade; no arm, no collider", "Shield": "Body-right round layered shield; magnet emblem", "pivot": "Every exported mesh local origin is the same body center. Preserve imported axis transform in future wrapper." }, "portableMaterials": [ { "name": "Hero_CyanSatin", "baseColorSrgb": [ 0.17, 0.72, 0.83 ], "roughness": 0.48, "metallic": 0 }, { "name": "Helmet_SilverTint", "baseColorSrgb": [ 0.72, 0.85, 0.86 ], "roughness": 0.39, "metallic": 0.18 }, { "name": "Ceramic_WarmCream", "baseColorSrgb": [ 0.97, 0.92, 0.78 ], "roughness": 0.43, "metallic": 0 }, { "name": "Trim_HoneyGold", "baseColorSrgb": [ 0.94, 0.71, 0.34 ], "roughness": 0.42, "metallic": 0.12 }, { "name": "Enamel_DeepTeal", "baseColorSrgb": [ 0.055, 0.4, 0.44 ], "roughness": 0.42, "metallic": 0 }, { "name": "Blade_SatinSilver", "baseColorSrgb": [ 0.85, 0.92, 0.91 ], "roughness": 0.4, "metallic": 0.2 } ], "existingFace": { "source": { "path": "SourceAssets/Art/Faces/face-expressions-v2.png", "bytes": 1609191, "sha256": "0e3c115619c4ae68cf8859ccbc6d4bfb3a26a1a247b3ddb41327c46829540c98" }, "runtime": { "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Textures/FaceExpressions.png", "bytes": 1609191, "sha256": "0e3c115619c4ae68cf8859ccbc6d4bfb3a26a1a247b3ddb41327c46829540c98" }, "spriteRecords": [ { "name": "Neutral", "rect": [ 0.0, 512.0, 682.0, 512.0 ], "pivot": [ 0.5, 0.5 ], "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Sprites/Face0.asset", "sha256": "a351d09aef580f8bf3d73401008aa93c7fffb250ea010595824dff15766dfcf6" }, { "name": "Interested", "rect": [ 682.0, 512.0, 682.0, 512.0 ], "pivot": [ 0.5, 0.5 ], "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Sprites/Face1.asset", "sha256": "a555b81eb573044b53edc7c57bbc2937ba1e7d789527bae02f97686cce6ff816" }, { "name": "Focused", "rect": [ 1365.0, 512.0, 682.0, 512.0 ], "pivot": [ 0.5, 0.5 ], "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Sprites/Face2.asset", "sha256": "6c8cfcc79bf7ab2781b39303ebd6e723fd0f96aec9f30378c7197bb73720d020" }, { "name": "Laughing", "rect": [ 0.0, 0.0, 682.0, 512.0 ], "pivot": [ 0.5, 0.68 ], "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Sprites/Face3.asset", "sha256": "9130d438849dc678504cc939f51c9ea91c5b1dff97b7f7f9248b2f617af4da26" }, { "name": "Encouraging", "rect": [ 682.0, 0.0, 682.0, 512.0 ], "pivot": [ 0.5, 0.68 ], "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Sprites/Face4.asset", "sha256": "8325c280f8fd83b1f55102593dc772153a3953a70e818467894d7ac98c9f87c0" }, { "name": "Celebrating", "rect": [ 1365.0, 0.0, 682.0, 512.0 ], "pivot": [ 0.5, 0.68 ], "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Sprites/Face5.asset", "sha256": "a63967c62e7f1ddebe5cfa073b536992b1e02f2ff3aeacd515dc9cb230dca321" } ], "reviewNormalization": "Read existing rects and pivots. TextureImporter nPOTScale=1 imports original 1536x1024 PNG at 2048x1024. Review UV uses existing imported-grid x/2048,width/2048,y/1024,height/1024; pivot preserved. Existing files unchanged. Game face appearance/import still requires later review." }, "files": [ { "path": "SourceAssets/Models/Heroes/MagneticKnight.blend", "bytes": 1833499, "sha256": "7ce1272dfe861aee986609cdb899f0edf8b8f2f0f17269c0eda472c8aa90ee3a" }, { "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Models/Heroes/HeroBody.fbx", "bytes": 60076, "sha256": "56f3301176c612ebeab3fdaaba5c019674beeb0f727f97ed27dd67e32ff50a40" }, { "path": "Assets/MagnetismHeroes/UnityRuntime/Presentation/Models/Heroes/KnightEquipment.fbx", "bytes": 222764, "sha256": "a8059a020e79e080635e7326bb91576010cad10c60ee931d95536d47fe76e61c" } ], "reviewScope": "Actual Blender renders and source/export geometry assertions. No Unity import, no Android, no gameplay/selection/UI-clearance pass claimed. Candidate files have no hand-authored .meta; future Unity import owner must generate them after approval.", "renders": "C:\\git\\MagnetismHeroes\\artifacts\\verification\\VisualUpgrade\\ModelReview\\Heroes" }