# Model restoration and visual refinement specification

Target: https://robloxportfolio-five.vercel.app/

## Purpose and limits
Restore all 35 existing gallery entries (17 workshop entries including a vehicle and composite, 14 props, 4 maps). Improve visible material defects and presentation based on inspection of each GLB and six rendered inspection sheets. Do not infer AI use or authorship from appearance. No “AI-free”, handmade, or verified-original claim. This revision is code-assisted material and surface refinement, not a newly documented manual modeling history. Preserve originals, rigs, animation tracks, textures, UVs, source identity and gameplay.

## Observed causes
- Pets omit metallicFactor, therefore GLB defaults them to metallic=1; specularColorFactor is [2,2,2], above the valid 0–1 range. Named pet materials share the same pale base color. Repair values and define distinct coat, beak, claw and chest colors.
- Numerous props are untextured, glossy, flat-color surfaces. These are real export characteristics, not proof of AI generation. Separate material response and reduce excessive emission. Keep deliberate low-poly facets rather than smoothing everything.
- Original presentation uses high exposure, saturation boosts, excessive neon badges and rotation. Replace gallery presentation with a quiet slate studio, truthful file measurements and manually controlled animation.
- Environment ground planes dominate automatic framing. Build camera targets from scene content bounds excluding ground/base planes; offer overview and detail cameras.
- Melee props have soft-looking reflective surfaces. Add small real bevels to eligible hard edges in a fresh background Blender project, keeping topology changes reversible. Avoid altering skinned meshes.
- Original avatar card claims 2,840 triangles while the exported file has 19,902 instanced triangles. Count from current exported files. Triangle measurements establish file contents, not source authorship or runtime performance.

## Implementation order
1. Retain original GLBs. Write every revised export to assets/models/refined/. Never modify existing Blender or Studio projects.
2. Normalize material factors, assign pet colors by existing material identity, reduce overly strong emission, and preserve intended metal/glass response. Log each change per asset.
3. Use a new background Blender scene for each weapon. Import revised files; add tightly limited two-segment bevels to eligible unskinned mesh objects; export and retain .blend revision sources locally. Record actual applied changes, not implied manual work.
4. Restore all entries in three editorial galleries: Characters & companions, Weapon props, Environments. Use genuine model thumbnails generated from the actual revised GLBs. Card count derives from data. Provide search, categories, an accessible full-detail viewer and technical measurements.
5. Load one selected model, not all 35. Provide front/side/top/reset, zoom, orbit toggle, neutral/warm studio lighting, actual animation selection, play/pause, and source-versus-revision toggle. Show attribution status calmly in details. Preserve existing gameplay, navigation, contact and costume interactions elsewhere.
6. Test each revised GLB loads. Check clips and skins persist; binary mesh buffers stay unchanged for material-only revisions. Check mobile overflow, keyboard dialog focus/escape, error/loading states and contrast. Publish to the existing Vercel project; verify exact production URL.

## Design system
Slate backgrounds, warm ivory headings, muted cyan accent, hairline borders, generous spacing. Three cards on desktop, two on tablet, one on mobile. Real model renders only; no substitute renders or generated evidence. Card imagery and viewer use the same export. No autoplay for reduced-motion users. Hide floating character while reading galleries.

## Per-asset review and required action
Triangle counts below are original exported mesh instances, not Blender source measurements. Material count includes all material records.

