How to get Rack design

Can you please help me on how to get rack design like in the below image

What interactions is that Part supposed to support? What responsibilities must it have? Can one change the appearance of any piece of it without changing the rest if it?

It looks something like below

Empty rack diagram will be rendered initially. User can drag and drop products into the shelf. Shelf can also be added/deleted at runtime

OK, so there might be a variable number of shelves per rack. But can one select and move/delete/copy shelves, and move them between racks?

Can one drag-and-drop shelves with all of the Parts that are “on” them?

I assume you have seen the implementation of Planogram. I’m asking because it isn’t clear what you want to be a piece of the definition of a Group template and what should be separate Parts.

It looks like you want to implement something like: https://goplanogram.com/

BTW, I would implement those “rails” as two separate Shapes of vertical lines – one dark blue one that has a fairly broad strokeWidth, and a narrower white one that has a strokeDashArray. And of course I would use a “Grid” Panel to get the uniform pattern of grid lines.