{ "status": "SPEC_DERIVED_CAD", "notAuthorCad": true, "sourceOfDimensions": [ "src/domain/pusherMotion.ts PUSHER constants", "docs/stage2_real_sorter/mechanism-map.md", "PusherMechanism.tsx visual housing sizes" ], "units": "mm", "paddle": { "length": 1000, "height": 280, "thickness": 50 }, "leadingEdge": { "thickness": 4 }, "servo": { "diameter": 90, "length": 160 }, "shaft": { "diameter": 20, "length": 60 }, "axisHeightAboveBeltMm": 142, "strokeMm": 1620, "yawDeg": 20.4, "homeDistanceMm": 400, "glb": "public/models/sorter/mechanism-web.glb", "step": "3d_models/sorter_mechanism.step", "parts": [ { "name": "paddle-plate", "triangles": 12, "stl": "paddle-plate.stl" }, { "name": "rib-l", "triangles": 12, "stl": "rib-l.stl" }, { "name": "rib-c", "triangles": 12, "stl": "rib-c.stl" }, { "name": "rib-r", "triangles": 12, "stl": "rib-r.stl" }, { "name": "servo-body", "triangles": 96, "stl": "servo-body.stl" }, { "name": "servo-shaft", "triangles": 64, "stl": "servo-shaft.stl" }, { "name": "bracket", "triangles": 12, "stl": "bracket.stl" }, { "name": "housing", "triangles": 12, "stl": "housing.stl" }, { "name": "leading-edge", "triangles": 12, "stl": "leading-edge.stl" } ], "sha256_glb": "eb973217d4ec7288f784d93e6f539b4f3d29fb3163d6788b5467c97451588ed6" }