Thanks heaps for that..
I found the bulma hero tried so many things.
This is where I got to but it only sees the path to the portrait image correctly
<picture>
	<@ with @{ :file | def('*.jpg, *.jpeg, *.png, *.gif')}  { width: 1600, height: 960, crop: true} @>
	<@ set { ":imageLandscape": @{ :fileResized } } @>
	<@ end @>
					
	<@ with @{ :file | def('*.jpg, *.jpeg, *.png, *.gif')}  { width: 1020, height: 1020, crop: true} @>
	<@ set { ":imageSquare": @{ :fileResized } } @>
	<@ end @>
					
	<@ with @{ :file | def('*.jpg, *.jpeg, *.png, *.gif')}  { width: 600, height: 900, crop: true} @>
	<@ set { ":imagePortrait": @{ :fileResized } } @>
					
	<source srcset="@{ :imageLandscape }" media="(min-width:1020px)">
	<source srcset="@{ :imageSquare }" media="(min-width:800px)">
	<source srcset="@{ :imagePortrait }" media="(min-width:600px)">
	<img src="@{ :fileResized }" alt="@{ :basename }">
	<@ end @>
</picture>
Im not sure why this shouldnt work as it works with simple img, just doesnt seem to get the correct path for srcset
<picture>
    <source srcset="@{ imageLandscape }" media="(min-width:1020px)">
    <source srcset="@{ imageSquare }" media="(min-width:800px)">
    <source srcset="@{ imagePortrait }" media="(min-width:600px)">
    <img src="@{  imageSquare  }" alt="@{ :basename }">
</picture>
Cheers