The dealgod.pro products database holds ~82k secondhand tool listings with photos (69k cached on the VPS). This turns the good ones into game assets: 15 tool classes curated from 45 candidates (socket set, air compressor, chain block, car ramp, OBD reader, trolley jack, engine crane, engine stand, toolbox, angle grinder, welder, jerry can, battery charger, jack stands, grease gun), each run through the MODELBEAST farm by the new tools/cc_to_glb.py: bg_remove_local cutout, then trellis_mac image->3D (1024 tier). Retries with backoff after a transient queue 401; the jerry can made trellis_mac exit 2 on two different photos and went through hunyuan3d_mlx instead (--operator flag), which ate it happily. Raw TRELLIS output is ~20MB per prop, so tools/slim_glb.py (headless Blender) decimates to 18k tris and re-exports with 1024 JPEG textures: the library lands at 27MB total for 15 props instead of ~300MB. The Willowbank paddock strews the whole library as RigidBodies -- TOOL_SPECS in dragway.gd gives each class its real-world size (TRELLIS output is unit-ish; the AABB is measured live and scaled) and an honest mass, so clipping the 70kg engine crane is a different event to punting the grease gun. The loader is directory-driven: drop a new GLB into assets/tools/ and it appears in the paddock next boot. Textures inherit whatever branding was in the source photos -- fine for secondhand background clutter, flagged in the README for anything that gets promoted to hero status. Smoke suite asserts every GLB in the library spawns as a prop. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.5 MiB
1.5 MiB