It confirms that cats like boxes but also posits that cats the reason cats like boxes might not be for physical touch / sensory reasons since they select fake boxes just as often.
They may try to sit on fake boxes, but I suspect they still prefer real ones if they have the choice - either for the reason given in the article (memories of cuddling up with their mother), or (this is just my pet theory) protection - if the enclosed place they choose to sleep in (which in nature would be some kind of tree hollow, rock crevice or underground lair) is just large enough so they can barely fit inside, they're less likely to be surprised by predators bigger than them while they sleep? Another reason is probably that curling up minimizes heat loss, which helps save energy when it's cold.
> I suspect they still prefer real ones if they have the choice
That would seem intuitive but the specific piece of citizen science research in this comment thread (not the OP) gave them that choice and found that they did not in fact prefer it.
It's (a) a small sample size & (b) an extremely uncontrolled environment, so I'd take it with a liberal pinch of salt, but this is why they're calling for further formal research.
It certainly seems more logical that they would prefer a real box, but that makes the possibility of them not preferring it all the more curious.
I don't have any cats atm, but my BFF does. I brought over some circular placemats and set a couple on the floor and the large ottoman that sits in front of the sofas. After a few hours you can guess what had happened.
I did an experiment with my cat for about a year, trying to ascertain preference with about 5 baskets filled with blankets. Blankets would be swapped and baskets moved around daily. It had an obvious favorite blanket previously ascertained. The only real important factor in where it would choose to curl up was location. Preferring a location in a corner with a single approach.
At the moment only those that support the OpenAI Chat API, with function calling for the structured outputs. For example you can use LocalAI[0][1] to run models locally.