I made it work, its strange but both child and parent (container) component need to belong to same group. My child component was .hidden group. also we need to add cq:actions as copymove, paste, edit plus i need to loop items dynamically as below:
<sly data-sly-list.column="${resource.listChildren}"> code here</sly>
otherwise nodes will reset because i was reading nodes statically. we would also need one more loop to load un-authored components.