{"schema_version":"1.0","kind":"vibe_cad_project_recipe","updated":"2026-11-10","author":"partsforagents","authorship":"AI-authored","slug":"tabletop-token-tray","title":"How to make a tabletop token tray with vibe CAD","summary":"Keep mixed game tokens visible and easy to pick up during play. Unequal compartments fit the actual token groups, while curved front walls give fingers room to slide a flat token upward instead of pinching it from a deep box.","category":"Tabletop games","difficulty":"Beginner","measurements":["Largest token width, thickness and unusual outline in each group.","Typical number of tokens used at one time.","Table footprint available beside the play area.","Preferred compartment depth for finger access."],"prompt":"Create a game-token tray with token_widths, token_thicknesses, compartment_widths, tray_depth, scoop_radius and divider_height. Ask for missing component dimensions and group counts. Use a continuous base, low dividers and curved finger-access fronts. Keep all compartments open and use the user's own neutral labels. Do not add copyrighted artwork or assume a particular commercial game's component sizes.","steps":[{"title":"Arrange the token groups","detail":"Spread representative tokens on paper as they would be used during a session. Give bulky or irregular pieces their own wider area rather than forcing equal compartments."},{"title":"Create the compartment plan","detail":"Build low dividers on a common base. Curve the accessible front edges so a flat token can be approached from the side."},{"title":"Review pickup paths","detail":"Model the largest token in each compartment and rotate it toward the opening. Keep neighboring walls from blocking that motion."}],"checks":["Compare a paper layout with the intended quantity of tokens.","Inspect section views for finger access to the thinnest token.","Review the smallest compartment for sharp internal corners or inaccessible pockets."],"pitfall":"Deep vertical compartments can make thin flat tokens difficult to retrieve even when their width is correct.","scope":"An unprinted organizer for existing tabletop components, with no game-specific compatibility claim.","materialNotes":"PLA is a straightforward indoor prototype candidate. PETG can also be considered; neither removes the need to assess edges and clearance.","links":{"html":"https://partsforagents.com/vibe-cad/tabletop-token-tray","markdown":"https://partsforagents.com/vibe-cad/tabletop-token-tray/guide.md","json":"https://partsforagents.com/vibe-cad/tabletop-token-tray/guide.json","catalog":"https://partsforagents.com/vibe-cad/catalog.json","order":"https://partsforagents.com/for-humans?project=tabletop-token-tray#workspace","agent_handoff":"https://partsforagents.com/guides/cad-to-print#connect","full_mcp":"https://partsforagents.com/api/mcp","free_advice_mcp":"https://partsforagents.com/api/advice/mcp","tool_schemas":"https://partsforagents.com/tools.json"},"design_status":{"physical_validation":"not_physically_validated","cad_assets":[],"exact_customer_cad_required":true,"note":"This is a modeling recipe. Any illustration shows the concept; it is not the exact CAD file for an order."},"order_handoff":{"label":"Order this part now","url":"https://partsforagents.com/for-humans?project=tabletop-token-tray#workspace","ready_cad_action":"Upload the customer-approved exported CAD and submit a manufacturing request.","no_cad_action":"Use the measurements and prompt to create editable CAD, inspect it, then export the exact file to be made.","required_inputs":["Authorized exact CAD file","Declared units","Material family and requested grade/color","Quantity","Intended use and critical fit requirements","Contact email","Destination country and postal code"],"current_firm_production_scope":"Reviewed PLA/PETG jobs for eligible contiguous-US/DC delivery.","submission":{"new_request_status":"pending_review","binding":false,"payment_due_at_submission":false,"next":"The exact reviewed offer and payment link follow when the job and payment channel are ready."},"agent_steps":[{"tool":"upload_cad_request","instruction":"Get authorization to store/process the exact exported file, then use its bytes and approved intake fields. Save the returned request ID and file SHA-256."},{"tool":"get_cad_preflight","instruction":"Read measured geometry and unknowns for that uploaded file."},{"tool":"set_manufacturing_specification","instruction":"Save the customer-approved manufacturing choices and returned specification fingerprint."},{"tool":"place_order","instruction":"Submit order_type manufacturing with the real request ID, exact specification fingerprint, acknowledge_nonbinding true and a saved unique idempotency key. Include this guide URL in review_notes along with the approved requirements."},{"tool":"get_order_fulfillment","instruction":"Use the returned order ID to read the authoritative offer and manufacturing progress. A recipe URL alone never identifies an order."}],"retry_policy":"Reconcile an uncertain result before retrying. Reuse identical arguments and the same idempotency key; never submit a second request just because its payment link is pending.","tool_schema_url":"https://partsforagents.com/tools.json"}}