{"api":"v1","generated_at":"2026-09-15T19:45:43.727Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/prototype-api-williamrobinson-dev-v1-prototype-revise-3e7c36","pinned_page":"https://tollindex.com/e/prototype-api-williamrobinson-dev-v1-prototype-revise-3e7c36/at/2026-09-15T16-57Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-15T16:57:44.360Z","snapshot_stamp":"2026-09-15T16-57Z","endpoint":{"slug":"prototype-api-williamrobinson-dev-v1-prototype-revise-3e7c36","canonical_url":"https://prototype.api.williamrobinson.dev/v1/prototype/revise","resource":"https://prototype.api.williamrobinson.dev/v1/prototype/revise","http_method":"POST","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Apply deterministic parameter edits to a self-contained OpenSCAD model, verify preserve constraints against the baseline, slice it with PrusaSlicer, and return checked alternatives (orientations, partial edits) when goals are unmet.","service_name":"Print Prototype Engineer","declared_category":null,"declared_tags":["3d-printing","openscad","prusaslicer","prototyping","orientation"],"route_template":null,"registry_updated":"2026-09-11T20:08:16.068Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"prototype revise","category":"identity","first_observed_by_toll":"2026-09-11T20:57:00.628Z","last_observed_by_toll":"2026-09-15T16:57:44.360Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-11T20:57:00.628Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.15 USDC","amount_units":0.15,"decimals_known":true,"pay_to":"0x26026370fe8b2bb17af9092a17691c76519366da","scheme":"exact"}],"counters":{"observed_at":"2026-09-15T16:57:44.360Z","calls_30d":1,"unique_payers_30d":1,"last_called_at":"2026-09-11T20:08:15.447Z"},"validation":{"latest":{"observed_at":"2026-09-15T04:31:34.206Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-09-15"},"uptime":[{"days":7,"observed":5,"passed":5,"ratio":1},{"days":30,"observed":5,"passed":5,"ratio":1},{"days":90,"observed":5,"passed":5,"ratio":1}],"history_90d":[{"observed_at":"2026-09-15T04:31:34.206Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-15","state_changed":false},{"observed_at":"2026-09-14T04:27:52.616Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-14","state_changed":false},{"observed_at":"2026-09-13T04:26:40.233Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-13","state_changed":false},{"observed_at":"2026-09-12T06:42:21.553Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-12","state_changed":false},{"observed_at":"2026-09-11T23:16:47.088Z","state":"pass","failed_checks":[],"run_id":"new-2026-09-11T23-16-41-776Z","state_changed":true}]},"seller":{"wallet":"0x26026370fe8b2bb17af9092a17691c76519366da","page":"https://tollindex.com/seller/0x26026370fe8b2bb17af9092a17691c76519366da","endpoints":12,"hosts":12},"reports":0,"registry_record":{"cdp":[{"tags":["3d-printing","openscad","prusaslicer","prototyping","orientation"],"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","amount":"150000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":300}],"quality":{"lastCalledAt":"2026-09-11T20:08:15.447Z","l30DaysTotalCalls":1,"l30DaysUniquePayers":1},"resource":"https://prototype.api.williamrobinson.dev/v1/prototype/revise","extensions":{"bazaar":{"info":{"input":{"body":{"edits":[{"kind":"offset","name":"shelf","delta":10}],"goals":{"maxSizeMm":[220,220,250],"noSupports":true},"source":"wall = 5; shelf = 40; height = 60; depth = 30;\nunion() {\n  cube([wall, depth, height]);\n  translate([0, 0, height - wall]) cube([shelf, depth, wall]);\n}\n","profile":"fdm-pla-0.4","preserve":[{"axis":"z","kind":"bounds_axis","toleranceMm":0.05}],"parameters":{"height":60},"maxAlternatives":3,"orientationSearch":true},"type":"http","method":"POST","bodyType":"json"},"output":{"type":"json","example":{"delta":{"sizeMm":[10,0,0],"volumeMm3":1500,"volumePercent":10.526315789473683},"tools":{"slicer":"PrusaSlicer-2.5.0+UNKNOWN based on Slic3r (with GUI support)","openscad":"OpenSCAD version 2021.01"},"checks":[{"code":"SOURCE_SELF_CONTAINED","detail":"No external file-reading OpenSCAD constructs were found","status":"passed"},{"code":"PARAMETERS_APPLIED","detail":"1 named source parameters were patched","status":"passed"},{"code":"EDITS_APPLIED","detail":"1 edits were applied in order","status":"passed"},{"code":"PRESERVE_PARAMETER","detail":"No parameter preserve constraint was requested","status":"not_checked"},{"code":"BASELINE_COMPILE","detail":"OpenSCAD rendered the baseline model","status":"passed"},{"code":"CAD_COMPILE","detail":"OpenSCAD rendered the revised model","status":"passed"},{"code":"MESH_VALIDITY","detail":"Binary STL has finite vertices and no degenerate triangles","status":"passed"},{"code":"MESH_WATERTIGHT","detail":"Every undirected triangle edge appears exactly twice","status":"passed"},{"code":"MESH_ENCLOSED_VOLUME","detail":"15750.000 mm³ enclosed volume","status":"passed"},{"code":"PRESERVE_BOUNDS","detail":"Every preserved axis stayed within its tolerance","status":"passed"},{"code":"PRESERVE_VOLUME","detail":"No volume preserve constraint was requested","status":"not_checked"},{"code":"PRINTER_BED","detail":"50.000 × 30.000 × 60.000 mm against 220 × 220 × 250 mm printer bed","status":"passed"},{"code":"SLICER","detail":"PrusaSlicer produced bounded G-code with the fixed profile","status":"passed"},{"code":"EXTRUSION_TOOLPATH","detail":"G-code contains at least one extrusion move","status":"passed"},{"code":"GOAL_NO_SUPPORTS","detail":"Support filament used: 3669.318 mm","status":"failed"},{"code":"GOAL_PRINT_TIME","detail":"No maxPrintTimeMin goal was requested","status":"not_checked"},{"code":"GOAL_FILAMENT","detail":"No maxFilamentG goal was requested","status":"not_checked"},{"code":"GOAL_FIT","detail":"50.000 × 30.000 × 60.000 mm against requested 220 × 220 × 250 mm","status":"passed"},{"code":"ORIENTATION_SEARCH","detail":"Every orientation candidate needed by the search budget and maxAlternatives was evaluated","status":"passed"},{"code":"PREVIEW","detail":"Headless OpenSCAD rendered preview.png","status":"passed"}],"status":"goals_unmet","changes":[{"name":"shelf","after":50,"before":40}],"profile":"fdm-pla-0.4","revised":{"boundsMm":{"max":[50,30,60],"min":[0,0,0],"size":[50,30,60]},"volumeMm3":15750,"watertight":true,"triangleCount":20},"timings":{"sliceMs":258.936095,"totalMs":1349.33955,"searchMs":487.178505,"compileMs":117.91681300000005,"previewMs":336.740849},"baseline":{"boundsMm":{"max":[40,30,60],"min":[0,0,0],"size":[40,30,60]},"volumeMm3":14250,"watertight":true,"triangleCount":20},"warnings":[],"artifacts":[{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.scad","name":"revised.scad","sha256":"6c8f087904109cd19d9a6994a3cfe9eb88d8784730b1f0a4f1e50e41d9a48ab1","mediaType":"text/plain; charset=utf-8","sizeBytes":153},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/baseline.stl","name":"baseline.stl","sha256":"21dfae091297d772a86b87186a6804950e88b4ca35fc0bd323a979beddb049ad","mediaType":"model/stl","sizeBytes":1084},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.stl","name":"revised.stl","sha256":"81d262c41426000dc34d0da6e2a240a035522d57bc9e7250442a22dba9b2b945","mediaType":"model/stl","sizeBytes":1084},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.gcode","name":"revised.gcode","sha256":"1e7175a999f29ec0fedea7a2d247b12df599eea7c54e4649356df2f5f7ef7e24","mediaType":"text/plain; charset=utf-8","sizeBytes":737838},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/profile.ini","name":"profile.ini","sha256":"c69f01a9e2b8aafaf09486afa03a5c2aceffb879d90409b6273a70403c9e4297","mediaType":"text/plain; charset=utf-8","sizeBytes":582},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","name":"report.json","sha256":"72fd8c40face6f6400b4e6a26e11dff9a26cd4f323ecda5bc89ef256d3d8e269","mediaType":"application/json","sizeBytes":7647},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/changes.diff","name":"changes.diff","sha256":"6876ee6a6ac29b7b73885aed99280aeeb238beef5ce6929c5428c337e12ea994","mediaType":"text/x-diff; charset=utf-8","sizeBytes":254},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-1.gcode","name":"alternative-1.gcode","sha256":"c4b0c15fa7b5b087e9e8f08b765358f33b899d162c659da0e34d244e3e24646f","mediaType":"text/plain; charset=utf-8","sizeBytes":483111},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-2.gcode","name":"alternative-2.gcode","sha256":"8d1349486f3965ef380a6a553560d7e5790abed5d162a39833d348945e8a65ee","mediaType":"text/plain; charset=utf-8","sizeBytes":491287},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-3.gcode","name":"alternative-3.gcode","sha256":"81bc546b42fc6bcada971e3cbfc8af154020233f69dbaca207e901c23ef7ab08","mediaType":"text/plain; charset=utf-8","sizeBytes":375942},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/preview.png","name":"preview.png","sha256":"8c760f9b61e1bebd29e64089781b4ba39081dc72325eed7883ff34671eb020a0","mediaType":"image/png","sizeBytes":7861}],"expiresAt":"2026-09-13T12:43:55.474Z","requested":{"goals":{"fit":true,"filament":true,"printTime":true,"noSupports":false},"slice":{"filamentG":20.94,"filamentMm":7020.67,"layerCount":480,"needsSupport":true,"supportFilamentMm":3669.3182300001085,"estimatedPrintTimeMin":84.75},"sliced":true,"overhang":{"heightMm":60,"footprintMm":[50,30],"overhangAreaMm2":1350,"bedContactAreaMm2":150},"rotation":{"xDeg":0,"yDeg":0},"orientation":"+z"},"evaluations":[{"goals":{"fit":true,"filament":true,"printTime":true,"noSupports":false},"slice":{"filamentG":20.94,"filamentMm":7020.67,"layerCount":480,"needsSupport":true,"supportFilamentMm":3669.3182300001085,"estimatedPrintTimeMin":84.75},"sliced":true,"overhang":{"heightMm":60,"footprintMm":[50,30],"overhangAreaMm2":1350,"bedContactAreaMm2":150},"rotation":{"xDeg":0,"yDeg":0},"orientation":"+z"},{"goals":null,"slice":null,"sliced":false,"overhang":{"heightMm":60.00000000000001,"footprintMm":[50,30.000000000000007],"overhangAreaMm2":0,"bedContactAreaMm2":1500},"rotation":{"xDeg":180,"yDeg":0},"orientation":"-z"},{"goals":{"fit":true,"filament":true,"printTime":true,"noSupports":true},"slice":{"filamentG":9.92,"filamentMm":3326.3,"layerCount":250,"needsSupport":false,"supportFilamentMm":0,"estimatedPrintTimeMin":55.266666666666666},"sliced":true,"overhang":{"heightMm":50.00000000000001,"footprintMm":[60,30],"overhangAreaMm2":0,"bedContactAreaMm2":1800},"rotation":{"xDeg":0,"yDeg":-90},"orientation":"+x"},{"goals":null,"slice":null,"sliced":false,"overhang":{"heightMm":50.00000000000001,"footprintMm":[60,30],"overhangAreaMm2":1650,"bedContactAreaMm2":150},"rotation":{"xDeg":0,"yDeg":90},"orientation":"-x"},{"goals":{"fit":true,"filament":true,"printTime":true,"noSupports":true},"slice":{"filamentG":10.05,"filamentMm":3370.97,"layerCount":150,"needsSupport":false,"supportFilamentMm":0,"estimatedPrintTimeMin":48.06666666666667},"sliced":true,"overhang":{"heightMm":30.000000000000004,"footprintMm":[50,60],"overhangAreaMm2":0,"bedContactAreaMm2":525},"rotation":{"xDeg":90,"yDeg":0},"orientation":"+y"},{"goals":{"fit":true,"filament":true,"printTime":true,"noSupports":true},"slice":{"filamentG":10.05,"filamentMm":3371.2,"layerCount":150,"needsSupport":false,"supportFilamentMm":0,"estimatedPrintTimeMin":48.1},"sliced":true,"overhang":{"heightMm":30.000000000000004,"footprintMm":[50,60],"overhangAreaMm2":0,"bedContactAreaMm2":525},"rotation":{"xDeg":-90,"yDeg":0},"orientation":"-y"}],"limitations":["The service validates CAD, mesh closure, dimensions, preserve constraints, and slicer output only; it does not verify physical printability, strength, tolerances, or material certification.","OpenSCAD coordinates are interpreted as millimetres; no automatic unit conversion is performed.","Overhang analysis is a pure 45°-surface-normal geometric heuristic; the needsSupport goal is decided by PrusaSlicer's own automatic support generator, which can disagree with the heuristic.","G-code is not byte-deterministic across runs (seam placement jitters by a few microns); only the parsed header metrics are treated as stable.","This service charges for every outcome it returns — passed, goals_unmet, or rejected — because CAD compilation, mesh inspection, and slicing work is performed before the outcome is known."],"alternatives":[{"kind":"orientation","mesh":{"boundsMm":{"max":[50,1.83697019872103e-15,30.000000000000004],"min":[0,-60,0],"size":[50,60,30.000000000000004]},"volumeMm3":15750,"watertight":true,"triangleCount":20},"slice":{"filamentG":10.05,"filamentMm":3370.97,"layerCount":150,"needsSupport":false,"supportFilamentMm":0,"estimatedPrintTimeMin":48.06666666666667},"artifact":"alternative-1.gcode","orientation":"+y","editFraction":null,"meetsAllGoals":true,"parametersApplied":null},{"kind":"orientation","mesh":{"boundsMm":{"max":[50,60,3.67394039744206e-15],"min":[0,0,-30],"size":[50,60,30.000000000000004]},"volumeMm3":15750,"watertight":true,"triangleCount":20},"slice":{"filamentG":10.05,"filamentMm":3371.2,"layerCount":150,"needsSupport":false,"supportFilamentMm":0,"estimatedPrintTimeMin":48.1},"artifact":"alternative-2.gcode","orientation":"-y","editFraction":null,"meetsAllGoals":true,"parametersApplied":null},{"kind":"orientation","mesh":{"boundsMm":{"max":[3.061616997868383e-16,30,50.00000000000001],"min":[-60,0,0],"size":[60,30,50.00000000000001]},"volumeMm3":15750,"watertight":true,"triangleCount":20},"slice":{"filamentG":9.92,"filamentMm":3326.3,"layerCount":250,"needsSupport":false,"supportFilamentMm":0,"estimatedPrintTimeMin":55.266666666666666},"artifact":"alternative-3.gcode","orientation":"+x","editFraction":null,"meetsAllGoals":true,"parametersApplied":null}],"recommendations":[{"code":"BETTER_ORIENTATION","message":"A different axis-aligned orientation meets every requested goal; see the orientation alternatives."}],"parametersApplied":{"height":60}}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["source"],"properties":{"edits":{"type":"array","items":{"type":"object","oneOf":[{"required":["kind","name","value"],"properties":{"kind":{"const":"set"},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"value":{"anyOf":[{"type":"string","maxLength":512,"description":"Maximum 512 UTF-8 bytes."},{"type":"number","maximum":1000000,"minimum":-1000000},{"type":"boolean"}]}},"additionalProperties":false},{"required":["kind","name","delta"],"properties":{"kind":{"const":"offset"},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"delta":{"type":"number","maximum":1000000,"minimum":-1000000}},"additionalProperties":false},{"required":["kind","name","factor"],"properties":{"kind":{"const":"scale"},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"factor":{"type":"number","maximum":1000000,"exclusiveMinimum":0}},"additionalProperties":false}]},"default":[],"maxItems":16,"description":"Deterministic edits applied in order to a top-level scalar assignment: set a literal, offset a numeric value, or scale it by a positive factor."},"goals":{"type":"object","default":{},"properties":{"maxSizeMm":{"type":"array","items":{"type":"number","maximum":1000,"exclusiveMinimum":0},"default":[220,220,250],"maxItems":3,"minItems":3},"noSupports":{"type":"boolean","default":true},"maxFilamentG":{"type":"number","maximum":100000,"minimum":0.01},"maxPrintTimeMin":{"type":"number","maximum":100000,"minimum":1}},"additionalProperties":false},"source":{"type":"string","maxLength":16384,"minLength":1,"description":"Self-contained OpenSCAD, interpreted in millimetres; maximum 16 KiB UTF-8. External imports are prohibited."},"profile":{"enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string","default":"fdm-pla-0.4"},"preserve":{"type":"array","items":{"type":"object","oneOf":[{"required":["kind","name"],"properties":{"kind":{"const":"parameter"},"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"}},"additionalProperties":false},{"required":["kind","axis"],"properties":{"axis":{"enum":["x","y","z"],"type":"string"},"kind":{"const":"bounds_axis"},"toleranceMm":{"type":"number","default":0.05,"maximum":1000,"minimum":0}},"additionalProperties":false},{"required":["kind"],"properties":{"kind":{"const":"volume"},"tolerancePercent":{"type":"number","default":1,"maximum":100,"minimum":0}},"additionalProperties":false}]},"default":[],"maxItems":16,"description":"Constraints the revision must not violate: an edit must not target a named parameter, a bounding-box axis must stay within a tolerance, or the volume must stay within a percentage."},"parameters":{"type":"object","default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"string","maxLength":512,"description":"Maximum 512 UTF-8 bytes."},{"type":"number","maximum":1000000,"minimum":-1000000},{"type":"boolean"}]}},"maxAlternatives":{"type":"integer","default":3,"maximum":4,"minimum":0},"orientationSearch":{"type":"boolean","default":true,"description":"Evaluate the other five axis-aligned orientations as alternatives."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["status","profile","tools","parametersApplied","changes","baseline","revised","delta","requested","evaluations","alternatives","checks","warnings","recommendations","limitations","timings","expiresAt","artifacts"],"properties":{"delta":{"anyOf":[{"type":"null"},{"type":"object","required":["sizeMm","volumeMm3","volumePercent"],"properties":{"sizeMm":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"volumeMm3":{"type":"number"},"volumePercent":{"type":"number"}},"additionalProperties":false}]},"tools":{"type":"object","required":["openscad","slicer"],"properties":{"slicer":{"type":"string"},"openscad":{"type":"string"}},"additionalProperties":false},"checks":{"type":"array","items":{"type":"object","required":["code","status","detail"],"properties":{"code":{"type":"string","maxLength":128,"minLength":1},"detail":{"type":"string","maxLength":4096},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"additionalProperties":false},"maxItems":32},"status":{"enum":["passed","goals_unmet","rejected"],"type":"string"},"changes":{"type":"array","items":{"type":"object","required":["name","before","after"],"properties":{"name":{"type":"string"},"after":{"anyOf":[{"type":"string","maxLength":512,"description":"Maximum 512 UTF-8 bytes."},{"type":"number","maximum":1000000,"minimum":-1000000},{"type":"boolean"}]},"before":{"anyOf":[{"type":"string","maxLength":512,"description":"Maximum 512 UTF-8 bytes."},{"type":"number","maximum":1000000,"minimum":-1000000},{"type":"boolean"}]}},"additionalProperties":false},"maxItems":16},"profile":{"enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string"},"revised":{"anyOf":[{"type":"null"},{"type":"object","required":["triangleCount","boundsMm","volumeMm3","watertight"],"properties":{"boundsMm":{"type":"object","required":["min","max","size"],"properties":{"max":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"min":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"size":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3}},"additionalProperties":false},"volumeMm3":{"type":"number","minimum":0},"watertight":{"type":"boolean"},"triangleCount":{"type":"integer","minimum":0}},"additionalProperties":false}]},"timings":{"type":"object","required":["compileMs","sliceMs","searchMs","previewMs","totalMs"],"properties":{"sliceMs":{"type":"number","minimum":0},"totalMs":{"type":"number","minimum":0},"searchMs":{"type":"number","minimum":0},"compileMs":{"type":"number","minimum":0},"previewMs":{"type":"number","minimum":0}},"additionalProperties":false},"baseline":{"anyOf":[{"type":"null"},{"type":"object","required":["triangleCount","boundsMm","volumeMm3","watertight"],"properties":{"boundsMm":{"type":"object","required":["min","max","size"],"properties":{"max":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"min":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"size":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3}},"additionalProperties":false},"volumeMm3":{"type":"number","minimum":0},"watertight":{"type":"boolean"},"triangleCount":{"type":"integer","minimum":0}},"additionalProperties":false}]},"warnings":{"type":"array","items":{"type":"string","maxLength":4096},"maxItems":32},"artifacts":{"type":"array","items":{"type":"object","required":["name","mediaType","sizeBytes","sha256","href"],"properties":{"href":{"type":"string","format":"uri"},"name":{"enum":["revised.scad","changes.diff","baseline.stl","revised.stl","revised.gcode","alternative-1.gcode","alternative-2.gcode","alternative-3.gcode","alternative-4.gcode","profile.ini","preview.png","report.json"],"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mediaType":{"type":"string","maxLength":128,"minLength":1},"sizeBytes":{"type":"integer","minimum":0}},"additionalProperties":false},"maxItems":12},"expiresAt":{"type":"string","format":"date-time"},"requested":{"anyOf":[{"type":"null"},{"type":"object","required":["orientation","rotation","overhang","slice","goals","sliced"],"properties":{"goals":{"anyOf":[{"type":"null"},{"type":"object","required":["noSupports","printTime","filament","fit"],"properties":{"fit":{"type":"boolean"},"filament":{"type":"boolean"},"printTime":{"type":"boolean"},"noSupports":{"type":"boolean"}},"additionalProperties":false}]},"slice":{"anyOf":[{"type":"null"},{"type":"object","required":["estimatedPrintTimeMin","filamentG","filamentMm","supportFilamentMm","layerCount","needsSupport"],"properties":{"filamentG":{"type":"number","minimum":0},"filamentMm":{"type":"number","minimum":0},"layerCount":{"type":"integer","minimum":0},"needsSupport":{"type":"boolean"},"supportFilamentMm":{"type":"number","minimum":0},"estimatedPrintTimeMin":{"type":"number","minimum":0}},"additionalProperties":false}]},"sliced":{"type":"boolean"},"overhang":{"type":"object","required":["overhangAreaMm2","bedContactAreaMm2","heightMm","footprintMm"],"properties":{"heightMm":{"type":"number","minimum":0},"footprintMm":{"type":"array","items":{"type":"number"},"maxItems":2,"minItems":2},"overhangAreaMm2":{"type":"number","minimum":0},"bedContactAreaMm2":{"type":"number","minimum":0}},"additionalProperties":false},"rotation":{"type":"object","required":["xDeg","yDeg"],"properties":{"xDeg":{"type":"number"},"yDeg":{"type":"number"}},"additionalProperties":false},"orientation":{"enum":["+z","-z","+x","-x","+y","-y"],"type":"string"}},"additionalProperties":false}]},"evaluations":{"type":"array","items":{"type":"object","required":["orientation","rotation","overhang","slice","goals","sliced"],"properties":{"goals":{"anyOf":[{"type":"null"},{"type":"object","required":["noSupports","printTime","filament","fit"],"properties":{"fit":{"type":"boolean"},"filament":{"type":"boolean"},"printTime":{"type":"boolean"},"noSupports":{"type":"boolean"}},"additionalProperties":false}]},"slice":{"anyOf":[{"type":"null"},{"type":"object","required":["estimatedPrintTimeMin","filamentG","filamentMm","supportFilamentMm","layerCount","needsSupport"],"properties":{"filamentG":{"type":"number","minimum":0},"filamentMm":{"type":"number","minimum":0},"layerCount":{"type":"integer","minimum":0},"needsSupport":{"type":"boolean"},"supportFilamentMm":{"type":"number","minimum":0},"estimatedPrintTimeMin":{"type":"number","minimum":0}},"additionalProperties":false}]},"sliced":{"type":"boolean"},"overhang":{"type":"object","required":["overhangAreaMm2","bedContactAreaMm2","heightMm","footprintMm"],"properties":{"heightMm":{"type":"number","minimum":0},"footprintMm":{"type":"array","items":{"type":"number"},"maxItems":2,"minItems":2},"overhangAreaMm2":{"type":"number","minimum":0},"bedContactAreaMm2":{"type":"number","minimum":0}},"additionalProperties":false},"rotation":{"type":"object","required":["xDeg","yDeg"],"properties":{"xDeg":{"type":"number"},"yDeg":{"type":"number"}},"additionalProperties":false},"orientation":{"enum":["+z","-z","+x","-x","+y","-y"],"type":"string"}},"additionalProperties":false},"maxItems":6},"limitations":{"type":"array","items":{"type":"string","maxLength":4096},"maxItems":16},"alternatives":{"type":"array","items":{"type":"object","required":["kind","artifact","orientation","parametersApplied","editFraction","mesh","slice","meetsAllGoals"],"properties":{"kind":{"enum":["orientation","partial_edit"],"type":"string"},"mesh":{"anyOf":[{"type":"null"},{"type":"object","required":["triangleCount","boundsMm","volumeMm3","watertight"],"properties":{"boundsMm":{"type":"object","required":["min","max","size"],"properties":{"max":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"min":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"size":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3}},"additionalProperties":false},"volumeMm3":{"type":"number","minimum":0},"watertight":{"type":"boolean"},"triangleCount":{"type":"integer","minimum":0}},"additionalProperties":false}]},"slice":{"type":"object","required":["estimatedPrintTimeMin","filamentG","filamentMm","supportFilamentMm","layerCount","needsSupport"],"properties":{"filamentG":{"type":"number","minimum":0},"filamentMm":{"type":"number","minimum":0},"layerCount":{"type":"integer","minimum":0},"needsSupport":{"type":"boolean"},"supportFilamentMm":{"type":"number","minimum":0},"estimatedPrintTimeMin":{"type":"number","minimum":0}},"additionalProperties":false},"artifact":{"anyOf":[{"type":"null"},{"enum":["alternative-1.gcode","alternative-2.gcode","alternative-3.gcode","alternative-4.gcode"],"type":"string"}]},"orientation":{"enum":["+z","-z","+x","-x","+y","-y"],"type":"string"},"editFraction":{"anyOf":[{"type":"null"},{"type":"number","maximum":1,"minimum":0}]},"meetsAllGoals":{"type":"boolean"},"parametersApplied":{"anyOf":[{"type":"null"},{"type":"object","default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"string","maxLength":512,"description":"Maximum 512 UTF-8 bytes."},{"type":"number","maximum":1000000,"minimum":-1000000},{"type":"boolean"}]}}]}},"additionalProperties":false},"maxItems":4},"recommendations":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","maxLength":128},"message":{"type":"string","maxLength":4096}},"additionalProperties":false},"maxItems":32},"parametersApplied":{"type":"object","default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"string","maxLength":512,"description":"Maximum 512 UTF-8 bytes."},{"type":"number","maximum":1000000,"minimum":-1000000},{"type":"boolean"}]}}},"additionalProperties":false}}}}}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"a":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"App builder code"},"s":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9_]{1,32}$"},"maxItems":11,"description":"Service builder codes"},"w":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"Wallet builder code"}},"additionalProperties":false}},"payment-identifier":{"info":{"required":true},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["required"],"properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":128,"minLength":16},"required":{"type":"boolean"}}}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{}},"description":"Apply deterministic parameter edits to a self-contained OpenSCAD model, verify preserve constraints against the baseline, slice it with PrusaSlicer, and return checked alternatives (orientations, partial edits) when goals are unmet.","lastUpdated":"2026-09-11T20:08:16.068Z","serviceName":"Print Prototype Engineer","x402Version":2}]}}