# Karting > A 3D racing kart in the browser, simulated from the CIK-FIA technical regulations. It has no > differential and no suspension, and the inside rear wheel leaves the ground because a > four-point load solve returns a zero - not because anything animates it. ## What it is An independent simulation of the vehicle and the sport, not of any commercial kart game. The circuit, the colours and the name "Weatherwood Park" are original to this app. ## The mechanism this app exists to show A kart's rear wheels are keyed to one solid axle and a differential is banned outright (CIK-FIA Technical Regulations, Art. 2.8 and Art. 1.2.1.1). Two wheels on one shaft at different radii from a corner must turn at different speeds and cannot, so they scrub, and the pair of longitudinal forces that makes is a yaw-resisting couple of up to 508 N m. The steering geometry - caster and kingpin inclination - rotates each front contact patch about an inclined hinge, which moves it vertically and antisymmetrically: a pure diagonal load transfer that drives the inside front into the road and takes the inside rear off it. A wheel in the air makes no force, so the scrub couple vanishes at the moment of lift. That is why a kart is built to pick up a wheel. ## How it is verified - An engine harness of 1,479 assertions, zero failures. - Oracle 1: a steady-state cornering solver sharing no code and no method with the integrator. It writes no differential equation, parametrises the four tyre loads by the front roll moment, and pins that with a free-body cut through the frame. Given only a settled yaw rate and speed it recovers the steer angle the engine was driven at to 2.8e-12 degrees and all four tyre loads to 7.9e-10 N. - Oracle 2: reads no state at all. From an emitted heading trace it locates the inside-rear lift to within 0.22 degrees of lock; from five emitted skidpad paths at different ballast it recovers the tyre's load exponent as 0.101 against a true 0.118, and returns -0.0015 when the tyre is rebuilt linear in load. - Two controls, each wrong by construction and each required to report a nonzero violation count: fit a differential, and make tyre force linear in vertical load. ## Files - index.html - the page, including a limits section in static markup where every figure is re-measured against the engine by the build's page harness. - js/spec.js - every constant, marked [REG], [PUB], [CAL] or [DER]. - js/tyre.js - the Magic Formula, load sensitivity and the friction ellipse. - js/kart.js - the kart: the four-point load solve, the jacking, the solid axle as a torsion bar. - js/track.js - the circuit, as one closed spline. - js/game.js - lap timing and the pace driver. - js/render.js - hand-written WebGL2. No library. - CREDITS.txt - every source with its URL, and three things one would expect to find that are not published anywhere reachable. ## Licence MIT. See LICENSE.txt.