A working eight shaft loom. The cloth is not drawn, it is derived. Point at any thread and it will tell you the three decisions that put it there.
Structure
Colour order
Dye
Drag along a colour bar to dye a run of threads.
Loom
Provenance
Hover or focus a thread in the cloth.
A weaving draft is a program, and it is a very old one. The grid along the top says which shaft each vertical thread passes through. The small block to its right says which shafts each pedal lifts. The column down the side says which pedal is pressed for each horizontal pass of the shuttle. Those three tables are the entire source code. The cloth in the middle is the output, and nothing about it is decorative or approximate. It is computed.
What makes it worth rebuilding is the property you get for free. Every crossing in that fabric is the result of exactly one comparison: is the shaft this warp thread sits on among the shafts this pedal lifts? If it is, you see the vertical thread. If it is not, you see the horizontal one. That is the whole machine. So you can point at any single thread anywhere in the cloth and recover, with certainty, the three decisions that produced it. Try it. The panel will name them.
We are now surrounded by generative systems that cannot do this. They produce a great deal, and when you ask why a particular part came out the way it did, there is no answer to give, because no answer was ever recorded. The loom is the older idea and, on this one narrow point, the better one: it is generative and it is completely accountable. Those were never opposites. We simply stopped asking for both.
Loom. Eight shafts, eight treadles, forty eight ends by forty eight picks. No dependencies, no external requests, one file. The drawdown is computed live from the three tables on every edit, and the structural presets were each checked against the fabric they claim to make before they were included. Agent-built, engineer-signed.