The simplest thing a physics engine simulates is a point that has a place and a motion. Today you build the Body type that carries a position and a velocity, the state every later lesson updates.
Create a Body with a position and a velocity, both Vec2 values.
A physics simulation is a set of bodies, each with state that changes over
time. The most basic state is where the body is (its position) and how fast and
which way it is going (its velocity), both 2D vectors. Right now a Body is a
bare point mass - no size, no mass, no spin - but this struct is the thing every
future lesson thickens: mass and inverse mass, restitution, a shape, an angle and an
angular velocity all get bolted on here.
Keep it a plain struct with exported fields so tests and later code can read and set its state directly. Starting from a point that only knows where it is and where it is heading keeps the first integration step - moving it by its velocity - as simple as it can be.
// a point mass for now; mass, shape, and rotation come latertype Body struct {Position Vec2Velocity Vec2}