Instead of the public inputs with padded accumulated data, we can use some struct like the TxEffects for a tx, which doesn't include the empty note hashes, nullifiers, fields after a log's specified length, etc. And reconstruct the public inputs by padding 0s to the effects when needed.