Fatti
L'attrice ([A.] Ltd, società a responsabilità limitata inglese, produttrice di prodotti in gomma e plastica) e la convenuta ([B. GmbH] & Co. LCart, società in accomandita tedesca, costruttrice di impianti per l'industria delle materie plastiche) hanno concluso nell'ottobre/novembre 2014 un contratto d'appalto per la fabbricazione e la fornitura di un impianto per resina SMC (Sheet Moulding Compound) con polimerizzazione UV, al prezzo di EUR 793'470.--. Il pagamento era pattuito a rate (45 % all'ordine, 45 % dopo la preaccettazione prima della spedizione, 10 % dopo la firma del verbale di accettazione finale). L'attrice ha pagato la prima rata di EUR 357'001.50.
Nell'aprile 2015 si sono svolti i 'wet pre-acceptance trials' previsti contrattualmente; i prodotti non corrispondevano alle specifiche. L'attrice ha ravvisato in ciò una mora ai sensi degli art. 102 segg. CO, rispettivamente un ritardo contrario al contratto ai sensi dell'art. 366 cpv. 1 CO, e ha receduto dal contratto. La convenuta ha ricondotto il fallimento alla formula della resina inidonea fornita dall'attrice.
Il 4 marzo 2016 l'attrice ha promosso causa dinanzi al Tribunale commerciale del Cantone di Zurigo chiedendo la restituzione dell'anticipo e il risarcimento del danno. La convenuta ha chiesto il rigetto della domanda e ha proposto una domanda riconvenzionale per il corrispettivo, il maggior dispendio, i costi di esecuzione sostitutiva e di deposito e il risarcimento del danno, per complessivi EUR 597'934.15. Il Tribunale commerciale ha respinto la domanda con sentenza del 9 maggio 2019 e ha riconosciuto alla convenuta solo EUR 4'043.08. Il Tribunale federale ha parzialmente annullato tale sentenza con sentenza 4A_298/2019 del 31 marzo 2020 e ha rinviato la causa; il rifiuto della convenuta di proseguire il lavoro, rispettivamente di effettuare ulteriori test, non era giustificato, e l'attrice poteva recedere in analogia all'art. 366 cpv. 1 CO.
Con sentenza del 12 luglio 2021 il Tribunale commerciale ha condannato la convenuta al pagamento di EUR 357'001.50 (anticipo), GBP 210'598.80, EUR 5'354.50 e Fr. 38'652.75 (risarcimento del danno), in ogni caso oltre interessi. La tassa di giustizia è stata fissata in Fr. 54'000.--; le spese sono state ripartite in ragione di 1/3 e 2/3 e all'attrice è stata riconosciuta un'indennità a titolo di ripetibili di Fr. 17'500.--.
Con ricorso in materia civile del 14 settembre 2021 la convenuta ha chiesto il rigetto integrale della domanda, in via subordinata il rigetto nella misura delle condanne in GBP, EUR e Fr., in via ulteriormente subordinata il rinvio e una nuova ripartizione delle spese della precedente istanza. L'attrice ha chiesto il rigetto del ricorso. È stato concesso l'effetto sospensivo.
Le questioni controverse principali dinanzi al Tribunale federale erano: l'efficacia vincolante della decisione di rinvio e il diritto di essere sentiti; la validità della diffida e del recesso; le voci di danno relative alla capannone industriale (locazione, elettricità, assicurazione, Business Rates) e l'obbligo di diminuire il danno; le spese legali precontenziose; nonché il valore litigioso e la tassa di giustizia.
Diritto
Violazione del diritto di essere sentiti ed efficacia vincolante: il Tribunale federale esclude una violazione del diritto di essere sentiti. La convenuta confonde la causa del fallimento dei test (idoneità delle formule) con il proprio rifiuto, accertato, di effettuare ulteriori test, rispettivamente di proseguire il lavoro. Dopo la decisione di rinvio non era necessaria una nuova audizione. La censura relativa all'asserita datazione del rifiuto al 15 luglio 2015 non soddisfa i requisiti di motivazione; la decisione di rinvio, peraltro, non ha effettuato alcuna datazione.
Diffida e recesso: una diffida deve indicare la prestazione dovuta in modo tale che il debitore riconosca che cosa gli viene richiesto; l'interpretazione avviene secondo il principio della fiducia. La prima diffida del 24 giugno 2015 riguardava soltanto un termine di completamento non dovuto e non poteva produrre effetti di mora. La lettera del 2 settembre 2015 richiedeva invece in modo esplicito anche la ripresa dei lavori e quindi la prestazione dovuta. La precedente istanza poteva interpretarla in tal senso senza violare il diritto federale; il breve termine suppletivo di sette giorni doveva rendere chiaro alla convenuta questo punto. Il creditore può fissare un nuovo termine suppletivo finché non ha esercitato il proprio diritto di opzione ai sensi dell'art. 107 CO. Le trattative sul proseguimento costituiscono una proroga concludente del termine suppletivo e non un esercizio del diritto di opzione. Le censure di violazione degli art. 107 segg. CO, dell'art. 2 CC e dell'art. 55 CPC, nonché del principio della buona fede, non soddisfano i requisiti di motivazione o sono infondate. Il recesso del 10 settembre 2015 era quindi valido e l'attrice ha diritto alla restituzione dell'anticipo di EUR 357'001.50.
Risarcimento per il capannone industriale: la locazione del capannone è adeguatamente riconducibile al contratto venuto meno. L'attrice doveva tenersi pronta per la fornitura e l'installazione della macchina; non era ragionevole contare su una data di consegna successiva. Il periodo fino al 25 luglio 2016 tiene conto del tempo di preparazione e di un'ipotetica sostituzione; la data effettiva di consegna della macchina sostitutiva, contestata, non era decisiva per questo, dato che non è stato riconosciuto alcun obbligo di risarcimento fino al novembre 2016. La valutazione delle prove relative all'uso del capannone (fotografie) e alla diminuzione del danno (nessuna sublocazione fino all'agosto 2016 adeguata) non è arbitraria; la convenuta integra inammissibilmente i fatti e non si confronta in modo sufficiente con le considerazioni della precedente istanza. Le spese assicurative sono state giustamente riconosciute, poiché la generica affermazione del mancato pagamento non è sufficiente e il capannone era stato locato per un periodo prolungato. Quanto alle Business Rates: la contestazione è stata sufficientemente formulata, poiché la convenuta ha espressamente contestato nella duplica l'assoggettamento all'imposta e l'importo. La precedente istanza si è però fondata anche su altri mezzi di prova (sito del governo britannico, valutazioni del Council), e la valutazione delle…