MiniMax M3.1 Flash
It wrote a real IK solver, then put the normalised term under the wrong root.
This is the model's original HTML output. Its own controls are inside the frame. This model shipped no playback controls. Use reload to watch it again.
Scorecard25 pts
Motion check
- Wheels rotate
- Yes
- Crank rotates
- Yes
- Feet track pedals
- Yes
- Scene moves
- Yes
Verdict
The closest thing to a real ride below the top two, and the most instructive failure on the board. The page draws a complete diamond-frame bicycle — seven tubes, fork, chain, chainring, drop bars, saddle, spoked wheels — and then solves both legs in JavaScript against the crank instead of faking them with a curve. Measured over 60 frames the near and far feet never leave their pedals (4.0–4.1 units), the wing tip is pinned to (790, 344) on the bar tape, the body's bounding box bottoms out at 358 on a saddle that tops out at 350, and the pelican faces the way the road is moving. The gearing is essentially exact: the crank turns at 0.635 rev/s against the wheel's 0.637, and 248 units/s of rim against 250 units/s of road is under 1% of slip from constants somebody chose by eye. Then the knee. The solver puts the joint at the right distance along the hip-to-foot line but takes its perpendicular offset as `L1·√(1−t²)` with `t` normalised instead of `√(L1²−(t·d)²)` in absolute units — 87.6 where it should be 79.2 at the top of the stroke, 89.0 where it should be 34.2 at the bottom. So the thigh measures 110.5–134.4 units against the 104 it declares and the shin 104.8–129.8 against 98, and the knee drifts out to x 659–686, y 350–404: outside and above the bottom bracket rather than in front of the crank. Doubao and GLM write the same solver correctly. MiniMax got the feet right and the legs wrong, and shipped no pause button to examine either.
What works
- Both feet are welded: across 60 frames the near and far foot hold 4.0–4.1 units from their pedal through the whole crank cycle, and the reaching wing tip is fixed at (790, 344) on the bar tape every frame.
- One clock runs the drivetrain — crank at 0.635 rev/s against the wheel's 0.637 — and 248 units/s of rim surface against 250 units/s of road is under 1% of slip.
- A live scene rather than one pose on a loop: four parallax layers, 1–12 dust puffs alive behind the rear wheel, five staggered speed lines, sun rays on a 46 s spin and a blink on a randomised 2.2–4.8 s interval, with zero console errors.
What breaks
- The two-bone IK normalises the perpendicular offset it should keep in absolute units: `L1 * Math.sqrt(1 - a * a)` instead of `Math.sqrt(L1 * L1 - (a * d) * (a * d))`. The along-axis term is right, so the error only shows up sideways.
- That puts the knee 8 units off the true joint at the top of the stroke and 55 at the bottom. The thigh breathes between 110.5 and 134.4 units against a declared 104, the shin between 104.8 and 129.8 against 98, and the knee sits at x 659–686 / y 350–404 — outside and above the (610, 483) bottom bracket.
- The chain is drawn but never moves, the cloud layer drifts at 10.9 units/s against the far hills' 6.8 so the parallax order is inverted, and the page ships no control at all: no pause, no restart, nothing on screen.
Spec
- Vendor
- MiniMax
- Access
- Consumer client, zero-shot
- Tested
- 2026-10-31
- Controls
- None
- File
- minimax-m3-1-flash.html · 25.4 KB
- Rank
- 3 / 12
Editorial score, one run. The full rubric is in the methodology.