The real dcolpp::socp::proximityContactJacobian — the C++/Eigen
second-order-cone solver and its hand-derived analytic Jacobians — compiled to
WebAssembly and running right here. Pick two convex primitives, pose body B in
6 DoF, and hit Solve.
🎲 rolls fresh same-kind parameters. Polytope & Polygon also draw a new face count (4–16).
Not solved yet.
After a converged solve, jitter g every frame and watch the
re-solved contact race its analytic first-order prediction from the Jacobians.
Solid bodies are the true pose; the gray wireframe is both shapes scaled by
alpha until they just touch. When
contact_manifold_dim > 0 every point of the returned
ContactManifold is drawn — a shared line for a 1D contact, a spread
for a 2D one — with the normal at each, since it's the same vector everywhere
whenever normal_jacobian_valid.
During Perturb: faint markers hold the unperturbed solve, and the
violet
diamond & dashed arrow is the analytic prediction
x*+J·δξ — it rides the true markers until the contact
turns degenerate.
Drag to orbit · scroll or pinch to zoom.