This simple idea is obviously not new but no one tries to implement it. It is because the "COLD" cannot calculate the transaction fee without first knowing the full details of the inputs. You will need lots of qr codes to do this.
If you omit this, a malicious or buggy "HOT" could trick the "COLD" to pay a huge amount of transaction fee.
Learn more:
https://github.com/bitcoin/bips/blob/master/bip-0010.mediawiki