#pragma once #include #include #include #include #include #include "BuildingType.h" #include "ItemType.h" #include "Rotation.h" #include "ShipLayout.h" struct BlueprintBuilding { BuildingType type; Rotation rotation; QPoint offset; // tile offset from bounding-box center (floor for even sizes) std::string recipeId; // empty = none selected std::optional shipLayout; // Splitter output filters captured at blueprint creation (REQ-UI-BLUEPRINT-STORAGE). // Empty = accept all. Re-applied to the placed splitter site (REQ-UI-BLUEPRINT-PLACE). std::vector splitterFilterA; std::vector splitterFilterB; }; struct Blueprint { QString name; std::vector buildings; };