| Asset | Original tris | Materials | Clips | Specific action |
|---|---:|---:|---:|---|
| Amogha Roblox Boy | 19,902 | 16 | 12 | Keep the recognizable avatar, preserve all 12 clips; soften screen glare and distinguish fabric, hair and rubber. |
| Jeep Wrangler Rubicon | 36,926 | 14 | 0 | Separate paint, rubber, chrome and glass; preserve wheel/body alignment; reduce light emission. |
| Bowen | 994 | 8 | 0 | Keep the chunky silhouette and face texture; give skin and cloth different roughness. |
| Chika | 4,436 | 10 | 0 | Preserve hair, face and accessories; balance pale surfaces against a darker neutral background. |
| Deron | 4,010 | 7 | 0 | Keep hat and raised-arm silhouette; distinguish hoodie from trim without a uniform plastic shine. |
| Arzon | 1,790 | 5 | 0 | Inspect detached accent and extreme side view; preserve face texture; clearer white/black material separation. |
| Blocky Lil Nas X | 6,830 | 7 | 0 | Retain recognizable avatar as a reference study; no original character-design claim; reduce suit gloss. |
| Ten Million Robux Man | 8,322 | 8 | 0 | Keep recognizable bundle design as reference; satin suit and restrained hair highlights. |
| Redcliff Paladin | 11,638 | 7 | 0 | Brushed armor and less emissive accents; retain recognizable bundle identity, disclose source review. |
| Noob Attack Mech | 15,366 | 7 | 0 | Separate painted armor, joints and lenses; avoid uniform polished-metal response. |
| Bull Dragon King | 15,878 | 7 | 0 | Preserve horns and armor silhouette; reduce gold glare and overly luminous eyes. |
| Crystal Golem | 4,656 | 3 | 0 | Keep opaque stone body and brighter crystal accents distinct; prevent emission washing out contours. |
| Space Assassin | 6,198 | 5 | 0 | Matte cloth/armor and readable visor; retain existing silhouette, avoid generic all-metal shading. |
| CyberCat | 807 | 3 | 6 | Repair implicit metallic=1 and invalid specular colors; grey coat, light chest and muted pink detail. |
| Cute Puppy Dog | 602 | 1 | 6 | Repair implicit metallic=1 and specular colors; warm brown nonmetal coat with visible facets. |
| BlueBird | 24,800 | 4 | 6 | Repair metallic/specular errors; blue head/wings, warm beak and dark claws. |
| Full Pets Showcase | 26,211 | 9 | 3 | Apply identical individual-pet colors; dark matte platform; count as a composite, not a fourth pet. |
| Battle Axe | 3,936 | 5 | 0 | Refine the cutting-edge highlight and handle/head separation; reduce mirror-like blue metal. |
| Bo Staff | 9,760 | 2 | 0 | Keep staff long and straight; matte wood and restrained grip contrast; closer framing. |
| War Club | 6,316 | 1 | 0 | Keep organic club shape; reduce uniform sheen and inspect the hollow end; no claim of manufacture readiness. |
| Dagger | 4,444 | 6 | 0 | Crisper blade/guard transitions; brushed blade, darker grip and modest bevels. |
| Flail | 9,192 | 4 | 0 | Keep chain/head separation; inspect chain continuity in close-up; softer highlight on head. |
| Halberd | 3,820 | 5 | 0 | Preserve forked head and long shaft; stronger edge readability and brushed metal. |
| Katana | 14,496 | 5 | 0 | Separate blade, guard and wrapped grip; small bevels and lower ornamental glare. |
| Mace | 5,328 | 4 | 0 | Retain spike geometry; make head read as solid metal rather than polished plastic. |
| Spear | 3,312 | 4 | 0 | Closer framing of tip/socket; matte shaft and brushed head. |
| Longsword | 6,332 | 5 | 0 | Preserve blade silhouette; distinguish steel, guard and grip; inspect edge consistency. |
| AK Style Display Prop | 13,602 | 4 | 0 | Keep proportions; satin receiver, warm wood and restrained highlights; static display prop only. |
| SciFi Machine Gun | 19,200 | 1 | 0 | Keep existing sci-fi silhouette; improve dark material readability and edge lighting. |
| Crystal Knife | 576 | 10 | 0 | Reduce emissive washout; retain the crystal facets and reveal the cutting silhouette. |
| SciFi Pistol | 7,381 | 7 | 0 | Separate metallic frame, barrel and grip; tone down gold glare and emissive details. |
| Grand Prix Racing Circuit | 696,702 | 30 | 0 | The enormous ground plane makes the circuit tiny. Fit camera to actual track; neutral terrain, asphalt, kerb separation; on-demand loading. |
| Sky Garden Climbing Course | 94,366 | 17 | 0 | Ground plane dominates floating platforms. Fit camera to the course; separate vegetation, rock and paths. |
| Grand Tennis Stadium | 138,482 | 21 | 0 | Separate court, seats, frame and light poles. Add court view plus overview; reduce uniform green cast. |
| Cyber Gaming Arena & Nexus | 219,818 | 37 | 0 | Scene is tiny in full-bounds view and has thousands of mesh instances. Fit to buildings; add near detail view and on-demand loading. |

## Acceptance criteria and remaining art work
All 35 entries restored and independently loaded in browser; all new sources backed up. Model colors are deliberate, neutral lighting shows silhouette, no uniform white pets. Weapons have measured rather than claimed surface refinement. Maps frame actual content. Every displayed number is generated from the current file. No empty import scripts, no fake provenance.

Material refinement cannot fix every design weakness. Dense map layouts still need scene-specific draw-call optimization and Roblox playtesting. Weapon construction and chain continuity need an artist's manufacturing/animation review. Original design history, hand modeling proof, rights and client ownership still require real records. These must not be represented as completed by this revision.

## Follow-up changes found during implementation
The flail chain was visibly disconnected and was rebuilt as ten alternating elliptical links along its curve. Added a real mesh wireframe mode rendered from the selected GLB in its rest pose; this reveals topology without inventing evidence. Revised map palettes and fitted camera targets to named route and structure geometry. Saved actual Blender revision files for the fourteen weapons. See MODEL_REDESIGN_REPORT.md for precise scope and remaining art work.
