What it is
A vector is a list of numbers. That is the whole definition. (3, 4) is a vector. So is a list of two hundred numbers describing what you have watched this month. The reason the word exists is that lists of numbers have a geometry: draw (3, 4) as an arrow from the origin and suddenly you can talk about its length and its direction.
Tensor is the general word: a vector is a one-dimensional tensor, a matrix is a two-dimensional one, a colour image is three (height, width, colour channel). The playground stays in three dimensions because you can see it there. Every rule carries.
The dot product
Multiply matching entries, add them up:
a · b = a[0]*b[0] + a[1]*b[1] + a[2]*b[2]
Same direction gives a big positive number. Opposite gives a big negative. At right angles you get exactly zero. Set a to (2, 1, 0) and b to (-1, 2, 0) in the demo and read it: 2 times -1, plus 1 times 2, plus 0. Zero.
Length and scale
Length is the square root of the sum of squares. (3, 4, 0) has length 5. Multiply every entry by k and the length multiplies by k while the direction stays put. Divide a vector by its own length and you get a unit vector, length exactly 1. The Tune mission is that: scale a until it is a unit vector.
In the demo, scaling is done the honest way, as a matrix times a vector with k on the diagonal. That is the same operation a layer of a network performs.
The cross product
Only in three dimensions. Two arrows in, a third out, at right angles to both, with a length equal to the area of the parallelogram they span. Set a along x and b along y and watch a × b stand straight up. It shows up more in graphics and physics than in learning, but it is the reason the playground is 3-D.
Matrices and shapes
A matrix is a grid of numbers. Matrix times vector means: dot each row with the vector, collect the results, one per row. A layer of a neural network is exactly this. The input is the vector, the weights are the matrix, the output goes to the next layer.
Shapes must match. A 2 by 3 matrix needs a vector of length 3 and gives back length 2. The Debug mission has a matVec with its indices swapped. It passes on symmetric square matrices, where the transpose is the same matrix, and breaks on anything else. That is what a bug hiding behind friendly test data looks like.