I was a limited eater as a child & my boys both were until about 7.5yo (DS2 still is getting there)
For as long as I can remember we have done a 5 things on a plate (actually now more like 6/7 for DS1 who is 9yo) & 4 must be eaten to get more of a "favourite" food.
So as a 3/4yo I'd put say 2-3 things I ALWAYS knew would get eaten 1-2 that would mostly get eaten & 1-2 that was new (even if if was 1/4 slice of bread, grated cheese, piece of apple, carrot stick & saltanas) as they got older it became more like a Kebab, potatoes, cauliflower, green beans & pumpkin. What i found was when they were younger if I only served about 1/2 what they needed to eat to be full, they would have to eat the 4 things so they could have more of the favourite food on the plate. So they would try the 2cm of green bean that was on the plate & then if that got eaten 3 times I'd make it say 3cm.
I also set the goal "one new food/month was a success"
The other day it was my DS1's Birthday... for his 3rd Birthday he would have wanted pasta & sausages... for his 9th Birthday he requested "lamb cutlets, potatoes, cauliflower, brussel sprouts & pumpkin"... this from the 3yo who didnt' eat any veg except in Bolognaise sauce.
So my suggestion would be he only has 1 Chippati & then put another 2-3 foods (small carrot stick, piece of apple etc) tiny amount & if he wants another Chippati he needs to eat one of the other things, once he regularly starts eating one, increase the amount of it & then increase it to 2 things he needs to eat & then maybe once week, don't even give him the chippati. & if he doesn't eat what is on offer, offer it again for the evening snack... also cut back on the evening snack too... at 3.5yo what he eats in a day isn't going to mean he wakes hungry, so be tough & "not eaten, nothing else on offer" on the odd occasion.