I feel like the most important thing is she gets some calories in. Variety next. It sounds from what you said will consistently eat ham, crisps and milk.
So how about ham and cheese wraps cut into bite size pieces, maybe melt the cheese so they’re harder to disassemble and pick off the ham. Maybe with a dip as lots of kids love to dip. Ham in scrambled eggs. Ham in egg muffins. Ham in pasta.
You could try making gammon and slicing it thinly. You might need a mandolin to get it as thin as packet ham.
Then crisps - what about plain tortilla chips with a dip, eg guac. Aldi do some that are just corn, oil and salt. Or if she will eat chili then nachos - again I’d serve it in a bowl with chips to dip.
Milk - would she drink a milky smoothie? What about just strawberries or banana blended in milk to start. Once she’s happy with that add some PB for protein.
Will she cook with you? Some kids are more interested in food they have been involved in preparing.
Is there different ways you could serve food? Would she be more interested in a platter on the table that she can serve herself from than a plated meal? Now it’s getting
warmer could you have a picnic outdoors? Sometimes my kid won’t eat in her own chair but happily eats on my lap - admittedly this one is a bit annoying.