One HTML page: 15 to 20 people riding a side-view escalator that suddenly reverses at speed. The pile-up has to emerge from rules every figure shares, with no physics library and no keyframed disaster, which makes scripted animation easy to spot and hard to hide.
The premise is absurd and the physics is not. Both halves are being measured.
Press the button. Then press it again, and press it at a different moment. A scripted disaster looks identical every time and often plays out even when the figures were in a different arrangement; an emergent one cannot repeat itself exactly. Reversing back is the second probe — a model that only implemented the fall will do nothing sensible with it.
Count the figures. 15 to 20 was stated. A page with six is a miss whatever it looks like.
Do the bodies interact, or do they fall through each other? The prompt asks for a figure that is down to be an obstacle to the ones behind. Overlapping sprites at the bottom of the escalator is a pile in appearance only.
Recovery is half the brief and the half most models will drop. A pile that stays a pile is incomplete; say so.
Read the confession before scoring the code. The prompt asks what was special-cased. A model that names its own nudges — a tuned catch radius, a scripted first stumble to get things going — is doing what drop-the-slinky rewards. Silence plus visibly scripted motion is the bottom band.
You write simulations where the interesting behavior is supposed to emerge rather than be animated by hand.
Build me a single HTML page: a side-view escalator carrying 15 to 20 people. Then the escalator reverses, at high speed.
data: URIs are fine.localStorage, sessionStorage, cookies or indexedDB — sandboxed frame, they throw.html block.One paragraph, before the file: how a person is represented, what makes one lose balance, and what happens when two of them occupy the same place.
The single fenced html block.
Having written it, what does the page do when the escalator reverses? Name anything you special-cased or nudged. Say what it does badly — I am going to press the button and watch.