#pragma once #include #include enum class SchematicType { Ship, Module, Recipe, Artifact }; // One option presented to the player in the schematic choice dialog // (REQ-DEF-SCHEMATIC-DROP). Built by the simulation when enemy stations are // destroyed; the UI reads these to populate the dialog. struct SchematicChoiceOption { std::string schematicId; SchematicType type; std::string displayName; bool isNewUnlock; int targetLevel; // Display names of items produced by recipes that would newly become // implicitly unlocked (REQ-LOCK-IMPLICIT) if this option is selected. // Deduplicated and sorted alphabetically; empty if none. std::vector newlyUnlockedItemNames; };