bouncing shapes
random 2d solid shapes are generated on a 2d plane. their sides are formed by random lines, elliptical segments, splines and angles. each has a mass equivalent to its area. they start out with random positions (non-overlapping) and random velocities and bounce off of eachother and the edges of the display while conserving 100% of momentum. effects of bouncing off of eachother (and the edges) include spinning.
all shapes should be the same color
or: use a black background but for the texture of the shapes use the actual current display at the original locations of the shapes, but as the shapes move the textures move with them, i.e. they do not act as sliding windows to the current display.
for shapes can use wingdings/webdings instead, or random glyphs in a regular font. let the isolated parts of the shape separate naturally, or keep them all together.
the rule of kinetic rotation is is in wikipedia somewhere. like mass at that distance squared or something.
nevermind, I just vibecoded this: https://github.com/inhahe/shapes