Trying out some declarative SVG polygon manipulation within a flux architecture. I stress-tested this implementation, and performance begins to drop at around 12,000 SVG elements.
- Constructs and stores a tilemap for dragging-and-dropping polygons
- Stores a hashmap of all the polygons in the layout with their attributes and positions
- Enables undo and redo functionality by caching the diff each time a change is made to the floorplan
- The main canvas where everything takes place
- A generic rectangular shelving unit
- A region where customers can pick up and return carts
- A single checkout counter
- A circular area where prepared food is sold