64 frames miss it.
The full-cycle check catches it.
Play a frozen mechanism from the actual v0.1.0 release. Every sampled tool point clears the small disk. A continuous interval calculation finds a collision between those samples.
No sampled overlap. Sampling does not establish full-cycle clearance.
A nominal phase interval is strictly inside the obstacle. Inspect it below.
Gold: nominal tool path. Blue: requested path. Pink: fixed obstacle.
This diagnostic checks the tool point only. Bars are drawn for context and excluded from this saved result. Playback derives poses from frozen dimensions; it does not rerun the Python interval checker.
Give a motor the motion you want.
The local workshop edits timed paths and dimensions, fits one planar crank-rocker candidate, and checks six capsule-shaped bars plus the tool across a whole revolution and a declared dimensional tolerance. Clear, nominal collision and unresolved results stay distinct. Exports recompute the frozen inputs and include conceptual SVG/DXF patterns, source and an independent verifier.
Recompute the evidence yourself.
Download the exact design above, extract it and run its verifier from any directory using Python 3.12 or later. Install the included locked dependencies first. Installation needs a package source or wheel cache; the calculation uses no network.
python -m pip install -r /path/to/design/requirements.lock python /path/to/design/verifier.py
This is an original synthetic model with fixed circular obstacles and one assembly branch. No hardware, own-link collision, loads, flex, joint play or manufacturing safety was validated. mpmath interval support is experimental. File digests detect changes against a retained manifest; they are not signatures.
Inspect the frozen interval report
{
"bounds": {
"angleRad": [
0,
6.283185307179586
],
"clearanceMm": 0.0,
"components": "tool",
"dimensionIntervalsMm": {
"groundMm": [
80.0,
80.0
],
"p": [
72.0,
72.0
],
"q": [
66.0,
66.0
],
"r": [
22.0,
22.0
],
"u": [
85.0,
85.0
],
"v": [
30.0,
30.0
]
},
"radiusIntervalsMm": {
"linkRadiusMm": [
2.0,
2.0
],
"toolRadiusMm": [
0,
0.0
]
}
},
"budget": 8000,
"cells": 126,
"inputSha256": "daf121092004603f0e1af9a1dd0f92a45b04efedc7272c046c8f79468a63a3dd",
"limits": [
"One uniformly timed revolution, one fixed-topology positive assembly branch.",
"Nominal collisions; clear covers every declared independent dimension/radius interval.",
"Ground/r/p/q/u/v and nonnegative body radii vary; phase/yaw/translation are exact.",
"Only fixed circular obstacles versus declared capsules/tool disk; no own-link collisions.",
"No loads, flex, joint play, manufacturing/process or physical-safety guarantee.",
"Outward mpmath interval basic operations at 30 decimal digits; interval support is experimental."
],
"method": "Outward interval circle closure and clamped closest-point capsule projection; conservative degenerate segment hull. Entire angular cover, independent dimensional intervals; nominal interior collision witnesses only.",
"reason": "A nominal interval is strictly inside the expanded obstacle; not a tolerance-only overlap",
"state": "collision",
"witness": {
"angleInterval": [
5.279327269742936,
5.279327363369691
],
"angleRad": 5.279327316556314,
"component": "tool",
"distanceSquaredUpperMm2": 0.9999993987491282,
"expandedRadiusSquaredLowerMm2": 0.9999999999999999,
"nominalOnly": true,
"obstacle": 0
},
"work": 396
}