files-drop
File drop animation: files dragged into an AI prompt and landing as attachments. A handful of frames is dragged into a prompt and becomes five attachments. A stack of files sweeps in from off frame on an exponential settle — 161ms time constant, straight line, onto a rest point — with the other four trailing it up and to the left at a constant 21 degrees, each link closing on its resting offset one frame at a time, front to back, as the pointer slows. Then the release: the gathered pile is thrown 46px and collapses onto itself as it lands on the first slot's exact corner. Five empty slots appear out of order, each turning a 320-degree ring, and their pictures resolve in a different order again, because five files read in parallel do not finish in the order they were handed over. Nothing fades — a slot and a picture are each there on one frame and not on the one before, which is what an img does when it decodes. The pointer path, the four trails, the typing rate and every beat are measured tables on the recording's own 30fps grid.
files-drop
File drop animation: files dragged into an AI prompt and landing as attachments. A handful of frames is dragged into a prompt and becomes five attachments. A stack of files sweeps in from off frame on an exponential settle — 161ms time constant, straight line, onto a rest point — with the other four trailing it up and to the left at a constant 21 degrees, each link closing on its resting offset one frame at a time, front to back, as the pointer slows. Then the release: the gathered pile is thrown 46px and collapses onto itself as it lands on the first slot's exact corner. Five empty slots appear out of order, each turning a 320-degree ring, and their pictures resolve in a different order again, because five files read in parallel do not finish in the order they were handed over. Nothing fades — a slot and a picture are each there on one frame and not on the one before, which is what an img does when it decodes. The pointer path, the four trails, the typing rate and every beat are measured tables on the recording's own 30fps grid.