A new node opens at its smallest size plus one more row of tiles
(340 x 602). That size was set a moment after the node was made, on any
node that sat at its smallest height. A workflow that loads has put the
saved size on the node by then, so a node saved at its smallest size
looked new and was grown: saved 320 x 506 came back 340 x 602, and saved
400 x 506 came back 400 x 602. A copy, a paste, an undo and Recreate node
grew the node the same way. A node saved 2 px taller kept its size.
The opening size is now set as the node joins the graph. The card is in
place by then, and a size put on the node afterwards wins: a loaded
workflow, an undo, Recreate node. A copy gets its size before it joins
the graph, so a node that is configured with a size is marked and left
alone. A node saved under its smallest size is lifted to it, and one
saved with no size opens like a new node, as before.
tests/image_folder.test.mjs fails when the opening size is set anywhere
but as the node joins the graph, or when a node that comes with a size is
no longer marked.